From ef12e4477b6279e5cd804c6d67c79f4a3c8aba6d Mon Sep 17 00:00:00 2001 From: ekke Date: Tue, 26 May 2026 10:55:30 +0200 Subject: [PATCH] Offline tile cache, polygon Divide, topographic layer integrations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Major feature batch covering drawing-tool improvements, layer additions, and offline-first capabilities. Largest changes in MapView.js (+1700), main.js (+1500), public/sw.js (+367), and new modules under src/. Drawing & editing toolkit * Polygon Divide tool — sub-button under Split, divides a polygon into N equal-area pieces via binary search; user picks the cutting edge * UPN pick phase after Split and Divide — non-picked pieces have their identifier fields cleared automatically * Improved Merge algorithm — vertex-to-edge proximity (5 m tol.) with hybrid lockstep extension; bold A/B labels on selected polygons * Persistent vertex highlights — all vertices of the selected polygon rendered as dots while edit mode is on, without subclassing ol-ext * Toast notifications for merge/split/divide outcomes * Shapefile import — addGeoJSONLayer now includes an image style so Point features render (previously invisible) Background & overlay layers * DEAfrica Coastlines v0.4 (WMS) in Biophysical Environment * DEAfrica Slope (SRTM 30m, style_slope) — semi-transparent background * Contours hillshade — get_contours_hillshade.php → local SQLite cache * OSM_roads — get_osm_roads.php → local SQLite cache, casing-stroke style (black 3.5 px outer, #F0F1F0 1.5 px inner) * External Source dialog — green + button in LayerSwitcher lets users add WMS / WFS / XYZ layers at runtime * Generic addWMSLayer / addXYZLayer with style, opacity, zIndex, legendUrl, onlineOnly options * TileWMS replaces ImageWMS (fixes 'Width exceeds 512' WMS errors) * Legend panel — bottom-right, auto-shown for visible layers that register a legendUrl * Default base map setting in Settings, persisted in localStorage; setBaseMap() on MapView Offline tile cache (Phase 1 + 2) * Service worker: per-host tile caches (osm / topo / satellite / carto-light / carto-dark), counter-based eviction to prevent iOS Safari memory-pressure reloads, GET_TILE_STATS / CLEAR_TILE_CACHES message API * pwa.js helpers: getActiveServiceWorker, onServiceWorkerControllerChange, getTileCacheStats, clearTileCaches, getStorageEstimate * Settings: Offline Map Tiles card with per-provider stats + clear * Phase 2 download dialog: form to pick base map, area (current view / district / Ghana), zoom range; live tile-count + size estimate; progress bar with cancel; OfflineTileDownloader class with concurrency + throttling Local database management * osm_roads table + saveOSMRoads / getLocalOSMRoads helpers * CACHED_LAYER_TABLES allow-list with clearTable / clearAllCachedLayers * Local Database Tables card: per-row Clear button (cached layers only) + 'Refresh cached layers' header button with reload prompt Build & infrastructure * Shpjs lazy-loaded via dynamic import (saves ~140 kB from initial JS) * chunkSizeWarningLimit raised to 900 kB (openlayers + sqlite3.wasm can't be split further) * Toast notification module (src/toast.js) * Units module (src/units.js) for metric / imperial conversions * PDF export module (src/pdf-export.js) Documentation & SQL * Topographic_Background_Layers_for_LUPMIS2.docx — research report * OpenTopography_Workflow.svg/.png — ETL pipeline diagram * LUPMIS2_Development_Status_Report.docx — April update section * sql/create_landuse_parcels.sql — PostgreSQL schema for the LUSPA land-use parcel specification (Feb 2026, revised), with PostGIS geometry column and standard indices Co-Authored-By: Claude Opus 4.7 (1M context) --- LUPMIS2_Development_Status_Report.docx | Bin 0 -> 494593 bytes OpenTopography_Workflow.png | Bin 0 -> 326453 bytes OpenTopography_Workflow.svg | 181 ++ ...graphic_Background_Layers_for_LUPMIS2.docx | Bin 0 -> 13166 bytes dist/assets/html2canvas.esm-B0tyYwQk.js | 23 + dist/assets/html2canvas.esm-B0tyYwQk.js.map | 1 + dist/assets/index-2WHoRhxp.js | 393 ---- dist/assets/index-2WHoRhxp.js.map | 1 - dist/assets/index-B4XzHtZX.js | 636 +++++++ dist/assets/index-B4XzHtZX.js.map | 1 + dist/assets/index.es-CRPDPo17.js | 19 + dist/assets/index.es-CRPDPo17.js.map | 1 + dist/assets/jspdf-Cu-2SCgw.js | 172 ++ dist/assets/jspdf-Cu-2SCgw.js.map | 1 + dist/assets/ol-ext-CSk2UikI.js | 2 + dist/assets/ol-ext-CSk2UikI.js.map | 1 + dist/assets/ol-ext-DytxBANR.js | 2 - dist/assets/ol-ext-DytxBANR.js.map | 1 - dist/assets/openlayers-CUDtI0S3.js | 573 ++++++ dist/assets/openlayers-CUDtI0S3.js.map | 1 + dist/assets/openlayers-D2I-bVN2.js | 573 ------ dist/assets/openlayers-D2I-bVN2.js.map | 1 - dist/assets/pdf-export-Vpiz8VA4.js | 2 + dist/assets/pdf-export-Vpiz8VA4.js.map | 1 + dist/assets/purify.es-BgtpMKW3.js | 3 + dist/assets/purify.es-BgtpMKW3.js.map | 1 + dist/assets/shpjs-CNrRgkgn.js | 5 + dist/assets/shpjs-CNrRgkgn.js.map | 1 + dist/fonts/bebas-neue-latin-ext.woff2 | Bin 0 -> 5664 bytes dist/fonts/bebas-neue-latin.woff2 | Bin 0 -> 8596 bytes dist/fonts/exo-latin-ext.woff2 | Bin 0 -> 19676 bytes dist/fonts/exo-latin.woff2 | Bin 0 -> 21644 bytes dist/fonts/exo-vietnamese.woff2 | Bin 0 -> 7108 bytes dist/icons/README.txt | 1 - dist/icons/luspa-128x128.png | Bin 0 -> 29910 bytes dist/icons/luspa-144x144.png | Bin 0 -> 36701 bytes dist/icons/luspa-152x152.png | Bin 0 -> 40476 bytes dist/icons/luspa-384x384.png | Bin 0 -> 174130 bytes dist/icons/luspa-72x72.png | Bin 0 -> 11406 bytes dist/icons/luspa-96x96.png | Bin 0 -> 18090 bytes dist/icons/luspa-pdf.jpg | Bin 0 -> 48417 bytes dist/index.html | 745 +++++++- dist/manifest.json | 22 +- dist/sw.js | 367 +++- .../Assets/luspalogo.png | Bin .../luspa.icon => favicon.ico}/icon.json | 0 index.html | 737 +++++++- main.js | 1531 ++++++++++++++- package-lock.json | 283 ++- package.json | 5 +- public/fonts/bebas-neue-latin-ext.woff2 | Bin 0 -> 5664 bytes public/fonts/bebas-neue-latin.woff2 | Bin 0 -> 8596 bytes public/fonts/exo-latin-ext.woff2 | Bin 0 -> 19676 bytes public/fonts/exo-latin.woff2 | Bin 0 -> 21644 bytes public/fonts/exo-vietnamese.woff2 | Bin 0 -> 7108 bytes public/icons/README.txt | 1 - public/icons/luspa-128x128.png | Bin 0 -> 29910 bytes public/icons/luspa-144x144.png | Bin 0 -> 36701 bytes public/icons/luspa-152x152.png | Bin 0 -> 40476 bytes public/icons/luspa-384x384.png | Bin 0 -> 174130 bytes public/icons/luspa-72x72.png | Bin 0 -> 11406 bytes public/icons/luspa-96x96.png | Bin 0 -> 18090 bytes public/icons/luspa-pdf.jpg | Bin 0 -> 48417 bytes public/icons/luspa.icon/Assets/luspalogo.png | Bin 222232 -> 0 bytes public/icons/luspa.icon/icon.json | 49 - public/manifest.json | 22 +- public/sw.js | 367 +++- sql/create_landuse_parcels.sql | 207 ++ src/components/MapTools.js | 47 +- src/components/MapView.js | 1684 +++++++++++++++-- src/database.js | 170 +- src/geom/polygonDivide.js | 295 +++ src/geom/polygonMerge.js | 407 ++++ src/geom/polygonSplit.js | 395 ++++ src/interactions/PolygonDivideInteraction.js | 492 +++++ src/interactions/PolygonMergeInteraction.js | 475 +++++ src/interactions/PolygonSplitInteraction.js | 433 +++++ src/offlineTiles.js | 293 +++ src/pdf-export.js | 157 ++ src/pwa.js | 159 +- src/remotedb.js | 133 +- src/toast.js | 98 + src/units.js | 123 ++ vite.config.js | 13 + 84 files changed, 10808 insertions(+), 1499 deletions(-) create mode 100644 LUPMIS2_Development_Status_Report.docx create mode 100644 OpenTopography_Workflow.png create mode 100644 OpenTopography_Workflow.svg create mode 100644 Topographic_Background_Layers_for_LUPMIS2.docx create mode 100644 dist/assets/html2canvas.esm-B0tyYwQk.js create mode 100644 dist/assets/html2canvas.esm-B0tyYwQk.js.map delete mode 100644 dist/assets/index-2WHoRhxp.js delete mode 100644 dist/assets/index-2WHoRhxp.js.map create mode 100644 dist/assets/index-B4XzHtZX.js create mode 100644 dist/assets/index-B4XzHtZX.js.map create mode 100644 dist/assets/index.es-CRPDPo17.js create mode 100644 dist/assets/index.es-CRPDPo17.js.map create mode 100644 dist/assets/jspdf-Cu-2SCgw.js create mode 100644 dist/assets/jspdf-Cu-2SCgw.js.map create mode 100644 dist/assets/ol-ext-CSk2UikI.js create mode 100644 dist/assets/ol-ext-CSk2UikI.js.map delete mode 100644 dist/assets/ol-ext-DytxBANR.js delete mode 100644 dist/assets/ol-ext-DytxBANR.js.map create mode 100644 dist/assets/openlayers-CUDtI0S3.js create mode 100644 dist/assets/openlayers-CUDtI0S3.js.map delete mode 100644 dist/assets/openlayers-D2I-bVN2.js delete mode 100644 dist/assets/openlayers-D2I-bVN2.js.map create mode 100644 dist/assets/pdf-export-Vpiz8VA4.js create mode 100644 dist/assets/pdf-export-Vpiz8VA4.js.map create mode 100644 dist/assets/purify.es-BgtpMKW3.js create mode 100644 dist/assets/purify.es-BgtpMKW3.js.map create mode 100644 dist/assets/shpjs-CNrRgkgn.js create mode 100644 dist/assets/shpjs-CNrRgkgn.js.map create mode 100644 dist/fonts/bebas-neue-latin-ext.woff2 create mode 100644 dist/fonts/bebas-neue-latin.woff2 create mode 100644 dist/fonts/exo-latin-ext.woff2 create mode 100644 dist/fonts/exo-latin.woff2 create mode 100644 dist/fonts/exo-vietnamese.woff2 delete mode 100644 dist/icons/README.txt create mode 100644 dist/icons/luspa-128x128.png create mode 100644 dist/icons/luspa-144x144.png create mode 100644 dist/icons/luspa-152x152.png create mode 100644 dist/icons/luspa-384x384.png create mode 100644 dist/icons/luspa-72x72.png create mode 100644 dist/icons/luspa-96x96.png create mode 100644 dist/icons/luspa-pdf.jpg rename {dist/icons/luspa.icon => favicon.ico}/Assets/luspalogo.png (100%) rename {dist/icons/luspa.icon => favicon.ico}/icon.json (100%) create mode 100644 public/fonts/bebas-neue-latin-ext.woff2 create mode 100644 public/fonts/bebas-neue-latin.woff2 create mode 100644 public/fonts/exo-latin-ext.woff2 create mode 100644 public/fonts/exo-latin.woff2 create mode 100644 public/fonts/exo-vietnamese.woff2 delete mode 100644 public/icons/README.txt create mode 100644 public/icons/luspa-128x128.png create mode 100644 public/icons/luspa-144x144.png create mode 100644 public/icons/luspa-152x152.png create mode 100644 public/icons/luspa-384x384.png create mode 100644 public/icons/luspa-72x72.png create mode 100644 public/icons/luspa-96x96.png create mode 100644 public/icons/luspa-pdf.jpg delete mode 100644 public/icons/luspa.icon/Assets/luspalogo.png delete mode 100644 public/icons/luspa.icon/icon.json create mode 100644 sql/create_landuse_parcels.sql create mode 100644 src/geom/polygonDivide.js create mode 100644 src/geom/polygonMerge.js create mode 100644 src/geom/polygonSplit.js create mode 100644 src/interactions/PolygonDivideInteraction.js create mode 100644 src/interactions/PolygonMergeInteraction.js create mode 100644 src/interactions/PolygonSplitInteraction.js create mode 100644 src/offlineTiles.js create mode 100644 src/pdf-export.js create mode 100644 src/toast.js create mode 100644 src/units.js diff --git a/LUPMIS2_Development_Status_Report.docx b/LUPMIS2_Development_Status_Report.docx new file mode 100644 index 0000000000000000000000000000000000000000..b9ebcd9784053dd879c52dc466a8a9c20bd1aa60 GIT binary patch literal 494593 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

1Is~yNpa0;h=ny#)1Y?EQ&F*G!M&$T9* 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

+&v9Xq%lG)p}x%W1wR)zxMuo5EdcDQ^&h7w7kN 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

y^>X#Gc#7fs%PqRbL^%(- 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

a9wqC^UQPy;o7&U>2IYiBj&)V2WLBHQQq z*G+k9lv8O`q$FuwXuFj|6K`urHSkX1|II*WqU(Ojfx#G9*U;1(}=PJTLt6#hXb=14Eee@MMg_S+?u8;2{| zH^g4gT=zR8y1u}eaR~_MFVr&7vQ4D>U2|&+FYjO|sIZT~0Evh5kCIZYY(l3ux7(+y zE?n%{D>2&HrTpNm5tJxw&5h=Wsb33W>#yfIkEH_D{%R@reRlS&lrecPlI;Uegp0;p z3gK;gtJ@O503s+3V5I$dB>-FE*H)5^&8fPyiO{E@m{Y46&-I@4dh-vM6iRxlPGDC* z1E(WD8?4L`-npyISKejQz>uroxFgwYO=1ISR`l zy&{T98TZg$`r#r2M)X%(Mw8NgNwL?ZESQF>wAIFxw6qQ6{bF-eBjMC&8fAM^{|))r zpSjuRZ*Q~1S6;gF{)X%f*v}&bNJ6x331>mSkxbg|!1Ad$^eKG1uS_E-FX7^o|8oq6lJBDbVk{|K{VmD!5~-Zq*Z*a@*GXoX{%>PRf{cHa zhK!_XU%T=z)4lTcHPydwlOM$(rIx?f#-3fX)Jz6DW`7Yo2`_>>kM=MKnK=!f9yUKa z+p8=wYe2N!e!L6=7Atn?i+SUnQe~ZuqsB`o$~dB!#j9~LzGIz}rpyFvDHp5uvu9z> zBQ>Sav#xxtk!%AE$3FHhbD`a(o+y)2HFWhz8&HFPep1W>Q=OgT7ZX+DHqR~QwP)uz zl@$u#9P95jn}ea0QD>|`5wWRy9}jHBY}o0(>wMez&SIDKu1FTPMzsbOU=qn7Sk*zx zGtQ=yJJtyim`_A|?slt<5?ij)o+GCmx7~r+&|k6nqvP1e zN@IAUcZImQ&v5#i!~R15BFUPK=rqak#ZhzX%2z+D?(n3W&TWtO7H=jElD4z@zGLwl zh^U@zV;(mtZE%T^+j~9fd-iDi4ce=n<)li=717#wvR66gPo^!{u;k!4QCxuWCZvs2 z+3QH*hQ1%@&CDfa$L!P3l+%BBc8Wi^_+m7uleyWfoQKWlXN5f6nIX}4 zf5Vj==NiQ%T9KKTW*-rhABP9eGzM16;F;`b165g_`0X1i)Tix}fKFTGXJyn=KBKIN z&Hl0sHeV)ev;3xaTs?Sz+?w~P%lIKPP^Mh707K>~e)&$5b2w>0GP z+HaI64Fk4z^PwjuE(6G|)#I(x!mraqdbh)~90A6Xpw;ydwiL0Yr2c**7(_!ATW7!d zOB{$suHSxE60nrAoYy1mZFlc*I}**Khd7g+6`u|+7?vzqFHChQb72O>l%)1>5N?;D zoEP}va%`s&u9+E$qP;RlRif?}f^>Q$D}RQMcy|Hr2?_PW_xPp5ZOqC)FzQ-3RypQm z?!?e)+=t_@T zY2+lhpz&ZK?eDA#Un~S-!-MR6qQ_f^EJC_8c7qs2gkSYngQbv5iK%Lk_9UQp6!5{G zbgGoCx|1x&mFF|dpEx!)!&&A+>>RW{#mCQEis9-aMC}JS!>W!LOj_DRvsCOMw+3^O zE+1bVZLi2l)pi*ObP#I5| z{=)O|Cr`oSNmkDmOWCsQyd#C9h31&`*e0bh1{2ps!~^tL0JFI4PZdesNGJ%%sC`bp zJrX^eP!?Iir3X{K;h2E4hLINdACiRNT_TZ3PHs9{Zi8+Vs4vb|TQ>+dGc30XbsgVD z8JJfRsbzmuV=Vp90eLJNMZKskzx2f(!m2{A7}>*I^>nLV*`oyL=?@g!bKjRCF-PJ1 z>%g1-en)l7@zvbQ2rH_z+7K-FuN_NV_FP{P1)>|a_Rfw7#~FdQZ8#cFbHi{l$k4xn ztL(4f`d6*ldE8eZ!%JAmnUr=PpLVRa%!GUSEbZO$+8rL97_OOI31Rm&Hq>}kM0)(* zI=Z?X*I~cEJ?&VjrlxUAAm&>h8+d&O@FGges(ac4+5i@y*3MxFr`*k)AjW`o=m^;Ka7Zghr(Z0F7TrsVNe?>%pS&A8 zS$Us+-5|$3CS3;1DDUelZLC{RsDFv#t8OY|XLr53x3u1J$#GFMQ?^!9qJjKGB!WtB4JzHL5Z|>`kz&Y{1#Y zGtNf5BDM+yywMF6?`?}>oi7c&{@$+P)Yogst$o53_r+=b#UdUng!;_CKyZdb;IBvf zYK5&&>Zsb;^Lk}jUBa)iz9hfxUWRdNRM<%Pw&hANBv0bV z2VwV}nof>nq3uON^)J`%3emwQ`j-_he16rPT1RAdEHW*sXvxAp)i;Kvbtww>FZw2n z!QTX22hHz83Ama}M&QgQc{mH`E6U4LNXuufzkMEo)293ks2-n?^jx>&Nq0*@U4x)) z%8&-D={b&j=_aloP>d*aw*{<&%?crB!SMv1b=Tlebb2`jwbvYh;eN6m=OGJM}ym z)xh|i;=4+}J51?}#*>Cs=pB6ri8BU2@h$1KtXc`kfXyZx6lkCt-44Q6+&})UD(S+` zp=Rg)OUJ*^S_CO`UBIqhqZ_?_eVRx^5*rtNV-q6)S0r&4!Kd zf$7$jwhXfUsLg5WDrd*ybWpeF_zN&;_o;eN&^=+ee(kw=~G8`=ED zdb$Pv@BFkSjXmpCo`82nM~^y3eqK&Kt<;z zoF1YBmebY;JkAy`@>7WM&19i86XxdvOY4_{wa`b(=3pka_XAIX?Fjvv2`}ceI`o^~`5)B{MKxI*@u{P^Ju31rls;2gY?F%Uj4%f{n*2==%e$pN&~K z1@h8mTD-=s5614X7$_@BSbH|`mARKW?$dn08M&fPpS@WPM_k)P&ATA+)u}|d$HI2| zgx{GT8n{d#964;?w;5Qd1!W0&_C6v)ZI6^4Zg?L6YL4{9`fXI04J@>P6x^)Ho^shu zfN^!%s2S7JW{!hR7WmZp1XJG4FI?AC=RR}KwCr18x?tmy$~4Bn@c9K+GIDdjRU5zK z^0VWPoqk)zQ43y*L;q!2Kg1?obbHN?ra-D|%$t4d&6>~C{G~6}pidK~OT6X5WIo4~N$;S)M`UcnL!Rp~2LWn-0Tzy8R zI+f>o6oq%yAxLAK6r*Op&J0hQ8^Tre1}2xk9I|&<|1j*(lryC!$FI-?LRjQmqfpY& z!L9~2Y(|8{h;hy8drK51Of~6=33&lT0}k<0C?hhnC-y5e%B~GyORn9m1G&A3U}_on zSSYcT2Z|u+)s&jAr3HstdNqf6?ZiGDx#avoEGute|J|{a>uE3dN0w!QJ9@Xk8#zhn z@^C8mt97n>knPU$th^B&NK-qjHKS=j!G`SXUfsx}+vF4h_skn7VU33mq%8Zi1YdhP z7o#g!fKMFg^`Zq1GbuC|H8k&f=;8Teo>tjSdphxNo^Ar9PPdx8TFDrX@&>ZI>`gHi z1$!&QgVgl(ns4QOYy#YxK3reW#FEj&zxF+F0PU(i5jSuE?qUo=A#exKIi?cubub&9 z-?Jb5{!%Vs!$U)6Bc>qRu^>Y*o)wI{h1`arfiyVllYktG%Pr3LcAkuO1}Qd4kTIUF z2J6|Tzm9V~%50^(u3ckV7@LHINx;3XDnbq%wkth5vK|StjVTQ&% z3LV@UT=q$J#AIjW;^-Fv=vqQpFk2&KDH>Nsi?QA6q!h#xa-2hZXWBREFYD9)=o6(? zx$;K=S6U~ZZQ5)Io1_xr{H(ToI+YxihVLjR4nAv_SU+Oip!aU@^i=NA8$zg#+FD(G z9782ZFPQWQ`ddmFB6LpZcGSl2{*?^Um4^iI=jiRJ5h}|nj3B)f*WOip*UQIvU^j3b z1RI#Pf1}LnQJKa$*XAg3ca1sm@>3*kO~49H^aI*t@bfgg7m}FO>?1~yy{{}i0`gC& zHtVcI=hC|YbDs2WPm>LAxjmYr_Q*`nRABi@mGmN_^xS1z;#Y{&#`<2C zWO@8E!;7C49>6d69k0#VcD5+@>qSN#OjadP|8Sa#3(Mno*w_l8e7@QccuTaihV$?g z?Fv@CQj+J9Rbhl`49Ew+LFU7QoE?fA>pw-dNCPVOB0uSfHS>MSQPWo>1fa8McbpH2n83>Cvz#l=} zoekYRY55_CaB*oomQ0;-H_svqP$-7B!wh4@w{=Gcw3|B+ zSOX;9Kgo7n8o|13jSf7Fk((80-mlY2e(0xec+Vx@QHM)6puPK^Z$BE&&{szlRPeIP zZbHPnzK}Dph2`9L@mgf*YdN@O)4&R3i4-RD`H)Z;8HRR9^6}$-J1v1L^q}^y8!Hos zTWJSYfRe1PFgGAu|HjXB83CIbH;Q`&WZ{TU4huMg(^C%u%W29L^v7$UwER>6*~tR< zpu46G1YiJG-ffHadypJn2=RU}U;ioZdNp-+a2j25QZ#c&wGd z`5;p3Z-I)RCWEq=KiH=7FZ`1AmY)qm&Y^psr-!;!AxXv8K}z@7VX9Q_j0S7$&w z@8%RZJd|6{PG3N+!ldTB6d=X?#!E4Lj_xTZ ztjbj~xKZK8Qt;xpM;q&v{&Pp$f^xyZv{3)U^364Fm+Y%TLsYQ{I)X%8Gl%7kGi@T# z5jsrObAISoV~ij(os5|@(RGp7U2~fS>g_u5M#8Zp^yg%+=b5J$5K^!L&Mx5@O5rJg zak6n>$f%o!@N~Nn`~8IN&erzwPywtWFrC_WwEzSf&8Au6anXR_R84J4@eN5>)-{7s zKq9FQh0~Au&2YAq+7E#M9pb8~Gmcay72#4b6culLebrdAD3lpi%fE`~;9i?JtfBPf z`zHE&8g+C+(`k~a&rQLef5|{*xb%chQjCn!!(D$Y5eARyd~GmZ>Zs^rq+2EAKt}rk zZ=eW;*p;2bcL~`ohD6H8RB-L*437rfcb9(d2eB=BMJz>JLHCuFIwogjsqE-3HX%3R zc$VSC0emj(o9FuRZNB$8+NEaTgYlnxT`Qouqubm2H38-#8j6_df{*-bAG%Sm&sI_> z>SVrG-Pd(2wi{Jn6Liu@ieDhsOkIm?p&G^v61}IaN2lG2pr=)iGPH<=NRzUaP~(Dq zJ_-tck|NmPNVWe)Fx_+@Aq|nB5Z4+^A~cHdJX zCOk`J+wLmbeu)OE6iK6^q$(opdY{<%?}!51GkD;`HX}XA zjV0)N1F~xTChY-T^@m`N%mmNdDl@DA4-We1!q|qr$=!{2gBou1B}D%uaR*=~>LRsF zi%ac}0|7vD7~!Hc?=WtWiyBe{J_WjO=rz*F+$(qsG3I%S9KVW*81CYAGP;qdH;1>o z+GRrr|8`~9Q+fi1prlZQt#zt&3_!M|ba|BoT9oSEMk2Pg-R)SAD$0QCo@Tl}sCKi9 zV2eVthCc#X+di_gU*69<%chzpN8owZ2#tzo$w5?lcwA|YD3qD(VHVey zcsuq7lIHVwKKVw{mEy72z`8{!xUnMV^i z9pOr(M+PGHv$%x&ZUo!Uro0y{awA)P(oeWSa+T??M@fSUX$^NN;cHVNfWN8RqYGs6 zx_3%cz8Rzk_UjF)1D3LQ#`Uh2>=4DL+qz@)-#UhoQkIMW+l3y2KKRX{@^|#Xz+naaAn#3%6m<9K0;sX8$j6AKxUPA;O34e)$=&5{j}l6z)}<0-IQOHkotB`G z{X+$60!5pe_@=c9LjNkVwo^mTpI>>m0VYuXA(6KCQ8&4q=a=U6z$Oq;v4b*Yy&**eL z3eU2553AWA92@{Rbyr!^*b*rfWavvBH82*T@*|8~o`LZAF4u~4zL!kO+5dHQVx)7@ z)bF&w*8jS~@{^LAS@a9D#5gK?!>diyWSzRoFtEPjwobFzUeMbW_}5Nsw#K6#bL*}o zq21Kmr;jZg$@PMZ(2w9xw8X7k8+RPm0dVs|kx_q8Djh=hLv?-scZ&7=e7%HVJ_;8u z2GHVHnnblPrIXSQ5*Zes5W4&YD-(a5|4^aq8v+ZVn~Y(pC*4|n+9MByox%j_50wC) z%cG)^=1&Fs;n4n_aAdA-fBG9WF2Ov|UY+Ff_rRn2Cliebw2ouE$tJQL3H6vI^V;t7 z0FPSrAMj$|EW-p>>l|5fAFLikc%iUyuq>NCxoG^d7J(3lEmXmn7l^iB!==b!Pdw5_ zQ!=ubRx1m??ofz;FlDK|p;@>U-K9E0^as-DyxX7`rjAl%882mO@{tcw8HBvU{fe<( zem=Gr=;}~FTvgwkVrbVf{UQ0^5^3k95r2;2iW-aNzcDDy&Dpq5MRDek(q%LM$EHcr zDW!SIy~u^TP-+EwUzHUWK;aKpbbuP!gp1#`E&BL14|Dp>I~iHhf3RS5wlh~c4#?Br z{KTDYW|!xsH`jOGT`!y(bUE{U8DYV3&pkt zK6b3z|Kgz-i3idn_&WjH{eGK%XJJuHZ3xRk^C6~JR$2$97fmDIUpMUYRbgTQpcu)7 zJe?@sg+8!=9xi_0i%l@0uj6+BUQgE@#r8q;KbMa79~pBS)BP}9;6E9rN+jj+jWhEx zjiU$o)J{M96JlfmS$|I>6HZcQ1Z7b-Y)3T_AH;?n3&VwJD-y?n(G z5Isbe(kV;W+zdZfYWk3NFb2RIbKIH9!L@jHhtUKV&%(oGeZalx0dX{?0@n+Aw`m30 z!am?P^XH@Y=NE}eZFg4dNEK^L{nDrtAl_0DUE$b8YerqYx2jOM9$ArpBs+k){<|+l z&G+KPKYIZ*7V?hQcT!IWEME*~I?Lwm{Xp6(wNV|(eU!zZR&z>VMH1ww#|mtzug1q; zW26HLQM}<6*Z>}w@>6`tx1s(`r(YwpyP&<_R)6u&fICCB_w@*#Wacu82`DPY+z(K4g5Rs6PXKgnG0o^V<46$6ZC2sZMJCFyoUW5X1i zL5mC(Q#gZG@Eo^V>QnJs%%j4rz6{eFoq4Dd1NZfqk}?L4!f$^Z z8SIJpG#u}Lal6Piq$zI8-<=}9+uSR6)PncuS}E8na;@u^^*sQizj|+4U9E-8+jM^I zkS)t{0T0RaAz+a2LE)_HHSveNAMFRhT%eUx9%0nGxP0svSKWmBjbCx4-@QODrfa3I zp2H0-D{o+BN2lE=F_F|L%{1$pS-eD-li@ zBG73fZdudjY6g*vpwOI*kECh@mc4_qxqe6c*LG0cu5v z36(u%LUKnxF^m(3y-$7w4pbSx3`TnJA+Kh*Uu)en(j5`{~*7WlMAOqy-p% z)^j>k`D#+E4_lm2#GP;nG@HHY2cCHl8+1E5mJu!kbgy+zKl%lP$X!hU@AyiYt7Vs6NXYTkCWsv4HHw zSYC_Go2b8mW8E*{I2vE_7jWbwqg$`t{!p|rsVcY!ffSlXGROo4wo{2834YBQY_2uF zoKGr22Qt~4jMpF}6=ooJb5l3g1JjmG)W5u*;IkCgk&PzDA&`42HN)k4bI){rZt>rr ze^tv^IHRw)W2r>tMNeorfhP8Q$`DICm(>VPOD2sgSHY0paBA^Idd*hcC^Ya^S9XR^ zp(kp-&BW=4j{?yzeF2d|p$O?$p(~+Lj-lx`Scet|Y$w~QbtLNDVB%MR_w;foO`uCr z1^pCBXN1l8Um}-3S#exRQGRG^t+2J}R8;zD?JzNx=E=0z29+Q$D5`)y@>JIyXrMKY zTiqE}>_{924XGIbt;HvOQmNnDqxt*&FGm0#>CTppF!6Wr=Ri&nUrBxxK9WaWC42{J z+#%WV`AR5iIT)^M*sBjba#W+AcVPK6_T-7ig4`mF6;I;plZe6L;MtrrzaDbo<2@`k zL^%`kkv~h%vRJS$p?S91dpfcN_HOwO2~GMI^+TmvmxXk{HG3(~Ep~4fr`fab(xB=6 zwlah7s&X%+)f<+nr=zw2c?hIF_i?>qWNrcPY<-+P4+H#AE8__Op}m;a?>h(-fKg8c zjFLa7p71gmgnp169X$K8gw)d6nk!IZ+dVQ)2k-Dn?TlIbU+28^ilZ^ffnundPd z(nrqhs1gJ0%ysu9biZjQy@hFkM~04{ZtjjO6s-lEfn{rbm+BOpSM2kU z*2WA#&c)guXI=*YL)>tx z=Du~DIEtl$e8s3>hm<_OjTqeIv#vl~Loeu}S5R-V$BzsStICD_mgbnlx7JQs%*yp< zbnk|2vm+e0vqpRo(@I^>V4!prtAnt9o11_4CdoGq`Zx*k;X3(QGAVBL-~7YZBKiCo zO~ucr3;<&**M|KFte`bQ4Jz9nMtwG=Hzw!}Q8qg5y~hEhh7e)TF33QNRm?ydIW2XC zV+J;hF)&iVrK{g@`N1aO<)R984VeS4rg!xam?O`Dq^BQ!;;^O!$MHGY)uRye@_8^6 z8f*L_|E>%j7r;P^to*p1TCt-7o{mr*h~F+O{v~l)dX;AyyV^nZ_Nw6N>H3WqoOJ+9 zOUS%!Q8h^LGp3KJPkRK29i%3A^B3^r?IpjfE%zQScnE8BdV~s+rnJ|7-7-rM*5*q)cC;%HR z@kJwz5m4mMq7o*3oM-O;`Uz&~BXNIpOsZhO6jJSMin{{jk*rn+BFEPBiZHZmp+Jq$ zPp9r+mYMqi-V-D0H5!`!EvEXjmH-pk zhgXQ(HzI=mAftlSZ~L-6l_q|k2g~1eGT1CSFc7!9bN$wmeZEHlEaz3v=UHQy29`9v zx!UNuX?>GA{rlsBHE|Zr) z-HA7EYpG_&87sbXem8sWfxwZ4*Y8~!qz!k7$eM|jy|U{ zi86h}a_Pb%oS)Zl7H70yVo)krt=ubE zZH5Io&6r6|TxPD?9c>_8L73719D=Ic4BNQ>^uOonfEZ13CF#O{#e`oClJJ%;!<0`i zvWuJgfQC_)qV*vNw8Zhdc`(xh)XVe-u=i|lo= zy{d=tmtzHvVQXRcE=j7(;V&hv`+u7LYV1kniTPAuGek=*XWU<7Ni_b|XDShDaqWNl zOl268sRUdqGWHG;|NDv6d`ePZrqfkRq2rnG=!5;N&IQEl_1o5q6qEkFY50XMp~IPQ zUt0!HlLxIds>2#eQAS_!`arRapOGcoQGO^TaYRYYlH8E4zAGy3qClUQBp2h z=AYk45P$YKy12O55XKB&8wY)3mA$!>gTC^vm|(*YMq9+T)%55e{2Nj}|F1AUFD(Ri_rku$6b$TVQu{iy z*H%-}wfPnHt-L~#jtx-^OIVma@^ReJ(jCqeKs_Z~V{uCCTF#uLWf5Chfz9Sr{{VI+ zqzLu-68HV@Tj75i4Odil3Jm^Ow9t0pS#+>lhOsP?Yi}h5%iEKB2I-|--~DgP4W#_5 zaYh^E-^u~`xij9)1fFgywTgY8xbi6IHsia`l0GVMqvD_4QC#+;sp^FJUI#zdsr)%o z58K{?!)Kl4p>={y{=9WpN7X;~T>l-%uaFk4Mfs5bTiNET3#9DBfApaLrSwyN_*X9h zU+bw0|Hqg7`Y1GdOY&SaWY_E83QhNa?Tx9=-v3rK>G11u^6r^>mVYU{)NLTS5L+m| z#PV;Yu_(AHk8 zHP2n{Ojpcb_JzL7c~XdDohY6T&rxMK@-Z5ZTCYfDt1O6bLvwhW-!f@@@JwBrz>m)8 zdgj%&m^Z#-qsng`uUsR%_rb5ETxx__P_|#c)GW<2c}HFPF#lok=7<#fVh!-+!_zOO zPWvA}`g$FeXc&fEHfmi8y((a^G(p9fW~sVqptR*Q^Ri`(+pdUD`cgLpbrFuXb7xBi2g9Oo`= z=*Qr9^}kjbWRjsX%9;ql^d;UivjZXz@bi%jJ(ZwQS6hH_iKBprhtmWbt&DbaSd??x zh_e$i?V$Wx8UhU#r`Kny!S;<;VCt`5FSw^gc16+~-J)M&rkB%1%@T;lr#UTE@j)0) zVjm~r8osD(n%8*!xu;loZc|SLf~K&I8wb+H$wVW)gXV-)D+U7$Q7F5f)j~yjb^FYBWKvYZ`+*0C_jjre@5Okjhe`)NJ+g!^ zm5qKS7(w#`@ksJwOY}3;}#Ld;kfk#Od8%P8d z=5;Gnhj>giaN+|ss2THp=o&A3@x+ijnq?8HHO=$!mW>v>v;RapTePWbv;q0=FE(Z; zg)7RFK6m~!8lWiu=R1exFR9Sv=i4pVmpp6Swvs#^+T@m9?j?LDyQZIFVP8^#Upx_t z3sru}W2BPPti9~gFaWMGo3*c68!1WhV)4~n8~3J+xtT0#?Z9No2cIf;4&Ny6oo(zv zm&znnqwVt*Q>#?xpP`aiYv?SN{p^h)Z)L0>#= z!?A1Knrr#$iD#A`Yu&PMOxDfXjUM~m5^_J4Uv+d`<EHe^#5|lb9Cbj;_ zcOQNChQ!{$Aa%|GK#}R0XFp7Vx_YNR(YV?n>3L1H-E7ioayw3$t>NI=g!ME>!yl>) zLMj~TfmNM&DVHGtRnfdC4Q1*W6ftj3Y)_@&Et?Jk>%iuK{ zN&>2!QCcZ79>%^Ktvny+2aho8FKw~{WZXBY?2T=JPB!gu6g0cvE80c1f#90#H3q7E zxafE8Df~@_uo3gJovy0pPk-C5Pcy2oJ|`*Ic$h(qeEav2ES9%OkjOeh{m2qG6Xw|y z=#^XQ@`Hdd2AD z^c07ss*VCZG`_$V+6^@P_G!9ulf=7f+GE#-d*SmV>#*#bT44{=p~uRSi_CIr#O|h; z87))*QDps_^kmbhjJhA z=N<~ebFP-XUn!fCl&)*9%iVJHdfMe@+6>FR@!&tiVFI zIFG61y#>Lox*a%CZk1vEHdJe8Km4#{qrITNK-T~5M~_cegDG|6e8Lmw=U`r^-ziCX zSZ}=%n|muPrKV`fMY#3VAUjcvBD2MANjT+W(|$|EL$L3^A^)@Vd!)Y4=vs{gf9C~Z zjFBCIhtdqG{44^$()2b=rNxY8CZuPQ8=|n1le+z$s5bp?KGz2S0EO?(kz5jK7PUn)n6(6x3 z1k>A(SahcUI>@mKR1sedXx+CFc0uCFPyCHwHP<{!y z^SH$QIz;pcTArox))(JiaO-S6NM(_Q-EW9SqMI$&hzWiD;g!dBqhM(Si+V#VAaK8} zW4A_=auwdtxk8TvPrX#9<4V`xw{2FLUUdzJVb(a!L~b)O(@OvGE$)b+h#~ShM(zSUgfyY!z~y4dcE*nGX#*W(s+Dl zGmEf6IF3=XL`*DLuAD$+ULm2DYUuRr1X(0JKg6A0GtF-4MwcfTDbw1in1!E$4L;94 zmZ(f8_ix-qH#Zh;tjkT2*8*@_)%a}gS?43`|A6X+eItUp(CF^&zc+hyy{{Q0MRH`pZ)H~C> zcmE{swp7{QW2qA-k06knOf_!OQ-o^LjQpk;6}QJD>hQ5F&v66Zzfi`_CirCv#F#3U zVpBm0vR$WFARHybWW65=-+B@0v@;9+G0)2K^@m-I36qKzr!)E*nk4(3@=@~+&N=ti zNQRZ78xYZ!kq&94t5=;GEJSQxH0QLxkJQJ_f4JJbyX;{he!J~o>*-cA+D&m8MCGFB ze)piY|2VXhb+vrDjo0OGLM$kvAsr;{&ZOeH=+pa&&ATj;N7tM0-Is~CLsimoIoyhU zP6-d~poy!Cop7k{$&frnNAQof;2#DaoW4y;gLgZIJ4O03vUzUAIv)meJ>N_*1QAk{ zuSD!UZo>RXv8__^BM!L0QeF9`6H+7{0&QV}r*?xzkwgmmlGKN08VA_K{$58ud)bgt+&g zR9lV@LxtymYofpA$fI&ToExuo8u;V`jVwRgDugy5h=%e!E%N&z^sY1G#RjLMg8@Ok zDNBf^);|Hlt&K$Ro_oQeln(G8fMUe-GrlxThAZ6?{uLZ^ba)YawYqNHtNA#cA}x=r zdDnF~V#N&n9pWGuY2=S}$wfg0;^s@4`hqb%2{m@XGh63qaa9D#-B%Q? z!B|q?qN@Hat>1COn?o z^X2}JeqI8*l;lSnZiHd1zk0=KhLQ2#?PtWApo@sN>j#sElkwR3(V{S982GGt+6!cx zcPzQx2i_%;-I**9Zb7-reEl6`7UG_QI>YF$QkQcfEUi9 zaP2|3$EA|+ed_}6`Lp#%jOCVy@Ia9XoV$+9CCM~&Yy4vTf#Q9_Cjz>gk(=_K5ZqCQ zW8S-)cpTK%Er3Fba)Z0%Hc1z+jw*s;ht3_iQ_xaok(tKo|A7do?|cX7iYZz2Xe<-g z1ogn*Te@ErCkPUe%=ad%hWe(;{S^QT7~3}$xhT~w|70c1%2GfYZ4??i?%K^>ZeJa2o5Jb~XVtsx^pwpDMhLzL zp8ElVPsk81h)_kCk7)h@cCcZnzS1EyRVDqF7VI%SjIXI&!UQc8GxR;fzE*r5U0m`hA(L(caMraWGBo| z>3zpTuoI2Pvs8sxoTqftML8FiB2uqj`?xiK^NX-2EL5TBm~;V1Ir$vZh`y`hC?!iU zOd8SEC=I?(j_>O?aK*oGWag;-E^(Qey@28zMCy0_GWdR;D!Ot!93*iAPPLLk5fp27BGM8ss%-s#lYSV8aIBISs?d z_$r}+2gK7W3l?AHk0xG*cS}%(x7l4#gZk*i*=pMBGF*>q&LhHq43c-bCSXo@Q{D>p-3yE2}^e;Pl)Zb5Q z@kO%j9Jf(;lFP2LrTPk6WxWUcUYO}QzSK1}ackwcVY<+N74?4lYxMsushob&RY&1b zhZHiQc>L_+7>e<_CeeGsiZU`8J?2sja+krSRvDSe#(XG)}L)z z`pCHzB_U38Pk_|vVG}7mkG(V=7&2R#o5Eq2l_&Y!&+p{L_6~H0CWy+Xq}1a|A>pQ_ zvz}tugr3di$LH{(L_W7n?0|G~$c8TYwZPcBp>i)n{{4np36iGO=vUdS9f?7N%s|=P z&yray95(abSyg+wXdVIW91gOzWp<3gn)*@a8dLrmP9*!DRUz+@YiEC>d7Gwiu}~5b z8{7d zLuu%aHzZQ}9l`bXn*pgHD40b@?dU-(xA{`IC!kECr^RV*x#!I)g#Z}29yS%?#afCc zj^L(KROC--$>BPDlyC;iQRJSviNw+c7J1ZXC@5oo%OxKY8YNQ#;=YxHA|fl zLQ){{?{)Bc(#r*tjjKXtf}#s$$dQ$H)+TvqM-5YeSCb?)G8sdbx2aW;7y`7if$v|K zS3EK2!H;p}4~SCfTi_^xhc?zvV}>_9=Ta!*`r+sk1(kzykQ^#wZG%xgaYKB3AmM*Y zN`gKBrlLg|yAr z0|%>LsFdS?zpW%bTt+_b4~%A|m2=oW5NwJZd7%W}oVE1XFdV7YnuQlBRQI8w;B`S@ ztoNTt@EO>XK8W!ZSGK@Y688&!QI&}dlX9ebapFjlAPr)eK1T81@slV*0i_&i)WK3pmFVS-ztG&k|ASE%hv^w z7Zo>C{)I)DwI-~ZH~L$%4W0C)=XdVpc=vT&-Ye5e+G5%~pS91K0ZZzKlK?80)%^{J z$Ak>sX)(|Bx?o}v&j8x#q2I8Fu7q_cdA$2UIo!JcaSDKs=l71m_gcC3kN|S|D!QA_6%YS9(i&q~^+dCv&zZm@&R9>NXt!#O&9c!BHsP{x> zL;(NxX8c<)s)jbS7mB-*KV0wnOYMIOEWNCtv4tvNf~1!q&6Jn3iLrc-Yt!$itN zqGl`y4g?#%=0_WTJ8Lq{Ky@4)`M*w>Ca~!3nxZWceD4Ow}{&X97ip3!m9JarABkDdb?+J;NuYtd3GsrK6e}wyXPkw6`=CHfq zL^y9F7fCjoedX&ojO(4U*;fnfUc-U?NNEYGNYu2+wmTO04ns6<))-!_eig>VMRv{{2fDM5B9wQoh&! zfh4~-1dK1$6!neTQ*_Q9PP-HBVJ#iGn#)JG z{DFeEsUXIE0xri$##D)+Co-Q|@*h8Lc2Q*2s+QJibmmmf4uMc{GB%(@Jx%F$+24s+ zEy-6!zxd5-R>r?c@lOJpZUkacboOMcxhfe}%_`~fJTH?S$vI7>C1dkL7^K*g&HrNR z+VD828Ur&N=VX)O3Qaj3kF~rBHjvb4CDGMx%fE;BSD{G z%h61kFY~!#yE6qb_tqxL)I{Ek{{Ci>u9D$UY=jsb<$uV8TFR5=pOnlc`bXgzAvNir zcFg80(m zKY}f_2*)cU7h_CRaSU~1tiI^r`yw#qKAa_F$o zW3^-sgV1p7H$%F*39}FjF+y2anOEU{_6AlQapGvN|7T(piqNF9x(#cW>8A@yu_+eM zS4ktIp37Qk)=D>G&(dR;KPsfWRm6V%`V{OPg~ZIaMH8m)zNL+Qtf~5U?EBOHK##)S zQr&z1cdUGorGcybc6o5wAEBpoZHs#AFqL|~LC8J_i+y_pc}D+zq8y-(n)lN1<+N65 zE`0j--`QDW6t1wE!@z4+8Pks}v0QD%TVfgLFtG4c5% z$xBG5wQt+(Pa#_X<)v?IP*%;~E=?ICelS2mXphG%YOcoOfIYidlSghSCHgsY&du4L z>vMnOfj%e&*pDXJ^8F9T{D1d?8Lux#c4$*>NWzz;+Bkj|0Y-GGG2H_<`#x7?Wey&$ zmQ_gMR=gFjh3l8slG7=MVAaMn|eIUz6We|F$CXWisbdzHXui zuKoq=rJ6ldyPcp}`z5`>c`uev<6NpxZO9%eIHyq*fp(H8V|F|8xH#r*ed&Iz0gfZYdo240DLmmanxmu-|JbAgJ7PvvOzz!xMFWJmFYMiJv z8;^tH-P7BvQ$Wi4|5k3lN&4pFqTrG5cBW(BXd9x(&(+yM6lT;@pR`qM4fR`&i~UK~ zYO|$56}{>!9Bv})_(*uWgBd#2zshfFitmy7`bo_({^4+pGHv7f8l?h7=Hv7QaoB40 z`m0|jmU>W=cr9u+9ZOP(+461J8=UR~U49ejI#;ft@s>;b{aAQX{q+Be9$G(Xmu?4| z=(gXPLctsP31mD4(%da>U#3gqgr#b%CxP$EP5VPbZwo}c_QYfG`7-H--O;6kUjFmG zMfm%)XPAJ^!!8Rez+BlME5rxIUR1IKje2?K_tjaQFQtL5f0$76MflW`cd$Rx(PJ6 zUK-bDP!7wnh2`Csg_+E6{K+Guj2C#`_~CM&oG7L^gPRFbORiCGaL-j*n1giLs2x2UWedF|2Mjk z>3xqyVDYI4q7BR~(*>0*lcm!f@2sXqRCL}|!@4i&eJw3pQ*vv#kKG6frKD|$GNlAe zO)>;|^z-=~{}6Snzlb_{lG;CRu-`9~wZPbfPnjTB11n4RQuUOnViop*&4m)L!nb+g zfwvxt@G94n?^Uj&hH{bJ5L-&6m`%+24DF+~>l~$j*~)&Ue;N3E%&dQ& zxFO8~Mz5*ZOK5eE*T|Od#{;4orcz41o4e!J>#a16MrpAE>h%%Vzj8>^yJZ^x|KJ`O zF&%qv67qPVGM=kouS^lw5mZ2RgC6M`5e6;7BQTWqEWx#O#QL*wKH*0poPLU)^8TlW zuZ7fZ7kZ?2*2e>BJt-u?!HLwheWsAm!lR7a=r?70;Z^ZB>i*}{#o#v7sZ5X4y{ zbrsd7^oBXI)PiR|`N(YW%;W`6BrqNqXqo-0BbH%hHSy8=0C&gzew$pYLDoH{7!Q z>wLxW1p}U;)TIVT#OtkY8?XNc?!;flO)}R6@t?FWiLz$wV%&^sQAJqH@~;Ly6r!vp zm8xO>O#8>!ZbNx^8JhVM zaLHDVQv3lj3zYM*#;K7no&S#J|6MC6yP^L7nwtO1Rb=zmRZNZ! z!T-BKm%kcx$x}sp`TuJ0hsek$w0}mcxH1mi%2g6h(=u*!+Rc9ASe+BOPKBzi-p#Mi zrh2I}cS8P-i@`E1|^m2E`O>?G-HM6&d zQsT6|#$wHdN*(fWm{}@qS2N!l@19R&N>on#GKSpUbwdF2=cGcV%AKJT)q9ekwtBx7 z4RBYe)mo=bWXr^S@8z?)9Xx-^wU!=3R;@#oh4BaQh5C%VSqC9GA|h;+yoiH=8XfNQ z-`NE%i&PglBG9@4%Vc~q)?iZnY)McpxPMTlF>dI{@ zaR8tEydJun-geeZ_78hprV_ElgMu>T)06p}%xo^IGHsnTyrIeO7!@_Ql%;)ky z!Y9hb8dYl#8|JS}Ds(Uj=@k{j$$4Z28(hkvJ?7_$cIFY2M03Tuf{mpg9t^E?XayoX zW-E+C8p_^)XLAPPw@P#@aFcl~8Y(`Wp4G?iX)W%Iv{-r1^|#m#rV?H<7xE$wJ7_0V z`FNIE)j$C3g5JgIkX39mj&DViBB-L2_w)~*p;T^bgw z2KPD_7)ZDs&B`UP$q^pt>X->Ys;XeECUI9k)g#^Q;HW(M! zoa39LCb&VvP7QnvaQPp0bZD;AT%9% zczeHNlaTD-Ei-4{Yc+-+v`=2yf9tmSt~R%PUD(cG`|j~xakeJ>eY@Loofgb-iAPb! zrs-a{VOE{e`S`eMVC5k65Vm+FHT&j@fr4Kh*r%TdB-sZ>8t0D<$|& zM^4MBxST~B4s#m`U|bfUf(ZWIAJvC12M!%RwSFuut-FoCTZ?tr@W>iVamL}Kc-zYV z_{ddG(;Dnkf92OZURc`t(aEsAbX-vY=yiDm*qP#|Voa=DgML&5Ep)H*AG*!VBhLkX zDzA&@PyTUnf2ODx_i4fIx)$=dXE+<#;xqiZI4dxeF!5~1)LBO`8P$48*s6Kcqy_Il zkB)HM`}WbR@>@=4JXJbh5=d;p=LvDwCsC?_=B(7ZO>N~*|({!I#i&j^J`}45$RPNb2i#UY{ zGC^*g%jJ|`@(}9n!_FX_@=J3-MnKHNQG#|{{EQd87WQ%LtK=IsmQDtzB#%{>7Prtv z)5dHc9cM31ODJdS!>r4+>)!N&t*N`m23m_ynu8h4VjeFh-OF2?jAu2*am+5r%`V;h za`Swf5Sqiaf8$p9&^(~oRWP2L*Q)Dj{M+hOzLIHJaz5ea?DcKO57lf5U><>***m?-Q6rTl9|#fUUVen{nEO2e@q71g?)eFKnWU9)YwdwSa4)3$Bf zwr$(CZQHi(Y1^2#ZR_=o``;J;{O@~lPsOP^QL)#`mAP}DDD23z4*x2J@4J+f49n(U z-zE>EI8po}un37;oXD0M$Npoe{eGr>U!3 z0w_AkWO9%7j)nn#o=bTTQ$}6FC=f@+d>X$zyW1(386wYH6xuEFPq7;;$#A)|*tWkA z+A?C*HF`7fyi@Y7Z<`0woLe8&aw46jhlot|KDIozZd9?`pD7`at&BeX~gbk)DnCVUY16}~!5adJZRyUP-0%?z&&ROcFkdAFF;DHVivtd0BheK=x8Hz=L5#rG0_d0-*`2{QPIZv zVMQMtVseFj$%-!K!uF}%d>{TnO6y&nPio3MVu4&zJo}qMpMdU_>1o8Pxw~hXk~;Aq zcdfP~5o;tvu)e2n7@A=L+5am(|9=blQC#{D}lTvi8w}z(+tI3I#gnF&J5CIu} z77xHa0BJr}G7krs-!T~(thzjz>=S4>ZOduvGb$+Qxfj_(Jh0_LK3(GWtXJ>~NyL2m zfnN1`Yp(!$CD4Wfi z5F9GP8<@Nu!ga@^fpP{40mo*3>?;yG@;-eY9uW<9(rN7`+=}4ESm>f#;JV+Lg*vWF zsYpRwn_LmskbzpNas&8N{F-vBCq_-{ktbPo%ovx+BlS$+i8~o;lC>ha?{89e1 zZS#ZKOU7v9)H{8*SQ@EI+h(S~a_{AzEcZz}qX37Z3(H~qSJe~ScnhF$eMfCky|p&8;fRLZ7~rY$wOXIf&zB0~=RFZwq6xbW~)_ z7N3q8iamnE%>w*YD9M8Fjn^2e_~3W`*>p$DIZp{c)e@=OH81IY3*?f|F9pQSw6@0H z{~XSKhoCNIWl&&xr3J5e1X_0&Ky~54B|uK2f*Z@>>db4a8QS-1ui>n^eNXtAq$j>( zC7Pk%CGjhgLU;9AoB@DI^3^0HZR$_PM58B{WBP2U>Jx-;^2uksa*|md#bzCQ*m^$) z^>1fzeF=atWuFfWd)magG|N9Pi<#?~Vxxzj9ol_`C^+_q_9l|!Snd_i)K-x-;-Eus zeQHF`?iB6%WKA_$m^?*ihR97mAx6jr>IuL940nEy%_nl^uXtwu42un8u4PkxfY2y1usUU%&GM)#V!#6O zrwYA&TS}!EJlXs<-d9DhpI;VMF|VSjKUOu5c=3VRZ+-8r9~zrn0W+tLC40Gm@Ei&h z-qqSD*dL{NZv64u0}3o~yz4-OUHs#4bIr|VqM$Y7DlwHquDXIaz*~*=t{+X4CDDHG z%I0Uf8hsBnSLk|m>!D_w)GD=56yAQDUC-;j4)yK8oS-$p^3p`!RRGf>pEN_x^hTM~#JYdgdVDY) zSH|GZ^wvg}lw$qXglqwa<-Sir(3iKg1NCJWRu;)|w>XI0IF$Zi+lgV(JCu90&;2!k z*Mt=b^O0jWBF$nuP4Exo)uLC;$s@PpLiJm0er6sK=Til=XrTv|`z#I(Hp98?&drz% z?QTaKPs^K94h)mj0_+COgJ-`XAcjVjS$A%vaouLhP61jy)Aci_odST%rEL}yjZ~ouw7ZZ?f<(Pv*BxtzFTVxj(YH@tavr z=sZkSkq0DDAN0O**#bpfelFaXeeOC-dYAX=wcjEE;t3CsSJ)d@4vGj6saj_S>ScBA zBCg<9&|oG)=rzo=e`LZ!cCd>5#Ii>kPadpKqwpovaN{YSgC+IY^5_DL5VtG2(wIH;WB;u27OV3}@4 zJ|NIX$agRJiCpd_tdORG&K?4IJ(~#}%ewoi7|3Dp1k52}5H0GRXx>H&Cqqt6NrLH3zofHQ{z@b-^MS6xX z@;_!vG71@b62M&8pfhEcs7eqi6d_pQr!#Ji`fO(VIWLd!gJsmJVBSx`@>3Hxf zDerb)XPk`AIJ1OYK5z~I`!FKnx=bdA9wJ5RSUVlpy3Z^Yz_XMm?F{SZ0HWJ(=SuE* zeNg%aqbwiP#;Z!Z#=ar|RAjNt`k3x~Z73|*@o(s1yd&q7EmNEX(Pw>^zDI5wm$Qdf z$_l<5wDp{ktGxm-P90FPen68<=+k-L;V(+s*ty~J>7M{=ShNxsro!7huN)S89n$KG zKsc?@66+^aUUTg)PO+7zx-b3+X~_*ImX5-QzIA1-yJarYj)QSq)L(ZY#!I7|liI#B zeQTas-_njNw&J{XT5~c6>kTFyifhM?s!GniH#o}E)~4=gw0evm`e-l&IF9TCKe{W| zXayxJ|Nc1SY5S?R#a<&C%rIzPx&&;JPLW{BsEMI`lD6j zxx_R1**k7RIPhHt4{qE>p)M=bo~@&0LsM~7%4Mjj+hu_{p2hABzjfZk_rV$4q3nf^ zF>&T8&~06H?XY;ZJR7)a#WW6YBV%cdm|qs9rYX|=T8tX>z>97lO90iWS9l7(hW`$lCptdxdlBkbQGugYNxSJ+1rb zN(CQz3knBE20jK)H5Bh*cEv}(6b)g*XuGK6FC$i=WJ^-nF;^B(=#?d9gp5n?qGQ!l zjy49HHpolzc$v5iCaxBBgHoS7uTNRd_i+OfIEGz=)0fdTAje3@Ukljw(6+hZ<~Lk# z#!M>e;~Z|Q!#NvhA97esO2_1M5t-EBC-&4qm)s;LlA~bUzmB$GRwUMpl)Y$GxwYL6 z&EBbWGNG7~772{9cI4S^B7{({0zQ6M55fmaHUN4S5c`w&BTJ@_vHPtAMa<=P3gsDu z3M8MZ=WG&|BuqbtVL&t!(Z-2Bxq2zvJqU-t+FSJ&SI@b|{E~8Vw&g?S83g)`1VE_9 zkQ!%$`Tc(?kJ{TT2G!Z3oV-!pBP;9KlJtiu4E1cZ%_5WLxvY3ot}YIYLL8+M_!#(B zSTJ4MAXxdDZ?q(%HQCciFP9Zj%w&pr+|_!Tt7S3*OjNrGa8e$H_}#%Zg7?!LG?9A| zV#J8XA|uw7*isfE7?+v&3kn5vNAWyofu^3yMao0`Go2A+Wd!TIBdgeY!emq@nF^uJ zY4a+5#4;Dp5-RuF2K;0jyCZ7#BQz9)>j`q}q&2sVmQ3J=l3LVs(aSSuFH1-r+M`gj ze3cc_3n_hhIkc&l9|-gI&k=X)!0e=7d$x8bsNiIAaHS2c*0VfiOObp-;2+?rGK% zPHuQC>FMnsb=bKcc+IC}7GCfjQPOoCzGk@Y89(MR3_n_PLcgl3htnEI#ZiKkGOQvc z>*_PJ2_9HL2O5b((Y^|>Tl%QU*g*6?+)E}>f?CTW^1*#K9n?SoF&& zvo;d3^TCa6t{A54dW|Vj8j9)*H8f;mRwKB<8NVmO_V7C*14P1qZ{h+VFouWU=~$7C z*Kw_48;#C#j8`3iRajbT2__BCND6;fsJ)3X$ds@Nij93D zm>8~dd^N2$=a5D&w{JA-HnG}->NjbMy5^+7UofNh4G?S*U~B=0E_KH~kBnx}Sn@%l zxfB%?m&KLMOk?sqVk(IGN5r62WrM-MP27wBWMj4%tHGy0rW1nvI+o=FFYaA) zczn6D;p+5aSYW`nJ^x8MlC z1hY&K$cT=m!fug6BQhiR!WOz=&w6S~L$)GVg0hBx*x5~h>?-;qGAs515AZ7F z^MaL)Xi+iVK}8ucmZ`*}yKpjWhj;t+$;p!J)^9fE#N$~_r89$VDZuQS*Bfh7PvTg4 zAaQN%vAkIESA-bz>uVELsD#cofP=gIb03-Xl>zyNGS?_d-vjuQYky@10zv1FMNRN0EahBU8O^ z_OJ@HjujJM81MM5m260GlSRa#pgytrBy^C|8)yjQ84-M-%wn2`%cO+)s0UV|;N5gfjAm~Q*Io8% zQ%IH>7cTLhWWXyPzrtq9dRhTY+mGUR1+g7`yKBx?(K^c&5wgYC(|Mt2PhSdU{1}3b zS|lZ|C->Z9;IiW`R6N9OAIH}(O}I^_L=T9<{9c|}frEi@+`|bSn@cfs^ii~<1f$g@ zctR+5&-gYpwl2=Hs=?Z73tTnd)=sr!G=Pr+=+1971=Hd6UVf{Cs6w=%^w(_%1|*^E z7|V0nrL{lCaDfdh+LmgTAy$ohXU%09w{q=tc+=cFxwJ2vOsdF7b&J#J6b3H@w!)@t z*%;GXRD8|kz5P1I98{H>!*In{68Y^H-=q^QwGoT|>$hLT5K$}AEz@A0e)gn~FXR1AKY&avjF zTW-w9HCI}sbOt8CYZ(A6TM3F#+mtt8+(y5T@RJx!D0vx6YnMOc4VgEIZK;u>*{GoEO*N1tb&Oc}UJA)lq!WE92mDQPN0!r`DzbNrMNbyiF|MMz4H?9@Hzt$0E2S8C zMLGt8<@`gyDW&AC25d7gEfvY z88ylz;*o6*`zl6Q1PDOho&OA8Prq3An5R97dO55HDaU@fw$3qLa+(+b$6&V0HJ4Cy z-={-lJ(Pnrwx|LMz^#p!b%S!prZytYDpvbv#<0oe!HyPiGKAV^QEs$2{bZUDN*4>A|Qz;=1 zOm)blaRXUJU94~nVo31|jS}5W;Nr)Cy&Pv5#2pV~-1?6RNcp1hpu%Ba`Eg6M8oQlO zHBzX?=hR%C_33AK5AP5%O7PJhjwBp$#s;q9YaE~(1bIuEnng-Cc~R-Wm!_v zUwkY1`1U&6iu>_4t@1jfe*r%ye5$b)7jhtDrZwfeP;kQglkZ==YE3X(v-cWH*;Uw6 z3gy#A9EP}jkK6_*-&;WEik7`H!jpbn(bz7m5&7MTF>9389Z+T5=?Xr3<~68X8%KMG3sPOJnzu5;khEn3kqnS`_uq zHJZkbAfp6N1Q`rMO!I&geG9!ly6E`cI$gqDY-FP$ARwU%8|fk`l^INq-tK&=c0ldy zLJo`Vgx|octg3k^q%i#z9us2-UM`0QVQm(!9|m435kOkN?vp=~$mwAvIMsamC`m~1 zqkd3kst|UPLGbueaqVjtu5~*?erT?QU)$l@!IqsHStnRhM#XnCs;#Wq^&jqTu%bv; zW6r`s+O%Gos+%>ij{w>;$*hZxD&r@WvYFEhqfV`(C%i-&B2Ik|*hj)~RQSVQ3NRs8 z$hH9n99B_7E!Wy{UT^S~TbB=99{`DC-}O2)5Kl{aO>|6~dc=2UPsS}3vu8B**W5VG*bPT($n@0nIGlYuby44z6Mg7 z3ota%MA|vZ3)Eey>I}Z9!R_$yzh*IRsx)C$hNt@zszH)X1LiJOhZ%yougc!#C9OYo z`Nwm5+l;xaL*+d!5_eZm@_-!yFj_0p>=h>WhIg{mGaD6Q;ds`lNeRQK>7Ws1-oqyb zRT^SX|8q@2+NyW(vWE>j=jj3j()? zTC=n$rSts8ScvvIE$@K?Kgfv-;L1-acRPf>daGuGGpSxYOTt2INj>Kf=rHW=LR9;9 z7C-CNUDW;UL+>eX|4BF&ncQPLV?oCOi3q41$6KTA&Fw2aRGznU%KU(hy9X4GWEQI= zrq_$!VYn~29x3ft>aS?$kg+ZUK9{9j92{P>af}x(Xt6yW1eGXufWs0CU{&9&6I$OkhrfM&8Oml%IGi)W~ao3bQKwxJ1* z5bTP;Hcp7B*tyEes>3xL9-UV9c4nnoHu@p-7<-v;!{SP|m4fCus^s4ehd7su3cBq` z%}cQO0)t%OHaeE1bG5wTQ8%6h?(tVVs5@Tq! zsv%)=AcG1Uxl%fRm{buoR{mOGFbVJIJ9?YB|T?|_QeRm?7=6WPQF!+h_=#RdS zybdo0>d|{GMkD6@w$RAP-E>FJW{;h&32v%x3f|X)dWKy?6HL z7zDDsX&D|67L}wg5(m;b{UEhnRQ9JG5>FrCDO|o{iqvWZ0$q2RB(kDHh>}i$M6wY7 zr!I~~QsMxO`Ahf%VhJjNq)KJphJ5otWVO6py#AT$`2iT3Fr%2`U5dLqEUWhLIPd}m z45ZFO7*uC_^yAXcCO-mcY2_GOk4G5UeK#b@hROE!%ojEbbCK<5=%Rc_u_nlyHFsDp z*{@cqwjLN=fLD3kln*h=_3O)*&j3$>Jaml zUQ_Rf#cI;xRW?B$1yd^5l{Eh$EP->8(gvv(kArPF?M0bbx+^) zz+>M76IXViD?yS3%trD5NcAF-GHB?HWA81+px@{_%E^RBmyGpTi}!s3)+ANwPLA^J z!UdsoLCysy?Nlzs4JfiGQsi$&C>Kv##jHZ@Fx@OG>jCXvZSozs-aEE-JV{+gymb{ z&?2S|Yj~M(r|Dzi=DkhNg_==Z#bE%tcwZKp_2^7}ggse%hX4?`Xl=-ntn zhkXv$oXC`mbFg|eRk;@NBd z)WM4589pymxjyq=YwJtdS~Mj;3#b21C=4HT1YV*EX5E()cL_gMY)=g_9{lrlPe*}r zDma8jJiOX9EI*6!S$=q8G*LwqY97>u^atXnur6W;pV(Mbo7g)j}?QNiufpVb_zv|&+)!NQd(PJ}Q z+H{M3RY8hJ&%64rhSZW0Ms2-SQeZ^ZgctqUw38s5gxDz(`m2L=15a%TA5ixM@K1VE z4^$u0?zIP)=`!txgO_|yJ-8bVtIa$DoDQ|u>_0dCw~dA8x0mC6$6W5`VvE{cubK9l zPB{R&TS~?KmFgz%qpY(riv}C)JqrZuhH=)Qgx8T%vj*5v4So|qdw$YMJdQ0R(4#{ktr%v@!O_op<-N3>SpW^Mp)e=KcD4rEH1(}~!XE&Yw zbB?)GbLLk~26J>mJ>PbJnfY`w!OV_=?QKHco)xvd5Z6lT(-UQD0OMeK3o&m}9~a4~eBh}7tjCZv zlLspS4Lh@FHHs@{$J!S#?y|GS@+uYO!0TifGoo)n2`4krPrDtT1TiW!4gP-Fw|O5! zW*-lloyvL#j<%S~f<xRpGL zC4(IXARMl2*nW~0LWq~N=fMlXFl`E>xh#wW?e8N67YZsg4-!T56chu;^m=VY&aiWT zfN1llThJdUk#+EEYAjzGt_(3D8Z=s#l!JO!+!AnFS9DDtfI^U`^%pG9ZVPk(s5)m& z-!4k`p|WdQ^(m4e!sbfj4&v0z<+K*hg7XFi`ktWKq7K%*Dd8mA#+j)#JvMpe0d*M! zA#4a(vHh$`j>1^z9=0yHd!@bl_9O~zviYEEmDTi>ymviYP_NYnP1Z(LSuWeJ!|Wn@ z!)1L4)nBdckN~|N2n#u(y9$|;Sz18|T&`xa%Yh+1qC(LO1?r88DI*8~_K_cvkE8>S z38bla{?hb#CG;a4u+{aKW(wk>7`uHoVwjUC{U5yso#5a?*Tc`nWshgnh;-pUzMkr9 ze$a^JcS8I}h%2x}bd-{C#6t7nCoqYG5v{<@y~}FMWw+6q;kZB9?7N-?ZHCm7lOlyU6_~wvWRu4$9ME+@p*85T)J=p4%gNvW*>d+?pVcC;1Oro zb1Ztl$$A6MFgwl*g04KUJAu;s>jN*8CPTTiG| zuWdLMy`;9f1SWh}4TmE`<5{ z4G(Th*mJT7^j?h}xMGm+$)_dV^$GB5+Nt}ih0N5+Yd@iG z1)PSb3(H9iXWC%5ev`3$Vtz1N!63x*{~x&*cUZ5YH`d!x%!Rv zw60)&^;vB6em4&#&eDSP=9zj3_e$0M18N5u+q(lM2wadePB*^lL)>#oJ}>A}Ivi2L zQhH?nwpwmokD!(_sla{!vE2Nc6!+0ABNC3-ifnIwxTk(znto}wf4hsyB~+9ho6Ymx zcI3zMj)zJj%gQUd~u|ypx@BrVES@{8M(oY2W)WSCNZkqQxr!qt8ulg2_Tb{ zUAFog7{4t%*+_BHjOszM;Ix0mYmh{uJym@Oul+ztP2bEM*@yQQo-!N8<-A*5l1izP z8XK@(Z>e?fr_|y2P^qC*HaF-QN!Zn`Z*wI{3V?CVhOpSeDz~e z-x7?U_KXc<^ElR_x=UJRxV?8*;wA|h+ge#RzeFf%ovl-IxZ71QPBn+~c)dbwnMRgk z*rh>5GS%S&%~J?y`{w&*YTn+cr)UNfFdArmGl70~p!I4^XE|y)r)Vbnpz$x^RO$#} zOZJzKDp-i}!kC`iX(R^tml}oNKMgN9-E+Y1840Ys5<6gF)`pdiv2nH2*8>fS?Sr)! ztsS4I)>{E+g?2|S;|4))+E>+1$S)6?Da8%tf=GV5dRItNI8|q*o^#K9*FrCOQPX|q zF5Xyso0Bp(_k2O8`EYImJo(f=D(brWO%06#N~U~c(Q-lwXVuY{Mzk3(#qsNmlnA7t z%LwT}uu(RlSQ+)w8Q8Gdf`EC`s~dkeBr=wk7h4dO*>CV|WOsQ2)A^R*IXBXRTMjn5 z3mDxN(?9h{xvDtyf-UZkhO>d!cmp2=i-MJZ1Nnr|Tp|D=t|=kUB6N>7?(l3GENX7v z*`P~)(J>5=-f{bZ`c5Up9_XZVHaO7)Ha={La`~&qA>bkDi6*a6%n(xMI4XW@P^_2* zg#8G!M>=82v$U1A}z7AjVWS=MRO_w9!M0JaFy}n z>%Qu>u)Ql~JmYwL6G0FeBFNN;>^hMy02=PFTg2pPR9biXR)TK*ABvUN6uCBv%leE_ zD94a7i`5Y}fnb~PZ4e8vjoMstaK+Dg%vj$W7M78B!s7dKP21WwG?eqx-t8ZV9;GU~ z9*fq-;iN#dXHvto6!2b21Xh0#r@4Nn8T>HRe5tSKYf_zPq#8O$B+W*u!c}!J##A|Z z%$7q?M07yVF`x`4KeImfb^%pB+D9?7SbS_4G~q|v_Ci!H-{#F>HJ`tyNL&9)Wod8vpp4e-0e%754} z1>#o@5D(Oioa}Eoy)~i*sD;YBpKxcqlf31d#ke%m<{n#ydi6)+k!1^3ia#w+;}W_9 zCfD&LGH>b@wdSGT+iR9!4Va6>TQcKEa~ZBXP)18jXMKIg6-b#wZJ2jUC@h zjd~822VeIV5e2_!-P&Yi~5CaC5MZK2rX-l*Z zMeJOZ(X#SU7+x`t|M@VP#D#B49acHAub+NY1Z6CuJkV`?PbJeCtn4EGl zU9$i#3ioP#VS>aH2X&f)C*}AI?*96foP9+&?LD%d)}sMeg>9cPYwZMiG8|tnEEcD& zL}g3A($(K8D;G5C&qS+|r*0kw5#4OlO=TVlMygVXp`AVzUrpfS&^0Bk)aoy30!i!$ zh@@*~2-JvBE=@X#XnL12Y+uQ-23Y}4+1`&4B~CG(b+@f7wcR*RQ13V+ZY7zzj7%r6B{C+faorGe_;31YGV{00_xDCvLnqD{AD0JqG zI%2~`$Z-YD!`u=dnH~uoe%RmWfLtbR^kft=hjDRY12el7MNrqgc0KniOozIs$lVN6 zX(Y*Q<&Kzfl$#6lI$EdFbzu^_h>ZAWY&<*;9~}S*?@GR_@<j0o6oGmLFjL>$GvMJm+>{Qg5mI8iX;367my6KiunhY^UMsvULYiSKLK3#W+SEhxKt!INI2{7M)E;DGffkA-%|z!IwZ%@( z_avK9>ZmF9*YDv$D};-n?Kaorr)h5~6ONSXocRpJsGW9U9;~3A9}_=Sq>Z(bgbFzU za9bJ2vQI2d-B5nDScW?fqqTfA>dD*Pr*|Ljz%F~J-j}t`j$g>JVv^Scinh=|IEXqd zMS+rqIh0qAkT;KLk#lb75_|!@z3J$Pqfv`xx%WdZH!gl-c*x zEVW%Ale-&OC?FI$Sj?#`_r$sF)_qR9{+=_$N^4n+*X!)}DyY%ozOP`Tp7&=;gemw5 zei3cq9%V$ENDgx)K8f!Yf^8k3*S@F(cDV?s04>oecNZ(3FWc->cM@&`>PbI#(xhSj z$^7`U27*h2Yx#ZH^T_ON@mWF8o55OAq4H+9U~lQiysQa*{AGAlcP##dTt-ZDr;I_A zFSzL0oX?#ifI zfhWXTn{BdJoBXHL()$$Lwsuz7jFZLjaUGLZJJ#7BmUz^aofjED*A$BM()w?%sYgum zMWaROQ^-WFnqWEEZY0*Qvlfls(GcfN9$33O3$6c08O*R`HAa8V6@-NLMuVsf; zVgl!-9(Lh3v;(eSW4P=Lh)Dn*Ur3y~5BrmsZm~o_k2sxotjv6)XJojSJBoka={i*WCXr^=#pfN`gl_V@0;p4-m!6)iK(Wf zFf4#e^i3t!RZ}e#_Vd(EDHl8wGR_!btZ;Z)U`6T>1~1 zjD5FPjca}ndq(WLWS3O5Z8%`%u)^AIjO3&J_VoUCWa+OBr*yadR}}o2_m<;PkCajN zCGG)Pk)_i-X!i)>j`d*n3wY%s zsmP9-I;3n9Z!9-!rM2md zKe9GY8fm>d4rS@L=X+1ble+Bko+=CRPswwG9gqzC(>Y)&@q*e8T@sQ7du2=N?#?RG zmFOHz{hFJ1N1o&r0}ijc1nsq4o20Ms;VjD`#EX;b90i}+{o5KzmROw9EQnY4cb7>C z_BoKPo)+a;ZCr1*ZL7|O&SBJw2HhGT9Q_sK}!OOf%op00HHG6Zy7()RUUiolBg z=cdA_g5SjxVv~~vh-{t{6C)HEj-J{kmBe$Hy0T2z+Pv9hXz(>(jju;~&XDlQV=1#+ zvpTV#Q)FPjtbD0Pa)x*l@kX$o?TWgZ*TjHKIo-*$DK*Bjj4qnag0NGQj)-os*ovEE z39cH#M8ZM5_@F5*_&`)u5;EPaknzVVqEJnClE99{dnTVz*UV`}nQV_K?X|vwq#{$1 zqHT$G4t&V%S4D3%aKyGe9FJ-)&|tE&nqBNzoD^AGZAD@721_BOUvVmaTC1ty{d)RN zu@w4FGwDEDq5+|16c zR9fK79E^pd)J830#TdoNkWiyIN&OA0x7sGADu~9*(Lhf;O?}sQXtze>SU8qAMV%Mq zv;9knpWs9fHXF1}UG*0}>JMMbc%+zwlT8}R{$G;MI?TIYPMtR&R-*_hI&U%d`}PYq zDF{gE;c^c$Gdz4>)46B(@%;?ri_2en#h=b}*91}RvaW|WhdD)eqcz@LWQ5c(G+%p_ z-svA_Q$L8tF!;U-uX{dD;}1dcM&G8MK5xokyfd!906&0V!S7*@ab|dOeR#ik_%wXx zcF-BlT>VM!sNdTg7cTq6l`8$ez-1)>fslZa0000W0FY!dH5Fu45UT+J09bzj03d$9 z`#(pa-+x_c2-sLV8d*E)D7x7iIcQP4T3P-l!8U>HS=jf`#qSgDzcBwg3jMaeX$@@* zWbJKi9cc7yZT|_)UcfvZ`i+?XKL0kK4D@ek11ASZ8>@dJaA6)jp!qgr|2-W3e{6rh z7W&Bm|2u(=z0p6xaSGy-55I>`eZznL1+M}D0MM~FvUH%K{;%i%bem!sa2Mg*F8#L^ zguj5Dpa1|aHui=z#^141)YG^8N5dZ8Uh_zT005`d!2hB96YO93@7Ot6eFy)abcdt~ z1QUE~o`m?%sPjqu3vOzpXJ}+k_fKdOLBH^XZ}IxyQvVKGywtzY4n~fSX4WPS{{)}U zhIeZFHr|2!pS~-~{0naFWTkIp|4r~ucnkd55u|TC8~A^U=aT;y-q^;*@&6;fYv5C^ z(LaKD#G|A7 zzHP^U&(YtuH`M+GHnKLf{?`7F@adhS{{C-x<~RKBq?y$CH^=|K_&JyN7OQW~9^WVC zU)p=L{)PYVl>K)R|Cqin3`4_v-%8ZKm;K*N#@c@|{d*GrBh$ZY!um^7fbL&R|23um z*R%hX3ga&-3cbIm{w=ltSE9c)&HhdF*Ao3-ss0X>oBm&#{ypdZSEj$c!!`Je>ECky z{~=0{&eW^|u>gN51_Gcj1p;9CD@;TGLu6%SXr@QQ%x26?YshTCM#pAAPs_q=Y-qr! zugAc^z{1GFXvEBF$iP5L&%|a(ZEJ1v@AtRHZzG3V8@MFyAOK8nAOOUF8A199{NMMt y|286HYh8LA3Hn~}0RIP;I%`e< literal 0 HcmV?d00001 diff --git a/OpenTopography_Workflow.png b/OpenTopography_Workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..66ca9448874c21c3437208385731fa1883e948dc GIT binary patch literal 326453 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

2k3uqIKzW+a2L+=vNj# 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%0DJL%4f&iv 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

nibdObq` zcJti&0=U&R$M3kZoGP#+hxuX{!+!vFTTEj_3__TWD3K!`ElV0$2L^VF!48ToX9~>?zT#TOPQcpEezzGhCZq2bOH&I+1X*_soY# zH74=5djo8UR-x%YP*|BVZqMd28K2=GF>xkQY(cMvb2v5DXPG0i8v`Y(hq^ga{S+8Q z5CDB#dj275dWvLxo#VC$?`%}ugdLu%KQ5#*{yT5KzkB5Zn^?=u{l~!TiBj@e$DwlV zKZ*oX&d8g4A)|1z=HGv#0hRGS2xJi0O^dkUCcu(@O^X*SWO%Rn0653gvplIeXEptm z0~|ex1KlSsB-+HVOU+LAdSnL}-Z+MchD!-I6K@BTxq$G3g++dalIbryfJAAU&#^KU zH970H)S=J#CwsN%9o3vRjHKqRsA%1p!|iGs z>Zp}xuEt}G&pfsltenD|cL3*4wDuCS-cu_y_>bp?CnK2OmvBTP95uj@!8FnO*KuLA zZLe>^>(Z>mJXw*CBESz{vXwyjH^1RIOraUdOomWMV3O;(;d2e+OMm1JFGy&%LUUmo zRsp{*Kjg~#NM@EH`^}CK>j!EF{wUpcLf9xa!DCn1QhkoEy4Hh#BgXO&Aag-W+FChg zm?8RaM7@{s4ClX7DzBe>-cfYeA%j5-PMEoySooBHGR_**_rQifJ880~e6V-FDl1P* zN2KO?W7Hg@SIBjq{Nf>W>(8+)z2n}DmIBk=Ji6EEVG|`ghrc)$6gpFxm&#?AoiF{+ z&+qv0);4UKE||urq}1bFG4Zmcvz}_$gptGL%ln986h@eZADBT2UDu_&5FULwRPJRc zwAWB8Mb@+u^E8LOBPp1e74#Za<|=!c3zaRBUA3!=?Gf0{) ziEPiaD)bdb?aU8sZ_`vBHfj=5V?vo4)W&=qLMDGd$W9@qfu%CU=hO_Jm0=Y_=`18A zDv5M zmK@n(Ksng($ob+Ob(6=X2A3r#jE>=GT`INT5mIlz5tzmggRtqSAKre*Yd#a}2`rQ9 zX>poe>Uq9GB@Dr+hfjujv6o_l(cE;3ivy@Fxm<@26A|!SCEn@lIJq^?g?E>dHvBUI#B!yj(cZxFTvMA~9cv5mjktZIX|D*nmoT znjou@%N(-2N~?-`AWZ){=+$HM3Y6zO_%^=$7F{M|6A~?a+s6KG)bO(BLZ7`w-HUt1b#Q#D{BB-5OJt{HbcQ<=>k<#OXyY?I&U{MSmm^3htMy^$pj3R{8J zXI>@I%cOhi3jWHmfxl0;fQV|FuLTWOKUOU#fP7j`x;=}!+Z!0kPA})Oy?wMHe&~f6 zbctx`vtc?^t2K)#R;=zr;lf=|IQz{zG5`~2@*7FP@0Bgc)TF(_Z!~4%!{l6PUfcxI zWcLOinBGMRr9dcRu<&*wMUWRF&X(|8i1J;_9V5x3)dzE7aV$7E;PUAHq9o({QEd4g z#+*01Fa$;*_L>HksQ@G%9Ed$8iME1-@J@U12E7F<66HSfv|H~@0u^^^fTnKYgxg(} zK5+!1n{0P5$E=UH9>+GqUc@oHC*i}=8D$EVnN@n+(!o)Dsw@x7@!(N6iYZBy4qf>( zcKRzPKEJ-sy)A9|aB)Fl>ciCj*L#acfQ3wJ!BHXBs*g$xp7`DT!|Cc)XXV zl(i+b`QB@vumTq~4kmy!E-QQM4tI%}x>J&#Yjq){;+}!@Q$s)Cw_S;AFvE-#M*U@$oO(t0Tgu1L6`Yc@X`DS(uO*5(hgc`0foUDUPJIzj*47s|%r`I3F z^a$}`){b!A+0-Uq_CBxab88=6s{DatkoXjr

1M4Jb_wbMZr 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 + + + + + + + + + + + + + + + + + + + + + + + + + + OpenTopography → LUPMIS2 Topographic Workflow + + + One-off ETL pipeline: download DEM → generate products → serve to the PWA + + + + + + + + + OpenTopography API + SRTM 30m / Copernicus 30m DEM + API key required · 50 calls/24h (non-academic) + + + + one-off download · Ghana bbox ≈ 240,000 km² + + + + + + + + DEM GeoTIFF + Ghana elevation raster (single file) + EPSG:4326 · ≈ 1 – 3 GB + + + + + contours path + hillshade path + + + + + + + + + gdal_contour + extract contour polylines at fixed intervals + -i 10 (10 m) or -i 20 (20 m) + + + + + + gdaldem hillshade + render shaded relief PNG + -z 2 -az 315 -alt 45 + + + + + + + + + + + + Contour polylines + Shapefile / GeoPackage / GeoJSON + vector + + + + + Hillshade raster + GeoTIFF / PNG tile pyramid + raster + + + + + + + + + + + + GeoServer + WMS endpoint + on-demand rendering + + + + + MBTiles + XYZ tile server + pre-rendered, fast + + + + + Tile pyramid + XYZ / WMTS + gdal2tiles.py + + + + + + + + + serve as WMS or XYZ + + + + + + + + + + + + + + LUPMIS2 PWA + OpenLayers · addWMSLayer() / addXYZLayer() + "Biophysical Environment" group + + + + + + + Legend + + External source + + Raw data file + + Processing step + + Derived product + + Serving layer + + Consumer + Run once · serve forever + + + + + Prepared for LUSPA · April 2026 · One-off ETL job — no runtime OpenTopography API calls from the PWA + + diff --git a/Topographic_Background_Layers_for_LUPMIS2.docx b/Topographic_Background_Layers_for_LUPMIS2.docx new file mode 100644 index 0000000000000000000000000000000000000000..693037eba8fc3f90907b832921e4303af32b825e GIT binary patch literal 13166 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 J^%VdB{2!GN-je_T literal 0 HcmV?d00001 diff --git a/dist/assets/html2canvas.esm-B0tyYwQk.js b/dist/assets/html2canvas.esm-B0tyYwQk.js new file mode 100644 index 0000000..d873e29 --- /dev/null +++ b/dist/assets/html2canvas.esm-B0tyYwQk.js @@ -0,0 +1,23 @@ +/*! + * html2canvas 1.4.1 + * Copyright (c) 2022 Niklas von Hertzen + * Released under MIT License + *//*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var mr=function(e,A){return mr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var B in r)Object.prototype.hasOwnProperty.call(r,B)&&(t[B]=r[B])},mr(e,A)};function tA(e,A){if(typeof A!="function"&&A!==null)throw new TypeError("Class extends value "+String(A)+" is not a constructor or null");mr(e,A);function t(){this.constructor=e}e.prototype=A===null?Object.create(A):(t.prototype=A.prototype,new t)}var Lr=function(){return Lr=Object.assign||function(A){for(var t,r=1,B=arguments.length;r0&&n[n.length-1])&&(o[0]===6||o[0]===2)){t=0;continue}if(o[0]===3&&(!n||o[1]>n[0]&&o[1]=55296&&B<=56319&&t>10)+55296,s%1024+56320)),(B+1===t||r.length>16384)&&(n+=String.fromCharCode.apply(String,r),r.length=0)}return n},nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",on=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var le=0;le"u"?[]:new Uint8Array(256);for(var fe=0;fe>4,Q[B++]=(s&15)<<4|i>>2,Q[B++]=(i&3)<<6|a&63;return o},gn=function(e){for(var A=e.length,t=[],r=0;r>bA,Cn=1<>bA,ln=BB+un,fn=ln,Un=32,Fn=fn+Un,hn=65536>>zr,dn=1<=0){if(A<55296||A>56319&&A<=65535)return t=this.index[A>>bA],t=(t<>bA)],t=(t<>zr),t=this.index[t],t+=A>>bA&En,t=this.index[t],t=(t<"u"?[]:new Uint8Array(256);for(var Ue=0;Ueot?(B.push(!0),i-=ot):B.push(!1),["normal","auto","loose"].indexOf(A)!==-1&&[8208,8211,12316,12448].indexOf(n)!==-1)return r.push(s),t.push(xr);if(i===mn||i===Dr){if(s===0)return r.push(s),t.push(LA);var a=t[s-1];return Mn.indexOf(a)===-1?(r.push(r[s-1]),t.push(a)):(r.push(s),t.push(LA))}if(r.push(s),i===Tn)return t.push(A==="strict"?Tr:Qe);if(i===iB||i===xn)return t.push(LA);if(i===Sn)return n>=131072&&n<=196605||n>=196608&&n<=262141?t.push(Qe):t.push(LA);t.push(i)}),[r,t,B]},wr=function(e,A,t,r){var B=r[t];if(Array.isArray(e)?e.indexOf(B)!==-1:e===B)for(var n=t;n<=r.length;){n++;var s=r[n];if(s===A)return!0;if(s!==FA)break}if(B===FA)for(var n=t;n>0;){n--;var i=r[n];if(Array.isArray(e)?e.indexOf(i)!==-1:e===i)for(var a=t;a<=r.length;){a++;var s=r[a];if(s===A)return!0;if(s!==FA)break}if(i!==FA)break}return!1},lt=function(e,A){for(var t=e;t>=0;){var r=A[t];if(r===FA)t--;else return r}return 0},Vn=function(e,A,t,r,B){if(t[r]===0)return I;var n=r-1;if(Array.isArray(B)&&B[n]===!0)return I;var s=n-1,i=n+1,a=A[n],o=s>=0?A[s]:0,Q=A[i];if(a===nB&&Q===sB)return I;if(Vr.indexOf(a)!==-1)return oB;if(Vr.indexOf(Q)!==-1||QB.indexOf(Q)!==-1)return I;if(lt(n,A)===aB)return Ee;if(Rr.get(e[n])===Dr||(a===he||a===de)&&Rr.get(e[i])===Dr||a===Qt||Q===Qt||a===gt||[FA,br,$A].indexOf(a)===-1&&Q===gt||[Fe,WA,bn,SA,OA].indexOf(Q)!==-1||lt(n,A)===ZA||wr(Qr,ZA,n,A)||wr([Fe,WA],Tr,n,A)||wr(wt,wt,n,A))return I;if(a===FA)return Ee;if(a===Qr||Q===Qr)return I;if(Q===xr||a===xr)return Ee;if([br,$A,Tr].indexOf(Q)!==-1||a===Dn||o===Mr&&Gn.indexOf(a)!==-1||a===OA&&Q===Mr||Q===ct||QA.indexOf(Q)!==-1&&a===j||QA.indexOf(a)!==-1&&Q===j||a===ee&&[Qe,he,de].indexOf(Q)!==-1||[Qe,he,de].indexOf(a)!==-1&&Q===Ae||QA.indexOf(a)!==-1&&Ct.indexOf(Q)!==-1||Ct.indexOf(a)!==-1&&QA.indexOf(Q)!==-1||[ee,Ae].indexOf(a)!==-1&&(Q===j||[ZA,$A].indexOf(Q)!==-1&&A[i+1]===j)||[ZA,$A].indexOf(a)!==-1&&Q===j||a===j&&[j,OA,SA].indexOf(Q)!==-1)return I;if([j,OA,SA,Fe,WA].indexOf(Q)!==-1)for(var g=n;g>=0;){var w=A[g];if(w===j)return I;if([OA,SA].indexOf(w)!==-1)g--;else break}if([ee,Ae].indexOf(Q)!==-1)for(var g=[Fe,WA].indexOf(a)!==-1?s:n;g>=0;){var w=A[g];if(w===j)return I;if([OA,SA].indexOf(w)!==-1)g--;else break}if(Gr===a&&[Gr,Ge,Sr,Or].indexOf(Q)!==-1||[Ge,Sr].indexOf(a)!==-1&&[Ge,Re].indexOf(Q)!==-1||[Re,Or].indexOf(a)!==-1&&Q===Re||ut.indexOf(a)!==-1&&[ct,Ae].indexOf(Q)!==-1||ut.indexOf(Q)!==-1&&a===ee||QA.indexOf(a)!==-1&&QA.indexOf(Q)!==-1||a===SA&&QA.indexOf(Q)!==-1||QA.concat(j).indexOf(a)!==-1&&Q===ZA&&On.indexOf(e[i])===-1||QA.concat(j).indexOf(Q)!==-1&&a===WA)return I;if(a===gr&&Q===gr){for(var f=t[n],c=1;f>0&&(f--,A[f]===gr);)c++;if(c%2!==0)return I}return a===he&&Q===de?I:Ee},Nn=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=Rn(e,A.lineBreak),r=t[0],B=t[1],n=t[2];(A.wordBreak==="break-all"||A.wordBreak==="break-word")&&(B=B.map(function(i){return[j,LA,iB].indexOf(i)!==-1?Qe:i}));var s=A.wordBreak==="keep-all"?n.map(function(i,a){return i&&e[a]>=19968&&e[a]<=40959}):void 0;return[r,B,s]},Xn=(function(){function e(A,t,r,B){this.codePoints=A,this.required=t===oB,this.start=r,this.end=B}return e.prototype.slice=function(){return S.apply(void 0,this.codePoints.slice(this.start,this.end))},e})(),_n=function(e,A){var t=$e(e),r=Nn(t,A),B=r[0],n=r[1],s=r[2],i=t.length,a=0,o=0;return{next:function(){if(o>=i)return{done:!0,value:null};for(var Q=I;o=gB&&e<=57},Hs=function(e){return e>=55296&&e<=57343},MA=function(e){return J(e)||e>=CB&&e<=lB||e>=wB&&e<=Us},ps=function(e){return e>=wB&&e<=hs},Is=function(e){return e>=CB&&e<=Es},vs=function(e){return ps(e)||Is(e)},ys=function(e){return e>=is},ye=function(e){return e===Xe||e===kn||e===Yn},_e=function(e){return vs(e)||ys(e)||e===jn},dt=function(e){return _e(e)||J(e)||e===Z},Ks=function(e){return e>=ws&&e<=cs||e===Cs||e>=us&&e<=ls||e===fs},UA=function(e,A){return e!==ne?!1:A!==Xe},Ke=function(e,A,t){return e===Z?_e(A)||UA(A,t):_e(e)?!0:!!(e===ne&&UA(e,A))},Cr=function(e,A,t){return e===DA||e===Z?J(A)?!0:A===ge&&J(t):J(e===ge?A:e)},ms=function(e){var A=0,t=1;(e[A]===DA||e[A]===Z)&&(e[A]===Z&&(t=-1),A++);for(var r=[];J(e[A]);)r.push(e[A++]);var B=r.length?parseInt(S.apply(void 0,r),10):0;e[A]===ge&&A++;for(var n=[];J(e[A]);)n.push(e[A++]);var s=n.length,i=s?parseInt(S.apply(void 0,n),10):0;(e[A]===uB||e[A]===cB)&&A++;var a=1;(e[A]===DA||e[A]===Z)&&(e[A]===Z&&(a=-1),A++);for(var o=[];J(e[A]);)o.push(e[A++]);var Q=o.length?parseInt(S.apply(void 0,o),10):0;return t*(B+i*Math.pow(10,-s))*Math.pow(10,a*Q)},Ls={type:2},Ds={type:3},bs={type:4},xs={type:13},Ts={type:8},Ss={type:21},Os={type:9},Ms={type:10},Gs={type:11},Rs={type:12},Vs={type:14},me={type:23},Ns={type:1},Xs={type:25},_s={type:24},Js={type:26},Ps={type:27},ks={type:28},Ys={type:29},Ws={type:31},Nr={type:32},fB=(function(){function e(){this._value=[]}return e.prototype.write=function(A){this._value=this._value.concat($e(A))},e.prototype.read=function(){for(var A=[],t=this.consumeToken();t!==Nr;)A.push(t),t=this.consumeToken();return A},e.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case He:return this.consumeStringToken(He);case Wn:var t=this.peekCodePoint(0),r=this.peekCodePoint(1),B=this.peekCodePoint(2);if(dt(t)||UA(r,B)){var n=Ke(t,r,B)?Pn:Jn,s=this.consumeName();return{type:5,value:s,flags:n}}break;case Zn:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),xs;break;case pe:return this.consumeStringToken(pe);case Ie:return Ls;case jA:return Ds;case cr:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Vs;break;case DA:if(Cr(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case os:return bs;case Z:var i=A,a=this.peekCodePoint(0),o=this.peekCodePoint(1);if(Cr(i,a,o))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(Ke(i,a,o))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(a===Z&&o===As)return this.consumeCodePoint(),this.consumeCodePoint(),_s;break;case ge:if(Cr(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case Ut:if(this.peekCodePoint(0)===cr)for(this.consumeCodePoint();;){var Q=this.consumeCodePoint();if(Q===cr&&(Q=this.consumeCodePoint(),Q===Ut))return this.consumeToken();if(Q===nA)return this.consumeToken()}break;case Qs:return Js;case gs:return Ps;case $n:if(this.peekCodePoint(0)===zn&&this.peekCodePoint(1)===Z&&this.peekCodePoint(2)===Z)return this.consumeCodePoint(),this.consumeCodePoint(),Xs;break;case es:var g=this.peekCodePoint(0),w=this.peekCodePoint(1),f=this.peekCodePoint(2);if(Ke(g,w,f)){var s=this.consumeName();return{type:7,value:s}}break;case rs:return ks;case ne:if(UA(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case ts:return Ys;case Bs:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Ts;break;case ns:return Gs;case ss:return Rs;case Fs:case ds:var c=this.peekCodePoint(0),C=this.peekCodePoint(1);return c===DA&&(MA(C)||C===ve)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case Ft:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Os;if(this.peekCodePoint(0)===Ft)return this.consumeCodePoint(),Ss;break;case as:if(this.peekCodePoint(0)===qA)return this.consumeCodePoint(),Ms;break;case nA:return Nr}return ye(A)?(this.consumeWhiteSpace(),Ws):J(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):_e(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:6,value:S(A)}},e.prototype.consumeCodePoint=function(){var A=this._value.shift();return typeof A>"u"?-1:A},e.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},e.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},e.prototype.consumeUnicodeRangeToken=function(){for(var A=[],t=this.consumeCodePoint();MA(t)&&A.length<6;)A.push(t),t=this.consumeCodePoint();for(var r=!1;t===ve&&A.length<6;)A.push(t),t=this.consumeCodePoint(),r=!0;if(r){var B=parseInt(S.apply(void 0,A.map(function(a){return a===ve?gB:a})),16),n=parseInt(S.apply(void 0,A.map(function(a){return a===ve?lB:a})),16);return{type:30,start:B,end:n}}var s=parseInt(S.apply(void 0,A),16);if(this.peekCodePoint(0)===Z&&MA(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];MA(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();var n=parseInt(S.apply(void 0,i),16);return{type:30,start:s,end:n}}else return{type:30,start:s,end:s}},e.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return A.toLowerCase()==="url"&&this.peekCodePoint(0)===Ie?(this.consumeCodePoint(),this.consumeUrlToken()):this.peekCodePoint(0)===Ie?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},e.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===nA)return{type:22,value:""};var t=this.peekCodePoint(0);if(t===pe||t===He){var r=this.consumeStringToken(this.consumeCodePoint());return r.type===0&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===nA||this.peekCodePoint(0)===jA)?(this.consumeCodePoint(),{type:22,value:r.value}):(this.consumeBadUrlRemnants(),me)}for(;;){var B=this.consumeCodePoint();if(B===nA||B===jA)return{type:22,value:S.apply(void 0,A)};if(ye(B))return this.consumeWhiteSpace(),this.peekCodePoint(0)===nA||this.peekCodePoint(0)===jA?(this.consumeCodePoint(),{type:22,value:S.apply(void 0,A)}):(this.consumeBadUrlRemnants(),me);if(B===He||B===pe||B===Ie||Ks(B))return this.consumeBadUrlRemnants(),me;if(B===ne)if(UA(B,this.peekCodePoint(0)))A.push(this.consumeEscapedCodePoint());else return this.consumeBadUrlRemnants(),me;else A.push(B)}},e.prototype.consumeWhiteSpace=function(){for(;ye(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(A===jA||A===nA)return;UA(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(A){for(var t=5e4,r="";A>0;){var B=Math.min(t,A);r+=S.apply(void 0,this._value.splice(0,B)),A-=B}return this._value.shift(),r},e.prototype.consumeStringToken=function(A){var t="",r=0;do{var B=this._value[r];if(B===nA||B===void 0||B===A)return t+=this.consumeStringSlice(r),{type:0,value:t};if(B===Xe)return this._value.splice(0,r),Ns;if(B===ne){var n=this._value[r+1];n!==nA&&n!==void 0&&(n===Xe?(t+=this.consumeStringSlice(r),r=-1,this._value.shift()):UA(B,n)&&(t+=this.consumeStringSlice(r),t+=S(this.consumeEscapedCodePoint()),r=-1))}r++}while(!0)},e.prototype.consumeNumber=function(){var A=[],t=ce,r=this.peekCodePoint(0);for((r===DA||r===Z)&&A.push(this.consumeCodePoint());J(this.peekCodePoint(0));)A.push(this.consumeCodePoint());r=this.peekCodePoint(0);var B=this.peekCodePoint(1);if(r===ge&&J(B))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),t=ft;J(this.peekCodePoint(0));)A.push(this.consumeCodePoint());r=this.peekCodePoint(0),B=this.peekCodePoint(1);var n=this.peekCodePoint(2);if((r===uB||r===cB)&&((B===DA||B===Z)&&J(n)||J(B)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),t=ft;J(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[ms(A),t]},e.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),t=A[0],r=A[1],B=this.peekCodePoint(0),n=this.peekCodePoint(1),s=this.peekCodePoint(2);if(Ke(B,n,s)){var i=this.consumeName();return{type:15,number:t,flags:r,unit:i}}return B===qn?(this.consumeCodePoint(),{type:16,number:t,flags:r}):{type:17,number:t,flags:r}},e.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(MA(A)){for(var t=S(A);MA(this.peekCodePoint(0))&&t.length<6;)t+=S(this.consumeCodePoint());ye(this.peekCodePoint(0))&&this.consumeCodePoint();var r=parseInt(t,16);return r===0||Hs(r)||r>1114111?ht:r}return A===nA?ht:A},e.prototype.consumeName=function(){for(var A="";;){var t=this.consumeCodePoint();if(dt(t))A+=S(t);else if(UA(t,this.peekCodePoint(0)))A+=S(this.consumeEscapedCodePoint());else return this.reconsumeCodePoint(t),A}},e})(),UB=(function(){function e(A){this._tokens=A}return e.create=function(A){var t=new fB;return t.write(A),new e(t.read())},e.parseValue=function(A){return e.create(A).parseComponentValue()},e.parseValues=function(A){return e.create(A).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var A=this.consumeToken();A.type===31;)A=this.consumeToken();if(A.type===32)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(A);var t=this.consumeComponentValue();do A=this.consumeToken();while(A.type===31);if(A.type===32)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var A=[];;){var t=this.consumeComponentValue();if(t.type===32)return A;A.push(t),A.push()}},e.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case 11:case 28:case 2:return this.consumeSimpleBlock(A.type);case 19:return this.consumeFunction(A)}return A},e.prototype.consumeSimpleBlock=function(A){for(var t={type:A,values:[]},r=this.consumeToken();;){if(r.type===32||qs(r,A))return t;this.reconsumeToken(r),t.values.push(this.consumeComponentValue()),r=this.consumeToken()}},e.prototype.consumeFunction=function(A){for(var t={name:A.value,values:[],type:18};;){var r=this.consumeToken();if(r.type===32||r.type===3)return t;this.reconsumeToken(r),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var A=this._tokens.shift();return typeof A>"u"?Nr:A},e.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},e})(),Ce=function(e){return e.type===15},kA=function(e){return e.type===17},D=function(e){return e.type===20},Zs=function(e){return e.type===0},Xr=function(e,A){return D(e)&&e.value===A},FB=function(e){return e.type!==31},PA=function(e){return e.type!==31&&e.type!==4},sA=function(e){var A=[],t=[];return e.forEach(function(r){if(r.type===4){if(t.length===0)throw new Error("Error parsing function args, zero tokens for arg");A.push(t),t=[];return}r.type!==31&&t.push(r)}),t.length&&A.push(t),A},qs=function(e,A){return A===11&&e.type===12||A===28&&e.type===29?!0:A===2&&e.type===3},pA=function(e){return e.type===17||e.type===15},M=function(e){return e.type===16||pA(e)},hB=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},X={type:17,number:0,flags:ce},$r={type:16,number:50,flags:ce},hA={type:16,number:100,flags:ce},re=function(e,A,t){var r=e[0],B=e[1];return[b(r,A),b(typeof B<"u"?B:r,t)]},b=function(e,A){if(e.type===16)return e.number/100*A;if(Ce(e))switch(e.unit){case"rem":case"em":return 16*e.number;case"px":default:return e.number}return e.number},dB="deg",EB="grad",HB="rad",pB="turn",Ar={name:"angle",parse:function(e,A){if(A.type===15)switch(A.unit){case dB:return Math.PI*A.number/180;case EB:return Math.PI/200*A.number;case HB:return A.number;case pB:return Math.PI*2*A.number}throw new Error("Unsupported angle type")}},IB=function(e){return e.type===15&&(e.unit===dB||e.unit===EB||e.unit===HB||e.unit===pB)},vB=function(e){var A=e.filter(D).map(function(t){return t.value}).join(" ");switch(A){case"to bottom right":case"to right bottom":case"left top":case"top left":return[X,X];case"to top":case"bottom":return AA(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[X,hA];case"to right":case"left":return AA(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[hA,hA];case"to bottom":case"top":return AA(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[hA,X];case"to left":case"right":return AA(270)}return 0},AA=function(e){return Math.PI*e/180},EA={name:"color",parse:function(e,A){if(A.type===18){var t=js[A.name];if(typeof t>"u")throw new Error('Attempting to parse an unsupported color function "'+A.name+'"');return t(e,A.values)}if(A.type===5){if(A.value.length===3){var r=A.value.substring(0,1),B=A.value.substring(1,2),n=A.value.substring(2,3);return dA(parseInt(r+r,16),parseInt(B+B,16),parseInt(n+n,16),1)}if(A.value.length===4){var r=A.value.substring(0,1),B=A.value.substring(1,2),n=A.value.substring(2,3),s=A.value.substring(3,4);return dA(parseInt(r+r,16),parseInt(B+B,16),parseInt(n+n,16),parseInt(s+s,16)/255)}if(A.value.length===6){var r=A.value.substring(0,2),B=A.value.substring(2,4),n=A.value.substring(4,6);return dA(parseInt(r,16),parseInt(B,16),parseInt(n,16),1)}if(A.value.length===8){var r=A.value.substring(0,2),B=A.value.substring(2,4),n=A.value.substring(4,6),s=A.value.substring(6,8);return dA(parseInt(r,16),parseInt(B,16),parseInt(n,16),parseInt(s,16)/255)}}if(A.type===20){var i=wA[A.value.toUpperCase()];if(typeof i<"u")return i}return wA.TRANSPARENT}},HA=function(e){return(255&e)===0},R=function(e){var A=255&e,t=255&e>>8,r=255&e>>16,B=255&e>>24;return A<255?"rgba("+B+","+r+","+t+","+A/255+")":"rgb("+B+","+r+","+t+")"},dA=function(e,A,t,r){return(e<<24|A<<16|t<<8|Math.round(r*255)<<0)>>>0},Et=function(e,A){if(e.type===17)return e.number;if(e.type===16){var t=A===3?1:255;return A===3?e.number/100*t:Math.round(e.number/100*t)}return 0},Ht=function(e,A){var t=A.filter(PA);if(t.length===3){var r=t.map(Et),B=r[0],n=r[1],s=r[2];return dA(B,n,s,1)}if(t.length===4){var i=t.map(Et),B=i[0],n=i[1],s=i[2],a=i[3];return dA(B,n,s,a)}return 0};function ur(e,A,t){return t<0&&(t+=1),t>=1&&(t-=1),t<1/6?(A-e)*t*6+e:t<1/2?A:t<2/3?(A-e)*6*(2/3-t)+e:e}var pt=function(e,A){var t=A.filter(PA),r=t[0],B=t[1],n=t[2],s=t[3],i=(r.type===17?AA(r.number):Ar.parse(e,r))/(Math.PI*2),a=M(B)?B.number/100:0,o=M(n)?n.number/100:0,Q=typeof s<"u"&&M(s)?b(s,1):1;if(a===0)return dA(o*255,o*255,o*255,1);var g=o<=.5?o*(a+1):o+a-o*a,w=o*2-g,f=ur(w,g,i+1/3),c=ur(w,g,i),C=ur(w,g,i-1/3);return dA(f*255,c*255,C*255,Q)},js={hsl:pt,hsla:pt,rgb:Ht,rgba:Ht},se=function(e,A){return EA.parse(e,UB.create(A).parseComponentValue())},wA={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},zs={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(t){if(D(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},$s={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},er=function(e,A){var t=EA.parse(e,A[0]),r=A[1];return r&&M(r)?{color:t,stop:r}:{color:t,stop:null}},It=function(e,A){var t=e[0],r=e[e.length-1];t.stop===null&&(t.stop=X),r.stop===null&&(r.stop=hA);for(var B=[],n=0,s=0;sn?B.push(a):B.push(n),n=a}else B.push(null)}for(var o=null,s=0;ss.optimumDistance)?{optimumCorner:i,optimumDistance:Q}:s},{optimumDistance:B?1/0:-1/0,optimumCorner:null}).optimumCorner},ra=function(e,A,t,r,B){var n=0,s=0;switch(e.size){case 0:e.shape===0?n=s=Math.min(Math.abs(A),Math.abs(A-r),Math.abs(t),Math.abs(t-B)):e.shape===1&&(n=Math.min(Math.abs(A),Math.abs(A-r)),s=Math.min(Math.abs(t),Math.abs(t-B)));break;case 2:if(e.shape===0)n=s=Math.min(rA(A,t),rA(A,t-B),rA(A-r,t),rA(A-r,t-B));else if(e.shape===1){var i=Math.min(Math.abs(t),Math.abs(t-B))/Math.min(Math.abs(A),Math.abs(A-r)),a=vt(r,B,A,t,!0),o=a[0],Q=a[1];n=rA(o-A,(Q-t)/i),s=i*n}break;case 1:e.shape===0?n=s=Math.max(Math.abs(A),Math.abs(A-r),Math.abs(t),Math.abs(t-B)):e.shape===1&&(n=Math.max(Math.abs(A),Math.abs(A-r)),s=Math.max(Math.abs(t),Math.abs(t-B)));break;case 3:if(e.shape===0)n=s=Math.max(rA(A,t),rA(A,t-B),rA(A-r,t),rA(A-r,t-B));else if(e.shape===1){var i=Math.max(Math.abs(t),Math.abs(t-B))/Math.max(Math.abs(A),Math.abs(A-r)),g=vt(r,B,A,t,!1),o=g[0],Q=g[1];n=rA(o-A,(Q-t)/i),s=i*n}break}return Array.isArray(e.size)&&(n=b(e.size[0],r),s=e.size.length===2?b(e.size[1],B):n),[n,s]},ta=function(e,A){var t=AA(180),r=[];return sA(A).forEach(function(B,n){if(n===0){var s=B[0];if(s.type===20&&s.value==="to"){t=vB(B);return}else if(IB(s)){t=Ar.parse(e,s);return}}var i=er(e,B);r.push(i)}),{angle:t,stops:r,type:1}},Le=function(e,A){var t=AA(180),r=[];return sA(A).forEach(function(B,n){if(n===0){var s=B[0];if(s.type===20&&["top","left","right","bottom"].indexOf(s.value)!==-1){t=vB(B);return}else if(IB(s)){t=(Ar.parse(e,s)+AA(270))%AA(360);return}}var i=er(e,B);r.push(i)}),{angle:t,stops:r,type:1}},Ba=function(e,A){var t=AA(180),r=[],B=1,n=0,s=3,i=[];return sA(A).forEach(function(a,o){var Q=a[0];if(o===0){if(D(Q)&&Q.value==="linear"){B=1;return}else if(D(Q)&&Q.value==="radial"){B=2;return}}if(Q.type===18){if(Q.name==="from"){var g=EA.parse(e,Q.values[0]);r.push({stop:X,color:g})}else if(Q.name==="to"){var g=EA.parse(e,Q.values[0]);r.push({stop:hA,color:g})}else if(Q.name==="color-stop"){var w=Q.values.filter(PA);if(w.length===2){var g=EA.parse(e,w[1]),f=w[0];kA(f)&&r.push({stop:{type:16,number:f.number*100,flags:f.flags},color:g})}}}}),B===1?{angle:(t+AA(180))%AA(360),stops:r,type:B}:{size:s,shape:n,stops:r,position:i,type:B}},yB="closest-side",KB="farthest-side",mB="closest-corner",LB="farthest-corner",DB="circle",bB="ellipse",xB="cover",TB="contain",na=function(e,A){var t=0,r=3,B=[],n=[];return sA(A).forEach(function(s,i){var a=!0;if(i===0){var o=!1;a=s.reduce(function(g,w){if(o)if(D(w))switch(w.value){case"center":return n.push($r),g;case"top":case"left":return n.push(X),g;case"right":case"bottom":return n.push(hA),g}else(M(w)||pA(w))&&n.push(w);else if(D(w))switch(w.value){case DB:return t=0,!1;case bB:return t=1,!1;case"at":return o=!0,!1;case yB:return r=0,!1;case xB:case KB:return r=1,!1;case TB:case mB:return r=2,!1;case LB:return r=3,!1}else if(pA(w)||M(w))return Array.isArray(r)||(r=[]),r.push(w),!1;return g},a)}if(a){var Q=er(e,s);B.push(Q)}}),{size:r,shape:t,stops:B,position:n,type:2}},De=function(e,A){var t=0,r=3,B=[],n=[];return sA(A).forEach(function(s,i){var a=!0;if(i===0?a=s.reduce(function(Q,g){if(D(g))switch(g.value){case"center":return n.push($r),!1;case"top":case"left":return n.push(X),!1;case"right":case"bottom":return n.push(hA),!1}else if(M(g)||pA(g))return n.push(g),!1;return Q},a):i===1&&(a=s.reduce(function(Q,g){if(D(g))switch(g.value){case DB:return t=0,!1;case bB:return t=1,!1;case TB:case yB:return r=0,!1;case KB:return r=1,!1;case mB:return r=2,!1;case xB:case LB:return r=3,!1}else if(pA(g)||M(g))return Array.isArray(r)||(r=[]),r.push(g),!1;return Q},a)),a){var o=er(e,s);B.push(o)}}),{size:r,shape:t,stops:B,position:n,type:2}},sa=function(e){return e.type===1},aa=function(e){return e.type===2},At={name:"image",parse:function(e,A){if(A.type===22){var t={url:A.value,type:0};return e.cache.addImage(A.value),t}if(A.type===18){var r=SB[A.name];if(typeof r>"u")throw new Error('Attempting to parse an unsupported image function "'+A.name+'"');return r(e,A.values)}throw new Error("Unsupported image type "+A.type)}};function ia(e){return!(e.type===20&&e.value==="none")&&(e.type!==18||!!SB[e.name])}var SB={"linear-gradient":ta,"-moz-linear-gradient":Le,"-ms-linear-gradient":Le,"-o-linear-gradient":Le,"-webkit-linear-gradient":Le,"radial-gradient":na,"-moz-radial-gradient":De,"-ms-radial-gradient":De,"-o-radial-gradient":De,"-webkit-radial-gradient":De,"-webkit-gradient":Ba},oa={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(A.length===0)return[];var t=A[0];return t.type===20&&t.value==="none"?[]:A.filter(function(r){return PA(r)&&ia(r)}).map(function(r){return At.parse(e,r)})}},Qa={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(t){if(D(t))switch(t.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ga={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return sA(A).map(function(t){return t.filter(M)}).map(hB)}},wa={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return sA(A).map(function(t){return t.filter(D).map(function(r){return r.value}).join(" ")}).map(ca)}},ca=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},JA;(function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"})(JA||(JA={}));var Ca={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return sA(A).map(function(t){return t.filter(ua)})}},ua=function(e){return D(e)||M(e)},rr=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},la=rr("top"),fa=rr("right"),Ua=rr("bottom"),Fa=rr("left"),tr=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(A,t){return hB(t.filter(M))}}},ha=tr("top-left"),da=tr("top-right"),Ea=tr("bottom-right"),Ha=tr("bottom-left"),Br=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},pa=Br("top"),Ia=Br("right"),va=Br("bottom"),ya=Br("left"),nr=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,t){return Ce(t)?t.number:0}}},Ka=nr("top"),ma=nr("right"),La=nr("bottom"),Da=nr("left"),ba={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},xa={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){switch(A){case"rtl":return 1;case"ltr":default:return 0}}},Ta={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(D).reduce(function(t,r){return t|Sa(r.value)},0)}},Sa=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Oa={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Ma={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,A){return A.type===20&&A.value==="normal"?0:A.type===17||A.type===15?A.number:0}},Je;(function(e){e.NORMAL="normal",e.STRICT="strict"})(Je||(Je={}));var Ga={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"strict":return Je.STRICT;case"normal":default:return Je.NORMAL}}},Ra={name:"line-height",initialValue:"normal",prefix:!1,type:4},yt=function(e,A){return D(e)&&e.value==="normal"?1.2*A:e.type===17?A*e.number:M(e)?b(e,A):A},Va={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return A.type===20&&A.value==="none"?null:At.parse(e,A)}},Na={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){switch(A){case"inside":return 0;case"outside":default:return 1}}},_r={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":return 22;case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},sr=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},Xa=sr("top"),_a=sr("right"),Ja=sr("bottom"),Pa=sr("left"),ka={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(D).map(function(t){switch(t.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}})}},Ya={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"break-word":return"break-word";case"normal":default:return"normal"}}},ar=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},Wa=ar("top"),Za=ar("right"),qa=ar("bottom"),ja=ar("left"),za={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,A){switch(A){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},$a={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,A){switch(A){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Ai={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.length===1&&Xr(A[0],"none")?[]:sA(A).map(function(t){for(var r={color:wA.TRANSPARENT,offsetX:X,offsetY:X,blur:X},B=0,n=0;n"u")throw new Error('Attempting to parse an unsupported transform function "'+A.name+'"');return t(A.values)}return null}},ti=function(e){var A=e.filter(function(t){return t.type===17}).map(function(t){return t.number});return A.length===6?A:null},Bi=function(e){var A=e.filter(function(a){return a.type===17}).map(function(a){return a.number}),t=A[0],r=A[1];A[2],A[3];var B=A[4],n=A[5];A[6],A[7],A[8],A[9],A[10],A[11];var s=A[12],i=A[13];return A[14],A[15],A.length===16?[t,r,B,n,s,i]:null},ni={matrix:ti,matrix3d:Bi},Kt={type:16,number:50,flags:ce},si=[Kt,Kt],ai={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,A){var t=A.filter(M);return t.length!==2?si:[t[0],t[1]]}},ii={name:"visible",initialValue:"none",prefix:!1,type:2,parse:function(e,A){switch(A){case"hidden":return 1;case"collapse":return 2;case"visible":default:return 0}}},ae;(function(e){e.NORMAL="normal",e.BREAK_ALL="break-all",e.KEEP_ALL="keep-all"})(ae||(ae={}));var oi={name:"word-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"break-all":return ae.BREAK_ALL;case"keep-all":return ae.KEEP_ALL;case"normal":default:return ae.NORMAL}}},Qi={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,A){if(A.type===20)return{auto:!0,order:0};if(kA(A))return{auto:!1,order:A.number};throw new Error("Invalid z-index number parsed")}},OB={name:"time",parse:function(e,A){if(A.type===15)switch(A.unit.toLowerCase()){case"s":return 1e3*A.number;case"ms":return A.number}throw new Error("Unsupported time type")}},gi={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,A){return kA(A)?A.number:1}},wi={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ci={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,A){return A.filter(D).map(function(t){switch(t.value){case"underline":return 1;case"overline":return 2;case"line-through":return 3;case"none":return 4}return 0}).filter(function(t){return t!==0})}},Ci={name:"font-family",initialValue:"",prefix:!1,type:1,parse:function(e,A){var t=[],r=[];return A.forEach(function(B){switch(B.type){case 20:case 0:t.push(B.value);break;case 17:t.push(B.number.toString());break;case 4:r.push(t.join(" ")),t.length=0;break}}),t.length&&r.push(t.join(" ")),r.map(function(B){return B.indexOf(" ")===-1?B:"'"+B+"'"})}},ui={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},li={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,A){if(kA(A))return A.number;if(D(A))switch(A.value){case"bold":return 700;case"normal":default:return 400}return 400}},fi={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.filter(D).map(function(t){return t.value})}},Ui={name:"font-style",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){switch(A){case"oblique":return"oblique";case"italic":return"italic";case"normal":default:return"normal"}}},G=function(e,A){return(e&A)!==0},Fi={name:"content",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(A.length===0)return[];var t=A[0];return t.type===20&&t.value==="none"?[]:A}},hi={name:"counter-increment",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(A.length===0)return null;var t=A[0];if(t.type===20&&t.value==="none")return null;for(var r=[],B=A.filter(FB),n=0;n1?1:0],this.overflowWrap=U(A,Ya,t.overflowWrap),this.paddingTop=U(A,Wa,t.paddingTop),this.paddingRight=U(A,Za,t.paddingRight),this.paddingBottom=U(A,qa,t.paddingBottom),this.paddingLeft=U(A,ja,t.paddingLeft),this.paintOrder=U(A,Ii,t.paintOrder),this.position=U(A,$a,t.position),this.textAlign=U(A,za,t.textAlign),this.textDecorationColor=U(A,wi,(r=t.textDecorationColor)!==null&&r!==void 0?r:t.color),this.textDecorationLine=U(A,ci,(B=t.textDecorationLine)!==null&&B!==void 0?B:t.textDecoration),this.textShadow=U(A,Ai,t.textShadow),this.textTransform=U(A,ei,t.textTransform),this.transform=U(A,ri,t.transform),this.transformOrigin=U(A,ai,t.transformOrigin),this.visibility=U(A,ii,t.visibility),this.webkitTextStrokeColor=U(A,vi,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=U(A,yi,t.webkitTextStrokeWidth),this.wordBreak=U(A,oi,t.wordBreak),this.zIndex=U(A,Qi,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===0},e.prototype.isTransparent=function(){return HA(this.backgroundColor)},e.prototype.isTransformed=function(){return this.transform!==null},e.prototype.isPositioned=function(){return this.position!==0},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return this.float!==0},e.prototype.isInlineLevel=function(){return G(this.display,4)||G(this.display,33554432)||G(this.display,268435456)||G(this.display,536870912)||G(this.display,67108864)||G(this.display,134217728)},e})(),mi=(function(){function e(A,t){this.content=U(A,Fi,t.content),this.quotes=U(A,Hi,t.quotes)}return e})(),Lt=(function(){function e(A,t){this.counterIncrement=U(A,hi,t.counterIncrement),this.counterReset=U(A,di,t.counterReset)}return e})(),U=function(e,A,t){var r=new fB,B=t!==null&&typeof t<"u"?t.toString():A.initialValue;r.write(B);var n=new UB(r.read());switch(A.type){case 2:var s=n.parseComponentValue();return A.parse(e,D(s)?s.value:A.initialValue);case 0:return A.parse(e,n.parseComponentValue());case 1:return A.parse(e,n.parseComponentValues());case 4:return n.parseComponentValue();case 3:switch(A.format){case"angle":return Ar.parse(e,n.parseComponentValue());case"color":return EA.parse(e,n.parseComponentValue());case"image":return At.parse(e,n.parseComponentValue());case"length":var i=n.parseComponentValue();return pA(i)?i:X;case"length-percentage":var a=n.parseComponentValue();return M(a)?a:X;case"time":return OB.parse(e,n.parseComponentValue())}break}},Li="data-html2canvas-debug",Di=function(e){var A=e.getAttribute(Li);switch(A){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},Jr=function(e,A){var t=Di(e);return t===1||A===t},aA=(function(){function e(A,t){if(this.context=A,this.textNodes=[],this.elements=[],this.flags=0,Jr(t,3))debugger;this.styles=new Ki(A,window.getComputedStyle(t,null)),Yr(t)&&(this.styles.animationDuration.some(function(r){return r>0})&&(t.style.animationDuration="0s"),this.styles.transform!==null&&(t.style.transform="none")),this.bounds=ze(this.context,t),Jr(t,4)&&(this.flags|=16)}return e})(),bi="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",te=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var be=0;be>4,Q[B++]=(s&15)<<4|i>>2,Q[B++]=(i&3)<<6|a&63;return o},Ti=function(e){for(var A=e.length,t=[],r=0;r>xA,Mi=1<>xA,Ri=MB+Gi,Vi=Ri,Ni=32,Xi=Vi+Ni,_i=65536>>et,Ji=1<=0){if(A<55296||A>56319&&A<=65535)return t=this.index[A>>xA],t=(t<>xA)],t=(t<>et),t=this.index[t],t+=A>>xA&Pi,t=this.index[t],t=(t<"u"?[]:new Uint8Array(256);for(var xe=0;xe=55296&&B<=56319&&t>10)+55296,s%1024+56320)),(B+1===t||r.length>16384)&&(n+=String.fromCharCode.apply(String,r),r.length=0)}return n},Ao=Yi(bi),z="×",Hr="÷",eo=function(e){return Ao.get(e)},ro=function(e,A,t){var r=t-2,B=A[r],n=A[t-1],s=A[t];if(n===Ur&&s===Fr)return z;if(n===Ur||n===Fr||n===Tt||s===Ur||s===Fr||s===Tt)return Hr;if(n===Ot&&[Ot,hr,Mt,Gt].indexOf(s)!==-1||(n===Mt||n===hr)&&(s===hr||s===dr)||(n===Gt||n===dr)&&s===dr||s===Rt||s===St||s===ji||n===qi)return z;if(n===Rt&&s===Vt){for(;B===St;)B=A[--r];if(B===Vt)return z}if(n===Er&&s===Er){for(var i=0;B===Er;)i++,B=A[--r];if(i%2===0)return z}return Hr},to=function(e){var A=zi(e),t=A.length,r=0,B=0,n=A.map(eo);return{next:function(){if(r>=t)return{done:!0,value:null};for(var s=z;rs.x||Q.y>s.y;return s=Q,o===0?!0:g});return e.body.removeChild(A),i},ao=function(){return typeof new Image().crossOrigin<"u"},io=function(){return typeof new XMLHttpRequest().responseType=="string"},oo=function(e){var A=new Image,t=e.createElement("canvas"),r=t.getContext("2d");if(!r)return!1;A.src="data:image/svg+xml,";try{r.drawImage(A,0,0),t.toDataURL()}catch{return!1}return!0},Nt=function(e){return e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255},Qo=function(e){var A=e.createElement("canvas"),t=100;A.width=t,A.height=t;var r=A.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,t,t);var B=new Image,n=A.toDataURL();B.src=n;var s=Pr(t,t,0,0,B);return r.fillStyle="red",r.fillRect(0,0,t,t),Xt(s).then(function(i){r.drawImage(i,0,0);var a=r.getImageData(0,0,t,t).data;r.fillStyle="red",r.fillRect(0,0,t,t);var o=e.createElement("div");return o.style.backgroundImage="url("+n+")",o.style.height=t+"px",Nt(a)?Xt(Pr(t,t,0,0,o)):Promise.reject(!1)}).then(function(i){return r.drawImage(i,0,0),Nt(r.getImageData(0,0,t,t).data)}).catch(function(){return!1})},Pr=function(e,A,t,r,B){var n="http://www.w3.org/2000/svg",s=document.createElementNS(n,"svg"),i=document.createElementNS(n,"foreignObject");return s.setAttributeNS(null,"width",e.toString()),s.setAttributeNS(null,"height",A.toString()),i.setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x",t.toString()),i.setAttributeNS(null,"y",r.toString()),i.setAttributeNS(null,"externalResourcesRequired","true"),s.appendChild(i),i.appendChild(B),s},Xt=function(e){return new Promise(function(A,t){var r=new Image;r.onload=function(){return A(r)},r.onerror=t,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(e))})},N={get SUPPORT_RANGE_BOUNDS(){var e=no(document);return Object.defineProperty(N,"SUPPORT_RANGE_BOUNDS",{value:e}),e},get SUPPORT_WORD_BREAKING(){var e=N.SUPPORT_RANGE_BOUNDS&&so(document);return Object.defineProperty(N,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=oo(document);return Object.defineProperty(N,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e=typeof Array.from=="function"&&typeof window.fetch=="function"?Qo(document):Promise.resolve(!1);return Object.defineProperty(N,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=ao();return Object.defineProperty(N,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e=io();return Object.defineProperty(N,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(N,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!!(typeof Intl<"u"&&Intl.Segmenter);return Object.defineProperty(N,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},ie=(function(){function e(A,t){this.text=A,this.bounds=t}return e})(),go=function(e,A,t,r){var B=Co(A,t),n=[],s=0;return B.forEach(function(i){if(t.textDecorationLine.length||i.trim().length>0)if(N.SUPPORT_RANGE_BOUNDS){var a=_t(r,s,i.length).getClientRects();if(a.length>1){var o=rt(i),Q=0;o.forEach(function(w){n.push(new ie(w,cA.fromDOMRectList(e,_t(r,Q+s,w.length).getClientRects()))),Q+=w.length})}else n.push(new ie(i,cA.fromDOMRectList(e,a)))}else{var g=r.splitText(i.length);n.push(new ie(i,wo(e,r))),r=g}else N.SUPPORT_RANGE_BOUNDS||(r=r.splitText(i.length));s+=i.length}),n},wo=function(e,A){var t=A.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(A.cloneNode(!0));var B=A.parentNode;if(B){B.replaceChild(r,A);var n=ze(e,r);return r.firstChild&&B.replaceChild(r.firstChild,r),n}}return cA.EMPTY},_t=function(e,A,t){var r=e.ownerDocument;if(!r)throw new Error("Node has no owner document");var B=r.createRange();return B.setStart(e,A),B.setEnd(e,A+t),B},rt=function(e){if(N.SUPPORT_NATIVE_TEXT_SEGMENTATION){var A=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(A.segment(e)).map(function(t){return t.segment})}return Bo(e)},co=function(e,A){if(N.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(e)).map(function(r){return r.segment})}return lo(e,A)},Co=function(e,A){return A.letterSpacing!==0?rt(e):co(e,A)},uo=[32,160,4961,65792,65793,4153,4241],lo=function(e,A){for(var t=_n(e,{lineBreak:A.lineBreak,wordBreak:A.overflowWrap==="break-word"?"break-word":A.wordBreak}),r=[],B,n=function(){if(B.value){var s=B.value.slice(),i=$e(s),a="";i.forEach(function(o){uo.indexOf(o)===-1?a+=S(o):(a.length&&r.push(a),r.push(S(o)),a="")}),a.length&&r.push(a)}};!(B=t.next()).done;)n();return r},fo=(function(){function e(A,t,r){this.text=Uo(t.data,r.textTransform),this.textBounds=go(A,this.text,r,t)}return e})(),Uo=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(Fo,ho);case 2:return e.toUpperCase();default:return e}},Fo=/(^|\s|:|-|\(|\))([a-z])/g,ho=function(e,A,t){return e.length>0?A+t.toUpperCase():e},GB=(function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.src=r.currentSrc||r.src,B.intrinsicWidth=r.naturalWidth,B.intrinsicHeight=r.naturalHeight,B.context.cache.addImage(B.src),B}return A})(aA),RB=(function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.canvas=r,B.intrinsicWidth=r.width,B.intrinsicHeight=r.height,B}return A})(aA),VB=(function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this,n=new XMLSerializer,s=ze(t,r);return r.setAttribute("width",s.width+"px"),r.setAttribute("height",s.height+"px"),B.svg="data:image/svg+xml,"+encodeURIComponent(n.serializeToString(r)),B.intrinsicWidth=r.width.baseVal.value,B.intrinsicHeight=r.height.baseVal.value,B.context.cache.addImage(B.svg),B}return A})(aA),NB=(function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.value=r.value,B}return A})(aA),kr=(function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B.start=r.start,B.reversed=typeof r.reversed=="boolean"&&r.reversed===!0,B}return A})(aA),Eo=[{type:15,flags:0,unit:"px",number:3}],Ho=[{type:16,flags:0,number:50}],po=function(e){return e.width>e.height?new cA(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width0)t.textNodes.push(new fo(e,B,t.styles));else if(_A(B))if(jB(B)&&B.assignedNodes)B.assignedNodes().forEach(function(i){return Ve(e,i,t,r)});else{var s=PB(e,B);s.styles.isVisible()&&(Ko(B,s,r)?s.flags|=4:mo(s.styles)&&(s.flags|=2),yo.indexOf(B.tagName)!==-1&&(s.flags|=8),t.elements.push(s),B.slot,B.shadowRoot?Ve(e,B.shadowRoot,s,r):!Ye(B)&&!WB(B)&&!We(B)&&Ve(e,B,s,r))}},PB=function(e,A){return Wr(A)?new GB(e,A):ZB(A)?new RB(e,A):WB(A)?new VB(e,A):Lo(A)?new NB(e,A):Do(A)?new kr(e,A):bo(A)?new tt(e,A):We(A)?new XB(e,A):Ye(A)?new _B(e,A):qB(A)?new JB(e,A):new aA(e,A)},kB=function(e,A){var t=PB(e,A);return t.flags|=4,Ve(e,A,t,t),t},Ko=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||Bt(e)&&t.styles.isTransparent()},mo=function(e){return e.isPositioned()||e.isFloating()},YB=function(e){return e.nodeType===Node.TEXT_NODE},_A=function(e){return e.nodeType===Node.ELEMENT_NODE},Yr=function(e){return _A(e)&&typeof e.style<"u"&&!Ne(e)},Ne=function(e){return typeof e.className=="object"},Lo=function(e){return e.tagName==="LI"},Do=function(e){return e.tagName==="OL"},bo=function(e){return e.tagName==="INPUT"},xo=function(e){return e.tagName==="HTML"},WB=function(e){return e.tagName==="svg"},Bt=function(e){return e.tagName==="BODY"},ZB=function(e){return e.tagName==="CANVAS"},Pt=function(e){return e.tagName==="VIDEO"},Wr=function(e){return e.tagName==="IMG"},qB=function(e){return e.tagName==="IFRAME"},kt=function(e){return e.tagName==="STYLE"},To=function(e){return e.tagName==="SCRIPT"},Ye=function(e){return e.tagName==="TEXTAREA"},We=function(e){return e.tagName==="SELECT"},jB=function(e){return e.tagName==="SLOT"},Yt=function(e){return e.tagName.indexOf("-")>0},So=(function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(A){var t=this.counters[A];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(A){var t=this.counters[A];return t||[]},e.prototype.pop=function(A){var t=this;A.forEach(function(r){return t.counters[r].pop()})},e.prototype.parse=function(A){var t=this,r=A.counterIncrement,B=A.counterReset,n=!0;r!==null&&r.forEach(function(i){var a=t.counters[i.counter];a&&i.increment!==0&&(n=!1,a.length||a.push(1),a[Math.max(0,a.length-1)]+=i.increment)});var s=[];return n&&B.forEach(function(i){var a=t.counters[i.counter];s.push(i.counter),a||(a=t.counters[i.counter]=[]),a.push(i.reset)}),s},e})(),Wt={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Zt={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Oo={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},Mo={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},GA=function(e,A,t,r,B,n){return et?we(e,B,n.length>0):r.integers.reduce(function(s,i,a){for(;e>=i;)e-=i,s+=r.values[a];return s},"")+n},zB=function(e,A,t,r){var B="";do t||e--,B=r(e)+B,e/=A;while(e*A>=A);return B},T=function(e,A,t,r,B){var n=t-A+1;return(e<0?"-":"")+(zB(Math.abs(e),n,r,function(s){return S(Math.floor(s%n)+A)})+B)},mA=function(e,A,t){t===void 0&&(t=". ");var r=A.length;return zB(Math.abs(e),r,!1,function(B){return A[Math.floor(B%r)]})+t},NA=1,lA=2,fA=4,Be=8,gA=function(e,A,t,r,B,n){if(e<-9999||e>9999)return we(e,4,B.length>0);var s=Math.abs(e),i=B;if(s===0)return A[0]+i;for(var a=0;s>0&&a<=4;a++){var o=s%10;o===0&&G(n,NA)&&i!==""?i=A[o]+i:o>1||o===1&&a===0||o===1&&a===1&&G(n,lA)||o===1&&a===1&&G(n,fA)&&e>100||o===1&&a>1&&G(n,Be)?i=A[o]+(a>0?t[a-1]:"")+i:o===1&&a>0&&(i=t[a-1]+i),s=Math.floor(s/10)}return(e<0?r:"")+i},qt="十百千萬",jt="拾佰仟萬",zt="マイナス",pr="마이너스",we=function(e,A,t){var r=t?". ":"",B=t?"、":"",n=t?", ":"",s=t?" ":"";switch(A){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var i=T(e,48,57,!0,r);return i.length<4?"0"+i:i;case 4:return mA(e,"〇一二三四五六七八九",B);case 6:return GA(e,1,3999,Wt,3,r).toLowerCase();case 7:return GA(e,1,3999,Wt,3,r);case 8:return T(e,945,969,!1,r);case 9:return T(e,97,122,!1,r);case 10:return T(e,65,90,!1,r);case 11:return T(e,1632,1641,!0,r);case 12:case 49:return GA(e,1,9999,Zt,3,r);case 35:return GA(e,1,9999,Zt,3,r).toLowerCase();case 13:return T(e,2534,2543,!0,r);case 14:case 30:return T(e,6112,6121,!0,r);case 15:return mA(e,"子丑寅卯辰巳午未申酉戌亥",B);case 16:return mA(e,"甲乙丙丁戊己庚辛壬癸",B);case 17:case 48:return gA(e,"零一二三四五六七八九",qt,"負",B,lA|fA|Be);case 47:return gA(e,"零壹貳參肆伍陸柒捌玖",jt,"負",B,NA|lA|fA|Be);case 42:return gA(e,"零一二三四五六七八九",qt,"负",B,lA|fA|Be);case 41:return gA(e,"零壹贰叁肆伍陆柒捌玖",jt,"负",B,NA|lA|fA|Be);case 26:return gA(e,"〇一二三四五六七八九","十百千万",zt,B,0);case 25:return gA(e,"零壱弐参四伍六七八九","拾百千万",zt,B,NA|lA|fA);case 31:return gA(e,"영일이삼사오육칠팔구","십백천만",pr,n,NA|lA|fA);case 33:return gA(e,"零一二三四五六七八九","十百千萬",pr,n,0);case 32:return gA(e,"零壹貳參四五六七八九","拾百千",pr,n,NA|lA|fA);case 18:return T(e,2406,2415,!0,r);case 20:return GA(e,1,19999,Mo,3,r);case 21:return T(e,2790,2799,!0,r);case 22:return T(e,2662,2671,!0,r);case 22:return GA(e,1,10999,Oo,3,r);case 23:return mA(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return mA(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return T(e,3302,3311,!0,r);case 28:return mA(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",B);case 29:return mA(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",B);case 34:return T(e,3792,3801,!0,r);case 37:return T(e,6160,6169,!0,r);case 38:return T(e,4160,4169,!0,r);case 39:return T(e,2918,2927,!0,r);case 40:return T(e,1776,1785,!0,r);case 43:return T(e,3046,3055,!0,r);case 44:return T(e,3174,3183,!0,r);case 45:return T(e,3664,3673,!0,r);case 46:return T(e,3872,3881,!0,r);case 3:default:return T(e,48,57,!0,r)}},$B="data-html2canvas-ignore",$t=(function(){function e(A,t,r){if(this.context=A,this.options=r,this.scrolledElements=[],this.referenceElement=t,this.counters=new So,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(A,t){var r=this,B=Go(A,t);if(!B.contentWindow)return Promise.reject("Unable to find iframe window");var n=A.defaultView.pageXOffset,s=A.defaultView.pageYOffset,i=B.contentWindow,a=i.document,o=No(B).then(function(){return P(r,void 0,void 0,function(){var Q,g;return _(this,function(w){switch(w.label){case 0:return this.scrolledElements.forEach(Po),i&&(i.scrollTo(t.left,t.top),/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&(i.scrollY!==t.top||i.scrollX!==t.left)&&(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(i.scrollX-t.left,i.scrollY-t.top,0,0))),Q=this.options.onclone,g=this.clonedReferenceElement,typeof g>"u"?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:a.fonts&&a.fonts.ready?[4,a.fonts.ready]:[3,2];case 1:w.sent(),w.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Vo(a)]:[3,4];case 3:w.sent(),w.label=4;case 4:return typeof Q=="function"?[2,Promise.resolve().then(function(){return Q(a,g)}).then(function(){return B})]:[2,B]}})})});return a.open(),a.write(_o(document.doctype)+""),Jo(this.referenceElement.ownerDocument,n,s),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),o},e.prototype.createElementClone=function(A){if(Jr(A,2))debugger;if(ZB(A))return this.createCanvasClone(A);if(Pt(A))return this.createVideoClone(A);if(kt(A))return this.createStyleClone(A);var t=A.cloneNode(!1);return Wr(t)&&(Wr(A)&&A.currentSrc&&A.currentSrc!==A.src&&(t.src=A.currentSrc,t.srcset=""),t.loading==="lazy"&&(t.loading="eager")),Yt(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(A){var t=document.createElement("html2canvascustomelement");return Ir(A.style,t),t},e.prototype.createStyleClone=function(A){try{var t=A.sheet;if(t&&t.cssRules){var r=[].slice.call(t.cssRules,0).reduce(function(n,s){return s&&typeof s.cssText=="string"?n+s.cssText:n},""),B=A.cloneNode(!1);return B.textContent=r,B}}catch(n){if(this.context.logger.error("Unable to access cssRules property",n),n.name!=="SecurityError")throw n}return A.cloneNode(!1)},e.prototype.createCanvasClone=function(A){var t;if(this.options.inlineImages&&A.ownerDocument){var r=A.ownerDocument.createElement("img");try{return r.src=A.toDataURL(),r}catch{this.context.logger.info("Unable to inline canvas contents, canvas is tainted",A)}}var B=A.cloneNode(!1);try{B.width=A.width,B.height=A.height;var n=A.getContext("2d"),s=B.getContext("2d");if(s)if(!this.options.allowTaint&&n)s.putImageData(n.getImageData(0,0,A.width,A.height),0,0);else{var i=(t=A.getContext("webgl2"))!==null&&t!==void 0?t:A.getContext("webgl");if(i){var a=i.getContextAttributes();a?.preserveDrawingBuffer===!1&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",A)}s.drawImage(A,0,0)}return B}catch{this.context.logger.info("Unable to clone canvas as it is tainted",A)}return B},e.prototype.createVideoClone=function(A){var t=A.ownerDocument.createElement("canvas");t.width=A.offsetWidth,t.height=A.offsetHeight;var r=t.getContext("2d");try{return r&&(r.drawImage(A,0,0,t.width,t.height),this.options.allowTaint||r.getImageData(0,0,t.width,t.height)),t}catch{this.context.logger.info("Unable to clone video as it is tainted",A)}var B=A.ownerDocument.createElement("canvas");return B.width=A.offsetWidth,B.height=A.offsetHeight,B},e.prototype.appendChildNode=function(A,t,r){(!_A(t)||!To(t)&&!t.hasAttribute($B)&&(typeof this.options.ignoreElements!="function"||!this.options.ignoreElements(t)))&&(!this.options.copyStyles||!_A(t)||!kt(t))&&A.appendChild(this.cloneNode(t,r))},e.prototype.cloneChildNodes=function(A,t,r){for(var B=this,n=A.shadowRoot?A.shadowRoot.firstChild:A.firstChild;n;n=n.nextSibling)if(_A(n)&&jB(n)&&typeof n.assignedNodes=="function"){var s=n.assignedNodes();s.length&&s.forEach(function(i){return B.appendChildNode(t,i,r)})}else this.appendChildNode(t,n,r)},e.prototype.cloneNode=function(A,t){if(YB(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var r=A.ownerDocument.defaultView;if(r&&_A(A)&&(Yr(A)||Ne(A))){var B=this.createElementClone(A);B.style.transitionProperty="none";var n=r.getComputedStyle(A),s=r.getComputedStyle(A,":before"),i=r.getComputedStyle(A,":after");this.referenceElement===A&&Yr(B)&&(this.clonedReferenceElement=B),Bt(B)&&Wo(B);var a=this.counters.parse(new Lt(this.context,n)),o=this.resolvePseudoContent(A,B,s,oe.BEFORE);Yt(A)&&(t=!0),Pt(A)||this.cloneChildNodes(A,B,t),o&&B.insertBefore(o,B.firstChild);var Q=this.resolvePseudoContent(A,B,i,oe.AFTER);return Q&&B.appendChild(Q),this.counters.pop(a),(n&&(this.options.copyStyles||Ne(A))&&!qB(A)||t)&&Ir(n,B),(A.scrollTop!==0||A.scrollLeft!==0)&&this.scrolledElements.push([B,A.scrollLeft,A.scrollTop]),(Ye(A)||We(A))&&(Ye(B)||We(B))&&(B.value=A.value),B}return A.cloneNode(!1)},e.prototype.resolvePseudoContent=function(A,t,r,B){var n=this;if(r){var s=r.content,i=t.ownerDocument;if(!(!i||!s||s==="none"||s==="-moz-alt-content"||r.display==="none")){this.counters.parse(new Lt(this.context,r));var a=new mi(this.context,r),o=i.createElement("html2canvaspseudoelement");Ir(r,o),a.content.forEach(function(g){if(g.type===0)o.appendChild(i.createTextNode(g.value));else if(g.type===22){var w=i.createElement("img");w.src=g.value,w.style.opacity="1",o.appendChild(w)}else if(g.type===18){if(g.name==="attr"){var f=g.values.filter(D);f.length&&o.appendChild(i.createTextNode(A.getAttribute(f[0].value)||""))}else if(g.name==="counter"){var c=g.values.filter(PA),C=c[0],H=c[1];if(C&&D(C)){var h=n.counters.getCounterValue(C.value),F=H&&D(H)?_r.parse(n.context,H.value):3;o.appendChild(i.createTextNode(we(h,F,!1)))}}else if(g.name==="counters"){var K=g.values.filter(PA),C=K[0],p=K[1],H=K[2];if(C&&D(C)){var d=n.counters.getCounterValues(C.value),l=H&&D(H)?_r.parse(n.context,H.value):3,v=p&&p.type===0?p.value:"",y=d.map(function(k){return we(k,l,!1)}).join(v);o.appendChild(i.createTextNode(y))}}}else if(g.type===20)switch(g.value){case"open-quote":o.appendChild(i.createTextNode(mt(a.quotes,n.quoteDepth++,!0)));break;case"close-quote":o.appendChild(i.createTextNode(mt(a.quotes,--n.quoteDepth,!1)));break;default:o.appendChild(i.createTextNode(g.value))}}),o.className=Zr+" "+qr;var Q=B===oe.BEFORE?" "+Zr:" "+qr;return Ne(t)?t.className.baseValue+=Q:t.className+=Q,o}}},e.destroy=function(A){return A.parentNode?(A.parentNode.removeChild(A),!0):!1},e})(),oe;(function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"})(oe||(oe={}));var Go=function(e,A){var t=e.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=A.width.toString(),t.height=A.height.toString(),t.scrolling="no",t.setAttribute($B,"true"),e.body.appendChild(t),t},Ro=function(e){return new Promise(function(A){if(e.complete){A();return}if(!e.src){A();return}e.onload=A,e.onerror=A})},Vo=function(e){return Promise.all([].slice.call(e.images,0).map(Ro))},No=function(e){return new Promise(function(A,t){var r=e.contentWindow;if(!r)return t("No window assigned for iframe");var B=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval(function(){B.body.childNodes.length>0&&B.readyState==="complete"&&(clearInterval(n),A(e))},50)}})},Xo=["all","d","content"],Ir=function(e,A){for(var t=e.length-1;t>=0;t--){var r=e.item(t);Xo.indexOf(r)===-1&&A.style.setProperty(r,e.getPropertyValue(r))}return A},_o=function(e){var A="";return e&&(A+=""),A},Jo=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},Po=function(e){var A=e[0],t=e[1],r=e[2];A.scrollLeft=t,A.scrollTop=r},ko=":before",Yo=":after",Zr="___html2canvas___pseudoelement_before",qr="___html2canvas___pseudoelement_after",AB=`{ + content: "" !important; + display: none !important; +}`,Wo=function(e){Zo(e,"."+Zr+ko+AB+` + .`+qr+Yo+AB)},Zo=function(e,A){var t=e.ownerDocument;if(t){var r=t.createElement("style");r.textContent=A,e.appendChild(r)}},An=(function(){function e(){}return e.getOrigin=function(A){var t=e._link;return t?(t.href=A,t.href=t.href,t.protocol+t.hostname+t.port):"about:blank"},e.isSameOrigin=function(A){return e.getOrigin(A)===e._origin},e.setContext=function(A){e._link=A.document.createElement("a"),e._origin=e.getOrigin(A.location.href)},e._origin="about:blank",e})(),qo=(function(){function e(A,t){this.context=A,this._options=t,this._cache={}}return e.prototype.addImage=function(A){var t=Promise.resolve();return this.has(A)||(yr(A)||AQ(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),t},e.prototype.match=function(A){return this._cache[A]},e.prototype.loadImage=function(A){return P(this,void 0,void 0,function(){var t,r,B,n,s=this;return _(this,function(i){switch(i.label){case 0:return t=An.isSameOrigin(A),r=!vr(A)&&this._options.useCORS===!0&&N.SUPPORT_CORS_IMAGES&&!t,B=!vr(A)&&!t&&!yr(A)&&typeof this._options.proxy=="string"&&N.SUPPORT_CORS_XHR&&!r,!t&&this._options.allowTaint===!1&&!vr(A)&&!yr(A)&&!B&&!r?[2]:(n=A,B?[4,this.proxy(n)]:[3,2]);case 1:n=i.sent(),i.label=2;case 2:return this.context.logger.debug("Added image "+A.substring(0,256)),[4,new Promise(function(a,o){var Q=new Image;Q.onload=function(){return a(Q)},Q.onerror=o,(eQ(n)||r)&&(Q.crossOrigin="anonymous"),Q.src=n,Q.complete===!0&&setTimeout(function(){return a(Q)},500),s._options.imageTimeout>0&&setTimeout(function(){return o("Timed out ("+s._options.imageTimeout+"ms) loading image")},s._options.imageTimeout)})];case 3:return[2,i.sent()]}})})},e.prototype.has=function(A){return typeof this._cache[A]<"u"},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(A){var t=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var B=A.substring(0,256);return new Promise(function(n,s){var i=N.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(a.status===200)if(i==="text")n(a.response);else{var g=new FileReader;g.addEventListener("load",function(){return n(g.result)},!1),g.addEventListener("error",function(w){return s(w)},!1),g.readAsDataURL(a.response)}else s("Failed to proxy resource "+B+" with status code "+a.status)},a.onerror=s;var o=r.indexOf("?")>-1?"&":"?";if(a.open("GET",""+r+o+"url="+encodeURIComponent(A)+"&responseType="+i),i!=="text"&&a instanceof XMLHttpRequest&&(a.responseType=i),t._options.imageTimeout){var Q=t._options.imageTimeout;a.timeout=Q,a.ontimeout=function(){return s("Timed out ("+Q+"ms) proxying "+B)}}a.send()})},e})(),jo=/^data:image\/svg\+xml/i,zo=/^data:image\/.*;base64,/i,$o=/^data:image\/.*/i,AQ=function(e){return N.SUPPORT_SVG_DRAWING||!rQ(e)},vr=function(e){return $o.test(e)},eQ=function(e){return zo.test(e)},yr=function(e){return e.substr(0,4)==="blob"},rQ=function(e){return e.substr(-3).toLowerCase()==="svg"||jo.test(e)},u=(function(){function e(A,t){this.type=0,this.x=A,this.y=t}return e.prototype.add=function(A,t){return new e(this.x+A,this.y+t)},e})(),RA=function(e,A,t){return new u(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},Te=(function(){function e(A,t,r,B){this.type=1,this.start=A,this.startControl=t,this.endControl=r,this.end=B}return e.prototype.subdivide=function(A,t){var r=RA(this.start,this.startControl,A),B=RA(this.startControl,this.endControl,A),n=RA(this.endControl,this.end,A),s=RA(r,B,A),i=RA(B,n,A),a=RA(s,i,A);return t?new e(this.start,r,s,a):new e(a,i,n,this.end)},e.prototype.add=function(A,t){return new e(this.start.add(A,t),this.startControl.add(A,t),this.endControl.add(A,t),this.end.add(A,t))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e})(),$=function(e){return e.type===1},tQ=(function(){function e(A){var t=A.styles,r=A.bounds,B=re(t.borderTopLeftRadius,r.width,r.height),n=B[0],s=B[1],i=re(t.borderTopRightRadius,r.width,r.height),a=i[0],o=i[1],Q=re(t.borderBottomRightRadius,r.width,r.height),g=Q[0],w=Q[1],f=re(t.borderBottomLeftRadius,r.width,r.height),c=f[0],C=f[1],H=[];H.push((n+a)/r.width),H.push((c+g)/r.width),H.push((s+C)/r.height),H.push((o+w)/r.height);var h=Math.max.apply(Math,H);h>1&&(n/=h,s/=h,a/=h,o/=h,g/=h,w/=h,c/=h,C/=h);var F=r.width-a,K=r.height-w,p=r.width-g,d=r.height-C,l=t.borderTopWidth,v=t.borderRightWidth,y=t.borderBottomWidth,E=t.borderLeftWidth,O=b(t.paddingTop,A.bounds.width),k=b(t.paddingRight,A.bounds.width),q=b(t.paddingBottom,A.bounds.width),L=b(t.paddingLeft,A.bounds.width);this.topLeftBorderDoubleOuterBox=n>0||s>0?x(r.left+E/3,r.top+l/3,n-E/3,s-l/3,m.TOP_LEFT):new u(r.left+E/3,r.top+l/3),this.topRightBorderDoubleOuterBox=n>0||s>0?x(r.left+F,r.top+l/3,a-v/3,o-l/3,m.TOP_RIGHT):new u(r.left+r.width-v/3,r.top+l/3),this.bottomRightBorderDoubleOuterBox=g>0||w>0?x(r.left+p,r.top+K,g-v/3,w-y/3,m.BOTTOM_RIGHT):new u(r.left+r.width-v/3,r.top+r.height-y/3),this.bottomLeftBorderDoubleOuterBox=c>0||C>0?x(r.left+E/3,r.top+d,c-E/3,C-y/3,m.BOTTOM_LEFT):new u(r.left+E/3,r.top+r.height-y/3),this.topLeftBorderDoubleInnerBox=n>0||s>0?x(r.left+E*2/3,r.top+l*2/3,n-E*2/3,s-l*2/3,m.TOP_LEFT):new u(r.left+E*2/3,r.top+l*2/3),this.topRightBorderDoubleInnerBox=n>0||s>0?x(r.left+F,r.top+l*2/3,a-v*2/3,o-l*2/3,m.TOP_RIGHT):new u(r.left+r.width-v*2/3,r.top+l*2/3),this.bottomRightBorderDoubleInnerBox=g>0||w>0?x(r.left+p,r.top+K,g-v*2/3,w-y*2/3,m.BOTTOM_RIGHT):new u(r.left+r.width-v*2/3,r.top+r.height-y*2/3),this.bottomLeftBorderDoubleInnerBox=c>0||C>0?x(r.left+E*2/3,r.top+d,c-E*2/3,C-y*2/3,m.BOTTOM_LEFT):new u(r.left+E*2/3,r.top+r.height-y*2/3),this.topLeftBorderStroke=n>0||s>0?x(r.left+E/2,r.top+l/2,n-E/2,s-l/2,m.TOP_LEFT):new u(r.left+E/2,r.top+l/2),this.topRightBorderStroke=n>0||s>0?x(r.left+F,r.top+l/2,a-v/2,o-l/2,m.TOP_RIGHT):new u(r.left+r.width-v/2,r.top+l/2),this.bottomRightBorderStroke=g>0||w>0?x(r.left+p,r.top+K,g-v/2,w-y/2,m.BOTTOM_RIGHT):new u(r.left+r.width-v/2,r.top+r.height-y/2),this.bottomLeftBorderStroke=c>0||C>0?x(r.left+E/2,r.top+d,c-E/2,C-y/2,m.BOTTOM_LEFT):new u(r.left+E/2,r.top+r.height-y/2),this.topLeftBorderBox=n>0||s>0?x(r.left,r.top,n,s,m.TOP_LEFT):new u(r.left,r.top),this.topRightBorderBox=a>0||o>0?x(r.left+F,r.top,a,o,m.TOP_RIGHT):new u(r.left+r.width,r.top),this.bottomRightBorderBox=g>0||w>0?x(r.left+p,r.top+K,g,w,m.BOTTOM_RIGHT):new u(r.left+r.width,r.top+r.height),this.bottomLeftBorderBox=c>0||C>0?x(r.left,r.top+d,c,C,m.BOTTOM_LEFT):new u(r.left,r.top+r.height),this.topLeftPaddingBox=n>0||s>0?x(r.left+E,r.top+l,Math.max(0,n-E),Math.max(0,s-l),m.TOP_LEFT):new u(r.left+E,r.top+l),this.topRightPaddingBox=a>0||o>0?x(r.left+Math.min(F,r.width-v),r.top+l,F>r.width+v?0:Math.max(0,a-v),Math.max(0,o-l),m.TOP_RIGHT):new u(r.left+r.width-v,r.top+l),this.bottomRightPaddingBox=g>0||w>0?x(r.left+Math.min(p,r.width-E),r.top+Math.min(K,r.height-y),Math.max(0,g-v),Math.max(0,w-y),m.BOTTOM_RIGHT):new u(r.left+r.width-v,r.top+r.height-y),this.bottomLeftPaddingBox=c>0||C>0?x(r.left+E,r.top+Math.min(d,r.height-y),Math.max(0,c-E),Math.max(0,C-y),m.BOTTOM_LEFT):new u(r.left+E,r.top+r.height-y),this.topLeftContentBox=n>0||s>0?x(r.left+E+L,r.top+l+O,Math.max(0,n-(E+L)),Math.max(0,s-(l+O)),m.TOP_LEFT):new u(r.left+E+L,r.top+l+O),this.topRightContentBox=a>0||o>0?x(r.left+Math.min(F,r.width+E+L),r.top+l+O,F>r.width+E+L?0:a-E+L,o-(l+O),m.TOP_RIGHT):new u(r.left+r.width-(v+k),r.top+l+O),this.bottomRightContentBox=g>0||w>0?x(r.left+Math.min(p,r.width-(E+L)),r.top+Math.min(K,r.height+l+O),Math.max(0,g-(v+k)),w-(y+q),m.BOTTOM_RIGHT):new u(r.left+r.width-(v+k),r.top+r.height-(y+q)),this.bottomLeftContentBox=c>0||C>0?x(r.left+E+L,r.top+d,Math.max(0,c-(E+L)),C-(y+q),m.BOTTOM_LEFT):new u(r.left+E+L,r.top+r.height-(y+q))}return e})(),m;(function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(m||(m={}));var x=function(e,A,t,r,B){var n=4*((Math.sqrt(2)-1)/3),s=t*n,i=r*n,a=e+t,o=A+r;switch(B){case m.TOP_LEFT:return new Te(new u(e,o),new u(e,o-i),new u(a-s,A),new u(a,A));case m.TOP_RIGHT:return new Te(new u(e,A),new u(e+s,A),new u(a,o-i),new u(a,o));case m.BOTTOM_RIGHT:return new Te(new u(a,A),new u(a,A+i),new u(e+s,o),new u(e,o));case m.BOTTOM_LEFT:default:return new Te(new u(a,o),new u(a-s,o),new u(e,A+i),new u(e,A))}},Ze=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},BQ=function(e){return[e.topLeftContentBox,e.topRightContentBox,e.bottomRightContentBox,e.bottomLeftContentBox]},qe=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},nQ=(function(){function e(A,t,r){this.offsetX=A,this.offsetY=t,this.matrix=r,this.type=0,this.target=6}return e})(),Se=(function(){function e(A,t){this.path=A,this.target=t,this.type=1}return e})(),sQ=(function(){function e(A){this.opacity=A,this.type=2,this.target=6}return e})(),aQ=function(e){return e.type===0},en=function(e){return e.type===1},iQ=function(e){return e.type===2},eB=function(e,A){return e.length===A.length?e.some(function(t,r){return t===A[r]}):!1},oQ=function(e,A,t,r,B){return e.map(function(n,s){switch(s){case 0:return n.add(A,t);case 1:return n.add(A+r,t);case 2:return n.add(A+r,t+B);case 3:return n.add(A,t+B)}return n})},rn=(function(){function e(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return e})(),tn=(function(){function e(A,t){if(this.container=A,this.parent=t,this.effects=[],this.curves=new tQ(this.container),this.container.styles.opacity<1&&this.effects.push(new sQ(this.container.styles.opacity)),this.container.styles.transform!==null){var r=this.container.bounds.left+this.container.styles.transformOrigin[0].number,B=this.container.bounds.top+this.container.styles.transformOrigin[1].number,n=this.container.styles.transform;this.effects.push(new nQ(r,B,n))}if(this.container.styles.overflowX!==0){var s=Ze(this.curves),i=qe(this.curves);eB(s,i)?this.effects.push(new Se(s,6)):(this.effects.push(new Se(s,2)),this.effects.push(new Se(i,4)))}}return e.prototype.getEffects=function(A){for(var t=[2,3].indexOf(this.container.styles.position)===-1,r=this.parent,B=this.effects.slice(0);r;){var n=r.effects.filter(function(a){return!en(a)});if(t||r.container.styles.position!==0||!r.parent){if(B.unshift.apply(B,n),t=[2,3].indexOf(r.container.styles.position)===-1,r.container.styles.overflowX!==0){var s=Ze(r.curves),i=qe(r.curves);eB(s,i)||B.unshift(new Se(i,6))}}else B.unshift.apply(B,n);r=r.parent}return B.filter(function(a){return G(a.target,A)})},e})(),jr=function(e,A,t,r){e.container.elements.forEach(function(B){var n=G(B.flags,4),s=G(B.flags,2),i=new tn(B,e);G(B.styles.display,2048)&&r.push(i);var a=G(B.flags,8)?[]:r;if(n||s){var o=n||B.styles.isPositioned()?t:A,Q=new rn(i);if(B.styles.isPositioned()||B.styles.opacity<1||B.styles.isTransformed()){var g=B.styles.zIndex.order;if(g<0){var w=0;o.negativeZIndex.some(function(c,C){return g>c.element.container.styles.zIndex.order?(w=C,!1):w>0}),o.negativeZIndex.splice(w,0,Q)}else if(g>0){var f=0;o.positiveZIndex.some(function(c,C){return g>=c.element.container.styles.zIndex.order?(f=C+1,!1):f>0}),o.positiveZIndex.splice(f,0,Q)}else o.zeroOrAutoZIndexOrTransformedOrOpacity.push(Q)}else B.styles.isFloating()?o.nonPositionedFloats.push(Q):o.nonPositionedInlineLevel.push(Q);jr(i,Q,n?Q:t,a)}else B.styles.isInlineLevel()?A.inlineLevel.push(i):A.nonInlineLevel.push(i),jr(i,A,t,a);G(B.flags,8)&&Bn(B,a)})},Bn=function(e,A){for(var t=e instanceof kr?e.start:1,r=e instanceof kr?e.reversed:!1,B=0;B"u"?e[0]:t},fQ=function(e,A,t,r,B){var n=A[0],s=A[1],i=t[0],a=t[1];switch(e){case 2:return[new u(Math.round(r.left),Math.round(r.top+s)),new u(Math.round(r.left+r.width),Math.round(r.top+s)),new u(Math.round(r.left+r.width),Math.round(a+r.top+s)),new u(Math.round(r.left),Math.round(a+r.top+s))];case 3:return[new u(Math.round(r.left+n),Math.round(r.top)),new u(Math.round(r.left+n+i),Math.round(r.top)),new u(Math.round(r.left+n+i),Math.round(r.height+r.top)),new u(Math.round(r.left+n),Math.round(r.height+r.top))];case 1:return[new u(Math.round(r.left+n),Math.round(r.top+s)),new u(Math.round(r.left+n+i),Math.round(r.top+s)),new u(Math.round(r.left+n+i),Math.round(r.top+s+a)),new u(Math.round(r.left+n),Math.round(r.top+s+a))];default:return[new u(Math.round(B.left),Math.round(B.top)),new u(Math.round(B.left+B.width),Math.round(B.top)),new u(Math.round(B.left+B.width),Math.round(B.height+B.top)),new u(Math.round(B.left),Math.round(B.height+B.top))]}},UQ="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",tB="Hidden Text",FQ=(function(){function e(A){this._data={},this._document=A}return e.prototype.parseMetrics=function(A,t){var r=this._document.createElement("div"),B=this._document.createElement("img"),n=this._document.createElement("span"),s=this._document.body;r.style.visibility="hidden",r.style.fontFamily=A,r.style.fontSize=t,r.style.margin="0",r.style.padding="0",r.style.whiteSpace="nowrap",s.appendChild(r),B.src=UQ,B.width=1,B.height=1,B.style.margin="0",B.style.padding="0",B.style.verticalAlign="baseline",n.style.fontFamily=A,n.style.fontSize=t,n.style.margin="0",n.style.padding="0",n.appendChild(this._document.createTextNode(tB)),r.appendChild(n),r.appendChild(B);var i=B.offsetTop-n.offsetTop+2;r.removeChild(n),r.appendChild(this._document.createTextNode(tB)),r.style.lineHeight="normal",B.style.verticalAlign="super";var a=B.offsetTop-r.offsetTop+2;return s.removeChild(r),{baseline:i,middle:a}},e.prototype.getMetrics=function(A,t){var r=A+" "+t;return typeof this._data[r]>"u"&&(this._data[r]=this.parseMetrics(A,t)),this._data[r]},e})(),sn=(function(){function e(A,t){this.context=A,this.options=t}return e})(),hQ=1e4,dQ=(function(e){tA(A,e);function A(t,r){var B=e.call(this,t,r)||this;return B._activeEffects=[],B.canvas=r.canvas?r.canvas:document.createElement("canvas"),B.ctx=B.canvas.getContext("2d"),r.canvas||(B.canvas.width=Math.floor(r.width*r.scale),B.canvas.height=Math.floor(r.height*r.scale),B.canvas.style.width=r.width+"px",B.canvas.style.height=r.height+"px"),B.fontMetrics=new FQ(document),B.ctx.scale(B.options.scale,B.options.scale),B.ctx.translate(-r.x,-r.y),B.ctx.textBaseline="bottom",B._activeEffects=[],B.context.logger.debug("Canvas renderer initialized ("+r.width+"x"+r.height+") with scale "+r.scale),B}return A.prototype.applyEffects=function(t){for(var r=this;this._activeEffects.length;)this.popEffect();t.forEach(function(B){return r.applyEffect(B)})},A.prototype.applyEffect=function(t){this.ctx.save(),iQ(t)&&(this.ctx.globalAlpha=t.opacity),aQ(t)&&(this.ctx.translate(t.offsetX,t.offsetY),this.ctx.transform(t.matrix[0],t.matrix[1],t.matrix[2],t.matrix[3],t.matrix[4],t.matrix[5]),this.ctx.translate(-t.offsetX,-t.offsetY)),en(t)&&(this.path(t.path),this.ctx.clip()),this._activeEffects.push(t)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(t){return P(this,void 0,void 0,function(){var r;return _(this,function(B){switch(B.label){case 0:return r=t.element.container.styles,r.isVisible()?[4,this.renderStackContent(t)]:[3,2];case 1:B.sent(),B.label=2;case 2:return[2]}})})},A.prototype.renderNode=function(t){return P(this,void 0,void 0,function(){return _(this,function(r){switch(r.label){case 0:if(G(t.container.flags,16))debugger;return t.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(t)]:[3,3];case 1:return r.sent(),[4,this.renderNodeContent(t)];case 2:r.sent(),r.label=3;case 3:return[2]}})})},A.prototype.renderTextWithLetterSpacing=function(t,r,B){var n=this;if(r===0)this.ctx.fillText(t.text,t.bounds.left,t.bounds.top+B);else{var s=rt(t.text);s.reduce(function(i,a){return n.ctx.fillText(a,i,t.bounds.top+B),i+n.ctx.measureText(a).width},t.bounds.left)}},A.prototype.createFontStyle=function(t){var r=t.fontVariant.filter(function(s){return s==="normal"||s==="small-caps"}).join(""),B=vQ(t.fontFamily).join(", "),n=Ce(t.fontSize)?""+t.fontSize.number+t.fontSize.unit:t.fontSize.number+"px";return[[t.fontStyle,r,t.fontWeight,n,B].join(" "),B,n]},A.prototype.renderTextNode=function(t,r){return P(this,void 0,void 0,function(){var B,n,s,i,a,o,Q,g,w=this;return _(this,function(f){return B=this.createFontStyle(r),n=B[0],s=B[1],i=B[2],this.ctx.font=n,this.ctx.direction=r.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",a=this.fontMetrics.getMetrics(s,i),o=a.baseline,Q=a.middle,g=r.paintOrder,t.textBounds.forEach(function(c){g.forEach(function(C){switch(C){case 0:w.ctx.fillStyle=R(r.color),w.renderTextWithLetterSpacing(c,r.letterSpacing,o);var H=r.textShadow;H.length&&c.text.trim().length&&(H.slice(0).reverse().forEach(function(h){w.ctx.shadowColor=R(h.color),w.ctx.shadowOffsetX=h.offsetX.number*w.options.scale,w.ctx.shadowOffsetY=h.offsetY.number*w.options.scale,w.ctx.shadowBlur=h.blur.number,w.renderTextWithLetterSpacing(c,r.letterSpacing,o)}),w.ctx.shadowColor="",w.ctx.shadowOffsetX=0,w.ctx.shadowOffsetY=0,w.ctx.shadowBlur=0),r.textDecorationLine.length&&(w.ctx.fillStyle=R(r.textDecorationColor||r.color),r.textDecorationLine.forEach(function(h){switch(h){case 1:w.ctx.fillRect(c.bounds.left,Math.round(c.bounds.top+o),c.bounds.width,1);break;case 2:w.ctx.fillRect(c.bounds.left,Math.round(c.bounds.top),c.bounds.width,1);break;case 3:w.ctx.fillRect(c.bounds.left,Math.ceil(c.bounds.top+Q),c.bounds.width,1);break}}));break;case 1:r.webkitTextStrokeWidth&&c.text.trim().length&&(w.ctx.strokeStyle=R(r.webkitTextStrokeColor),w.ctx.lineWidth=r.webkitTextStrokeWidth,w.ctx.lineJoin=window.chrome?"miter":"round",w.ctx.strokeText(c.text,c.bounds.left,c.bounds.top+o)),w.ctx.strokeStyle="",w.ctx.lineWidth=0,w.ctx.lineJoin="miter";break}})}),[2]})})},A.prototype.renderReplacedElement=function(t,r,B){if(B&&t.intrinsicWidth>0&&t.intrinsicHeight>0){var n=je(t),s=qe(r);this.path(s),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(B,0,0,t.intrinsicWidth,t.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(t){return P(this,void 0,void 0,function(){var r,B,n,s,i,a,F,F,o,Q,g,w,p,f,c,d,C,H,h,F,K,p,d;return _(this,function(l){switch(l.label){case 0:this.applyEffects(t.getEffects(4)),r=t.container,B=t.curves,n=r.styles,s=0,i=r.textNodes,l.label=1;case 1:return s0&&V>0&&(y=n.ctx.createPattern(d,"repeat"),n.renderRepeat(O,y,Y,W))):aa(Q)&&(E=Kr(t,r,[null,null,null]),O=E[0],k=E[1],q=E[2],L=E[3],V=E[4],CA=Q.position.length===0?[$r]:Q.position,Y=b(CA[0],L),W=b(CA[CA.length-1],V),IA=ra(Q,Y,W,L,V),BA=IA[0],uA=IA[1],BA>0&&uA>0&&(vA=n.ctx.createRadialGradient(k+Y,q+W,0,k+Y,q+W,BA),It(Q.stops,BA*2).forEach(function(YA){return vA.addColorStop(YA.stop,R(YA.color))}),n.path(O),n.ctx.fillStyle=vA,BA!==uA?(yA=t.bounds.left+.5*t.bounds.width,iA=t.bounds.top+.5*t.bounds.height,KA=uA/BA,oA=1/KA,n.ctx.save(),n.ctx.translate(yA,iA),n.ctx.transform(1,0,0,KA,0,0),n.ctx.translate(-yA,-iA),n.ctx.fillRect(k,oA*(q-iA)+iA,L,V*oA),n.ctx.restore()):n.ctx.fill())),TA.label=6;case 6:return r--,[2]}})},n=this,s=0,i=t.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return s0?Q.style!==2?[3,5]:[4,this.renderDashedDottedBorder(Q.color,Q.width,i,t.curves,2)]:[3,11]):[3,13];case 4:return w.sent(),[3,11];case 5:return Q.style!==3?[3,7]:[4,this.renderDashedDottedBorder(Q.color,Q.width,i,t.curves,3)];case 6:return w.sent(),[3,11];case 7:return Q.style!==4?[3,9]:[4,this.renderDoubleBorder(Q.color,Q.width,i,t.curves)];case 8:return w.sent(),[3,11];case 9:return[4,this.renderSolidBorder(Q.color,i,t.curves)];case 10:w.sent(),w.label=11;case 11:i++,w.label=12;case 12:return a++,[3,3];case 13:return[2]}})})},A.prototype.renderDashedDottedBorder=function(t,r,B,n,s){return P(this,void 0,void 0,function(){var i,a,o,Q,g,w,f,c,C,H,h,F,K,p,d,l,d,l;return _(this,function(v){return this.ctx.save(),i=cQ(n,B),a=rB(n,B),s===2&&(this.path(a),this.ctx.clip()),$(a[0])?(o=a[0].start.x,Q=a[0].start.y):(o=a[0].x,Q=a[0].y),$(a[1])?(g=a[1].end.x,w=a[1].end.y):(g=a[1].x,w=a[1].y),B===0||B===2?f=Math.abs(o-g):f=Math.abs(Q-w),this.ctx.beginPath(),s===3?this.formatPath(i):this.formatPath(a.slice(0,2)),c=r<3?r*3:r*2,C=r<3?r*2:r,s===3&&(c=r,C=r),H=!0,f<=c*2?H=!1:f<=c*2+C?(h=f/(2*c+C),c*=h,C*=h):(F=Math.floor((f+C)/(c+C)),K=(f-F*c)/(F-1),p=(f-(F+1)*c)/F,C=p<=0||Math.abs(C-K)\n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n/*! *****************************************************************************\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 */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\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\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\n\nvar Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n}());\nvar parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\nvar parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n};\n\n/*\n * css-line-break 2.1.0 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n}\n\n/*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n}\nvar decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2$1 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1$1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT$1 = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\nvar slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n}\n\nvar base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\nvar LETTER_NUMBER_MODIFIER = 50;\n// Non-tailorable Line Breaking Classes\nvar BK = 1; // Cause a line break (after)\nvar CR$1 = 2; // Cause a line break (after), except between CR and LF\nvar LF$1 = 3; // Cause a line break (after)\nvar CM = 4; // Prohibit a line break between the character and the preceding character\nvar NL = 5; // Cause a line break (after)\nvar WJ = 7; // Prohibit line breaks before and after\nvar ZW = 8; // Provide a break opportunity\nvar GL = 9; // Prohibit line breaks before and after\nvar SP = 10; // Enable indirect line breaks\nvar ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nvar B2 = 12; // Provide a line break opportunity before and after the character\nvar BA = 13; // Generally provide a line break opportunity after the character\nvar BB = 14; // Generally provide a line break opportunity before the character\nvar HY = 15; // Provide a line break opportunity after the character, except in numeric context\nvar CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nvar CL = 17; // Prohibit line breaks before\nvar CP = 18; // Prohibit line breaks before\nvar EX = 19; // Prohibit line breaks before\nvar IN = 20; // Allow only indirect line breaks between pairs\nvar NS = 21; // Allow only indirect line breaks before\nvar OP = 22; // Prohibit line breaks after\nvar QU = 23; // Act like they are both opening and closing\n// Numeric Context\nvar IS = 24; // Prevent breaks after any and before numeric\nvar NU = 25; // Form numeric expressions for line breaking purposes\nvar PO = 26; // Do not break following a numeric expression\nvar PR = 27; // Do not break in front of a numeric expression\nvar SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nvar AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nvar AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nvar CJ = 31; // Treat as NS or ID for strict or normal breaking.\nvar EB = 32; // Do not break from following Emoji Modifier\nvar EM = 33; // Do not break from preceding Emoji Base\nvar H2 = 34; // Form Korean syllable blocks\nvar H3 = 35; // Form Korean syllable blocks\nvar HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nvar ID = 37; // Break before or after; except in some numeric context\nvar JL = 38; // Form Korean syllable blocks\nvar JV = 39; // Form Korean syllable blocks\nvar JT = 40; // Form Korean syllable blocks\nvar RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\nvar SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nvar XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\nvar ea_OP = [0x2329, 0xff08];\nvar BREAK_MANDATORY = '!';\nvar BREAK_NOT_ALLOWED$1 = '×';\nvar BREAK_ALLOWED$1 = '÷';\nvar UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\nvar ALPHABETICS = [AL, HL];\nvar HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\nvar SPACE$1 = [SP, ZW];\nvar PREFIX_POSTFIX = [PR, PO];\nvar LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\nvar KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nvar HYPHEN = [HY, BA];\nvar codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n};\nvar isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\nvar previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n};\nvar _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n};\nvar cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n};\nvar Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n}());\nvar LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\n\n// https://www.w3.org/TR/css-syntax-3\nvar FLAG_UNRESTRICTED = 1 << 0;\nvar FLAG_ID = 1 << 1;\nvar FLAG_INTEGER = 1 << 2;\nvar FLAG_NUMBER = 1 << 3;\nvar LINE_FEED = 0x000a;\nvar SOLIDUS = 0x002f;\nvar REVERSE_SOLIDUS = 0x005c;\nvar CHARACTER_TABULATION = 0x0009;\nvar SPACE = 0x0020;\nvar QUOTATION_MARK = 0x0022;\nvar EQUALS_SIGN = 0x003d;\nvar NUMBER_SIGN = 0x0023;\nvar DOLLAR_SIGN = 0x0024;\nvar PERCENTAGE_SIGN = 0x0025;\nvar APOSTROPHE = 0x0027;\nvar LEFT_PARENTHESIS = 0x0028;\nvar RIGHT_PARENTHESIS = 0x0029;\nvar LOW_LINE = 0x005f;\nvar HYPHEN_MINUS = 0x002d;\nvar EXCLAMATION_MARK = 0x0021;\nvar LESS_THAN_SIGN = 0x003c;\nvar GREATER_THAN_SIGN = 0x003e;\nvar COMMERCIAL_AT = 0x0040;\nvar LEFT_SQUARE_BRACKET = 0x005b;\nvar RIGHT_SQUARE_BRACKET = 0x005d;\nvar CIRCUMFLEX_ACCENT = 0x003d;\nvar LEFT_CURLY_BRACKET = 0x007b;\nvar QUESTION_MARK = 0x003f;\nvar RIGHT_CURLY_BRACKET = 0x007d;\nvar VERTICAL_LINE = 0x007c;\nvar TILDE = 0x007e;\nvar CONTROL = 0x0080;\nvar REPLACEMENT_CHARACTER = 0xfffd;\nvar ASTERISK = 0x002a;\nvar PLUS_SIGN = 0x002b;\nvar COMMA = 0x002c;\nvar COLON = 0x003a;\nvar SEMICOLON = 0x003b;\nvar FULL_STOP = 0x002e;\nvar NULL = 0x0000;\nvar BACKSPACE = 0x0008;\nvar LINE_TABULATION = 0x000b;\nvar SHIFT_OUT = 0x000e;\nvar INFORMATION_SEPARATOR_ONE = 0x001f;\nvar DELETE = 0x007f;\nvar EOF = -1;\nvar ZERO = 0x0030;\nvar a = 0x0061;\nvar e = 0x0065;\nvar f = 0x0066;\nvar u = 0x0075;\nvar z = 0x007a;\nvar A = 0x0041;\nvar E = 0x0045;\nvar F = 0x0046;\nvar U = 0x0055;\nvar Z = 0x005a;\nvar isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\nvar isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\nvar isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n};\nvar isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\nvar isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\nvar isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\nvar isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\nvar isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n};\nvar isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n};\nvar isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n};\nvar isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n};\nvar isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n};\nvar isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\nvar isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n};\nvar stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\nvar LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n};\nvar RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n};\nvar COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\nvar SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\nvar PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\nvar COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\nvar DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\nvar INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\nvar LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n};\nvar RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n};\nvar SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\nvar BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\nvar BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\nvar CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\nvar CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\nvar COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\nvar SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\nvar LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n};\nvar RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n};\nvar WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\nvar EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\nvar Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n}());\n\nvar Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n}());\nvar isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\nvar isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\nvar isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\nvar isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\nvar isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n};\nvar nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\nvar nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n};\nvar parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n};\nvar isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n};\n\nvar isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n};\n\nvar isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n};\nvar parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n};\nvar ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n};\nvar FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n};\nvar getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nvar getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n};\n\nvar DEG = 'deg';\nvar GRAD = 'grad';\nvar RAD = 'rad';\nvar TURN = 'turn';\nvar angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n};\nvar isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\nvar parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n};\nvar deg = function (deg) { return (Math.PI * deg) / 180; };\n\nvar color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n};\nvar isTransparent = function (color) { return (0xff & color) === 0; };\nvar asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n};\nvar pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n};\nvar getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n};\nvar rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n};\nfunction hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n}\nvar hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\nvar SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\nvar parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n};\nvar COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n\nvar backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n};\nvar processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n};\nvar getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\nvar calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\nvar distance = function (a, b) { return Math.sqrt(a * a + b * b); };\nvar findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n};\nvar calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n};\n\nvar linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n};\n\nvar prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n};\n\nvar webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n};\n\nvar CLOSEST_SIDE = 'closest-side';\nvar FARTHEST_SIDE = 'farthest-side';\nvar CLOSEST_CORNER = 'closest-corner';\nvar FARTHEST_CORNER = 'farthest-corner';\nvar CIRCLE = 'circle';\nvar ELLIPSE = 'ellipse';\nvar COVER = 'cover';\nvar CONTAIN = 'contain';\nvar radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n};\nvar isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n};\nvar image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n};\nfunction isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n}\nvar SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n\nvar backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n};\n\nvar backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n};\n\nvar backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n};\nvar parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n};\n\nvar BACKGROUND_SIZE;\n(function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\nvar backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n};\nvar isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n};\n\nvar borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n}); };\nvar borderTopColor = borderColorForSide('top');\nvar borderRightColor = borderColorForSide('right');\nvar borderBottomColor = borderColorForSide('bottom');\nvar borderLeftColor = borderColorForSide('left');\n\nvar borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n}); };\nvar borderTopLeftRadius = borderRadiusForSide('top-left');\nvar borderTopRightRadius = borderRadiusForSide('top-right');\nvar borderBottomRightRadius = borderRadiusForSide('bottom-right');\nvar borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\nvar borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n}); };\nvar borderTopStyle = borderStyleForSide('top');\nvar borderRightStyle = borderStyleForSide('right');\nvar borderBottomStyle = borderStyleForSide('bottom');\nvar borderLeftStyle = borderStyleForSide('left');\n\nvar borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n}); };\nvar borderTopWidth = borderWidthForSide('top');\nvar borderRightWidth = borderWidthForSide('right');\nvar borderBottomWidth = borderWidthForSide('bottom');\nvar borderLeftWidth = borderWidthForSide('left');\n\nvar color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n};\n\nvar display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n};\nvar parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n};\n\nvar float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar LINE_BREAK;\n(function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n})(LINE_BREAK || (LINE_BREAK = {}));\nvar lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n\nvar lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n};\nvar computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n};\n\nvar listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n};\n\nvar listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n};\n\nvar listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n};\n\nvar marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n}); };\nvar marginTop = marginForSide('top');\nvar marginRight = marginForSide('right');\nvar marginBottom = marginForSide('bottom');\nvar marginLeft = marginForSide('left');\n\nvar overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n};\n\nvar overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n}); };\nvar paddingTop = paddingForSide('top');\nvar paddingRight = paddingForSide('right');\nvar paddingBottom = paddingForSide('bottom');\nvar paddingLeft = paddingForSide('left');\n\nvar textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n};\n\nvar position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n};\n\nvar textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n};\nvar matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n};\n// doesn't support 3D transforms at the moment\nvar matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\nvar SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n\nvar DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\nvar transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n};\n\nvar visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n};\n\nvar WORD_BREAK;\n(function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n})(WORD_BREAK || (WORD_BREAK = {}));\nvar wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n\nvar zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n};\n\nvar time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n};\n\nvar opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n\nvar textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n};\n\nvar fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n};\n\nvar fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n};\n\nvar fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n};\n\nvar fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n};\n\nvar fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar contains = function (bit, value) { return (bit & value) !== 0; };\n\nvar content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n};\n\nvar counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n};\n\nvar counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n};\n\nvar duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n};\n\nvar quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n};\nvar getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n};\n\nvar boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n};\n\nvar webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n}());\nvar CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n}());\nvar CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n}());\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n\nvar elementDebuggerAttribute = 'data-html2canvas-debug';\nvar getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n};\nvar isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n};\n\nvar ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n}());\n\n/*\n * text-segmentation 1.0.3 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n/*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n}\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\nvar slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nvar Prepend = 1;\nvar CR = 2;\nvar LF = 3;\nvar Control = 4;\nvar Extend = 5;\nvar SpacingMark = 7;\nvar L = 8;\nvar V = 9;\nvar T = 10;\nvar LV = 11;\nvar LVT = 12;\nvar ZWJ = 13;\nvar Extended_Pictographic = 14;\nvar RI = 15;\nvar toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar UnicodeTrie = createTrieFromBase64(base64);\nvar BREAK_NOT_ALLOWED = '×';\nvar BREAK_ALLOWED = '÷';\nvar codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\nvar _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n};\nvar GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\nvar splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n};\n\nvar testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n};\nvar testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n};\nvar testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\nvar testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\nvar testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n};\nvar isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n};\nvar testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n};\nvar createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n};\nvar loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\nvar FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n};\n\nvar TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n}());\nvar parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n};\nvar getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n};\nvar createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n};\nvar segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n};\nvar segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n};\nvar breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n};\n// https://drafts.csswg.org/css-text/#word-separator\nvar wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\nvar breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n};\n\nvar TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n}());\nvar transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n};\nvar CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\nvar capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n};\n\nvar ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n}(ElementContainer));\n\nvar CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n}(ElementContainer));\n\nvar SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n}(ElementContainer));\n\nvar LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n}(ElementContainer));\n\nvar OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n}(ElementContainer));\n\nvar CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n];\nvar RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n];\nvar reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n};\nvar getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n};\nvar CHECKBOX = 'checkbox';\nvar RADIO = 'radio';\nvar PASSWORD = 'password';\nvar INPUT_COLOR = 0x2a2a2aff;\nvar InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n}(ElementContainer));\n\nvar SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n}(ElementContainer));\n\nvar TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n}(ElementContainer));\n\nvar IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n}(ElementContainer));\n\nvar LIST_OWNERS = ['OL', 'UL', 'MENU'];\nvar parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n};\nvar createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n};\nvar parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n};\nvar createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n};\nvar createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\nvar isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\nvar isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\nvar isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n};\nvar isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n};\nvar isLIElement = function (node) { return node.tagName === 'LI'; };\nvar isOLElement = function (node) { return node.tagName === 'OL'; };\nvar isInputElement = function (node) { return node.tagName === 'INPUT'; };\nvar isHTMLElement = function (node) { return node.tagName === 'HTML'; };\nvar isSVGElement = function (node) { return node.tagName === 'svg'; };\nvar isBodyElement = function (node) { return node.tagName === 'BODY'; };\nvar isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\nvar isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\nvar isImageElement = function (node) { return node.tagName === 'IMG'; };\nvar isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\nvar isStyleElement = function (node) { return node.tagName === 'STYLE'; };\nvar isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\nvar isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\nvar isSelectElement = function (node) { return node.tagName === 'SELECT'; };\nvar isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nvar isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\nvar CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n}());\nvar ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n};\nvar ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n};\nvar HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n};\nvar GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n};\nvar createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n};\nvar createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n};\nvar createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n};\nvar createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n};\nvar CJK_ZEROS = 1 << 0;\nvar CJK_TEN_COEFFICIENTS = 1 << 1;\nvar CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\nvar CJK_HUNDRED_COEFFICIENTS = 1 << 3;\nvar createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n};\nvar CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\nvar CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\nvar JAPANESE_NEGATIVE = 'マイナス';\nvar KOREAN_NEGATIVE = '마이너스';\nvar createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n};\n\nvar IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\nvar DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline LUPMIS2 Drawing Tools @@ -106,6 +151,295 @@ --radius-2xl: 1rem; } + /* ─── Fieldwork Mode ─── high-contrast + larger touch targets ─── */ + .fieldwork-mode { + --foreground: #000; + --background: #fff; + --card: #fff; + --card-foreground: #000; + --primary: #0044aa; + --primary-foreground: #fff; + --primary-hover: #003080; + --muted: #e0e0e0; + --muted-foreground: #333; + --accent: #cce0ff; + --accent-foreground: #000; + --border: rgba(0,0,0,0.25); + --success: #005a00; + --success-foreground: #fff; + --warning: #b36b00; + --warning-foreground: #000; + --destructive: #b80000; + --destructive-foreground: #fff; + --ring: #0044aa; + --bs-body-color: #000; + } + + /* Fieldwork: larger dock buttons */ + .fieldwork-mode .dock-btn { + min-width: 72px; + min-height: 58px; + font-size: 1.6rem; + border-width: 2px; + } + .fieldwork-mode .dock-btn-label { + font-size: 0.75rem; + font-weight: 600; + } + + /* Fieldwork: bolder navbar */ + .fieldwork-mode .navbar { + border-bottom-width: 4px; + } + .fieldwork-mode .navbar .navbar-brand { + font-size: 1.6rem; + } + + /* Fieldwork: larger offcanvas toggle buttons */ + .fieldwork-mode .offcanvas-toggle { + width: 44px; + height: 44px; + font-size: 1.2rem; + } + + /* Fieldwork: thicker bottom dock border */ + .fieldwork-mode .bottom-dock { + border-top-width: 4px; + } + + /* Fieldwork: larger text in cards / lists */ + .fieldwork-mode .card-header h6 { + font-size: 1rem; + } + .fieldwork-mode .list-group-item { + font-size: 0.95rem; + padding: 0.65rem 1rem; + } + + /* Fieldwork: larger buttons globally */ + .fieldwork-mode .btn { + font-size: 0.95rem; + padding: 0.5rem 1rem; + font-weight: 600; + } + .fieldwork-mode .btn-sm { + font-size: 0.85rem; + padding: 0.4rem 0.75rem; + } + + /* Fieldwork: stronger borders on inputs / form controls */ + .fieldwork-mode .form-control, + .fieldwork-mode .form-select { + border-width: 2px; + border-color: #555; + font-size: 1rem; + } + + /* Fieldwork: bolder map controls (ol-ext) */ + .fieldwork-mode .ol-control button { + font-size: 1.3rem; + width: 2.2em; + height: 2.2em; + } + + /* Fieldwork: scale bar text legibility */ + .fieldwork-mode .ol-scale-bar .ol-scale-step-text, + .fieldwork-mode .ol-scale-bar .ol-scale-text { + font-size: 12px; + font-weight: 700; + text-shadow: 0 0 4px #fff, 0 0 8px #fff; + } + + /* ─── Dark Mode ─── reversed colour scheme ─── */ + .dark-mode { + --foreground: #e0dff0; + --background: #131325; + --card: #1e1e38; + --card-foreground: #e0dff0; + --primary: #4d9de6; + --primary-foreground: #fff; + --primary-hover: #6fb3f0; + --muted: #272745; + --muted-foreground: #9594a8; + --accent: #1e3a5f; + --accent-foreground: #e0dff0; + --border: rgba(255,255,255,0.12); + --ring: #4d9de6; + --success: #2dd46a; + --success-foreground: #131325; + --warning: #ffb84d; + --warning-foreground: #131325; + --destructive: #f04040; + --destructive-foreground: #fff; + --bs-body-color: #e0dff0; + --bs-body-bg: #131325; + --bs-tertiary-bg: #1e1e38; + color-scheme: dark; + } + + /* Dark: navbar */ + .dark-mode .navbar { + background-color: #1a1a30 !important; + box-shadow: 0 1px 6px rgba(0,0,0,0.4); + } + + /* Dark: bottom dock */ + .dark-mode .bottom-dock { + background-color: #1a1a30; + box-shadow: 0 -2px 10px rgba(0,0,0,0.3); + } + .dark-mode .dock-btn { + border-color: var(--primary); + color: var(--foreground); + } + .dark-mode .dock-btn:hover { + background-color: var(--muted); + } + .dark-mode .dock-btn.active { + background-color: var(--primary); + color: var(--primary-foreground); + } + + /* Dark: offcanvas panels */ + .dark-mode .offcanvas { + background-color: var(--background) !important; + color: var(--foreground) !important; + } + .dark-mode .offcanvas-header { + border-bottom-color: var(--border) !important; + } + .dark-mode .btn-close { + filter: invert(1) grayscale(100%) brightness(200%); + } + + /* Dark: cards */ + .dark-mode .card { + background-color: var(--card) !important; + color: var(--card-foreground) !important; + border-color: var(--border) !important; + } + + /* Dark: offcanvas toggle buttons */ + .dark-mode .offcanvas-toggle { + background-color: var(--card); + color: var(--foreground); + border-color: var(--border); + } + .dark-mode .offcanvas-toggle:hover { + background-color: var(--primary); + color: var(--primary-foreground); + } + + /* Dark: form controls */ + .dark-mode .form-control, + .dark-mode .form-select { + background-color: var(--muted) !important; + color: var(--foreground) !important; + border-color: var(--border) !important; + } + .dark-mode .form-check-input { + background-color: var(--muted); + border-color: var(--muted-foreground); + } + .dark-mode .form-check-input:checked { + background-color: var(--primary); + border-color: var(--primary); + } + + /* Dark: list groups */ + .dark-mode .list-group-item { + background-color: var(--card) !important; + color: var(--card-foreground) !important; + border-color: var(--border) !important; + } + + /* Dark: buttons */ + .dark-mode .btn-outline-primary { + color: var(--primary); + border-color: var(--primary); + } + .dark-mode .btn-outline-danger { + color: var(--destructive); + border-color: var(--destructive); + } + + /* Dark: text utilities */ + .dark-mode .text-muted { + color: var(--muted-foreground) !important; + } + + /* Dark: measurement tooltips */ + .dark-mode .measure-tooltip { + background: rgba(30, 30, 56, 0.95); + color: var(--foreground); + border-color: var(--primary); + } + .dark-mode .measure-tooltip::before { + border-right-color: var(--primary); + } + + /* Dark: OL controls */ + .dark-mode .ol-control button { + background-color: var(--card) !important; + color: var(--foreground) !important; + } + .dark-mode .ol-control button:hover { + background-color: var(--primary) !important; + color: var(--primary-foreground) !important; + } + .dark-mode .ol-attribution, + .dark-mode .ol-attribution a { + color: var(--muted-foreground) !important; + } + + /* Dark: scale bar */ + .dark-mode .ol-scale-bar .ol-scale-step-text, + .dark-mode .ol-scale-bar .ol-scale-text { + color: #fff !important; + text-shadow: 0 0 4px #000, 0 0 8px #000 !important; + } + .dark-mode .ol-scale-bar .ol-scale-singlebar-even { + background-color: #fff !important; + } + .dark-mode .ol-scale-bar .ol-scale-singlebar-odd { + background-color: #999 !important; + } + + /* Dark: map drop overlay */ + .dark-mode .map-drop-overlay { + background: rgba(19, 19, 37, 0.85); + border-color: var(--primary); + color: var(--foreground); + } + + /* Dark: ol-ext LayerSwitcher */ + .dark-mode .ol-layerswitcher { + background-color: var(--card) !important; + } + .dark-mode .ol-layerswitcher .panel { + background-color: var(--card) !important; + color: var(--foreground) !important; + } + .dark-mode .ol-layerswitcher .panel li { + color: var(--foreground); + } + .dark-mode .ol-layerswitcher .ol-switchertopdiv, + .dark-mode .ol-layerswitcher .ol-switcherbottomdiv { + background: var(--card) !important; + } + + /* Dark: alert boxes */ + .dark-mode .alert-danger { + background-color: rgba(240, 64, 64, 0.15) !important; + color: var(--destructive) !important; + border-color: var(--destructive) !important; + } + .dark-mode .alert-success { + background-color: rgba(45, 212, 106, 0.15) !important; + color: var(--success) !important; + border-color: var(--success) !important; + } + /* Full height layout */ html, body { height: 100%; @@ -214,9 +548,12 @@ font-family: var(--font-body); } - /* Main container - full height */ + /* Main container - full height. + 100dvh accounts for mobile browser chrome and OS nav bars. + Falls back to 100vh for older browsers. */ .app-container { height: 100vh; + height: 100dvh; display: flex; flex-direction: column; } @@ -244,6 +581,35 @@ height: 100%; } + /* Drag-and-drop overlay shown when files are dragged over the map */ + .map-drop-overlay { + position: absolute; + inset: 0; + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + background: rgba(0, 94, 184, 0.15); + border: 3px dashed var(--primary, #005eb8); + border-radius: 8px; + pointer-events: none; + opacity: 0; + transition: opacity 0.15s ease; + } + .map-container.drag-over .map-drop-overlay { + opacity: 1; + } + .map-drop-overlay span { + font-family: var(--font-body, 'Exo', sans-serif); + font-size: 1.15rem; + font-weight: 600; + color: var(--primary, #005eb8); + background: var(--card, #fff); + padding: 0.6rem 1.4rem; + border-radius: 6px; + box-shadow: 0 2px 8px rgba(0,0,0,0.12); + } + /* Offline indicator */ #offline-indicator { display: none; @@ -301,9 +667,14 @@ z-index: 1050; } - /* Fix ol-ext LayerSwitcher z-index */ - .ol-layerswitcher { - z-index: 100; + /* OL controls stacking context fix — OpenLayers sets z-index:0 on + .ol-overlaycontainer-stopevent, trapping all controls below the + offcanvas-toggle buttons (z-index:500). Raising the container + to 501 lets the LayerSwitcher dropdown render above the toggles. + pointer-events:none on the container still lets clicks through + to the toggle buttons underneath. */ + .ol-overlaycontainer-stopevent { + z-index: 501 !important; } /* Alert hint box */ @@ -419,7 +790,7 @@ } .offcanvas-toggle-bottom { - bottom: 80px; /* Above the dock */ + bottom: calc(80px + env(safe-area-inset-bottom, 0px)); /* Above the dock */ left: 50%; transform: translateX(-50%); } @@ -432,7 +803,10 @@ transform: translateX(-50%) scale(0.95); } - /* Bottom Dock — white card style with blue-strong accent */ + /* Bottom Dock — white card style with blue-strong accent. + env(safe-area-inset-bottom) adds padding on devices with a + home indicator / gesture bar (e.g. iPhone notch models). + The value is 0 on devices without an inset. */ .bottom-dock { position: absolute; bottom: 0; @@ -441,7 +815,7 @@ z-index: 600; background-color: var(--card); border-top: 3px solid var(--primary); - padding: 8px 16px; + padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); display: flex; justify-content: space-around; align-items: center; @@ -503,6 +877,13 @@ justify-content: center; } + /* Snap-guides toggle — highlighted when active */ + .ol-snap-toggle.ol-active button { + background: var(--primary) !important; + color: var(--primary-foreground, #fff) !important; + border-radius: 3px; + } + /* Touch-friendly improvements for forms and buttons */ .form-control, .form-select { min-height: 44px; @@ -541,6 +922,18 @@ color: var(--foreground); } + /* Message log in the right panel */ + .message-log { + max-height: 260px; + overflow-y: auto; + } + + .message-log-entry { + font-size: 0.82rem; + border-color: var(--border, #eee) !important; + background: transparent; + } + /* ol-ext GeolocationButton styling */ .ol-geobt { top: auto !important; @@ -830,6 +1223,7 @@ /* Locations list in offcanvas - can be taller now without form */ .offcanvas-end .locations-list { max-height: calc(100vh - 280px); + max-height: calc(100dvh - 280px); overflow-y: auto; } @@ -921,17 +1315,32 @@ font-size: 18px; } - /* ScaleLine - position above the bottom dock */ - .ol-scale-line { - bottom: 76px !important; + /* ScaleBar - position above the bottom dock with 4px gap */ + .ol-scale-bar { + bottom: calc(85px + env(safe-area-inset-bottom, 0px)) !important; left: 10px !important; } - .ol-scale-line-inner { - border-color: var(--foreground) !important; + .ol-scale-bar .ol-scale-step-text { color: var(--foreground) !important; font-family: var(--font-body) !important; font-size: 11px !important; + text-shadow: 0 0 3px var(--background), 0 0 6px var(--background) !important; + } + + .ol-scale-bar .ol-scale-text { + color: var(--foreground) !important; + font-family: var(--font-body) !important; + font-size: 11px !important; + text-shadow: 0 0 3px var(--background), 0 0 6px var(--background) !important; + } + + .ol-scale-bar .ol-scale-singlebar-even { + background-color: var(--foreground) !important; + } + + .ol-scale-bar .ol-scale-singlebar-odd { + background-color: var(--muted-foreground) !important; } /* ol-ext Bar overrides */ @@ -950,12 +1359,12 @@ gap: 2px; } - + + - - - + + @@ -988,6 +1397,7 @@

+
Drop file to import (.shp .geojson .kml)
+ + + + + + + +
-
+
Local Database Tables
+
- + + @@ -1150,6 +1583,10 @@ + + + +
+
+
Messages
+ +
+
+
+
+ No messages yet. +
+
+
+
+
-
Bottom Panel
+
Settings
-
+
-

This is the bottom offcanvas panel.

-

You can add a data table, charts, or other wide content here.

+
+ +
+
+
+
+
+
Fieldwork Mode
+ High-contrast colours and larger touch targets for bright sunlight and field conditions. +
+
+ +
+
+
+ +
+
+
+
+
+
Dark Mode
+ Reduce glare and save battery with a dark colour scheme. +
+
+ +
+
+
+
+
+ +
+
+
+
+
+
Measurement System
+ Switch between Metric (m, km) and Imperial (ft, mi, acres) units. +
+
+ + +
+
+
+
+
+ +
+
+
+
+
+
Default Base Map
+ Base map shown on app start. Saved on this device. +
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+ Offline Map Tiles +
+ + Map tiles you've already viewed are cached on this device so they work offline. + Tiles are cached automatically as you browse, or you can pre-download a region. + +
+
+ + +
+
+
+
Loading…
+
+
+
+
+
+
+ + + + diff --git a/dist/manifest.json b/dist/manifest.json index d8ab69a..7ae399c 100644 --- a/dist/manifest.json +++ b/dist/manifest.json @@ -1,58 +1,58 @@ { "name": "LUPMIS2 Drawing Tools", - "short_name": "LUPMIS", + "short_name": "LUPMIS2", "description": "Map and GIS functions for Land Use Planning in Ghana", - "start_url": "/", - "scope": "/", + "start_url": "./", + "scope": "./", "display": "standalone", "background_color": "#ffffff", "theme_color": "#005eb8", "orientation": "any", "icons": [ { - "src": "/icons/icon-72.png", + "src": "./icons/luspa-72x72.png", "sizes": "72x72", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-96.png", + "src": "./icons/luspa-96x96.png", "sizes": "96x96", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-128.png", + "src": "./icons/luspa-128x128.png", "sizes": "128x128", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-144.png", + "src": "./icons/luspa-144x144.png", "sizes": "144x144", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-152.png", + "src": "./icons/luspa-152x152.png", "sizes": "152x152", "type": "image/png", "purpose": "any" }, { - "src": "/icons/luspa-192x192.png", + "src": "./icons/luspa-192x192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, { - "src": "/icons/icon-384.png", + "src": "./icons/luspa-384x384.png", "sizes": "384x384", "type": "image/png", "purpose": "any" }, { - "src": "/icons/luspa-512x512.png", + "src": "./icons/luspa-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" diff --git a/dist/sw.js b/dist/sw.js index 257c9a9..4c981a5 100644 --- a/dist/sw.js +++ b/dist/sw.js @@ -1,29 +1,81 @@ /** * Service Worker - * + * * Handles caching of: * - App shell (HTML, CSS, JS) - * - Map tiles (runtime caching) + * - Map tiles (passive runtime caching, per-host buckets) * - API responses (network-first) - * + * * Note: Database operations are handled by the SharedWorker (shared-db-worker.js), * NOT by this service worker. They serve different purposes: * - Service Worker: Caching, offline asset serving, push notifications * - SharedWorker: Shared database connection across tabs */ -const CACHE_VERSION = 'v1'; -const SHELL_CACHE = `shell-${CACHE_VERSION}`; -const TILES_CACHE = `tiles-${CACHE_VERSION}`; +// v3: lower per-cache limits (5000 → 1500) and counter-based eviction to +// prevent Safari memory-pressure reloads. +// v4: raise OSM and Topographic limits to 8000 to support active offline +// downloads (Phase 2). Other providers stay at 1500. +const CACHE_VERSION = 'v4'; +const SHELL_CACHE = `shell-${CACHE_VERSION}`; const MODULES_CACHE = `modules-${CACHE_VERSION}`; -const API_CACHE = `api-${CACHE_VERSION}`; +const API_CACHE = `api-${CACHE_VERSION}`; -// Maximum number of tiles to cache -const MAX_TILES = 500; +// ---------------------------------------------------------------------------- +// Tile caches — one per provider so users can clear them independently. +// Limits are per-cache (not global). 5 000 tiles ≈ ~150 MB at ~30 KB/tile, +// which covers a Ghana district at zoom 10–15 (typical field-work range). +// ---------------------------------------------------------------------------- +const TILES_OSM = `tiles-osm-${CACHE_VERSION}`; +const TILES_TOPO = `tiles-topo-${CACHE_VERSION}`; +const TILES_SATELLITE = `tiles-satellite-${CACHE_VERSION}`; +const TILES_CARTO_LIGHT = `tiles-carto-light-${CACHE_VERSION}`; +const TILES_CARTO_DARK = `tiles-carto-dark-${CACHE_VERSION}`; -// App shell assets - precached on install -// Vite will generate hashed filenames, so we cache the entry points -// and let the browser handle the hashed assets +// Per-provider tile limits. +// • OSM and Topographic are the providers offered for active offline +// download (Phase 2 dialog), so they get a higher cap (~240 MB each at +// ~30 KB/tile) — enough for a typical Ghana district at zoom 10–15. +// • The other providers serve passive caching only (whatever the user has +// already viewed), so 1 500 tiles ≈ 45 MB is plenty. +// +// Total max ≈ 5 × ~150 MB = ~750 MB on disk in the worst case, but only the +// two downloadable buckets are likely to fill. Eviction sweeps run every 100 +// inserts (see EVICTION_CHECK_INTERVAL) so memory pressure stays bounded. +const TILE_LIMITS = { + [TILES_OSM]: 8000, + [TILES_TOPO]: 8000, + [TILES_SATELLITE]: 1500, + [TILES_CARTO_LIGHT]: 1500, + [TILES_CARTO_DARK]: 1500, +}; + +// Per-cache running insert counter, in memory. Avoids calling cache.keys() +// (which materialises every Request object in the cache) on every put — that +// was the cause of the Safari "reloaded due to memory pressure" failures. +// +// We only run a real eviction sweep every EVICTION_CHECK_INTERVAL inserts. +const _tileInsertCounters = new Map(); // cacheName → number of inserts since last eviction +const EVICTION_CHECK_INTERVAL = 100; + +// Friendly name shown in the UI (matches Settings card labels) +const TILE_CACHE_LABELS = { + [TILES_OSM]: 'OpenStreetMap', + [TILES_TOPO]: 'Topographic', + [TILES_SATELLITE]: 'Satellite', + [TILES_CARTO_LIGHT]: 'Carto Light', + [TILES_CARTO_DARK]: 'Carto Dark', +}; + +const ALL_TILE_CACHES = Object.keys(TILE_LIMITS); + +// Approximate average tile size — used for storage estimation. +// Real measurements: PNG tiles range 5–80 KB; 30 KB is a good middle ground. +const AVG_TILE_BYTES = 30 * 1024; + +// ---------------------------------------------------------------------------- +// App shell assets — precached on install. +// ---------------------------------------------------------------------------- const SHELL_ASSETS = [ '/', '/index.html', @@ -37,7 +89,7 @@ const SHELL_ASSETS = [ self.addEventListener('install', (event) => { console.log('[SW] Installing...'); - + event.waitUntil( caches.open(SHELL_CACHE) .then((cache) => { @@ -54,18 +106,26 @@ self.addEventListener('install', (event) => { self.addEventListener('activate', (event) => { console.log('[SW] Activating...'); - + event.waitUntil( caches.keys() .then((cacheNames) => { + // Build the set of caches that should remain + const keep = new Set([SHELL_CACHE, MODULES_CACHE, API_CACHE, ...ALL_TILE_CACHES]); + return Promise.all( cacheNames + // Delete anything that: + // • belongs to one of our managed cache prefixes (shell-, tiles-, modules-, api-) + // • but is NOT in the current keep set + // This includes the legacy "tiles-v1" single bucket. .filter((name) => { - // Delete old version caches - return (name.startsWith('shell-') && name !== SHELL_CACHE) || - (name.startsWith('tiles-') && name !== TILES_CACHE) || - (name.startsWith('modules-') && name !== MODULES_CACHE) || - (name.startsWith('api-') && name !== API_CACHE); + const isOurs = + name.startsWith('shell-') || + name.startsWith('tiles-') || + name.startsWith('modules-') || + name.startsWith('api-'); + return isOurs && !keep.has(name); }) .map((name) => { console.log('[SW] Deleting old cache:', name); @@ -84,17 +144,28 @@ self.addEventListener('activate', (event) => { self.addEventListener('fetch', (event) => { const request = event.request; const url = new URL(request.url); - + // Only handle GET requests if (request.method !== 'GET') return; - + // Skip chrome-extension and other non-http(s) requests if (!url.protocol.startsWith('http')) return; - - // Route to appropriate caching strategy - if (isMapTile(url)) { - event.respondWith(cacheThenNetwork(request, TILES_CACHE, MAX_TILES)); - } else if (isApiRequest(url)) { + + // Skip worker files and Vite dev-server node_modules requests — + // intercepting these breaks module workers (e.g. SQLocal/SQLite). + if (url.pathname.includes('node_modules') || + url.search.includes('worker_file') || + request.destination === 'worker') return; + + // ----- TILE REQUESTS — passive cache-then-network (per-host bucket) ----- + const tileCache = getTileCacheName(url); + if (tileCache) { + event.respondWith(tileCacheThenNetwork(request, tileCache)); + return; + } + + // ----- OTHER ROUTES (unchanged) ----- + if (isApiRequest(url)) { event.respondWith(networkFirst(request, API_CACHE)); } else if (isModuleAsset(url)) { event.respondWith(staleWhileRevalidate(request, MODULES_CACHE)); @@ -108,15 +179,36 @@ self.addEventListener('fetch', (event) => { // URL CLASSIFICATION // ============================================================================ -function isMapTile(url) { - // Common tile server patterns for all our base maps - return url.hostname.includes('tile.openstreetmap.org') || - url.hostname.includes('opentopomap.org') || - url.hostname.includes('arcgisonline.com') || - url.hostname.includes('basemaps.cartocdn.com') || - url.hostname.includes('tiles.') || - url.pathname.match(/\/\d+\/\d+\/\d+\.(png|jpg|pbf)$/) || - url.pathname.match(/\/tile\/\d+\/\d+\/\d+/); +/** + * Classify a URL into the appropriate tile cache. + * Returns `null` for non-tile requests, or for tile providers we deliberately + * do NOT cache (e.g. Google — caching is forbidden by their ToS). + */ +function getTileCacheName(url) { + const host = url.hostname; + + // OpenStreetMap — tile.openstreetmap.org and a/b/c subdomains + if (host.endsWith('tile.openstreetmap.org')) return TILES_OSM; + + // OpenTopoMap — a/b/c.tile.opentopomap.org + if (host.endsWith('tile.opentopomap.org') || host.endsWith('opentopomap.org')) return TILES_TOPO; + + // Carto Basemaps — light_all / dark_all distinguished by path + if (host.endsWith('basemaps.cartocdn.com')) { + if (url.pathname.includes('/light_all/')) return TILES_CARTO_LIGHT; + if (url.pathname.includes('/dark_all/')) return TILES_CARTO_DARK; + return null; // unknown Carto style + } + + // Esri — server.arcgisonline.com + if (host.endsWith('arcgisonline.com')) return TILES_SATELLITE; + + // Google — caching forbidden by ToS, do not store + if (host.endsWith('google.com') || host.endsWith('googleapis.com')) return null; + + // Other tile providers (WMS endpoints, OWS, custom) — not cached at this layer + // (the user's "online only" toast handles those). + return null; } function isApiRequest(url) { @@ -129,7 +221,6 @@ function isModuleAsset(url) { } function isAppAsset(url) { - // Same origin, common asset extensions return url.origin === self.location.origin && (url.pathname.endsWith('.html') || url.pathname.endsWith('.css') || @@ -144,13 +235,13 @@ function isAppAsset(url) { // ============================================================================ /** - * Cache First - Use cache, fallback to network - * Best for: App shell, static assets + * Cache First — Use cache, fallback to network. + * Best for: App shell, static assets. */ async function cacheFirst(request, cacheName) { const cached = await caches.match(request); if (cached) return cached; - + try { const response = await fetch(request); if (response.ok) { @@ -159,7 +250,6 @@ async function cacheFirst(request, cacheName) { } return response; } catch (error) { - // Return offline page for navigation requests if (request.mode === 'navigate') { return caches.match('/offline.html'); } @@ -168,8 +258,8 @@ async function cacheFirst(request, cacheName) { } /** - * Network First - Try network, fallback to cache - * Best for: API requests, dynamic content + * Network First — Try network, fallback to cache. + * Best for: API requests, dynamic content. */ async function networkFirst(request, cacheName) { try { @@ -187,89 +277,141 @@ async function networkFirst(request, cacheName) { } /** - * Stale While Revalidate - Return cache immediately, update in background - * Best for: Module assets, frequently updated content + * Stale While Revalidate — Return cache immediately, update in background. + * Best for: Module assets, frequently updated content. */ async function staleWhileRevalidate(request, cacheName) { const cache = await caches.open(cacheName); const cached = await cache.match(request); - + const fetchPromise = fetch(request).then((response) => { if (response.ok) { cache.put(request, response.clone()); } return response; }).catch(() => cached); - + return cached || fetchPromise; } /** - * Cache Then Network with limit - Cache tiles with size limit - * Best for: Map tiles + * Tile Cache then Network — Per-host bucket with size limit. + * Cache first; on miss, fetch from network and store. + * + * Memory-conservative eviction: + * • Increments an in-memory counter on every successful insert + * • Only calls cache.keys() (which materialises all Request objects) every + * EVICTION_CHECK_INTERVAL inserts — so the cost is amortised + * • Eviction drops the oldest 10 % when over the per-host limit + * + * On network failure (offline), serves a 408 so the map renders a blank tile + * rather than throwing. */ -async function cacheThenNetwork(request, cacheName, maxItems) { +async function tileCacheThenNetwork(request, cacheName) { const cache = await caches.open(cacheName); const cached = await cache.match(request); - if (cached) return cached; - + try { const response = await fetch(request); - + if (response.ok) { - // Check cache size and trim if needed - const keys = await cache.keys(); - if (keys.length >= maxItems) { - // Remove oldest entries (first 10%) - const toDelete = keys.slice(0, Math.ceil(maxItems * 0.1)); - await Promise.all(toDelete.map(key => cache.delete(key))); + // Bump the counter; periodically run a real eviction sweep + const count = (_tileInsertCounters.get(cacheName) || 0) + 1; + _tileInsertCounters.set(cacheName, count); + + if (count % EVICTION_CHECK_INTERVAL === 0) { + // Reset the counter — next sweep is another EVICTION_CHECK_INTERVAL away + _tileInsertCounters.set(cacheName, 0); + await maybeEvict(cache, cacheName); } - - cache.put(request, response.clone()); + + // Don't await put() — it can run after we return the response, keeping + // the fetch hot path lightweight. + cache.put(request, response.clone()).catch((err) => { + // QuotaExceededError → run an immediate eviction sweep and retry once + if (err && err.name === 'QuotaExceededError') { + maybeEvict(cache, cacheName, /* force */ true).catch(() => {}); + } + }); } - + return response; } catch (error) { - // For tiles, just fail silently - map will show blank tile + // Offline — let the map renderer show a blank tile return new Response('', { status: 408, statusText: 'Offline' }); } } +/** + * Run an eviction sweep on a cache, dropping the oldest 10 % of entries + * when over the per-cache limit. Heavy: only call periodically. + */ +async function maybeEvict(cache, cacheName, force = false) { + try { + const limit = TILE_LIMITS[cacheName] || 1500; + const keys = await cache.keys(); + if (force || keys.length >= limit) { + const drop = Math.max(1, Math.ceil(limit * 0.1)); + const toDelete = keys.slice(0, drop); + await Promise.all(toDelete.map((k) => cache.delete(k))); + } + } catch (err) { + console.warn('[SW] eviction sweep failed for', cacheName, err); + } +} + // ============================================================================ // MESSAGE HANDLING // ============================================================================ self.addEventListener('message', (event) => { const { type, payload } = event.data || {}; - + switch (type) { case 'SKIP_WAITING': self.skipWaiting(); break; - + case 'CACHE_MODULES': cacheModules(payload.modules); break; - + case 'CLEAR_USER_CACHE': clearUserCaches(); break; - + case 'GET_CACHE_STATUS': - getCacheStatus().then(status => { + getCacheStatus().then((status) => { event.source.postMessage({ type: 'CACHE_STATUS', status }); }); break; + + // ----- Tile-cache management (Phase 1 offline maps) ----- + case 'GET_TILE_STATS': + getTileStats().then((stats) => { + event.source.postMessage({ type: 'TILE_STATS', stats }); + }); + break; + + case 'CLEAR_TILE_CACHES': + clearTileCaches().then(() => { + event.source.postMessage({ type: 'TILE_CACHES_CLEARED' }); + }); + break; } }); +// ============================================================================ +// HELPER FUNCTIONS +// ============================================================================ + /** - * Cache specific modules on demand + * Cache specific modules on demand. */ async function cacheModules(moduleNames) { const cache = await caches.open(MODULES_CACHE); - + for (const moduleName of moduleNames) { try { const moduleAssets = [ @@ -277,9 +419,8 @@ async function cacheModules(moduleNames) { `/modules/${moduleName}/index.css`, `/modules/${moduleName}/index.html` ]; - + await cache.addAll(moduleAssets.filter(async (url) => { - // Only cache assets that exist try { const response = await fetch(url, { method: 'HEAD' }); return response.ok; @@ -287,7 +428,7 @@ async function cacheModules(moduleNames) { return false; } })); - + console.log('[SW] Cached module:', moduleName); } catch (error) { console.warn('[SW] Failed to cache module:', moduleName, error); @@ -296,7 +437,8 @@ async function cacheModules(moduleNames) { } /** - * Clear user-specific caches (call on logout) + * Clear user-specific caches (call on logout). + * Tile caches are NOT cleared here — those belong to the device, not the user. */ async function clearUserCaches() { await caches.delete(API_CACHE); @@ -305,17 +447,90 @@ async function clearUserCaches() { } /** - * Get cache status information + * Get summary status of all caches (count of entries in each). */ async function getCacheStatus() { const cacheNames = await caches.keys(); const status = {}; - + for (const name of cacheNames) { const cache = await caches.open(name); const keys = await cache.keys(); status[name] = keys.length; } - + return status; } + +/** + * Get per-provider tile cache statistics. + * + * Returns shape: + * { + * totals: { count, estBytes }, + * byProvider: [{ key, label, count, limit, estBytes }, ...] + * } + * + * estBytes is an approximation (count × AVG_TILE_BYTES). For an exact size, + * the caller can use navigator.storage.estimate() on the page side. + * + * Result is cached for STATS_TTL_MS so rapid re-queries (e.g. multiple + * Settings opens) don't re-enumerate every cache. + */ +const STATS_TTL_MS = 10 * 1000; +let _cachedStats = null; +let _cachedStatsAt = 0; + +async function getTileStats({ force = false } = {}) { + const now = Date.now(); + if (!force && _cachedStats && (now - _cachedStatsAt) < STATS_TTL_MS) { + return _cachedStats; + } + + const byProvider = []; + let totalCount = 0; + + for (const cacheName of ALL_TILE_CACHES) { + let count = 0; + if (await caches.has(cacheName)) { + const cache = await caches.open(cacheName); + // matchAll returns a smaller payload than keys() on Safari, but neither + // is free. Done at most once per STATS_TTL_MS thanks to the cache above. + const keys = await cache.keys(); + count = keys.length; + } + byProvider.push({ + key: cacheName, + label: TILE_CACHE_LABELS[cacheName] || cacheName, + count, + limit: TILE_LIMITS[cacheName] || 0, + estBytes: count * AVG_TILE_BYTES, + }); + totalCount += count; + } + + _cachedStats = { + totals: { + count: totalCount, + estBytes: totalCount * AVG_TILE_BYTES, + }, + byProvider, + }; + _cachedStatsAt = now; + return _cachedStats; +} + +/** + * Delete every tile cache. Frees the device storage used by cached map tiles. + * Does not affect app-shell, modules, or API caches. + */ +async function clearTileCaches() { + const results = await Promise.all( + ALL_TILE_CACHES.map((name) => caches.delete(name)) + ); + // Reset counters and invalidate stats cache + _tileInsertCounters.clear(); + _cachedStats = null; + _cachedStatsAt = 0; + console.log('[SW] Cleared tile caches:', ALL_TILE_CACHES.filter((_, i) => results[i])); +} diff --git a/dist/icons/luspa.icon/Assets/luspalogo.png b/favicon.ico/Assets/luspalogo.png similarity index 100% rename from dist/icons/luspa.icon/Assets/luspalogo.png rename to favicon.ico/Assets/luspalogo.png diff --git a/dist/icons/luspa.icon/icon.json b/favicon.ico/icon.json similarity index 100% rename from dist/icons/luspa.icon/icon.json rename to favicon.ico/icon.json diff --git a/index.html b/index.html index 3458695..8d7a11c 100644 --- a/index.html +++ b/index.html @@ -2,19 +2,64 @@ - + - - - + + + + - - - - + + LUPMIS2 Drawing Tools @@ -106,6 +151,295 @@ --radius-2xl: 1rem; } + /* ─── Fieldwork Mode ─── high-contrast + larger touch targets ─── */ + .fieldwork-mode { + --foreground: #000; + --background: #fff; + --card: #fff; + --card-foreground: #000; + --primary: #0044aa; + --primary-foreground: #fff; + --primary-hover: #003080; + --muted: #e0e0e0; + --muted-foreground: #333; + --accent: #cce0ff; + --accent-foreground: #000; + --border: rgba(0,0,0,0.25); + --success: #005a00; + --success-foreground: #fff; + --warning: #b36b00; + --warning-foreground: #000; + --destructive: #b80000; + --destructive-foreground: #fff; + --ring: #0044aa; + --bs-body-color: #000; + } + + /* Fieldwork: larger dock buttons */ + .fieldwork-mode .dock-btn { + min-width: 72px; + min-height: 58px; + font-size: 1.6rem; + border-width: 2px; + } + .fieldwork-mode .dock-btn-label { + font-size: 0.75rem; + font-weight: 600; + } + + /* Fieldwork: bolder navbar */ + .fieldwork-mode .navbar { + border-bottom-width: 4px; + } + .fieldwork-mode .navbar .navbar-brand { + font-size: 1.6rem; + } + + /* Fieldwork: larger offcanvas toggle buttons */ + .fieldwork-mode .offcanvas-toggle { + width: 44px; + height: 44px; + font-size: 1.2rem; + } + + /* Fieldwork: thicker bottom dock border */ + .fieldwork-mode .bottom-dock { + border-top-width: 4px; + } + + /* Fieldwork: larger text in cards / lists */ + .fieldwork-mode .card-header h6 { + font-size: 1rem; + } + .fieldwork-mode .list-group-item { + font-size: 0.95rem; + padding: 0.65rem 1rem; + } + + /* Fieldwork: larger buttons globally */ + .fieldwork-mode .btn { + font-size: 0.95rem; + padding: 0.5rem 1rem; + font-weight: 600; + } + .fieldwork-mode .btn-sm { + font-size: 0.85rem; + padding: 0.4rem 0.75rem; + } + + /* Fieldwork: stronger borders on inputs / form controls */ + .fieldwork-mode .form-control, + .fieldwork-mode .form-select { + border-width: 2px; + border-color: #555; + font-size: 1rem; + } + + /* Fieldwork: bolder map controls (ol-ext) */ + .fieldwork-mode .ol-control button { + font-size: 1.3rem; + width: 2.2em; + height: 2.2em; + } + + /* Fieldwork: scale bar text legibility */ + .fieldwork-mode .ol-scale-bar .ol-scale-step-text, + .fieldwork-mode .ol-scale-bar .ol-scale-text { + font-size: 12px; + font-weight: 700; + text-shadow: 0 0 4px #fff, 0 0 8px #fff; + } + + /* ─── Dark Mode ─── reversed colour scheme ─── */ + .dark-mode { + --foreground: #e0dff0; + --background: #131325; + --card: #1e1e38; + --card-foreground: #e0dff0; + --primary: #4d9de6; + --primary-foreground: #fff; + --primary-hover: #6fb3f0; + --muted: #272745; + --muted-foreground: #9594a8; + --accent: #1e3a5f; + --accent-foreground: #e0dff0; + --border: rgba(255,255,255,0.12); + --ring: #4d9de6; + --success: #2dd46a; + --success-foreground: #131325; + --warning: #ffb84d; + --warning-foreground: #131325; + --destructive: #f04040; + --destructive-foreground: #fff; + --bs-body-color: #e0dff0; + --bs-body-bg: #131325; + --bs-tertiary-bg: #1e1e38; + color-scheme: dark; + } + + /* Dark: navbar */ + .dark-mode .navbar { + background-color: #1a1a30 !important; + box-shadow: 0 1px 6px rgba(0,0,0,0.4); + } + + /* Dark: bottom dock */ + .dark-mode .bottom-dock { + background-color: #1a1a30; + box-shadow: 0 -2px 10px rgba(0,0,0,0.3); + } + .dark-mode .dock-btn { + border-color: var(--primary); + color: var(--foreground); + } + .dark-mode .dock-btn:hover { + background-color: var(--muted); + } + .dark-mode .dock-btn.active { + background-color: var(--primary); + color: var(--primary-foreground); + } + + /* Dark: offcanvas panels */ + .dark-mode .offcanvas { + background-color: var(--background) !important; + color: var(--foreground) !important; + } + .dark-mode .offcanvas-header { + border-bottom-color: var(--border) !important; + } + .dark-mode .btn-close { + filter: invert(1) grayscale(100%) brightness(200%); + } + + /* Dark: cards */ + .dark-mode .card { + background-color: var(--card) !important; + color: var(--card-foreground) !important; + border-color: var(--border) !important; + } + + /* Dark: offcanvas toggle buttons */ + .dark-mode .offcanvas-toggle { + background-color: var(--card); + color: var(--foreground); + border-color: var(--border); + } + .dark-mode .offcanvas-toggle:hover { + background-color: var(--primary); + color: var(--primary-foreground); + } + + /* Dark: form controls */ + .dark-mode .form-control, + .dark-mode .form-select { + background-color: var(--muted) !important; + color: var(--foreground) !important; + border-color: var(--border) !important; + } + .dark-mode .form-check-input { + background-color: var(--muted); + border-color: var(--muted-foreground); + } + .dark-mode .form-check-input:checked { + background-color: var(--primary); + border-color: var(--primary); + } + + /* Dark: list groups */ + .dark-mode .list-group-item { + background-color: var(--card) !important; + color: var(--card-foreground) !important; + border-color: var(--border) !important; + } + + /* Dark: buttons */ + .dark-mode .btn-outline-primary { + color: var(--primary); + border-color: var(--primary); + } + .dark-mode .btn-outline-danger { + color: var(--destructive); + border-color: var(--destructive); + } + + /* Dark: text utilities */ + .dark-mode .text-muted { + color: var(--muted-foreground) !important; + } + + /* Dark: measurement tooltips */ + .dark-mode .measure-tooltip { + background: rgba(30, 30, 56, 0.95); + color: var(--foreground); + border-color: var(--primary); + } + .dark-mode .measure-tooltip::before { + border-right-color: var(--primary); + } + + /* Dark: OL controls */ + .dark-mode .ol-control button { + background-color: var(--card) !important; + color: var(--foreground) !important; + } + .dark-mode .ol-control button:hover { + background-color: var(--primary) !important; + color: var(--primary-foreground) !important; + } + .dark-mode .ol-attribution, + .dark-mode .ol-attribution a { + color: var(--muted-foreground) !important; + } + + /* Dark: scale bar */ + .dark-mode .ol-scale-bar .ol-scale-step-text, + .dark-mode .ol-scale-bar .ol-scale-text { + color: #fff !important; + text-shadow: 0 0 4px #000, 0 0 8px #000 !important; + } + .dark-mode .ol-scale-bar .ol-scale-singlebar-even { + background-color: #fff !important; + } + .dark-mode .ol-scale-bar .ol-scale-singlebar-odd { + background-color: #999 !important; + } + + /* Dark: map drop overlay */ + .dark-mode .map-drop-overlay { + background: rgba(19, 19, 37, 0.85); + border-color: var(--primary); + color: var(--foreground); + } + + /* Dark: ol-ext LayerSwitcher */ + .dark-mode .ol-layerswitcher { + background-color: var(--card) !important; + } + .dark-mode .ol-layerswitcher .panel { + background-color: var(--card) !important; + color: var(--foreground) !important; + } + .dark-mode .ol-layerswitcher .panel li { + color: var(--foreground); + } + .dark-mode .ol-layerswitcher .ol-switchertopdiv, + .dark-mode .ol-layerswitcher .ol-switcherbottomdiv { + background: var(--card) !important; + } + + /* Dark: alert boxes */ + .dark-mode .alert-danger { + background-color: rgba(240, 64, 64, 0.15) !important; + color: var(--destructive) !important; + border-color: var(--destructive) !important; + } + .dark-mode .alert-success { + background-color: rgba(45, 212, 106, 0.15) !important; + color: var(--success) !important; + border-color: var(--success) !important; + } + /* Full height layout */ html, body { height: 100%; @@ -214,9 +548,12 @@ font-family: var(--font-body); } - /* Main container - full height */ + /* Main container - full height. + 100dvh accounts for mobile browser chrome and OS nav bars. + Falls back to 100vh for older browsers. */ .app-container { height: 100vh; + height: 100dvh; display: flex; flex-direction: column; } @@ -244,6 +581,35 @@ height: 100%; } + /* Drag-and-drop overlay shown when files are dragged over the map */ + .map-drop-overlay { + position: absolute; + inset: 0; + z-index: 9999; + display: flex; + align-items: center; + justify-content: center; + background: rgba(0, 94, 184, 0.15); + border: 3px dashed var(--primary, #005eb8); + border-radius: 8px; + pointer-events: none; + opacity: 0; + transition: opacity 0.15s ease; + } + .map-container.drag-over .map-drop-overlay { + opacity: 1; + } + .map-drop-overlay span { + font-family: var(--font-body, 'Exo', sans-serif); + font-size: 1.15rem; + font-weight: 600; + color: var(--primary, #005eb8); + background: var(--card, #fff); + padding: 0.6rem 1.4rem; + border-radius: 6px; + box-shadow: 0 2px 8px rgba(0,0,0,0.12); + } + /* Offline indicator */ #offline-indicator { display: none; @@ -301,9 +667,14 @@ z-index: 1050; } - /* Fix ol-ext LayerSwitcher z-index */ - .ol-layerswitcher { - z-index: 100; + /* OL controls stacking context fix — OpenLayers sets z-index:0 on + .ol-overlaycontainer-stopevent, trapping all controls below the + offcanvas-toggle buttons (z-index:500). Raising the container + to 501 lets the LayerSwitcher dropdown render above the toggles. + pointer-events:none on the container still lets clicks through + to the toggle buttons underneath. */ + .ol-overlaycontainer-stopevent { + z-index: 501 !important; } /* Alert hint box */ @@ -419,7 +790,7 @@ } .offcanvas-toggle-bottom { - bottom: 80px; /* Above the dock */ + bottom: calc(80px + env(safe-area-inset-bottom, 0px)); /* Above the dock */ left: 50%; transform: translateX(-50%); } @@ -432,7 +803,10 @@ transform: translateX(-50%) scale(0.95); } - /* Bottom Dock — white card style with blue-strong accent */ + /* Bottom Dock — white card style with blue-strong accent. + env(safe-area-inset-bottom) adds padding on devices with a + home indicator / gesture bar (e.g. iPhone notch models). + The value is 0 on devices without an inset. */ .bottom-dock { position: absolute; bottom: 0; @@ -441,7 +815,7 @@ z-index: 600; background-color: var(--card); border-top: 3px solid var(--primary); - padding: 8px 16px; + padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); display: flex; justify-content: space-around; align-items: center; @@ -503,6 +877,13 @@ justify-content: center; } + /* Snap-guides toggle — highlighted when active */ + .ol-snap-toggle.ol-active button { + background: var(--primary) !important; + color: var(--primary-foreground, #fff) !important; + border-radius: 3px; + } + /* Touch-friendly improvements for forms and buttons */ .form-control, .form-select { min-height: 44px; @@ -541,6 +922,18 @@ color: var(--foreground); } + /* Message log in the right panel */ + .message-log { + max-height: 260px; + overflow-y: auto; + } + + .message-log-entry { + font-size: 0.82rem; + border-color: var(--border, #eee) !important; + background: transparent; + } + /* ol-ext GeolocationButton styling */ .ol-geobt { top: auto !important; @@ -830,6 +1223,7 @@ /* Locations list in offcanvas - can be taller now without form */ .offcanvas-end .locations-list { max-height: calc(100vh - 280px); + max-height: calc(100dvh - 280px); overflow-y: auto; } @@ -921,17 +1315,32 @@ font-size: 18px; } - /* ScaleLine - position above the bottom dock */ - .ol-scale-line { - bottom: 76px !important; + /* ScaleBar - position above the bottom dock with 4px gap */ + .ol-scale-bar { + bottom: calc(85px + env(safe-area-inset-bottom, 0px)) !important; left: 10px !important; } - .ol-scale-line-inner { - border-color: var(--foreground) !important; + .ol-scale-bar .ol-scale-step-text { color: var(--foreground) !important; font-family: var(--font-body) !important; font-size: 11px !important; + text-shadow: 0 0 3px var(--background), 0 0 6px var(--background) !important; + } + + .ol-scale-bar .ol-scale-text { + color: var(--foreground) !important; + font-family: var(--font-body) !important; + font-size: 11px !important; + text-shadow: 0 0 3px var(--background), 0 0 6px var(--background) !important; + } + + .ol-scale-bar .ol-scale-singlebar-even { + background-color: var(--foreground) !important; + } + + .ol-scale-bar .ol-scale-singlebar-odd { + background-color: var(--muted-foreground) !important; } /* ol-ext Bar overrides */ @@ -980,6 +1389,7 @@
+
Drop file to import (.shp .geojson .kml)
+ + + + + + + +
-
+
Local Database Tables
+
TableRecordsRecords
- + + @@ -1142,6 +1575,10 @@ + + + +
+
+
Messages
+ +
+
+
+
+ No messages yet. +
+
+
+
+
-
Bottom Panel
+
Settings
-
+
-

This is the bottom offcanvas panel.

-

You can add a data table, charts, or other wide content here.

+
+ +
+
+
+
+
+
Fieldwork Mode
+ High-contrast colours and larger touch targets for bright sunlight and field conditions. +
+
+ +
+
+
+ +
+
+
+
+
+
Dark Mode
+ Reduce glare and save battery with a dark colour scheme. +
+
+ +
+
+
+
+
+ +
+
+
+
+
+
Measurement System
+ Switch between Metric (m, km) and Imperial (ft, mi, acres) units. +
+
+ + +
+
+
+
+
+ +
+
+
+
+
+
Default Base Map
+ Base map shown on app start. Saved on this device. +
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+ Offline Map Tiles +
+ + Map tiles you've already viewed are cached on this device so they work offline. + Tiles are cached automatically as you browse, or you can pre-download a region. + +
+
+ + +
+
+
+
Loading…
+
+
+
+
+
+
+ + + + diff --git a/main.js b/main.js index 21767c0..07e728d 100644 --- a/main.js +++ b/main.js @@ -36,6 +36,11 @@ import { insertNewParcel, saveBuildingFootprints, getLocalBuildingFootprints, + saveOSMRoads, + getLocalOSMRoads, + isCachedLayerTable, + clearTable, + clearAllCachedLayers, getTableStats, getTableContent } from './src/database.js'; @@ -49,14 +54,35 @@ import GeoJSON from 'ol/format/GeoJSON'; // OpenLayers WKT format (for writing drawn polygon geometries to database) import WKT from 'ol/format/WKT'; +// OpenLayers KML format (for KML file import) +import KML from 'ol/format/KML'; + +// Shapefile parser (reads .zip containing .shp/.dbf/.shx/.prj) +// Lazy-loaded — only fetched the first time the user imports a shapefile. +let _shpModule = null; +async function getShp() { + if (!_shpModule) { + const mod = await import('shpjs'); + _shpModule = mod.default || mod; + } + return _shpModule; +} + // Map measurement and drawing tools import { MapTools } from './src/components/MapTools.js'; // PWA module (registers Service Worker, handles install/offline) -import { initPWA, isOnline, onOfflineChange } from './src/pwa.js'; +import { initPWA, isOnline, onOfflineChange, getTileCacheStats, clearTileCaches, getStorageEstimate, onServiceWorkerControllerChange } from './src/pwa.js'; +import { + BASEMAP_TEMPLATES, + GHANA_EXTENT_3857, + countTiles, + estimatedSizeBytes, + OfflineTileDownloader, +} from './src/offlineTiles.js'; // Remote database API (PostgreSQL backend) -import { getDistrictBoundary, getLayers, getCollectorZones, getDistrictParcels, getBuildingFootprints } from './src/remotedb.js'; +import { checkServerReachable, isServerReachable, getDistrictBoundary, getLayers, getCollectorZones, getDistrictParcels, getBuildingFootprints, getContoursHillshade, getOSMRoads } from './src/remotedb.js'; // Map instance (global for access across functions) let mapView = null; @@ -80,10 +106,13 @@ async function initApp() { }); // 2. Initialize the map + // Restore the user's preferred default base map from localStorage + const savedBasemap = localStorage.getItem('default-basemap') || 'topo'; + mapView = new MapView('map', { center: [-1.5, 7.5], // Ghana zoom: 7, - basemap: 'osm' + basemap: savedBasemap, }); // Initialize map measurement tools @@ -93,9 +122,13 @@ async function initApp() { mapTools.onMeasureComplete((result) => { console.log('[MapTools] Measurement complete:', result); - // When an area polygon is completed, show the attribute form popup + // Only show the Polygon Attributes popup for polygons drawn with the + // Draw tool — NOT for area measurements (which have _layerType = 'measure_area'). if (result.type === 'polygon' && result.coordinate) { - mapView?.showDrawnPolygonPopup(result.feature, result.coordinate); + const lt = result.feature?.get('_layerType'); + if (lt !== 'measure_area') { + mapView?.showDrawnPolygonPopup(result.feature, result.coordinate); + } } }); @@ -108,10 +141,9 @@ async function initApp() { console.log('[MapClick] Clicked at:', lon.toFixed(4), lat.toFixed(4)); console.log('[MapClick] currentMode =', currentMode); - // In draw mode the Select interaction handles clicks for geometry - // editing — don't interfere with it. - if (currentMode === 'draw') { - console.log('[MapClick] In draw mode, Select interaction handles clicks'); + // In draw or measurement modes, clicks drive the tool — don't + // open popups or select features. + if (currentMode === 'draw' || currentMode.startsWith('measure')) { return; } @@ -164,6 +196,9 @@ async function initApp() { } else if (layerType === 'measure_circle_radius') { // Clicked on the radius line — ignore return; + } else if (layerType === 'measure_area') { + // Area measurement polygon: show intersection analysis + mapView.showAreaIntersectionPopup(feature, evt.coordinate); } else if (layerType === 'collector_zone') { mapView.showInfoPopup(feature, evt.coordinate, { title: 'Zone Info', @@ -265,6 +300,17 @@ async function initApp() { const status = await getDatabaseStatus(); console.log('[App] Database status:', status); + // Quick server reachability check (5 s timeout) — if the API server + // is down, all load functions will skip remote fetches and fall back + // to local cached data immediately, keeping the app responsive. + if (isOnline()) { + const reachable = await checkServerReachable(); + if (!reachable) { + console.warn('[App] API server unreachable — using local data only'); + showWarning('Server not responding — loading cached data.'); + } + } + // Load remote overlays (needs remote_data table from initSchema) // loadLayers must complete first so the layer groups exist // before loadDistrictBoundary adds into the Administration group. @@ -277,6 +323,9 @@ async function initApp() { loadCollectorZones(); loadParcels(); loadBuildingFootprints(); + loadContoursHillshade(); + loadOSMRoads(); + loadExternalWMSLayers(); } catch (error) { console.error('[App] Database initialization failed:', error); @@ -316,6 +365,24 @@ async function initApp() { } }); + // 8. Fieldwork mode (high-contrast + large touch targets) + initFieldworkMode(); + + // 9. Measurement system toggle (metric / imperial) + initMeasurementSystem(); + + // 10. Dark mode + initDarkMode(); + + // 11. Default base map selector + initDefaultBasemap(); + + // 12. Offline tile-cache stats card + initOfflineTileCache(); + + // 13. Offline-download dialog + initOfflineDownloadDialog(); + console.log('[App] Initialized successfully'); } @@ -326,6 +393,9 @@ async function initApp() { function initUI() { console.log('[initUI] Starting UI initialization...'); + // Message log (persistent stack in right panel) + initMessageLog(); + // Export button const exportBtn = document.getElementById('export-btn'); if (exportBtn) { @@ -338,6 +408,31 @@ function initUI() { localDataBtn.addEventListener('click', () => refreshLocalDataStats()); } + // File import buttons (Shapefile, GeoJSON, KML) + const importShpBtn = document.getElementById('import-shp-btn'); + const shpFileInput = document.getElementById('shp-file-input'); + if (importShpBtn && shpFileInput) { + importShpBtn.addEventListener('click', () => shpFileInput.click()); + shpFileInput.addEventListener('change', handleShapefileImport); + } + + const importGeoJSONBtn = document.getElementById('import-geojson-btn'); + const geojsonFileInput = document.getElementById('geojson-file-input'); + if (importGeoJSONBtn && geojsonFileInput) { + importGeoJSONBtn.addEventListener('click', () => geojsonFileInput.click()); + geojsonFileInput.addEventListener('change', handleGeoJSONImport); + } + + const importKMLBtn = document.getElementById('import-kml-btn'); + const kmlFileInput = document.getElementById('kml-file-input'); + if (importKMLBtn && kmlFileInput) { + importKMLBtn.addEventListener('click', () => kmlFileInput.click()); + kmlFileInput.addEventListener('change', handleKMLImport); + } + + // Drag-and-drop file import on the map + initMapDropZone(); + // GeoJSON Export button const exportGeoJSONBtn = document.getElementById('exportGeoJSON-btn'); if (exportGeoJSONBtn) { @@ -669,32 +764,95 @@ function renderLocations(locations) { async function refreshLocalDataStats() { const statsContainer = document.getElementById('local-data-stats'); const tbody = document.getElementById('local-data-tbody'); + const clearAllBtn = document.getElementById('clear-all-cached-btn'); if (!statsContainer || !tbody) return; try { const stats = await getTableStats(); - tbody.innerHTML = stats.map(t => ` - - - - - `).join(''); + + tbody.innerHTML = stats.map((t) => { + const isCached = isCachedLayerTable(t.name); + const clearBtn = isCached + ? `` + : ''; + return ` + + + + + + `; + }).join(''); statsContainer.classList.remove('d-none'); - // Attach click handlers to table name links - tbody.querySelectorAll('.table-name-link').forEach(link => { + // Table-name link → open content modal + tbody.querySelectorAll('.table-name-link').forEach((link) => { link.addEventListener('click', (e) => { e.preventDefault(); showTableContent(link.dataset.table); }); }); + + // Per-row clear → confirm, clear that table, refresh stats + tbody.querySelectorAll('.table-clear-btn').forEach((btn) => { + btn.addEventListener('click', async (e) => { + e.preventDefault(); + const tableName = btn.dataset.table; + if (!confirm(`Clear local cache for "${tableName}"?\n\nThe data will be re-downloaded from the server on the next app start.`)) return; + try { + const removed = await clearTable(tableName); + showSuccess(`Cleared ${removed} row${removed === 1 ? '' : 's'} from "${tableName}". It will re-download on next start.`); + await refreshLocalDataStats(); + } catch (err) { + console.error('[App] Per-table clear failed:', err); + showError(`Could not clear "${tableName}": ${err.message}`); + } + }); + }); } catch (error) { console.error('[App] Failed to load table stats:', error); - tbody.innerHTML = ``; + tbody.innerHTML = ``; statsContainer.classList.remove('d-none'); } + + // Bulk-clear button — wire up once + if (clearAllBtn && !clearAllBtn._wired) { + clearAllBtn._wired = true; + clearAllBtn.addEventListener('click', handleClearAllCachedLayers); + } +} + +/** + * Clear every cached layer table and offer to reload the app so the layers + * re-download immediately. If the user dismisses the reload prompt, the + * fresh fetch will happen on the next manual app start. + */ +async function handleClearAllCachedLayers() { + if (!confirm( + 'Delete all cached map layers from this device?\n\n' + + 'The next time the app starts (or after a reload), every layer will be ' + + 're-downloaded from the server. Your locally drawn data is not affected.' + )) return; + + try { + const results = await clearAllCachedLayers(); + const total = results.reduce((s, r) => s + r.count, 0); + showSuccess(`Cleared ${total} row${total === 1 ? '' : 's'} across ${results.length} table${results.length === 1 ? '' : 's'}.`); + await refreshLocalDataStats(); + + if (confirm('Reload the app now to re-download the layers fresh from the server?')) { + window.location.reload(); + } + } catch (err) { + console.error('[App] Clear-all failed:', err); + showError('Failed to clear cached layers: ' + err.message); + } } // ============================================================================ @@ -1040,8 +1198,8 @@ async function loadDistrictBoundary() { zoomToBoundary(layer); } - // Step 2: If online, fetch fresh data from the API - if (isOnline()) { + // Step 2: If online and server reachable, fetch fresh data from the API + if (isOnline() && isServerReachable()) { console.log('[App] Fetching district boundary from API...'); const apiResponse = await getDistrictBoundary(); @@ -1134,8 +1292,8 @@ async function loadCollectorZones() { } } - // Step 2: If online, fetch fresh data from the API - if (isOnline()) { + // Step 2: If online and server reachable, fetch fresh data from the API + if (isOnline() && isServerReachable()) { console.log('[App] Fetching collector zones from API...'); const apiResponse = await getCollectorZones(); @@ -1179,17 +1337,31 @@ async function loadCollectorZones() { function parcelsToGeoJSON(parcels) { if (!Array.isArray(parcels) || parcels.length === 0) return null; + // Deduplicate by id — the API may return the same parcel more than once + const seen = new Set(); const features = []; for (const parcel of parcels) { - // API may use 'polygon', 'boundary', 'geom' or 'wkt' for the WKT field - const wkt = parcel.polygon || parcel.boundary || parcel.geom || parcel.wkt; - const geometry = parseWKT(wkt); + const id = parcel.id || parcel.parcelid || parcel.parcel_id; + if (id != null) { + if (seen.has(id)) continue; + seen.add(id); + } + + // Prefer the GeoJSON geometry (sp_boundary) if available; fall back to WKT + let geometry = null; + if (parcel.sp_boundary && parcel.sp_boundary.type && parcel.sp_boundary.coordinates) { + geometry = { type: parcel.sp_boundary.type, coordinates: parcel.sp_boundary.coordinates }; + } else { + const wkt = parcel.boundary || parcel.polygon || parcel.geom || parcel.wkt; + geometry = parseWKT(wkt); + } if (!geometry) continue; - // Collect all properties except the raw WKT geometry + // Collect all properties except bulky geometry fields + const skipKeys = new Set(['polygon', 'boundary', 'geom', 'wkt', 'textboundary', 'sp_boundary']); const properties = { _layerType: 'parcel' }; for (const [key, value] of Object.entries(parcel)) { - if (key === 'polygon' || key === 'boundary' || key === 'geom' || key === 'wkt') continue; + if (skipKeys.has(key)) continue; properties[key] = value; } @@ -1258,8 +1430,8 @@ async function loadParcels() { } } - // Step 2: If online, fetch fresh data from the API - if (isOnline()) { + // Step 2: If online and server reachable, fetch fresh data from the API + if (isOnline() && isServerReachable()) { console.log('[App] Fetching parcels from API...'); const apiResponse = await getDistrictParcels(); @@ -1395,8 +1567,8 @@ async function loadBuildingFootprints() { } } - // Step 2: If online, fetch fresh data from the API - if (isOnline()) { + // Step 2: If online and server reachable, fetch fresh data from the API + if (isOnline() && isServerReachable()) { console.log('[App] Fetching building footprints from API...'); const apiResponse = await getBuildingFootprints(); @@ -1435,6 +1607,281 @@ async function loadBuildingFootprints() { } } +/** + * Convert an array of DB rows (each with a WKT geom field) to GeoJSON. + * Uses OpenLayers' WKT parser so LINESTRING, MULTILINESTRING, POLYGON, etc. + * are all supported out of the box. + * + * @param {Array} rows — API rows, each having a WKT-valued geom/geometry/wkt field + * @param {string} layerType — value to store in each feature's _layerType property + * @returns {Object|null} GeoJSON FeatureCollection, or null if no valid rows + */ +function wktRowsToGeoJSON(rows, layerType) { + if (!Array.isArray(rows) || rows.length === 0) return null; + + const wktFormat = new WKT(); + const geojsonFormat = new GeoJSON(); + // Field-name fallbacks — different endpoints alias the geometry column + // differently (e.g. get_osm_roads uses `road`, get_contours_hillshade uses + // `geom`). The first non-null match wins. + const geomKeys = ['geom', 'geometry', 'wkt', 'polygon', 'boundary', 'road', 'line']; + + const features = []; + for (const row of rows) { + const raw = row.geom || row.geometry || row.wkt || row.polygon || row.boundary || row.road || row.line; + if (!raw) continue; + + let olGeom; + try { + if (typeof raw === 'object' && raw !== null && raw.type) { + // Already a GeoJSON geometry — just pass through + features.push({ + type: 'Feature', + properties: flattenProps(row, geomKeys, layerType), + geometry: raw, + }); + continue; + } + olGeom = wktFormat.readGeometry(raw); + } catch (err) { + console.warn(`[App] Could not parse WKT for ${layerType}:`, err, raw?.toString().slice(0, 60)); + continue; + } + + const geometry = JSON.parse(geojsonFormat.writeGeometry(olGeom)); + features.push({ + type: 'Feature', + properties: flattenProps(row, geomKeys, layerType), + geometry, + }); + } + + if (features.length === 0) return null; + return { type: 'FeatureCollection', features }; +} + +/** + * Flatten a DB row into properties, skipping geometry fields and nested objects. + */ +function flattenProps(row, skipKeys, layerType) { + const props = { _layerType: layerType }; + for (const [key, value] of Object.entries(row)) { + if (skipKeys.includes(key)) continue; + if (typeof value === 'object' && value !== null) continue; + props[key] = value; + } + return props; +} + +/** + * Load the "Contours hillshade" layer — elevation contours derived from + * OpenTopography, stored in PostgreSQL as `contours_hillshade`. + * + * Added to the "Biophysical Environment" LayerGroup, initially not visible. + * No local caching (the server is the source of truth). + */ +async function loadContoursHillshade() { + const contoursStyle = { + strokeColor: '#78716c', // warm grey — traditional contour colour + strokeWidth: 0.8, + fillColor: 'rgba(0,0,0,0)', + }; + + const biophysGroup = mapView?.getLayerGroupByTitle('Biophysical Environment'); + console.log('[App] loadContoursHillshade — group:', biophysGroup ? biophysGroup.get('title') : 'null'); + + // Create empty layer first so it always appears in the LayerSwitcher + const emptyGeoJSON = { type: 'FeatureCollection', features: [] }; + const contoursLayer = mapView?.addGeoJSONLayer(emptyGeoJSON, 'Contours hillshade', contoursStyle, biophysGroup); + if (!contoursLayer) { + console.warn('[App] Could not create Contours hillshade layer'); + return; + } + contoursLayer.setVisible(false); + + // Warn when the user enables the layer but it has no data + contoursLayer.on('change:visible', () => { + if (contoursLayer.getVisible() && contoursLayer.getSource().getFeatures().length === 0) { + showError('No Contours hillshade data available. Connect to the internet to download it.'); + } + }); + + // Fetch from API (only when online and server reachable — no local cache) + if (!isOnline() || !isServerReachable()) { + console.log('[App] Contours hillshade not available — offline or server unreachable'); + return; + } + + try { + console.log('[App] Fetching contours_hillshade from API...'); + const apiResponse = await getContoursHillshade(); + + if (!apiResponse?.success || !Array.isArray(apiResponse?.data)) { + console.warn('[App] getContoursHillshade API response invalid:', apiResponse); + return; + } + + const rows = apiResponse.data; + console.log('[App] Contours hillshade from API:', rows.length, 'rows'); + if (rows.length > 0) { + console.log('[App] First row keys:', Object.keys(rows[0])); + } + + const geojson = wktRowsToGeoJSON(rows, 'contours_hillshade'); + if (!geojson) { + console.warn('[App] Could not convert contours to GeoJSON'); + return; + } + + const features = new GeoJSON().readFeatures(geojson, { featureProjection: 'EPSG:3857' }); + contoursLayer.getSource().clear(); + contoursLayer.getSource().addFeatures(features); + console.log('[App] Contours hillshade loaded:', features.length, 'features'); + + } catch (error) { + console.error('[App] Failed to load contours_hillshade:', error); + } +} + +/** + * Load the "OSM_roads" layer — OpenStreetMap road network for the district. + * + * Added to the "Physical Infrastructures" LayerGroup (id 5), initially not + * visible — becomes visible when the user toggles it in the LayerSwitcher. + * + * Local-first caching: + * 1. Read from the local `osm_roads` table → render immediately if available + * 2. If online, fetch from the API → overwrite the local table → re-render + */ +async function loadOSMRoads() { + const PHYS_INFRA_GROUP_ID = 5; + // Cartographic road casing: a black outer stroke makes the light-coloured + // inner stroke (the "road body") readable on every base map. + const roadsStyle = { + strokeColor: '#F0F1F0', // inner — road body + strokeWidth: 1.5, + lineCasingColor: '#000000', // outer — black casing + lineCasingWidth: 3.5, + fillColor: 'rgba(0,0,0,0)', + }; + + const physInfraGroup = mapView?.getLayerGroup(PHYS_INFRA_GROUP_ID) || null; + console.log('[App] loadOSMRoads — group:', physInfraGroup ? physInfraGroup.get('title') : 'null'); + + // Create the layer immediately (empty) so it appears in the LayerSwitcher + // even when offline. + const emptyGeoJSON = { type: 'FeatureCollection', features: [] }; + const roadsLayer = mapView?.addGeoJSONLayer(emptyGeoJSON, 'OSM_roads', roadsStyle, physInfraGroup); + if (!roadsLayer) { + console.warn('[App] Could not create OSM_roads layer'); + return; + } + roadsLayer.setVisible(false); + + // Warn only when the layer is enabled AND truly empty AND no source is reachable + roadsLayer.on('change:visible', () => { + if (roadsLayer.getVisible() && roadsLayer.getSource().getFeatures().length === 0) { + showError('No OSM roads available locally. Connect to the internet to download them.'); + } + }); + + /** Replace the layer's features with those parsed from the API/cache rows. */ + function setRoadFeatures(rows) { + const geojson = wktRowsToGeoJSON(rows, 'osm_road'); + if (!geojson) { + console.warn('[App] Could not convert OSM roads to GeoJSON'); + return 0; + } + const features = new GeoJSON().readFeatures(geojson, { featureProjection: 'EPSG:3857' }); + roadsLayer.getSource().clear(); + roadsLayer.getSource().addFeatures(features); + return features.length; + } + + try { + // Step 1 — local cache (works offline, instant) + const cached = await getLocalOSMRoads(); + if (cached) { + const n = setRoadFeatures(cached); + console.log('[App] OSM_roads loaded from local cache:', n, 'features'); + } + + // Step 2 — fetch fresh from API when online + if (isOnline() && isServerReachable()) { + console.log('[App] Fetching OSM_roads from API...'); + const apiResponse = await getOSMRoads(); + + if (!apiResponse?.success || !Array.isArray(apiResponse?.data)) { + console.warn('[App] getOSMRoads API response invalid:', apiResponse); + return; + } + + const rows = apiResponse.data; + console.log('[App] OSM_roads from API:', rows.length, 'rows'); + if (rows.length > 0) { + console.log('[App] First row keys:', Object.keys(rows[0])); + } + + // Persist to local table so it's available next time offline + await saveOSMRoads(rows); + + const n = setRoadFeatures(rows); + console.log('[App] OSM_roads updated from API:', n, 'features'); + + } else if (!cached) { + console.log('[App] OSM_roads not available — offline and no local cache'); + } + + } catch (error) { + console.error('[App] Failed to load OSM_roads:', error); + } +} + +/** + * Add external WMS/XYZ layers to the map. + * Called after loadLayers() so the target layer groups already exist. + */ +function loadExternalWMSLayers() { + // DEAfrica Coastlines v0.4.0 — annual shorelines & rates of change + // Source: Digital Earth Africa GeoServer + // Latest available version as of 2026: v0.4.0 + mapView?.addWMSLayer( + 'Biophysical Environment', + 'DEAfrica Coastlines v0.4', + 'https://geoserver.digitalearth.africa/geoserver/wms', + 'coastlines:DEAfrica_Coastlines', + { serverType: 'geoserver', visible: false, onlineOnly: true } + ); + + // Note: OpenTopoMap is available as the "Topographic" base map — + // no separate overlay in "Biophysical Environment" needed. + + // Digital Earth Africa — SRTM-derived Slope (30m) + // Shows terrain steepness as a background overlay — hills and valleys stand + // out naturally, reading like a traditional shaded-relief topographic map. + // Service: datacube-ows (not GeoServer). + // Layer 'srtm_deriv' styles: 'style_slope', 'style_mrvbf' (valley bottoms), + // 'style_mrrtf' (ridge tops). + mapView?.addWMSLayer( + 'Biophysical Environment', + 'DEAfrica Slope (SRTM 30m)', + 'https://ows.digitalearth.africa/wms', + 'srtm_deriv', + { + serverType: null, + style: 'style_slope', + visible: false, + opacity: 0.5, + zIndex: -50, + onlineOnly: true, + attributions: + '© Digital Earth Africa — ' + + 'SRTM-derived Slope', + legendUrl: 'https://ows.digitalearth.africa/legend/srtm_deriv/style_slope/legend.png', + } + ); +} + /** * Load layer categories from the API and create empty VectorLayers on the map. * Uses local-first caching — reads from SQLite first, then refreshes from API when online. @@ -1466,8 +1913,8 @@ async function loadLayers() { createLayerGroupsOnMap(cached); } - // Step 2: If online, fetch fresh data from the API - if (isOnline()) { + // Step 2: If online and server reachable, fetch fresh data from the API + if (isOnline() && isServerReachable()) { console.log('[App] Fetching layer categories from API...'); const apiResponse = await getLayers(); @@ -1533,6 +1980,420 @@ async function syncData() { console.log('[App] Sync placeholder - implement based on your backend'); } +// ============================================================================ +// File Import (Shapefile, GeoJSON, KML) +// ============================================================================ + +/** All layers added by file imports — shared across formats. */ +const importedFileLayers = []; + +/** Default style for imported layers. */ +const IMPORT_STYLE = { + strokeColor: '#e11d48', + strokeWidth: 2, + fillColor: 'rgba(225,29,72,0.12)', +}; + +/** + * Show an error message inside the left panel's file-import alert area. + */ +function showFileImportError(message) { + logMessage('error', message); + const el = document.getElementById('file-import-alert'); + if (el) { + el.querySelector('.message-text').textContent = message; + el.classList.remove('d-none'); + setTimeout(() => el.classList.add('d-none'), 8000); + } +} + +/** + * Add a GeoJSON FeatureCollection (or array of them) to the map, zoom to + * the data, and refresh the imported-layers info card. + * + * @param {Object|Object[]} geojsonInput - Single FeatureCollection or array + * @param {string} fallbackName - Layer name when the FC has no fileName + * @param {string} tag - Log prefix, e.g. 'ShpImport' + */ +function addImportedGeoJSON(geojsonInput, fallbackName, tag) { + const collections = Array.isArray(geojsonInput) ? geojsonInput : [geojsonInput]; + + let totalFeatures = 0; + for (const fc of collections) { + if (!fc || fc.type !== 'FeatureCollection' || !fc.features?.length) continue; + + const layerName = fc.fileName + ? fc.fileName.replace(/\.[^/.]+$/, '') + : fallbackName; + + const layer = mapView?.addGeoJSONLayer(fc, layerName, IMPORT_STYLE); + if (layer) { + importedFileLayers.push(layer); + totalFeatures += fc.features.length; + } + } + + if (totalFeatures === 0) { + showFileImportError('No features found in the file.'); + return; + } + + console.log(`[${tag}] Added ${totalFeatures} feature(s) from ${collections.length} layer(s)`); + + // Zoom to the last imported layer + const lastLayer = importedFileLayers[importedFileLayers.length - 1]; + if (lastLayer) { + const extent = lastLayer.getSource().getExtent(); + mapView?.getMap().getView().fit(extent, { padding: [50, 50, 50, 50], maxZoom: 18 }); + } + + refreshImportedLayersCard(); +} + +/** + * Rebuild the imported-layers info card in the left panel. + */ +function refreshImportedLayersCard() { + const infoEl = document.getElementById('imported-layers-info'); + if (!infoEl) return; + + if (importedFileLayers.length === 0) { + infoEl.innerHTML = ''; + infoEl.classList.add('d-none'); + return; + } + + infoEl.innerHTML = ` +
+
+
Imported Layers
+ +
+
    +
    `; + + const listEl = infoEl.querySelector('#imported-layers-list'); + importedFileLayers.forEach((l, idx) => { + const li = document.createElement('li'); + li.className = 'list-group-item d-flex justify-content-between align-items-center py-2'; + li.innerHTML = `${escapeHtml(l.get('title'))} + + ${l.getSource().getFeatures().length} + + `; + listEl.appendChild(li); + }); + infoEl.classList.remove('d-none'); + + // Per-layer remove buttons + infoEl.querySelectorAll('[data-remove-idx]').forEach(btn => { + btn.addEventListener('click', () => { + removeImportedLayer(Number(btn.dataset.removeIdx)); + }); + }); + + // Remove-all button + infoEl.querySelector('#remove-imported-layers')?.addEventListener('click', () => { + removeImportedLayers(); + }); +} + +/** + * Remove a single imported layer by its index in importedFileLayers. + */ +function removeImportedLayer(idx) { + if (idx < 0 || idx >= importedFileLayers.length) return; + const layer = importedFileLayers[idx]; + const overlayGroup = mapView?.getOverlayGroup(); + if (overlayGroup) { + overlayGroup.getLayers().remove(layer); + } + importedFileLayers.splice(idx, 1); + refreshImportedLayersCard(); + console.log('[FileImport] Removed layer:', layer.get('title')); +} + +/** + * Remove all imported layers from the map and clear the info card. + */ +function removeImportedLayers() { + const overlayGroup = mapView?.getOverlayGroup(); + if (overlayGroup) { + for (const layer of importedFileLayers) { + overlayGroup.getLayers().remove(layer); + } + } + importedFileLayers.length = 0; + refreshImportedLayersCard(); + console.log('[FileImport] All imported layers removed'); +} + +// --------------------------------------------------------------------------- +// Shapefile (.shp / .zip) +// --------------------------------------------------------------------------- + +/** + * Build a lookup of selected files keyed by lowercase extension. + */ +function indexFilesByExtension(files) { + const map = {}; + for (const f of files) { + const ext = f.name.split('.').pop().toLowerCase(); + map[ext] = f; + } + return map; +} + +async function handleShapefileImport(evt) { + const files = evt.target.files; + if (!files || files.length === 0) return; + + const MAX_FILE_SIZE = 200 * 1024 * 1024; + const totalSize = Array.from(files).reduce((s, f) => s + f.size, 0); + if (totalSize > MAX_FILE_SIZE) { + const sizeMB = (totalSize / (1024 * 1024)).toFixed(0); + showFileImportError( + `Files too large (${sizeMB} MB total). Maximum supported size is 200 MB.` + ); + evt.target.value = ''; + return; + } + + try { + let geojson; + let displayName; + const byExt = indexFilesByExtension(files); + + if (byExt.zip) { + const file = byExt.zip; + displayName = file.name.replace(/\.zip$/i, ''); + console.log('[ShpImport] Parsing zip', file.name, '(' + (file.size / 1024).toFixed(1) + ' KB)'); + const shp = await getShp(); + geojson = await shp(await file.arrayBuffer()); + + } else if (byExt.shp) { + displayName = byExt.shp.name.replace(/\.shp$/i, ''); + + const required = ['dbf', 'shx', 'prj']; + const missing = required.filter(ext => !byExt[ext]); + if (missing.length > 0) { + showFileImportError('Missing required file(s): ' + missing.map(e => '.' + e).join(', ') + + '. Please select .shp, .dbf, .shx and .prj together.'); + evt.target.value = ''; + return; + } + + const shpObj = {}; + shpObj.shp = await byExt.shp.arrayBuffer(); + shpObj.dbf = await byExt.dbf.arrayBuffer(); + shpObj.prj = await new Response(byExt.prj).text(); + if (byExt.cpg) shpObj.cpg = await new Response(byExt.cpg).text(); + + console.log('[ShpImport] Parsing loose files:', + Object.keys(byExt).map(e => '.' + e).join(', '), + '(' + (byExt.shp.size / 1024).toFixed(1) + ' KB .shp)'); + + const shp = await getShp(); + geojson = await shp(shpObj); + + } else { + showFileImportError('Please select a .zip or at least a .shp file.'); + evt.target.value = ''; + return; + } + + addImportedGeoJSON(geojson, displayName, 'ShpImport'); + } catch (error) { + console.error('[ShpImport] Failed:', error); + showFileImportError('Failed to parse shapefile: ' + error.message); + } + + evt.target.value = ''; +} + +// --------------------------------------------------------------------------- +// GeoJSON (.geojson / .json) +// --------------------------------------------------------------------------- + +async function handleGeoJSONImport(evt) { + const file = evt.target.files?.[0]; + if (!file) return; + + // Guard: reject files larger than 200 MB — JSON.parse cannot reliably + // handle them in a single pass and the browser will freeze or crash. + const MAX_FILE_SIZE = 200 * 1024 * 1024; // 200 MB + if (file.size > MAX_FILE_SIZE) { + const sizeMB = (file.size / (1024 * 1024)).toFixed(0); + showFileImportError( + `File too large (${sizeMB} MB). Maximum supported size is 200 MB. ` + + 'Consider splitting the file into smaller tiles with ogr2ogr or QGIS.' + ); + evt.target.value = ''; + return; + } + + try { + const text = await file.text(); + console.log('[GeoJSONImport] Parsing', file.name, '(' + (file.size / 1024).toFixed(1) + ' KB)'); + + const parsed = JSON.parse(text); + + // Normalise to a FeatureCollection + let fc; + if (parsed.type === 'FeatureCollection') { + fc = parsed; + } else if (parsed.type === 'Feature') { + fc = { type: 'FeatureCollection', features: [parsed] }; + } else if (parsed.type && parsed.coordinates) { + // Bare geometry object + fc = { type: 'FeatureCollection', features: [{ type: 'Feature', geometry: parsed, properties: {} }] }; + } else { + showFileImportError('The file does not contain valid GeoJSON.'); + evt.target.value = ''; + return; + } + + const displayName = file.name.replace(/\.(geo)?json$/i, ''); + addImportedGeoJSON(fc, displayName, 'GeoJSONImport'); + } catch (error) { + console.error('[GeoJSONImport] Failed:', error); + const sizeMB = (file.size / (1024 * 1024)).toFixed(1); + showFileImportError( + `Failed to import "${file.name}" (${sizeMB} MB): ${error.message}` + ); + } + + evt.target.value = ''; +} + +// --------------------------------------------------------------------------- +// KML (.kml) +// --------------------------------------------------------------------------- + +async function handleKMLImport(evt) { + const file = evt.target.files?.[0]; + if (!file) return; + + const MAX_FILE_SIZE = 200 * 1024 * 1024; + if (file.size > MAX_FILE_SIZE) { + const sizeMB = (file.size / (1024 * 1024)).toFixed(0); + showFileImportError( + `File too large (${sizeMB} MB). Maximum supported size is 200 MB.` + ); + evt.target.value = ''; + return; + } + + try { + const text = await file.text(); + console.log('[KMLImport] Parsing', file.name, '(' + (file.size / 1024).toFixed(1) + ' KB)'); + + const kmlFormat = new KML({ extractStyles: false }); + const features = kmlFormat.readFeatures(text, { + featureProjection: 'EPSG:3857', + }); + + if (!features || features.length === 0) { + showFileImportError('No features found in the KML file.'); + evt.target.value = ''; + return; + } + + // Convert OL features back to GeoJSON so we can use the shared pipeline + const geojsonFormat = new GeoJSON(); + const fc = JSON.parse(geojsonFormat.writeFeatures(features, { + featureProjection: 'EPSG:3857', + dataProjection: 'EPSG:4326', + })); + + const displayName = file.name.replace(/\.kml$/i, ''); + addImportedGeoJSON(fc, displayName, 'KMLImport'); + } catch (error) { + console.error('[KMLImport] Failed:', error); + const sizeMB = (file.size / (1024 * 1024)).toFixed(1); + showFileImportError( + `Failed to import "${file.name}" (${sizeMB} MB): ${error.message}` + ); + } + + evt.target.value = ''; +} + +// --------------------------------------------------------------------------- +// Drag-and-drop on the map +// --------------------------------------------------------------------------- + +/** + * Set up the map container as a drop zone for .shp/.zip, .geojson/.json, .kml + * files. Dragging files over the map shows a visual overlay; dropping them + * routes to the correct import handler. + */ +function initMapDropZone() { + const container = document.querySelector('.map-container'); + if (!container) return; + + let dragCounter = 0; // track nested enter/leave events + + container.addEventListener('dragenter', (e) => { + e.preventDefault(); + dragCounter++; + container.classList.add('drag-over'); + }); + + container.addEventListener('dragover', (e) => { + e.preventDefault(); // required to allow drop + }); + + container.addEventListener('dragleave', (e) => { + e.preventDefault(); + dragCounter--; + if (dragCounter <= 0) { + dragCounter = 0; + container.classList.remove('drag-over'); + } + }); + + container.addEventListener('drop', (e) => { + e.preventDefault(); + dragCounter = 0; + container.classList.remove('drag-over'); + + const files = e.dataTransfer?.files; + if (!files || files.length === 0) return; + + // Build extension lookup to decide which handler to use + const byExt = indexFilesByExtension(files); + const exts = Object.keys(byExt); + + if (byExt.zip || byExt.shp) { + // Shapefile import (zip or loose .shp + companions) + const fakeEvt = { target: { files, value: '' } }; + Object.defineProperty(fakeEvt.target, 'value', { writable: true }); + handleShapefileImport(fakeEvt); + } else if (byExt.geojson || byExt.json) { + const file = byExt.geojson || byExt.json; + const fakeEvt = { target: { files: [file], value: '' } }; + Object.defineProperty(fakeEvt.target, 'value', { writable: true }); + handleGeoJSONImport(fakeEvt); + } else if (byExt.kml) { + const fakeEvt = { target: { files: [byExt.kml], value: '' } }; + Object.defineProperty(fakeEvt.target, 'value', { writable: true }); + handleKMLImport(fakeEvt); + } else { + showFileImportError( + 'Unsupported file type(s): ' + exts.map(e => '.' + e).join(', ') + + '. Drop .zip, .shp, .geojson, .json, or .kml files.' + ); + } + }); + + console.log('[FileImport] Map drop zone initialised'); +} + // ============================================================================ // Utilities // ============================================================================ @@ -1543,36 +2404,608 @@ function escapeHtml(text) { return div.innerHTML; } +// ============================================================================ +// Message Log — persistent stack in the right panel +// ============================================================================ + +const MESSAGE_LOG_MAX = 50; + +const MSG_CONFIG = { + error: { icon: 'bi-x-circle-fill', color: 'var(--destructive, #dc3545)' }, + warning: { icon: 'bi-exclamation-triangle-fill', color: 'var(--warning, #ffc107)' }, + success: { icon: 'bi-check-circle-fill', color: 'var(--success, #198754)' }, + info: { icon: 'bi-info-circle-fill', color: 'var(--primary, #0d6efd)' }, +}; + +/** + * Append a message to the persistent log in the right panel. + * Also logs to the browser console. + * + * @param {'error'|'warning'|'success'|'info'} type + * @param {string} text + */ +function logMessage(type, text) { + const cfg = MSG_CONFIG[type] || MSG_CONFIG.info; + + // Console mirror + const consoleFn = type === 'error' ? console.error + : type === 'warning' ? console.warn + : console.log; + consoleFn('[App]', text); + + const log = document.getElementById('message-log'); + if (!log) return; + + // Remove the "No messages yet" placeholder if present + const placeholder = log.querySelector('.text-muted'); + if (placeholder) placeholder.remove(); + + // Build the entry + const entry = document.createElement('div'); + entry.className = 'list-group-item message-log-entry py-2 px-3'; + const now = new Date(); + const time = now.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit' }); + entry.innerHTML = + `
    ` + + `` + + `
    ${escapeHtml(text)}
    ` + + `${time}` + + `
    `; + + // Prepend (newest first) + log.prepend(entry); + + // Cap the list + while (log.children.length > MESSAGE_LOG_MAX) { + log.lastElementChild.remove(); + } +} + +/** Wire up the "clear" button */ +function initMessageLog() { + const btn = document.getElementById('clear-message-log'); + if (btn) { + btn.addEventListener('click', () => { + const log = document.getElementById('message-log'); + if (log) { + log.innerHTML = '
    No messages yet.
    '; + } + }); + } +} + +// ============================================================================ +// Toast-style alerts (auto-dismiss) + persistent log +// ============================================================================ + function showError(message) { + logMessage('error', message); const el = document.getElementById('error-message'); if (el) { el.querySelector('.message-text').textContent = message; el.classList.remove('d-none'); - - // Auto-hide after 5 seconds - setTimeout(() => { - el.classList.add('d-none'); - }, 5000); - } else { - console.error(message); + setTimeout(() => el.classList.add('d-none'), 5000); } } function showSuccess(message) { + logMessage('success', message); const el = document.getElementById('success-message'); if (el) { el.querySelector('.message-text').textContent = message; el.classList.remove('d-none'); - - // Auto-hide after 3 seconds - setTimeout(() => { - el.classList.add('d-none'); - }, 3000); - } else { - console.log(message); + setTimeout(() => el.classList.add('d-none'), 3000); } } +function showWarning(message) { + logMessage('warning', message); + const el = document.getElementById('warning-message'); + if (el) { + el.querySelector('.message-text').textContent = message; + el.classList.remove('d-none'); + setTimeout(() => el.classList.add('d-none'), 5000); + } +} + +// ============================================================================ +// Fieldwork Mode +// ============================================================================ + +function initFieldworkMode() { + const toggle = document.getElementById('fieldwork-mode-toggle'); + if (!toggle) return; + + // Restore saved preference + const saved = localStorage.getItem('fieldwork-mode'); + if (saved === 'true') { + document.documentElement.classList.add('fieldwork-mode'); + toggle.checked = true; + } + + toggle.addEventListener('change', () => { + document.documentElement.classList.toggle('fieldwork-mode', toggle.checked); + localStorage.setItem('fieldwork-mode', toggle.checked); + console.log('[Settings] Fieldwork mode', toggle.checked ? 'ON' : 'OFF'); + }); +} + +// ============================================================================ +// Dark Mode +// ============================================================================ + +function initDarkMode() { + const toggle = document.getElementById('dark-mode-toggle'); + if (!toggle) return; + + function applyDark(on) { + document.documentElement.classList.toggle('dark-mode', on); + // Bootstrap 5.3 built-in dark mode support + document.documentElement.setAttribute('data-bs-theme', on ? 'dark' : 'light'); + } + + // Restore saved preference + const saved = localStorage.getItem('dark-mode'); + if (saved === 'true') { + toggle.checked = true; + applyDark(true); + } + + toggle.addEventListener('change', () => { + applyDark(toggle.checked); + localStorage.setItem('dark-mode', toggle.checked); + console.log('[Settings] Dark mode', toggle.checked ? 'ON' : 'OFF'); + }); +} + +// ============================================================================ +// Measurement System +// ============================================================================ + +function initMeasurementSystem() { + const toggle = document.getElementById('measurement-system-toggle'); + const label = document.getElementById('measurement-system-label'); + if (!toggle) return; + + function updateLabel() { + if (label) label.textContent = toggle.checked ? 'Imperial' : 'Metric'; + } + + // Restore saved preference + const saved = localStorage.getItem('measurement-system'); + if (saved === 'imperial') { + toggle.checked = true; + } + updateLabel(); + + // Apply saved setting to the scale bar on load + mapView?.setScaleBarUnits(saved || 'metric'); + + toggle.addEventListener('change', () => { + const system = toggle.checked ? 'imperial' : 'metric'; + localStorage.setItem('measurement-system', system); + updateLabel(); + mapView?.setScaleBarUnits(system); + console.log('[Settings] Measurement system:', system); + }); +} + +/** + * Default base map selector — persisted in localStorage. + * Keys must match those handled by MapView.setBaseMap(). + */ +function initDefaultBasemap() { + const select = document.getElementById('default-basemap-select'); + if (!select) return; + + // Restore saved preference (default: topo) + const saved = localStorage.getItem('default-basemap') || 'topo'; + select.value = saved; + + select.addEventListener('change', () => { + const key = select.value; + localStorage.setItem('default-basemap', key); + mapView?.setBaseMap(key); + console.log('[Settings] Default base map:', key); + }); +} + +/** + * Offline Map Tiles card — shows per-provider cache stats and offers a + * "Clear cached tiles" button. Stats refresh whenever the Settings panel + * is opened so the numbers are always current. + */ +function initOfflineTileCache() { + const statsEl = document.getElementById('tile-cache-stats'); + const clearBtn = document.getElementById('clear-tiles-btn'); + const offcanvas = document.getElementById('offcanvasBottom'); + if (!statsEl || !clearBtn || !offcanvas) return; + + /** Format a byte count into a human-friendly string. */ + function fmtBytes(bytes) { + if (!bytes) return '0 KB'; + if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(0) + ' KB'; + if (bytes < 1024 * 1024 * 1024) return (bytes / (1024 * 1024)).toFixed(1) + ' MB'; + return (bytes / (1024 * 1024 * 1024)).toFixed(2) + ' GB'; + } + + // Track in-flight refresh so rapid calls don't overlap and to allow a + // controllerchange handler to know when a refresh is already underway. + let refreshInFlight = null; + + /** Render the stats panel. */ + async function refresh() { + if (refreshInFlight) return refreshInFlight; + + // If the SW hasn't taken control yet, give the user a friendly hint + // instead of immediately failing. The wait inside getTileCacheStats() + // will resolve once the SW becomes available, at which point this + // refresh completes normally — no reload needed. + const swActive = !!navigator.serviceWorker?.controller; + statsEl.innerHTML = swActive + ? '
    Loading…
    ' + : '
    Initialising service worker…
    '; + + refreshInFlight = (async () => { + try { + const stats = await getTileCacheStats(); + + if (!stats) { + statsEl.innerHTML = ` +
    + Tile cache stats unavailable. Try reloading the page if this persists. +
    `; + return; + } + + const total = stats.totals; + const rows = stats.byProvider + .filter((p) => p.count > 0) + .map((p) => ` + + + + + `).join(''); + + let storageNote = ''; + const est = await getStorageEstimate(); + if (est && est.quota > 0) { + const pct = ((est.usage / est.quota) * 100).toFixed(1); + storageNote = ` +
    + Total app storage: ${fmtBytes(est.usage)} of ${fmtBytes(est.quota)} available (${pct}%) +
    `; + } + + if (total.count === 0) { + statsEl.innerHTML = ` +
    + No tiles cached yet. Pan and zoom the map to start caching tiles automatically. +
    ${storageNote}`; + clearBtn.disabled = true; + return; + } + + statsEl.innerHTML = ` +
    + ${total.count.toLocaleString()} tiles cached, ~${fmtBytes(total.estBytes)} on this device +
    +
    TableRecordsRecords
    - ${escapeHtml(t.name)} - ${t.count}
    + ${escapeHtml(t.name)} + ${t.count}${clearBtn}
    Failed to load
    Failed to load
    ${p.label}${p.count.toLocaleString()} / ${p.limit.toLocaleString()}${fmtBytes(p.estBytes)}
    + + + + + + ${rows} +
    Base mapCached / limitApprox. size
    ${storageNote}`; + clearBtn.disabled = false; + } finally { + refreshInFlight = null; + } + })(); + + return refreshInFlight; + } + + // Clear button — confirm, then clear, then refresh + clearBtn.addEventListener('click', async () => { + if (!confirm('Clear all cached map tiles from this device? You will need to be online to view them again.')) { + return; + } + clearBtn.disabled = true; + const ok = await clearTileCaches(); + if (ok) { + console.log('[Settings] Tile caches cleared'); + } else { + console.warn('[Settings] Tile-cache clear failed'); + } + await refresh(); + }); + + // Refresh stats whenever the Settings offcanvas opens + offcanvas.addEventListener('show.bs.offcanvas', refresh); + + // Auto-refresh when a (new) service worker takes control of the page — + // makes the panel populate as soon as the SW is available, even if the + // user is staring at it during initial install or during an SW update. + onServiceWorkerControllerChange(() => { + console.log('[Settings] SW controller changed → refreshing tile-cache stats'); + refresh(); + }); + + // Also do an initial render so the card isn't empty if Settings is open + // immediately on load. + refresh(); +} + +/** + * Offline-download dialog (Phase 2). Allows users to pre-fetch tiles for a + * chosen extent and zoom range so they can use the map without connectivity. + */ +function initOfflineDownloadDialog() { + const triggerBtn = document.getElementById('download-tiles-btn'); + const modalEl = document.getElementById('offline-download-modal'); + if (!triggerBtn || !modalEl) return; + + const modal = Modal.getOrCreateInstance(modalEl); + + // ----- Element refs ----- + const formView = document.getElementById('offline-download-form-view'); + const progressView = document.getElementById('offline-download-progress-view'); + const doneView = document.getElementById('offline-download-done-view'); + const cancelBtn = document.getElementById('offline-download-cancel-btn'); + const startBtn = document.getElementById('offline-download-start-btn'); + const closeDoneBtn = document.getElementById('offline-download-close-done-btn'); + const headerCloseBtn = document.getElementById('offline-download-close-btn'); + + const basemapSelect = document.getElementById('offline-basemap-select'); + const minZoomInput = document.getElementById('offline-min-zoom'); + const maxZoomInput = document.getElementById('offline-max-zoom'); + const ackCheck = document.getElementById('offline-ack-check'); + const estimateEl = document.getElementById('offline-estimate-detail'); + const estimateBox = document.getElementById('offline-estimate'); + + const areaViewRadio = document.getElementById('offline-area-view'); + const areaDistrictRadio = document.getElementById('offline-area-district'); + const areaGhanaRadio = document.getElementById('offline-area-ghana'); + const areaViewInfo = document.getElementById('offline-area-view-info'); + const areaDistrictInfo = document.getElementById('offline-area-district-info'); + + const progressBar = document.getElementById('offline-progress-bar'); + const progressPercent = document.getElementById('offline-progress-percent'); + const progressCounts = document.getElementById('offline-progress-counts'); + const progressOk = document.getElementById('offline-progress-ok'); + const progressFailed = document.getElementById('offline-progress-failed'); + const progressEta = document.getElementById('offline-progress-eta'); + + const doneTitle = document.getElementById('offline-done-title'); + const doneDetail = document.getElementById('offline-done-detail'); + + // ----- State ----- + let currentDownloader = null; + + /** Format byte count for display. */ + function fmtBytes(b) { + if (!b) return '0 KB'; + if (b < 1024 * 1024) return (b / 1024).toFixed(0) + ' KB'; + if (b < 1024 * 1024 * 1024) return (b / (1024 * 1024)).toFixed(1) + ' MB'; + return (b / (1024 * 1024 * 1024)).toFixed(2) + ' GB'; + } + + /** Format ms → human-readable duration. */ + function fmtDuration(ms) { + if (!ms || ms < 1000) return '< 1 s'; + const s = Math.round(ms / 1000); + if (s < 60) return s + ' s'; + const m = Math.floor(s / 60); + const r = s % 60; + if (m < 60) return `${m} min ${r} s`; + const h = Math.floor(m / 60); + return `${h} h ${m % 60} min`; + } + + /** Get the chosen extent based on the radio selection. Returns null if invalid. */ + function getSelectedExtent() { + if (areaViewRadio.checked) { + return mapView?.getCurrentViewExtent() || null; + } + if (areaDistrictRadio.checked) { + return mapView?.getDistrictBoundaryExtent()?.extent || null; + } + if (areaGhanaRadio.checked) { + return GHANA_EXTENT_3857; + } + return null; + } + + /** Recalculate and update the live estimate display. */ + function updateEstimate() { + const baseMap = basemapSelect.value; + const minZ = parseInt(minZoomInput.value, 10); + const maxZ = parseInt(maxZoomInput.value, 10); + + if (Number.isNaN(minZ) || Number.isNaN(maxZ) || minZ > maxZ) { + estimateEl.textContent = 'Invalid zoom range'; + estimateBox.classList.replace('alert-info', 'alert-warning'); + startBtn.disabled = true; + return; + } + + const extent = getSelectedExtent(); + if (!extent) { + estimateEl.textContent = 'Selected area is not available.'; + estimateBox.classList.replace('alert-info', 'alert-warning'); + startBtn.disabled = true; + return; + } + + const tplMaxZoom = BASEMAP_TEMPLATES[baseMap]?.maxZoom ?? 19; + const effMaxZ = Math.min(maxZ, tplMaxZoom); + const count = countTiles(extent, minZ, effMaxZ); + const bytes = estimatedSizeBytes(count); + + let warningHTML = ''; + if (effMaxZ < maxZ) { + warningHTML = `
    Zoom ${maxZ} is above this provider's max (${tplMaxZoom}); will clamp to ${tplMaxZoom}.`; + } + if (count > 8000) { + warningHTML += `
    More than 8 000 tiles — exceeds the per-provider cache limit. Earlier tiles will be evicted as new ones arrive.`; + } + + estimateEl.innerHTML = + `${count.toLocaleString()} tiles · ` + + `~${fmtBytes(bytes)}` + + warningHTML; + + estimateBox.classList.toggle('alert-warning', !!warningHTML); + estimateBox.classList.toggle('alert-info', !warningHTML); + + startBtn.disabled = !ackCheck.checked || count === 0; + } + + /** Update the area-radio info labels (tile count + size estimate). */ + function updateAreaInfos() { + const view = mapView?.getCurrentViewExtent(); + if (view) { + areaViewInfo.textContent = ' · ready'; + } else { + areaViewInfo.textContent = ''; + } + + const dist = mapView?.getDistrictBoundaryExtent(); + if (dist) { + areaDistrictInfo.textContent = ''; + areaDistrictRadio.disabled = false; + } else { + areaDistrictInfo.textContent = ' (not loaded — connect online to fetch)'; + areaDistrictRadio.disabled = true; + if (areaDistrictRadio.checked) areaViewRadio.checked = true; + } + } + + /** Reset the modal to its initial form state. */ + function resetModal() { + formView.classList.remove('d-none'); + progressView.classList.add('d-none'); + doneView.classList.add('d-none'); + + startBtn.classList.remove('d-none'); + cancelBtn.classList.remove('d-none'); + cancelBtn.textContent = 'Cancel'; + closeDoneBtn.classList.add('d-none'); + headerCloseBtn.disabled = false; + + ackCheck.checked = false; + startBtn.disabled = true; + + currentDownloader = null; + } + + // ----- Event wiring ----- + + triggerBtn.addEventListener('click', () => { + resetModal(); + updateAreaInfos(); + updateEstimate(); + modal.show(); + }); + + // Recalculate estimate on any input change + basemapSelect.addEventListener('change', updateEstimate); + minZoomInput.addEventListener('input', updateEstimate); + maxZoomInput.addEventListener('input', updateEstimate); + areaViewRadio.addEventListener('change', updateEstimate); + areaDistrictRadio.addEventListener('change', updateEstimate); + areaGhanaRadio.addEventListener('change', updateEstimate); + ackCheck.addEventListener('change', updateEstimate); + + // Start the download + startBtn.addEventListener('click', async () => { + const baseMap = basemapSelect.value; + const minZ = parseInt(minZoomInput.value, 10); + const maxZ = parseInt(maxZoomInput.value, 10); + const extent = getSelectedExtent(); + if (!extent) return; + + // Switch UI to progress view + formView.classList.add('d-none'); + progressView.classList.remove('d-none'); + startBtn.classList.add('d-none'); + cancelBtn.textContent = 'Cancel download'; + headerCloseBtn.disabled = true; + + progressBar.style.width = '0%'; + progressBar.setAttribute('aria-valuenow', '0'); + progressPercent.textContent = '0%'; + progressCounts.textContent = '0 of 0 tiles'; + progressOk.textContent = '0'; + progressFailed.textContent = '0'; + progressEta.textContent = '—'; + + currentDownloader = new OfflineTileDownloader({ + baseMap, + extent3857: extent, + minZoom: minZ, + maxZoom: maxZ, + onProgress: (s) => { + if (s.total > 0) { + const pct = Math.min(100, Math.round((s.done / s.total) * 100)); + progressBar.style.width = pct + '%'; + progressBar.setAttribute('aria-valuenow', String(pct)); + progressPercent.textContent = pct + '%'; + progressCounts.textContent = `${s.done.toLocaleString()} of ${s.total.toLocaleString()} tiles`; + } + progressOk.textContent = s.ok.toLocaleString(); + progressFailed.textContent = s.failed.toLocaleString(); + progressEta.textContent = s.etaMs != null ? fmtDuration(s.etaMs) : '—'; + }, + }); + + let result; + try { + result = await currentDownloader.start(); + } catch (err) { + console.error('[OfflineDownload] failed:', err); + result = { phase: 'error', done: 0, total: 0, ok: 0, failed: 0 }; + } + + // Switch UI to done view + progressView.classList.add('d-none'); + doneView.classList.remove('d-none'); + cancelBtn.classList.add('d-none'); + closeDoneBtn.classList.remove('d-none'); + headerCloseBtn.disabled = false; + + if (result.phase === 'cancelled') { + doneTitle.textContent = 'Download cancelled'; + doneDetail.innerHTML = `Stopped after ${result.done.toLocaleString()} of ${result.total.toLocaleString()} tiles.
    ` + + `${result.ok.toLocaleString()} fetched · ${result.failed.toLocaleString()} failed.`; + } else if (result.phase === 'error') { + doneTitle.textContent = 'Download failed'; + doneDetail.textContent = 'See console for details.'; + } else { + doneTitle.textContent = 'Download complete'; + doneDetail.innerHTML = `${result.ok.toLocaleString()} tiles cached` + + (result.failed > 0 ? `, ${result.failed.toLocaleString()} failed` : '') + + `.
    Took ${fmtDuration(result.elapsedMs)}.`; + } + }); + + // Cancel button — either close modal (form view) or cancel download (progress view) + cancelBtn.addEventListener('click', () => { + if (currentDownloader) { + currentDownloader.cancel(); + } + }); + + // When modal is fully hidden, reset for next time + modalEl.addEventListener('hidden.bs.modal', () => { + if (currentDownloader) currentDownloader.cancel(); + resetModal(); + }); +} + // ============================================================================ // Start Application // ============================================================================ diff --git a/package-lock.json b/package-lock.json index 65d3a0d..dfeabcf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,21 @@ { - "name": "lupmis-pwa", + "name": "lupmis2-pwa", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "lupmis-pwa", + "name": "lupmis2-pwa", "version": "1.0.0", "dependencies": { "@popperjs/core": "^2.11.8", "bootstrap": "^5.3.3", "bootstrap-icons": "^1.11.3", + "jspdf": "^4.2.1", + "jspdf-autotable": "^5.0.7", "ol": "^10.3.0", "ol-ext": "^4.0.24", + "shpjs": "^6.2.0", "sqlocal": "^0.16.0" }, "devDependencies": { @@ -22,6 +25,15 @@ "node": ">=18.0.0" } }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", @@ -795,12 +807,32 @@ "devOptional": true, "license": "MIT" }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", + "license": "MIT" + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, "node_modules/@types/rbush": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/rbush/-/rbush-4.0.0.tgz", "integrity": "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==", "license": "MIT" }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", @@ -813,6 +845,16 @@ "integrity": "sha512-g7f0IkJdPW2xhY7H4iE72DAsIyfuwEFc6JWc2tYFwKDMWWAF699vGjrM348cwQuOXgHpe1gWFe+Eiyjx/ewvvw==", "license": "ISC" }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/bootstrap": { "version": "5.3.8", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz", @@ -848,6 +890,32 @@ ], "license": "MIT" }, + "node_modules/but-unzip": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/but-unzip/-/but-unzip-0.1.10.tgz", + "integrity": "sha512-hLfQ9WlUimmv/okzsRl6AYG3Ew5HNWhWgUslSR93FsDdeL0MAoQvmC/BJfs35lqEAO5t/QD7Y4vCFcPJtijt3A==", + "license": "Apache-2.0" + }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/coincident": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/coincident/-/coincident-1.2.3.tgz", @@ -863,6 +931,38 @@ "ws": "^8.16.0" } }, + "node_modules/core-js": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/dompurify": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", + "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/earcut": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", @@ -911,6 +1011,17 @@ "@esbuild/win32-x64": "0.25.12" } }, + "node_modules/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "license": "MIT", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -929,6 +1040,12 @@ } } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -968,12 +1085,64 @@ "node": ">=10.19" } }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "optional": true, + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==", + "license": "MIT" + }, + "node_modules/jspdf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.1.tgz", + "integrity": "sha512-YyAXyvnmjTbR4bHQRLzex3CuINCDlQnBqoSYyjJwTP2x9jDLuKDzy7aKUl0hgx3uhcl7xzg32agn5vlie6HIlQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "fast-png": "^6.2.0", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/jspdf-autotable": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-5.0.7.tgz", + "integrity": "sha512-2wr7H6liNDBYNwt25hMQwXkEWFOEopgKIvR1Eukuw6Zmprm/ZcnmLTQEjW7Xx3FCbD3v7pflLcnMAv/h1jFDQw==", + "license": "MIT", + "peerDependencies": { + "jspdf": "^2 || ^3 || ^4" + } + }, "node_modules/lerc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==", "license": "Apache-2.0" }, + "node_modules/mgrs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", + "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==", + "license": "MIT" + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -1031,6 +1200,12 @@ "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==", "license": "MIT" }, + "node_modules/parsedbf": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parsedbf/-/parsedbf-2.0.0.tgz", + "integrity": "sha512-WNjKn/cwgGBkXqQLif+2VMEahcRHkBRU0/RfBWZ7Vj7snRNNW63yW1mVuuHRDyXTRxuGCzAHHBcr/Fn+U/bXjQ==", + "license": "MIT" + }, "node_modules/pbf": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", @@ -1043,6 +1218,13 @@ "pbf": "bin/pbf" } }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -1092,6 +1274,19 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/proj4": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.20.3.tgz", + "integrity": "sha512-uKJXnf/RkHhExxnWHqQqy2J1bPc5Qo8XSGzrMSJTdPWUQDo1DkunIRBfAS0crQaP9bZCSKNjqYJdYWVov0hDXw==", + "license": "MIT", + "dependencies": { + "mgrs": "1.0.0", + "wkt-parser": "^1.5.3" + }, + "funding": { + "url": "https://github.com/sponsors/ahocevar" + } + }, "node_modules/protocol-buffers-schema": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", @@ -1122,6 +1317,16 @@ "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", "license": "ISC" }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, "node_modules/rbush": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz", @@ -1131,6 +1336,13 @@ "quickselect": "^3.0.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, "node_modules/resolve-protobuf-schema": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", @@ -1140,6 +1352,16 @@ "protocol-buffers-schema": "^3.3.1" } }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, "node_modules/rollup": { "version": "4.55.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.3.tgz", @@ -1185,6 +1407,17 @@ "fsevents": "~2.3.2" } }, + "node_modules/shpjs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/shpjs/-/shpjs-6.2.0.tgz", + "integrity": "sha512-8cR/RKYHQepmVyBMtzZQ+1bnSbWrtLXS6aoEJmpUlOSHtSUddterebVxYmIWq2g9kOEX9jm2kjHiikyPX7cNQA==", + "license": "MIT", + "dependencies": { + "but-unzip": "^0.1.4", + "parsedbf": "^2.0.0", + "proj4": "^2.1.4" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -1237,6 +1470,36 @@ } } }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -1254,6 +1517,16 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, "node_modules/vite": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", @@ -1335,6 +1608,12 @@ "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", "license": "Apache-2.0" }, + "node_modules/wkt-parser": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.5.3.tgz", + "integrity": "sha512-myla+RrMj+WTlnHc8Y4HEwjBcBF9dqJ3vjff/zmlrn9V3OKOM1mZVIyNjlPEmOM9Jjr/PPut0tnaTs9NyHcK8Q==", + "license": "MIT" + }, "node_modules/ws": { "version": "8.19.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", diff --git a/package.json b/package.json index d660e23..b4e6825 100644 --- a/package.json +++ b/package.json @@ -9,11 +9,14 @@ "preview": "vite preview" }, "dependencies": { + "@popperjs/core": "^2.11.8", "bootstrap": "^5.3.3", "bootstrap-icons": "^1.11.3", - "@popperjs/core": "^2.11.8", + "jspdf": "^4.2.1", + "jspdf-autotable": "^5.0.7", "ol": "^10.3.0", "ol-ext": "^4.0.24", + "shpjs": "^6.2.0", "sqlocal": "^0.16.0" }, "devDependencies": { diff --git a/public/fonts/bebas-neue-latin-ext.woff2 b/public/fonts/bebas-neue-latin-ext.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d8460fe262ed2c03967db2e3316193f87cc05f38 GIT binary patch literal 5664 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 G4D}X1c(F48 literal 0 HcmV?d00001 diff --git a/public/fonts/bebas-neue-latin.woff2 b/public/fonts/bebas-neue-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c3673e5001f1d692ad483f33e2bb16e47ea507fd GIT binary patch literal 8596 zcmV;FA#2`uPew8T0RR9103nnB4gdfE096zK03kg90RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/public/fonts/exo-latin.woff2 b/public/fonts/exo-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..69df0296a210e4e7298755786e3949cf5017fe2e GIT binary patch literal 21644 zcmV)5K*_&%Pew8T0RR91091?s6951J0IdW708|_R0RR9100000000000000000000 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%0AcNc;lcMoSo$){S+U|xL7*Le3#d5^ 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 literal 0 HcmV?d00001 diff --git a/public/fonts/exo-vietnamese.woff2 b/public/fonts/exo-vietnamese.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bb56eda4eda82f25650a570893012298b72a7247 GIT binary patch literal 7108 zcmV;#8$0B8Pew8T0RR9102{;r6951J076^<02^2U0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/public/icons/README.txt b/public/icons/README.txt deleted file mode 100644 index 09fd858..0000000 --- a/public/icons/README.txt +++ /dev/null @@ -1 +0,0 @@ -Place PWA icons here (icon-72.png, icon-96.png, icon-128.png, icon-144.png, icon-152.png, icon-192.png, icon-384.png, icon-512.png) diff --git a/public/icons/luspa-128x128.png b/public/icons/luspa-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..2a7afade2d6f5d5acec8de392b8769374db6433b GIT binary patch literal 29910 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 literal 0 HcmV?d00001 diff --git a/public/icons/luspa-144x144.png b/public/icons/luspa-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..96cc6e60483a00d1606bd93137dbbeea863f6847 GIT binary patch literal 36701 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 literal 0 HcmV?d00001 diff --git a/public/icons/luspa-384x384.png b/public/icons/luspa-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f70be458b45e439030888f3e7e3208526b7f1c GIT binary patch literal 174130 zcmZ^~19T-%w>NyEiIWp&!V^sFOl%vIiEZ1q?M!Uj#>BQcv2B0zf1c;Q_kQoXZ=Y4G zcJJE1+Nj-C-PL`<6Q!v!n{rAMcOh`!HLP$)= z#?r?Ar>&lWk+7MAt)-ruJTm}55$6?KE7d0t9PCyu%y9zZ+N~jzRM2c zu(q{+gec+a($E~GPA{bWb{`4Z2|_ry&Zw%E{HWsFedoQ~lpRy+{``#k9e&JMmYw)@ zP>WE!r2i#r>f0q+Olt$Wom3shP1v6O@S&ecrz)t6Oj&iJ1lSEM-zV5O*>2m=ok6mH zZ8)~97~x1nQ|(9Mwq0hJ4g|+v;d`t1>-N>MXWLfD4#M#~8Hpn%|J6Tc+rt2nq$(7w zkl+%1;exdx7u6U*uA55|*b>^9gk;MqMs6{*I?v6(1gY8Bx{c#EFP2)N?6>q&w*@kC zQ+}#RWx{;>;h3A@ilTpwG?o*xjh2WvI`D|#=PiWou_qWru|8TsGLpvMs6!e^2+1QL z0>G>xb}#>)yBeuV7|X~2sQ%J004Ok20K{Jk?C%c%h68~57YzVNg5mxjS^i0DwpPr+@*{ zGOz&v@C-9WRYz4BX-)$hD>^+x8+{`>S1a3pPylXM&cCFUk)s~S)ymS^fzy?T_+Jv7 zf9ZeN^u(Zli8xyD5Ua|_gM@7CjXIpEk*nGN1NKkL zzhVFK>)-0Q|LKfVRl&%?#?t8@vv}E!Yl4*&SV$nh8Wzqb6Z zNY(!*@_)4a2gyzU&-ne1@%(qP{EPcHTX^BP>HkmW@xm1_ao7L=`~V4I0Yz7^vre}T zBQd8f4U_Ea$=i7^5Bc)KWOYW z+@#UaJ$Cx9zde2!@WQMOvoe}%_|lN33c!%gz)0{sW?u5#K6P~~wNLUqKJZJKHwN=A zc*&h>wU;@cD=Ar&DV3vE;j;4oxoE$XrPQ;wX1YNpu%_sGe^{e^Fxz^5Oy7Dlb~ZBl zrpC=NuTsS_TS>upgnF!)tBNB_s$QBL@uERHi)&r5U|xh)DZJQ9p=P7_1+|i5Arv*B zpg6B+tWlHNyhVAHMPnpT>aIzhO75)1rlBsn-@RUF7*bJ3BDgC>lsQF6V!p6(_n>ttggN>u@ZdM$EZcJKb(9?mdZABJP(I zlW1Mal0M1qOh->1o?hNw-iy3@cz#4X_g|W&s2INzHcMT~zq0L-R33AUHvisiseS(_ z#O?0Zs-`0@Pi0)1E@o4&q?)z?e4^4@PSd(cSvOGa9avRzUhedfT#Rg5V!BymdWPdx ziq?y&u;d%pNw>Ohu&7{=Ygo%XyGaD;X-IuPk&@BJ5^=-PtY$?WQ`ESe`lj;pN1bzB zi~O&Qan_5rQy1!&G6%#<$IAx0kNfhB0W>s~m0?a>U7dH$(-!QTuXXL%ym#E5`NqFq zr$Y$D@wpZgo;EMFB#fC-`vZ{M9LegFv2jjh=;&4QG^=n}a8i$?bU4$-jORvnZr1sU zS0s({=J|=sicjuOKrO^cp$eUq?#vsKq5+l0iTb040*gQLFF**O55>F~*tjwlG&M5G zyqSuC9yFAw;h9Lo{F(8%$qFmuVJt>Ul2}nle<^0a_?$WTp8ki>k~vE2!eiv6ENFrkx;ZwtbN@rkdPZt)yDw zRY@gpp`pme+h^DWdF1$5%K`%YZvWgVTD_uou5m7{0IQ4u<+~CR2)*&PoM}H)rvu3( z8#(XtcFjR2rh3W+GFwjoaxqkJ-Sd1#TFZ4Z5UtL7(`Mzc(2mcoFVz}y?lSc zm~#O{U`3j*KbE9Li+10rj7(^~_otA+k??}pl`nDfcqw+3W8X8(aJ6{~n77vM((U!y zzeG;cWwb?Wg3peye-?&DuAuWg8a5)DKQl+e(iFS+vvkQgm7>*{Bu$TL@6XAQ9&){{ zJc%?m``ZD7X$aA&dn(`uv1AeU6GLS0$Qx;zErq6sFs-uG&umJ4Yz8p$DIPUknF;bb zMk2StaWqcfp#8hh-)p-?MqHrcebwGg?*ze2i(Rkk1Jb(I8(hx^uP8JL8Yt zj`id293$j=w5&>M=Jw*gvyU`)c@9(MowFcx&_wID7bw;!s zmaOqU?;~RFX_b;iX%tp^p$`QoGnilOkf}1%YFw)}O(%Vg>?3dOuybev90E_jXUqa1 zSk=negaQ5E!_ds-G_|N1Zmh~olg-k^4;BmHj-}DFCxvT$g0F&>zc%mLP-SAnYByIY z&vDOo%7xgLa9+GWMT@m3-P?rw7$8(1zF5dv<)SC4IGpEtzZo3{$$cB>F3L1`XQjh3 zX<&`FAOVw4e~-AMg&W1vd1CLf;fo;*!Tg#_VucTe+hvB9=*&x9oPEWs6Q^4`t=3(& z#Np;)$*}dy&Y(?f`T9}bk9X`O*Uw$3-CL(3)Ari2+6Aex6@%j=)gt%%Z0`c!WnZt;*G(6pbI0tFzz8G) z?qA+-aY<4q6D8d%W#^SkxB*e>`pE0fKAp-NBZe0OBFqxcj>O>w@qR)fVEI1N3 zBKMN`O47_fsutq~n^^Q2`R?6iJdqgdz!)L2Po%#z{c33UmIgf}!rs12a z;2cBi^RxII7b2avu>FZ)=VfQ;wGelPyAcQ6L<8WB9`8EhlhVpz3cho%A!I)dfMqPk z%73jTXa5*bw$c0yekvg@3e2;MkN>79FURoh zW_&=51gmmUVP;7UYAl67((^S37Xtb$LM(Q(j-aahqqC$U0~dQ)|I(+l`m1IGYELoW z`-CMgA6DTUkL~Hgo*18d4tdh3;cNWJc||7DJWeG(19<>w9zU|m+wo#8RkPK-lVfsz zx;MVm8plZ{2@{X)L@w5@QN6xJ;YYhLF^eo|BZ;q(stLd-;pRMwRe~;mE7jiCNS!zK# zZz;_6Y~RLD^@`y1-ZcpqY>h6c*CrE2rU)D+D$S2GEkK{s>{C)-4bRpvy!CzSk$?od zkQ_v>K)CW%zbVNWJ#tpbH}0IK5wWn=$ZcwGRh4MXrrn=C9`t+{|CW+&O~CzhhnYI{ zf=Hhig7byG)OHBpWx4Egc9w3JhSlK>A>wHB{n0q()uXz{-?&79rn@Xv9HFnZ8v&Bf zmt_L!i(Ju)v~gmyI$iN;l&B(=vI6K>xK>dx8=1Hor0ic|ArBc=1@gqTM{GzIysJPn zMUccW;B;kopD>yY8u{~PfVAcKdgnW8Dom}wp+$XjoLMXPIMs?2;m1fmjy_G2>q%Wr zSWZhu+V=2Ur}1(PYunAFB7|}9NP4lc(a9limaQmg4Oq=*Q(S=sq6C%P_s{9Lsb(Ii zi8Z!qiWT4^%c`86#Vn3%rkxLtcUNc$#-dS_q38&h&?!C5OrVP z+lqCR_TI0_z;tODl9dg1r}aOulu5j9ms*Tvl`m2 zdlMnmWoK)oUm?SEmjbYZiy}EyeACdDqk>Z(f zEE>X~=EBD7Lr6Ne-5@bFcJ2|8TIk!UlF}P8<{VKdH6QL!EMtf9qsF2htV}6a+FdL+ znz|N(rtv|O;qvU+rHu|&*~ww(T>vX z)BWA@*gtV*njpIF=gE_u;>?t>XbT-GS@v&UeRKC%j><*z&UQX}Og+Jlb-v+xo5Q1g zW@Vw$-aw91Vc+o0w|E4`UpgIInCu^OYPUyUAG*;R)tz!0)ZOsKUGXr+WyWWS*zcvj z0@Q$fK2e6=jj=)La_GwN5=6I>jjOSoMVeqU0fA$MR4?9z2C+R}l?u?ss7sDE8D0Ap zXy9L&89e<-r{??wizvrDOwuX6{@;( zAvN2bFh@=PWSP3VpUPW5AR_ECbZ~bSaV6NYX+vzyvi8g>Ly5l4^+G|Vvs@RQHgP@Y z^jlt@o;d!<;-6$jYk~ATVo}cExfv&B%n7q~b&vq-v(+BI4PuczS3-jkD*3zYv zEO?JBpH^u`r1N>&IW6Yc%EH1Mjq;FCW!u{CVeBDpduVa{8g-j-V6i#NJcr<&?NeO_ zWg=DO7kBp!crz6ufcu5hOIt{O2td)$NC?X5_$7>pAh<(GdA(!w=$R8tx5REs^p1Ne z76av)aq5g%^z52}wSVdt6D(0AZPrM*(27t^-F9%x?vD(2b4js>l#6}J?1_dgpkVOC zF)mZ*m5uiBgvuIeURG69`rKI-FG})3wsmDl3lQAIB$bhG+mF;3in@qfovH~}N>mE{ z(I)469ILc>1cHaHV3%=(7o4S}K_wvQ0;TRjN$W(SB3!v@btPo_iaBZaryP37I%_8l z0`{jr*0T-Zcf-2)064m{ZKW*)a#4rsr zlmM`pu#&d2s0?(j5Vx;^X&bSR+HR6wrATFwkVKtQ_;MZin-p+?p+ZeC^E#jn>}2-> z^0s*iT@~f&MPi3k&w$UW)abnThjK;cF+2GZIr20x;mj3}eC6{nLzECG$JJH@9$^PpCX)%a1DB5 z6KtNh6ZEjx`=)>#${VLcyTH>+kK0SX7g2X&R}y9`HtYDDC)X^ZO(l4Uj72YeIl&>* zJQa%?Cl8a+xe-VhrGP8V3pX-Frkr$$x8tILJJ~ud#cm+x(-GKxv-8|g%+keU4o@a1 zAlRdZIR`=P2Nj0}CvDhM#AT-Gm6(WyF#4QmC&Axo-0B&vt4Z!DOP0Ha4>I6SkG`>hbl)K?X0B#EMzBlls zjeG0x!WyRu@V0oy7viAe^J|;7@{XVf3SgdnSpjd$giclHY{M7o-rQ&}Cc?X{u8Gl& z;!ggNszW1?<0kNh$c^Q!kI;KMRB`&A`n{_C0@qY&wwVRzzH&g}o^|oZ%q6+#kD&rt zg6vbMZStFE1w{Qni^}1u_utpmc?l`$_Qpi9U6FRg9tqLFnGYdncI$|O#l&>%DXq6H zH!NC(vJP>|+|^uF)>p0PgZQz)86kVu*~hs1-G`aP2<9So*(S3a!O}G(JY`LziBM`P zD&RG!O$!rv#KCU@S5*uA3n@~cAf50==nMGlY_GfdAq!0HtAtQtPN9;m>Ak?-J4{J^ z<$PY|j;?S=-d`^XrCH`kN~I0B$~iRB8wXk0oh#f?zm~cic9KMQ1BU3qd-AG?JdYnl z0OMKNEqNl^C7l(X4Z7u-9XoduR3S)Afz_&+)wXmSST}*oDW2Be^!;2}>B%k@=YoG) zgZO{p67f!~`Nstzu#+x`Wo$+frX$cx^S6!;2HAMLhk((ObwFT@DfW}Xj? ztn(Y3Dh2ShHz<0oncGy`#nFe~`_)em&+(swlR|CrG_TuBrDLQ7G=*)x>_07JQzcPf z7U~q+#=Cuk;c>ay^CUb;Gc__obn@DurQe?$yspMXb&7o%HJ^bI@UHv=>&x!_^V*eJ z*3)uTWnhLfql*V4(eXMn2jk|6iXPC=R(&Lx1MgRi=r=cM!q=K`-Q@>^E5zv2V!@W- zdmmd#NuD4vE;5oX{57z6-Z7E3hbH-Y>=m(OC`_31Rxd?5%hYps*`Ripqx{!9gmL4O z;4ST)e=^|Vd@aRw|DqY80WN4$l9eMO+8h2LnJZ@nZ9&oj-C;7(@vUx|64Mr8(%*KpvcNpUsNJ+>OOL*1PH3s`Q*lO@T8=1oSW=c5`HxE2g| zGZ4n%d;bHgHUC1>))(uVPGyiot|~E*%x0v#trA6C44`Dn0xdD9Pf;7izEq*&A{<4b zwamfT&2|4lYyqJPpNUx>`}PK%FFWPKoWYfuG?nSX%LHsx-unG=N(1vI_5&;mbFmDf z#5Ml*R*IJBws0V+V4kg<+HI#zLyc}(pZ?)P6mV1GzZ%hc7ckF#g7ov+5dqNNK=1_z zj7k#0j2;r?v^M=uMjsM_>qUpSZCwYGhMd5{LWcEJN; zWu{q08f6K%dnhE{be+DB*u??^{>@=sRQ^9tKL%LJZe~YBX+J2%yIlr>FoK~;wYM*k zQ2$KnM}mJu;Qbhegz$JF6=x_>RP8m0uTn`Ckq2bzC_r06Ex|GN>n3*ZE%>`L!qyBN z4jWf;dtHtUQ+d}PSnF*)YBhSky$-li-PLUC-mgkZM4u4QU7IS}+W6J134F*`Ch7P6 z7B%C?T=sXWgk@Q#Zn^T+;kP>KvhdgWw`>bBb{_@RRr?be_3C;*mTK7W2R?hQHJXph zolv@XHP?h1i*WyCV_ry)F*g`LDN5+BTo0#|)wml}uvmPCj^(jLw8z3Ke_eA=fFQBj zEBEk$t>WeTRG(MhEi}QVSeu2G(*hUbCC}T{tq1=EyeN1qGNCl@99L2K+`Y0x+m9G$ zeqfVr&L~AFuLhNhM%`7MQVfi5g)1kA&&s6~c!@yF?trid%C%~>(f&CfrUK3QU3 zIlK0GyGcPFE1tfkh2_3P^_4wHOV=1dL`-UKIGIq>q_c#MlUtx-Np&HM(Dku<#i;P= z-~PKK!GfOdW*S)?&2m+abi5oT8L0TpLz8lEUlPGL0_h_HAdU%E;va)r{`?J1A%sWM(w99Abi>5Nz@A$}g+ruaNs7Wo zKlfQXV>|GQZ1H!lzz`Cs$Gs(Ff{yYVPYLj;2uRzvr-ZQf%Ma%&1Jog5-0t6xJ>)T=4xiMF&|Kv9^$*A*%z z=^yhx-+ROX*C~ThMqod^&*c^%e9SH<*FhZ2R)7#ZRgMgY!SW?GH z!0{PYPiF?HpE#3X0*k-MtXx6*1zY^c(X?i#<5o~2B;7C$|MYXaXCvV!Pd!lB`C+lR zm0%7f!fy<#cZp611(4ZOsA>+Py<7beAun&$VjUtIxaGDnIogCqu$>pEQoS$gqhhqF!Gb3nYM{nh}Z)11|bdx?S>^>3z!8b|fNj}lHx~JNl*k1RgjT8_Mf7NCI?*1tR0wUnbA_Il^u)9nVjdswQa4 z9%tS1$(1UN-zIMXKGg~d;`%Hs9O&9q^s>mCSye7wD6UzH;qbA0sV$6Y@%kV|3eVAOsDLVB%?iN`*ieXF%z~c zHTXO=LHqS^3dh&(75;YYV4yzS!le3^jS0?k#~24VWs%UH)aeVFUYY1p<2B;hKwkOD z{x(6vf$j?CwPu!%+T2dfk%7rcf6?z-&N*mImC95KQiX+*@MQr@fXt&PWbxa5iho+F zz{PW~dW7XRLG|@~-Mgh*N-4J-kQ-!;{Y0nAw5z^N35q$qbE2Q*TYei0={|gWM_^rc zl0BF_#d^FtYWfi5&oQ{+sazV^wY;@m)6{b9;&?afEKh$fg!N-!7aRw{S^xwB^db@B zeM_7A(tI-_iqzNGBf3^HwjQ4DFFGdP(?_L#xNv-?EUueYZ}(?6b`^EoQDpUQ z4<(dnc^f=9fd-!0%NGXaY(K4V`WaA`9I~&eI&@^aSOX_65o2~8&%rlwzyUlx^DsP+(4}gA!s(nZ&T93QlVR8M40<$#F_4>>^Rc@*H1u?(d9|ptl4LU%CBm zyO4ch(|)Co6`dCDG?Xtk*@rJ7I9h_2XBny`^C;QulbjN0MZhSALL3s3W!>BU(ri2K zXbRcLPCQwlB7S zdi?foZmwL*Q`5{@$~CS+*@EB?(UW)vq6-i~uDT@|AAzd7OoEe?8MQE24&dM2QsuXy zHg(z;a;VgaVU9wi*({u9K_|6{-1C&Zd3o+t?&+gac$C@LjnDfDtzzen^yQ~() zcH!Yg*(2?aJJ9rnBVW-Q^ot$NB8;nlcaCxR+?OI(ZMpUr#nxH`E(c};VdVKKEcvW! zSG4A8(FTsM#{D{;XBXGXMUN>s6N}LbwGW~|udReFUTylFRlSQnL1ny8yW=;aFAm}W zOGxH=IWI?2we;x&JS7iY`G=C%TVj7-BFjd$i#}(SL993+y;r0TI$`k+B6BUwv>}hU zkyBRy(5+EeOLr$L3t?D0!&#H#nFQ!$<1?uLL^fv9AMkd5U23R=;_!#65>(w;MrAvh zyNXFCW=S&$i=Z^7L8)x@Q@`)QfjG`^q{ru>8QA#es5gS!WdB9s z+dNEt2_@`=J7Jpcfd21$>Vhik)Wa{}C+Jbs`g|8VUf?*@0;u9eRN{chVgzHMAHTn) zf5L}f85SOSpV#ISW<3_NeV1e5J-5{+_4Rsv_@>?ZN(-@H!WzDNT8VH%TjEux`b2tt zFohC5`)Y6=pkY$~5@0(dBDdHhuiu(X)t{%Q2=r4N-@;dn%M z7w(wW3{^fZ$Np(vzGc2m&i-|Vq>#mcZTHE6+>g2N_Zl%KtgL?>b5RtahB?#O9AWn< z(;i5oZ6ZvbjILO1Vop)P&w~lBDX6hySoaDXdU==x61Wuc>{=)ly-ZmYPPMRLsr*J{ zh*|k|YOzH`K)?D+Uy-eTJe0OzAz#xV@f~a-0NRI*@Nu)=e~p<8fVYJ`y7+ffW8*z) z@nkKba{WP_>j>I!$4)_acYoqjDvMrn}wnG(3wygxzU%2tpr%bSY z7lJtAOQ<4WGN@(uz^_k{+||QBTTMSD5w&LUFz=M3!U6i=NYlXONn+dX4ntX?u-BM`iV#;@)c3%XTeO#Yny(rd_n=hs3cJm7)a#&QmV2 zgtyV;jhyeFN7iZ{jq)7d{_JaV^Lmx?##I%1F80p@%gW7@^2O5n)?2f6E0?r3*XdLv3bl5~TP8_S|1VFmb2nB8@^BWHO)dOHwS24JnZN@fI0yQ$=EV*MpShPjWa=2GnZjv+buCZ(P{ftPA> zwbW9Ja>HwG_&34d$M8_wuW#Y}qPuGB23+N*RckKl{MHO(8>YR;Ua-yUamY$PjJGbf zHMX-Xfhst?z%p-TkaEaj|gj8d;rmeX1^8L zZJ$OUspM|NP+&6MPgoz^=*1N;k-BoPC@d~v`?gkdz{%`F4XPsuTF`|_vLxKil{wAZ zLc_fLnNS)E3J=w7GEB5!>ivh$G|Rgzon z()}VYSuBC-5DnO+G%w0C1RKVaDyaVqafVy!_I^r7Zhv1ep@QX>g4O+|R{kJEglTZP zg`)>R&bu&6vfa=$K#}t?K8&gK`SaGNN0&x}$@=(8*5YWRqY7k*){s$n4B}X|tA=1a z^TQN6mxKi0@S-2aH(XhR2GgyUvgu}j{~poCK?2CC#}Xs7Nh&6|=KnFS#U>vGLur1k zis#Z6b`t1OFETAmqy@9ow5%}_yiv?DSwTtgd#pLpI;a67L@cnw-lc{oFdujp}j=oaNDy{-m$UZra*4ncy-x+t49E9+`B)1Q(F( zYzhm0QL&HxplLRr_}Y?xGFsuWj^9) z+Sy3bt&E3Sr=vdp_X`@#WM#(B{%k&zXLH1y8mdf+1clGBVcs~}a-%>2Qkhhj( ze8{fU#1I(YCLss0$NeCpLh_Hd7pw$#g1;9w=}Ip$NdC-nEHWcY=v$Su#!&5|@|llt?# zr%_5h;h5V9K*0`pxjijfDA|r#Z^7ys71Y%M$*T|6~YvdrF zxPl$X0GTX$_h=hVOTWDp75bK64Q{v6N)~Y>>Tlw@blkm_pUs=rRNQ?s_X@#A0nzD0 z%jdyZK*$}t!#L9Ox*tn3yd>+o(1@b%+jYuMVwB0$=^_IV;K@jQ5b>AC0evBWySqD_ zn+e03S%LHTaIBD1&4`34zfx7P#weXK3W3hLg5%SLUYp*i$U49vk-KFGxolflm;edD zYo5L!Yr;6p0GvM~Kcjg9i~R3J9Ngm>WA^dxpvw#faZYo~-91dOnfT3=j&@2$lbo3|b{k(+&^xsWN@cb@OM0QEITmp@%>9-v) zvH=tu;Pb#R>I z1zXP>htdFJV}iQ_xQ@NH)6M0jvWm@QOBNSJ+!+kK1@<=f=5-nj>V^Hnq)1F3EUYC< zMBmIFTUqa#rUhPe0T)u|hd!u|hfpGr_3oX-Z0t{<54|Ntm4-0?aMq8ZpNN9<7#KvK z!-z5WZPKj!gL-;%sR)Z)wlAOx>82E>dE$QA4@osV@45Y35v4#UCuRS5iK9TU~?`Zz-GKi(z|mfmL>LVq1FCeqjOLA-2~ENA!@RI)UEEY+AW zl>$N-4=GgAfJo1t>nLeA5KE!qbyG0WW{ag+t{dcHDj5)7c7G)!LYj<{J1ztk;8;M) zk1G6@!jT$tn^omfy?#Y?UtucHMFoqR<%L37u2I%kmQ_x;bbEDfS1G-+`tl>&wnzt= zEUSrrGO<4W0|5lgDXYzim6XJw2mqG_2EdT!eKCP2`E0ajkB|aktJuV#l4q~iACiB* z&4?LcIL=?)1t4ePGP0Y1>sD?bMsul;lw9dH#aUVVF|YQ5&irmA3{K@rel3@SRSHz| z$pkZ~3F2=&J%{*;8QXDTJN-6GLpk=vcg+C6o5{nKT7ZoCWtryAg65`-x37Xq1eQ6* zSxK@Ae=;fOK*B7P$AKV0d4}qtDj8nkZ*jOmzM+6fxx03}>(Gtjjs7R!OlSCK*nI ziXj1qBpe+sb}!{0CtTR2y973+`s&NTUJ!=fuMB^&lCdZoTS4t#O^SrVZm(}NFKk}J zLGC(Ik$9tM7{{WXBFMnq+#S0drNa*dZWm|k5B5JMU?WWduY@o1J<`G!G27Y~)unR3 zdlk1-6k~jcoW!|k*+t5yXx{Sn5L%j>Q<1|=rmi2e2tv+9%hXEK_)42pKGGK=$2xlS zQTrf4#Y>>^jt=MjgWA>@7dWN1weIC=4ZMOV%zQ*>7R-XvdkYM34%`efW#XBQ^Qig} zAU!M|Ad6ewPa7i_<(pV%Er`b{UP6Az@y?l11k?u8YCPL6?2;hniHtJlSCC+kCMmHAd z=>d7G9GQa>+-jYt0RG(fo1X3%FOrjMAHHf_edQXBJY#V>8c)4|$LVn%O~jxq9Eh;M zHJuHqd=_dPCp;^SIFd6dc|8ipb^4=~juuNsWZ**T)WR;}WJ5h$TuWmOKe-O z8o9~jVgG}?=aK72xT|Yr%G)IDsav~Bv7av)(=8agxwfsWua*J-%rp;`YDYThG^%LC z9`|~B*yhk1r{`3Fm@H>=_qFV!Y~R{zE3eG{c|q|vu(Q=hYEHL0?!0~ zf*)wuT}-n>Y#payR^ZS*aD_MpjHCF^m6&K9=nXxzYipfNS{8vH$Q1lk_<2DH47sHB zfW)rEr6{4@Sq{2tEc(u-LR{5qbP>e<`lX>N){4ZP+A)}rh&f7xgXr(yiu~G=H%4{I znxyCQ$__+@-x0H>a+@ggW>1&}i>|5r-JY)U_SYOl24JEQ@PSSeeBiy6`DHlF$NX04 zOMHxsmckP#2=Qexhj(qSC4`fy?VLw#t{ZE*Ocu;?nu+0(AfM zt4ELqv}h-Y`>JswLJT+W*{|xwC<^$Ly@wUCrC`J*EAV@re6weA44eq<-u>}-;}+mc z4&G(6Sbc1Ls*zUsn8Zy-;sqPuQpQnDHWsb2=CU(zinz;&nQ!kr0C&7ZqIP!<FfCGaAN1c#P0X#8--mU)z8!YU@=oSgRb6}bZrrt% z3-lvCZu7l#NU$$yH)HMma*lu(+n$YSNA~>lDO{%tVO%W`v~XF~X^gJ=_mcI#e9T|O zah_w&7lkq8C;;V^=DY*o%nJ(&Yp+q-vwz{$OL)oLqTWnjEcl}YCk(wKz4VDS)_3h> zd7cE0RVQuaZ~bEHl{a8i7x!{C9R2o+YHh9wlYLXDWH6Xq+l$87*EJ0Ef$Pl&p(&z- zQuT{K5}`O}&CL0m`C9lMQ1*?QZx_Gkc%fuD?wUY>{bnxtp%mvX7;lHBG7}Fo{k5!G z6Db*lW7SY*W3zB7*Vejs8E0p9aZv6Vg121VYl5&92MCPk+_tc?Y9vpel)n8iYr(wx zxDO<&ze_#)Xyj`Tsh{0L+rNP*ClJLYtD}VyQ*(K+)CAK0U2^4sh-z4GPjz*!W0d!$ry@BxTv!6Y-PU zD;fXlbsdUqU%Jx#nX;MW@ZS~C5@-G5ai?w6`^Un+Q=HIYq3qet<=Ix$BZr$RwL*{b zzRYGMzFM5v_+2ezH%;acXUUdQ!M_;8AAUJtzdaBSQktnRGju4#TImeYI*R%E0{v$; z<+$XlOhUbab&@-~z*)vSWM&)ya-;k0ZS3$9gX`5q1#ad+zx0Yskw@e30L!D`R7ZWH z7^9jlzt3=XFBN--ef|(f^ZOJs_)iYo^X^09(|-8pR_}v4wm$7NB=7TWv_M^i(yIbW z6Jy)8{GYaOpzP9PyWO6UFJi+fkUz$P1mSM*LGe6?$(;*u=CPW zas1_VQ*4Y=Yg5VZQ{>xC!S4I76CO6TQmom8U+zP?gI)|b&tH??OAM1;hfp(I2fZ%S zwarc;`R=EDrdKojao2nJvpwD`+iR{b9WLFLG#FssW-N)b8>?5GJ_h zJ=c|OZ|n_cT(?a@;T z#ZP3qYzExb?_7NLGG-NTczmqf_joUF*zPVAt-|5@lFCq0EbeX9It;$-4&oY_{$Mr} zwSbc2juws;BX+%Gh!?<+fSx2Q6%wWx@qgPJ&xve{)o;k=f5j+JPcR?3G&nMl5fFHV z5yq}L3Xs3<^|jLv1C6i6;)Nz*91O)YMIT$;au)=%?_CVaA%j=c3(Tk1qFPw-&WP0L z)L9#BAxH@xOW$DbwUBi7t-Oz<8b0)ZxrBBC?k^iKZAHPSSNPdkEYWcK9A99>_7HED z$YsTS5a(VEvd90R?mVVza}LU3b13U!y}IMucM-T9ztqv4uq8b7X&*++2HG!mfFb)=J`&h-;;PUg! zskD)!vnEDN6A?>pq6Ed8On+cnY-Z>t;3OXo?{-yp>}1}*)bYZ*_Ukg`<`1N`M2wu;yLyF!uxOmh@&FFG`RQt`=mE$^Ph?+R3@f?%b3g-6kZ*&%?6 z)yLvFbt(49B>CT3UK7?`xa@;??obh&L@Rg^o&MP`;!0mI(n8Z0Sx3c5o;?RA=xbWC zN^|mVaHk>pB)k;1ejrBaUSnbC1hY!LNSTz=NqA@g-4b9*GN`mNUB3RlN+ZTqUTn;%f*^{ zDq=?UEiBa13nt>2e5guV+8oT-{9*IWqa0OFg_`A=QB8}wVBoy6B3W9ovc^vYll1)A zETenkotZW7_0Kr)3g;#IFr6$<#+oc+9(&yWqu}88dfgU@J0g0axj`1DD|vHd8q~<5 z74zWrb$TB>H6HoA^U%aUdOuhfs}3evw3@QI#G7eZtc#o zTXgZUM)(oL37{nF~&fi5a|csVGqW zZY&X{09V`X+m?!h9FN<0=olLThcH*f#VInr$vJ-+%@Iz5y`yFCBEcZ}vK_)4Yq#$` z@T7*A>;4|U$rTZXWhlzG4hhw{_(TKst~2);dmQ&ir=rv-6n)w7VWff7mBjV_plN6S z;N3+gNY@nrbn^s-`Q}b#40W^>;rrIWty0cKn0_{u%(~YVuX_6HCk<5-Uc0^_!1tMu z0^Cde&psjsUhAI}Q~x-Fnipf}74$pxbp?QG*;q(7c3c^Rk;j`w0PR zB&cwIK?J)efr2?sbD!dsBB0Z-ZQPuAyc&*8^%_ktrjbZl0hX{z_+<7fuC)Igv>+Q6 zfB4jBl1^LI^X#P$F8b3GwQEGA9;%L8uJAN8QjK9sKQDTDAh%T${U(R3b9_D!r6OQ! z-u!?csw<%%=cqtgZ22a+Pb5*G4#f-nO6y?HO_ew@)a?YG+jp5zq+!9q>#sq zddVaUsmrtup|ug2p^lBo`bwMWXcR&3^Bla^SD25SoKq-dF~&fm!V2ry=ql~;7DURg zeF$RCT9|nW&Kd*ywt5ys&-coLNN}T8YnKr+zS}rX%7<8WofL!wphAP0z}V}v!Afz8Nv$za0+|TWP0b7#C%tWU2Z#+074Mts45=f^ zEQYq0mq<^#Yp$Ke#=Xbw*)t2m&$+Ew+6a;9PY6PYMj>#vQfnxHE06-q?#@r$kHt;F zz3%3daIz!rt+(F7TV~uPv#&HHeEj%|ZG76fbIk1VKl$K$MjLI?7sTtV}^*gZ2dbpVN6HSyZ5vC>VMtS^n?jVwkI!LRT5vmd_?@+T_Vxphw7c@ES*z>*FFavtpj>YS;wbf) zR8J1eq-79n(e1u$0-`u*OwiJD$^G4DkAlD}?t9*Fqnn(-0w_k%+8a@Y2tEF-BfM|T zz5cuRpf($DuYdgwhWu~+-ggiqow4R2%b%})`5Y`?;egReb*sT>-Hi zbwBunZ!*avNZ6`dK}1?XeJFx++2uQdU(LPtHSrTX$8iS51K~m5K*Y()JY88!s3dxs|W!UVM-2o0w*FWiKvF(CeMv}24kHO zu-CVL!Z2=kM`y>hbDia)UGOY8zuB{Tx9co*+WVHn;dO;wv3CA%~7%NJvOl9yfF5qlZmh=!7*n zwHZsuN!E!ys4T{?e;*p^#rzX%9=PB>savR9Ry*p~O2u>L;zETuHV36?49v}~f|R{_ zNSyT0(2!Zp$Z|&d`#yB~LQHv(P^HpxM-DGhRT5qLC`1OmKLn?NN=6H$l30ptFcZR- zMNkv}H`)MYYYw#iI|UJippzG;9;}D-{o077g>oT1Av*6wPHPT5q+!joB76L@o3b?u z3cy(?xH{&dk_fcPOz%qCj$$x?h8OP- z2h#|a3a5?;pWgjF{}2c;SIxQ>0f^J+2G#;xVxYnvty--zaJ?H@c#t7?rdFIn03Lg6 zpxu|#)BU-%Qt@^5R?R$yKgiO zTu4PoU+$lW27BEP{m^%z<6d+h`~U8vz6JO8+sdYPdDHh@Zk+G8zV)Q7CA{U<*Socq ziYqRC7B$DB`^g{sBczle_wRr8ZE)!$?y}2vQm?FTM2Jf6B)0ilYnnU0$Qc9uZuC-F zAqnxyT1Cu^x0caPTLlpx1u-RlM>-rk62SKDGt>(=i*q=sDo;YF#Q83-tlD?IYEavRWQ7dHDSIZX zX9AdGmjc-ne~FhhfqE74Ld>b#<4@ZMNsn8r@VT%5WBuh64^LJMg2XqWf;|<`lp{Z zqrQcHsvSCMO^79uPa?3l`b$h*v*AxZLmsu4C_W(84Wuyb2n_plONAAiircFP5?X{OuN6t7yAuuhB3PET9 z3E_Y8lLtWlbM9jwJHQKAMtbK>JW08a{nq@CV;OJ+dJ3riruLCQNm+ zvhppET*93^aS|jk?ykJ@GIPW5+rM*{A@(2n(eHONTgTiV{OQl|zJmL^|8=iBapIW! z5C7qp4MF|lFa9z+YPY!UJ7z&n+Dw&(s73C3-*OXN{3IN@?Ca%x&a0xNmsao-z%C8( z$;`9Hc-7gui|FY8%kSJ{YaT3pqee=)tFP~OgZKq{{9DISHL=kRMC(-~L$p&wL5rij z8~gtp(oUgRFv;MN$Bx?Dgir^Oe6(I6r*5s5TtHwhJ2=RnH;whJK^=!gcH=9rag$SX zTz}Rin$O*HKhng6`@ZkLnQ}?2oem>G%_9{^Rik|tGgkit4?N5{+Dq={*I#0im#nZv z5Wnz+FT1CnI^zENZ~oHiV{MLp+2USy?G-R)b$8(J?=`|OKpRCcZ@l5<)SH9g57De4 zvsw}ny!K^#=&zFd@>d@-)ziJ7`xf=FXxx-aC~{l3Ofj`tOM%!(RkegS(-wpX-+urd z%P|-WwWo%qk%p?y>Cw;>;qf8#kH2H6#i4x>65$BxZ&?{}y6^sq=s9<@i@rT%0>s`|vWiqjUN7UC%s= z1@*`9NDoMTob(FyV1)^Bk(xxibGK^WfW8ll8CfZ50b7!d+9L_UyI7#z>lkGnj=)u} zlVzD!LR~3a`2^o5^VN*({fT7~sLyv$2o91eyoHYMIR6Y^Ne}_8pG;2nv%cVf?;_upFc|5b1z;|?t4_I` zP`xtilp{Osh8CwTDMEurzPFAYTeiP4swt+TkNq{=+rP!(@PZjv`r`a!$HBVJes9$K?Vg7HNlYVm1j zVkN8%alCmr+rwx2qsmnMd9C!BHs*OQXE2EIu7O+~MWPmm(V?OllJ0jX)lBCO?1bxi z0$(5=dK((vCIEZ)?r($j)1SU8^NnxpxRPnPgDvQnR_o2_m9>0?FOnv@|CCe&k_3b> zG|9wiCcFSa8`O{u@95r~4gzf$wZXn2m#Niwq(xh)D6;X=j83K!LK+<%wuyb|E?M_5 znRERhDTggRi?9%jU6;b)Vi9t~jW4%&=Ot5ypf%||qKe@Bitf%&-VH*jx!spWT6Y^2yKyIrBFMXqNn=L3v9Q*+;72EB5&*#5t-}ixE{7K4= zf`r*Lg=^?v{=Yuv7U%PBqIVHun04RvJzG&PY17#t=BYJz_0=P&Y;cW{MK#7cgEly- zPjnEAkaQ3GCo<_ANO+#z&Nz%?XSEivwb4pCf6*l&SKVWtSbyMcHv@-Z_p+Do z<{RYQbqKpb)J>?OM4aXIbcHiK?*HO9*qpcK4&41X{njwaq>s&l1G{>yUGpdB?cgU_ z|H=JyYEWwfIw(g39u!d10M`H(xg^BnJq&wGi~GwS#|d%njwcT*h9$jpg1_EG~ zkOWK&(PwtpqCFbAM3haXx54$K8$GRS^3lTJ?%nVI`oV+0TY2X@A2vwu-|r#TCIFoP z%;$%r-rm|UX?Xl(^t0_4YoBJ7feB+}e>E21>fAtZj7u;^OjWC8_KMCLyVvIgfdD)8 zsdTKs(PGn4>&EM3W!)oRJ>u-L{K;vX?CQmRX%mtVr}WFi!#(DGQ{29|esQ?sG8HuW z#hr>v*Dh6gy)+#$8=Kr9)MZjpCmSb%DUT}L2g z?GCQnLZ~ExsY&0?GS1Glh%0@z&KK~UXBc=w*7}orO!|G*KL!FFI%V)EppTbs zT`COQc?<`vLv0$IT`+{#&?b_IU@Zb8i9=Gabp4VBq{CPHWt}4~T??~AoV&vBcID(w19=LihplXL;Hjn30+h+q2k&16me?Pl`eZ(uMv9R%B?d#|Bb#m7 z+JmgZrf~70bS?19VoDxfO$x=JK;NMq<7q_Fx>P`XpBC0RypW+FA4d>BDH=4M`SHVA zFgeGdtYI#kW08w7n}Ih5t6duqB(K?QkgEt*{8Gaxg;vVtV?igk0aR@Q0B6(<@ zi;IUFAt*cW8IzUmZ@E~jm-2E*RnAEFUjh+manQQAT~foo<7UIFF7BK44gwBgaG#PW zHHb{@{292KfI87op#>K$RnP91Z8u&2I6GK{09LW!kVnT%W(@?8c5i*#Wgy{Rcln-e zhJXh_{(8+4ULnQtf8lfgWc9uJH7_?runVi2qeta0|87GDzx#XdL08QwTuE_|b@$b; zJOU>@&JNm3L2S5&PHzEmRouhamFKZgnZTQ+R2x#!46|ePmRqid!(Mh@{?g-crhV?_ z?|Ch{_FnfRKXSF%xgS4%0#nC%_vL?j%n;o$stuW5zT*08L6Y8`fppCU&cuzP9N#fc z{=EC0-?|$vyXE#?@ejN&Nu5}%m|y>QvjFWqk4m!9$BHSDkCY6<|Ls5Y-PFSx$lhHL zMLDeFSV_3vpZgbY048hh7~ig9JMa}W%J~2ToIuvY2CXZuoPikiQP#V))`@lUf$NofwV2y-pZ<$`t=`+PuA0Ew=;~|s*x2}k|N1{oXMg*< zudsgn_7jHu=DwNxLVWdWr?{Id(FS8qvtI ztylzjVp3LMNmNB5P{T$5)Sj1Jy9=U`XJ_(Ph)eF9k4k0e-0Y4C+Q)vAp*(AVHB%W% z7bSvhi|>qME#OyhxDiKjljEtaUph>8&COjEL(humhmC{XdFeJLE7Akc z<#Itfd#xQPuSU`sUMi*HJC3edE}E~tM!x3d3kcIhxc8IzvysFg1AtZzu0w5w^AwU5 z0$;(rQoDX7Wu$OQHqP2ZS{5xB5NLb~QRzhmJc4Sk!j`Q|hG4~=3bB~G3FCaVAxx?l zap1Dd!PZ{wY^IHSUmt)Q;jC{FymSza+U1FqZ11%wD~V>p)pId7c(e(?EqMJ@I=ZCjFaPo@xl*BYEoPrP*qvy8{!8UjQadxX z6z6VjpBr zg1F70VSiqMUw8$+ARnnIUz2dqn4IVj&gj6E3oYL`) zS6n^KCae{7`VY}BDfjhk>J6%aITF(#$D2$F6P+hL8;gjD@d0 z^r#V$K_nFQ!^?0UCrRYDfAiBczU6-8-EV>b!Igu&H9tT1xi3QOIRxkU8j@hnz3m5X zHUcFWi`d`u_Yau#^Jo9#AqYc{`;(8o&-P)oSW6KRkwmAzEB44Nw&AvIowjjv-xnXT z&3>Q#%)=128hxa*pz&q29XB)(e0hHr(U>PVJ?kB`;xMKPR6SM!G5ohO%Zc zix$rq8xq$fkzQBUJ(`SKT+}4ej?x_BysUe4g4GCrI$}`>QHW58Ovp+>T%3ZqJE=m% zv1)=IKdv3PSyLy-(nbrE;!I_eFGMuPJ^>M_<)tFF@_3#E=?&m6St<@K3W^ieqG7Q1 zkq%k!6{oE~T?@HtXR8(oS24wu&RuE&aoJK2WqF_U)TxxXU-ZnZ9n4U_)DYfhQIDyW zERD42 zJ%s7#2#dqR{K?mn(Ci#)y5l_8w}f(Px8L-oeGeWUf|CflTybmhe+&Bu>>LQBOqt7y z;0V_I=Q~+LA+N@>c{QaDSqdsh;uBdEQBd%|meua%%gI$5BH}<*oM0wZ=FIi-~R)zqctg4PUdkNP;}pZ z@(`1mwE%SK!^2XK$oz55ef!`cm;#8yb(b5WnC4so7znI?ZZJPQfB1VJx4jC-p2(ZJ z>NRiJZ8qpPzWNG7;1g55rXrC8G;zp#_Uy9n-huZ~5wlTtGHYyUta+sF%}zzk6hsik zu}hWW^9d=-)q}VosY0Z3@<_-RpdWY+O;Ty<A!8w6oolT7G!{RK zwHT{%dYA7))uHF!@+Y7)O$%8l-TKzovX-#sKKpm~L0k(E#5F_KKg`;M#OHhd;Q`b? zW%_B#5Wmzt+HoxyN=2ko$_}yF>o-66y9TF!{!{D_o*09mt^i;8^!G*pI;&Zyi)lld zthN65kN?Uff%pIHdyw#^DT8DPvD6t1hYlTgAO6TEZ4Ki6|H40?nwIJ*!fNTLjUR1D z6XM^!8yi9h?jVce{rze8`q#bO)K$B8Z8L)Ow|{#-alt+Eh+I;zmU4;AdT|2CS;r!7 z%gYcbV66Qs>W?DcMb%&GPldK5V0Qs})AXg59ax9#N9KMtuEO&stqpiOE>Gdmge zi6m^}R$!Q@rjwVQjQTUzU;o~3J^0{ql(phjL_CR!G6M zwB+$qgHfWbOg?qJPD3sl7@waHWs)ceX($NE=uh|h6PK@v*T;@m>Bgl-krhiSrBkio zOgRWeW`DBZ_U;+9FpC}*^F&$B95L^avcboR8Jwcr3YJRL0x{^_M?sF-*;+RH z?`kzZi3^V3)(xcRr9A_@OF^5&R#rF%U>r*t>X9l!NEfqUkWStvxALnkdhg7P770@z z0uE3?QV_!+!lE6+wi^|RL7b;_@oMYJN+0=?EIy8cAm#5zh}T=G=>3dIL%JG!Lg-C& z%|ayFoT#*h+>nETq=pa|pU1tmkW3Zis`TJ00;l+@uFZ)il3pT6$ex|{M{wdIF7kyW z2|`ZxJSQ$Yf6t}+K2v_R%M&8KU*)ArQczyqYh6K--56^Mf=!*n*`=$WoE)(>Ncw6t zWPd+kgg8iWLZ)iJUwmGTC9Xi^nr1S(xL7o1K>cgu1eg`q@H&bGmaL4VMx4Z&XBr!S zNf?5g7P6O@bsht70d6y>+_r2Tw(rooflP6=K2YIs8xg^onJI&Njw3`>ht!c`EL5k6 zqX>(>Rc<@vrlg7PU&tYaLiVh;1**OtWa2=&uNhC^&RXgJ36!ssx!-Ei&@ zV04Rhu>#>*1VL$lm6bQPzqqKMLuLBcRA2GQTY@|7>A><9#=fHl~n`=t-;M}0I0VSUOL?*HAs z|J~GH*IawK5d=Pw@5I;C&S~nMfDxfAL`CE0`0-Wusr}!eY~5YDcLdiRd?yPyxNj{=~|+?*at#_tG~N-oM|ngbB*0ra*J{o}d*nDh7C zKh^UfbWBI_?&aAaAb{~FqG^B3RylH&&R85`l715B+s|U9tb8Ku=2S#_ej%b!{PW9` zqc~`@*@lZW$wAeUQQV!ZZsg*45pR-0sIsVe>dATfpT$!o0U=y*q_XAjgOd}7AOa$! z=s8&?COb$)tk&QpUBWLo3K<U8 z)yNgH79|CY^>X6eb*~+){-{EExs*P7p3Pc9{8AAK;cHRZ697*T=8Pb)kcxGS>MP@t zppIm-q?55A088_5rZEA~I{~%-W8h0#s6(N3^R%%fe z#Ew57Nix#CEAEd8fZ!%1EBGoN8S(yt!s4^?>fI4;pVj};?W;ZVl_WFDA>d+b2*To| zYrR4ox!@qgJvqriE>Ngm2yCl`RnbD;>KPf)838@kxB5=g{X;N@1_wa!eT)@|3KE&> zk_#8P!JcD}f%->(+ApB*(s>TYApi@Q#x5{^DrF7^g7MHf1+x63Nfxv>K|#`h#-BeY z0&5{80-^9hx$I_q8S){YETjZiNjlmazz_xCsE!$PI?$wnKd4Z5{0ddy4NnUKhVtVQ z8*#Jl=oj2NB?j1}JJ4UF<2nKa;9P;V2jpa00@cJAkY;mxd5$oj-{b{ZcFvP+-9ba2a-H-oUmd3zNL>!o%t zRfNXT5@*zkz#LA*nPPWy*PCBMw>SnLd^zg}!~r zySC1PsD+s1+eh&39o742kRg1WmznOtnrJ`j0}(>GURHj33jHZ6FQg&5!5ukn_zEdQ z$P3jHhqw)35(e zv*n+jL`^rU9mkvljcKf$^Nq8%AYHxGcy>}6<<$=Lsn#oGC3f@o+-UFJik~PQd3on2 z9&&4o_*7zCV2pw}?v#DkF*eRgB7p7yM?Wqk2}lYOgQ51Q8?4Xh2ldVA0=;X=?Wd<+ zoUYhQFRlIE{?i0g1rR@@lWTx#>inj=f{UKj$Xh?`-Rtpwrv#9w*Q@k%uAc$Y54WE% zj-Sz|0b_qi0^;?I-(wPX!#P3#P>IX8Ne;3S!qVh7j*giiFx?Ao|9 zj%Y8N{2ms1#Zjw{Q-gHx_;-;N3Dz3o*j84t5W#IkwJLpZiAg?3S#g}w-C~zdov3on z7myB|mN+k=a2QDgwLYBZ0_~HJ8;?jeu7m*QIlEVO;M!Fx9kJ91LIOg%8g?OggfHtO zbipLc6jdggrkjR%EwH&u`upR@7Hl!{*l{6xypTS%UElEPW2j54MWNOB#OV1ACp-Eolqj})r#t@E!Z>xtV-vhU+ZWkZTITRqh+)+FLq!nP2*y+70UT`$OdWM{2M|7KSA`jX`|1 zflT8<^(|tGsz0?|?G*Q~jeFV*H;<*3)(x~6-HQqfEkAv%er4Rn^{Wn9YKZ_yHK(;D zNft846$2tkL-oqXlin$&#Y|FZm*+_}{!Y-0J7HpK~vmE$dV@b^GnNi{a7W&;He4J=Di}q}!S3+nJ1}^DkGC z0APRQJWIO07Dxc)oiLiOC4T8?@zT?3{fjemC(Ji~L5y%fmO_r&q@|Q{tqPKl+%(*^ zOg#7O*~5g%xKbYV3*2Rd)r~AB-t``ia=<$0(%myw{wR7`O$|+4Ehc(P5jF?GO(_f@ z?*ISny$7IXS9O?sZm-kt^dgPAMqMMJ4w5iM7zqsSBmut|mzakg6WiE%dCm(?VkeFr zV<0vz2xDw)V{iZ&30n;`2!R?BsMqPem)r0AzO~Oj|M~y9BaH+?g`AoDpM7?(Yp=cb zDgv{MFFrl^&L4VMW8)LWg%=(Z0Q5J0d1wQnxbpVB);@`dRt#O(AD)i8c z@v7KN?AcAhbZ!y?(|vmrhM!Cu9s(0x2e3JW#jEuI)8XQ-dy@q0_t*~7lV^M?#fF9>GGQr7a&lXOi0FhlIrsKUcaks&@5aoL@X+0YAGWp9UU7P>7 z9YF!E{is{u4#?tCU3b1bo>bb2T1-yLKB@qo7q9JTHnr`3yWv=#?5|VBJ@>4m4<^`P zRm+Sj2)L%KTYGyt8C-G2qPWvJ_0*+|cYoM#@G^H{+$Dg8Ge6X`^lyLV$0-l}ok&yr z?A=Sd=>yJwF>do9t!Zodn|D9V$zUg^DFoem27+7b7*s^dektqer$2ooSpA;jsyANF zy~eC!<;vwjcKaW{_m^-K?MD|B0&|^<;&d06=93Gk-^>_y$y(;Ie*Na+7k}};#0K-L zzxr-Yl(Zq_Fl5mkquio6^UUMpo=~nNt+D;XXKv%Yzj*2irKnMb!6{VEEAJtkyKc9W z*jwm>#n_WTXcrK?Q18arrIE4yCDhTGp0vzxSB@6{X+M+aEA5vq$nc1F+yIBojH$LR zPF5=<-1fD#4_tNC2fP37@7}9&xO4{q@Nc{CzAc?hT=1Exe*XH{#V^^^O=cX|Z=fgRgb%xI-*#e({w9cws5a)2BYqwsXwr-O3&z>}}! z>}&*nBo9fy-2_G~<|VL}6ePx_J3lTM*(l}r)~>4@TOR-Bqb@<4vZIg)RMRX*Eg!e^ z;n}mrV#VwdmyYA93`M=#jH2%Y>Fvt&KSf2RG8!YFqnWbH0$5X)Xoq~O!gs>+a6eTil`#62+r-o5#$KReHac$Vp z#asPB$~0(;p@)9;oivBenWKIs4dbMZ-M(-wwzq4ItRsZwoDb6Q9d}Q8a`w!DKi|1w zUXG!r9Mv?cOn_MaF~=Skq&+S9$?Cb6JEKSkvLScRdKA^!jv?-v=F0oe*xG+PIQe-` zAP14{k^Gi6S(;Qn#`CVjF<1}+iEUht!zIM{ZQ7t61*N&u2HZ_qcn6XIL609L*08y$}YT>|@OOr+S!)6C+|XfidYQZn@=_ zj){qR3&+O~ErEQnfQ3Kr(4j-v{1tGFwvB?dYH>;<8S<~Q&SOE^$?2F;7G!4MFHcL8 z^E{MJ6jG|?>*HcKuqPliu_0B)cUe&~i+ zTvuOn3BaJ6#f}+9E)zfgXJ3q?|IfeYEnslViXVFGg#eF(#l8357Z~3guezK?dIkUk zDN;6zryku2Ksi+W#J~E1pb1OYchmA7!41gM3(z3gL8bq1#E^`N;vRTVi&OiH+i!oE z_krTE$F`?A1m5AL;LLe$SOplS+BP8wk7Ich%zpP40jC%}O4P`A$2M6C!L-pCq!PDT zSP$!l9CqS4a{@Rmf==BF(3!_(DNq^U^d!C7Q<4D5I=TV7K?tz&2_-EQ0et!!1$7qi zyBQ`x&RdL>x(K+ubR7kt@1+mDyVwICzI5xSxn%cJ{jtaPmE3XA&zJ+_=o7NM{yvoB z0lXJ2hP~JOw>E|O+KLD7-x8#{>%VxvtBAgktE-x=e(U|}-EvlagSVJ^bo^Pa0nm+pH6#`oX<0GsbtbQV1p{qe7V z=IxC00CzfHi}|Esn4X>m*m6FX4PvoH{weMj7C?6F4k_h7|I;soU4rvg zpH2N{78hP{dT;c+h0(_8R|V^!QJ^+NL_+o9_CI(H`T3VtSYCGJCq0+^^LJDN-~7(&vh+y9UVXfR z9MNP^BoP|l2{PN4OmQ@fx6i|Wcx-HV$*x@+!D{~FTK-D}B*b#sJ%KmRy!#c({bIynVM>RA~8^Out&(Qw5c)gB4$ zeYPAoNWQ`iA}e7s)B0ki{-_=8uY5UTi<8B~m_383fu9c^s-U^9F3D%vEEe=6`(4YwOX+m8y)CvB2$ws}@ z&C`pD?zq=wQ-h8Vz#W5SB<7pIoH#S-7bQ_=!FJfg31|-W=;JQKOIKNH7g9etO|&_j zHUP1G`!-!Z%c5ytxM3w=5-TQvopar`rwu^t*17N97l6Fn00sy51xBxyQ)%qGAyIi} zF$!WNw!do+*2N@|#$~gcM%sY1{p%QuwFeJ8r)W1eFS-d-_!=S$LUUQz!Og_?Cj~;zLY^(%F(t5t1=xUqZ5-s z`yZKT8)o5p0py>s-a$%?)Hu>c^NQ`xBQ^}I-N&x*NnZdC*xKwLwNCn$#ZOG^q*dD9 z?FXwmCV<4#Pi>Dy_o@pPfl;ZgQT~5SGY-O*iNO`g5iYJlj`J&)4;8=ppRYlJb6xQ} zzy1FNfIIQTm2hz^4_dE^xH9+60hQAiTZ!_$PjkxTD3X zpI-*Oc`=ygDi-$M;@5ulcVnSmdf94#$U=0-ye0tQE-+sg@QPy>rws?Uq=&6+7?O4# zePnH5`fJvF6LQYJ;%j$21#t7^m@c^&E=&OMgcFc!U`6lSH5@=@+t!0%zz8(KP2*;F z;wcM?0XD&vXUr?Qxnr1z`et?M49xLT5&rs_b0ARw1Oapc_+D%w_W)#$9fI5e;9my7 zvfUlflhdd;GWiduUwlTW-ub~pyv9?QVbxC=Iq2a8c=r$+1a0^2+VGBJKioQ!diKDv z7UVJohJl@vL1L~GaKP>u?g#ElGet@liH4j3u!O)pN%pX4;0s2^QxF<8#irc^WRl`{MwJuR~^M~ec-<%Z9T7e{P8r7r=7Aefcpt2 z921DhSHAp>Am81FT?H?#-}kFO!5m&lUXDwWL9yGMBR*=V^>Oang}sbz7o?;&U;Uau zI@CJ4fm83tKc=neG2~KcKf={?X>3?ZGCKxZYYTxs`Yy)6OML&^Jf0XU-sNZbHGB;) zMm@CdE~CGaUM{q(jF_}Tz_pYjK)otFD(azeWVV#U(N0oK&T(@GxztFs$6LNAG#PwimHo^$11+he(77RO4rjOC=`|^(OBo}}VqNm42sLfq7g|4PRlg>?hs9IKuzrzqpExVJ7*dg)RAHFAMkYKK(_2!M5V>KmBzu zwSnS~{^)(21m?r?r~OdA1!w>a>UU&xNej1r|KOeF2|gw4?zvTnH&Q z62}v{@MBqNDyMwY($H;KG%37-x|)0qiQIgm)w3QT}^3BEH8n!aHOvm%)dF@6i0equJET(?{G2rj=zj0 z!f4jgSdb6BI4jzAwRcQ?lnMGY9C)9^LfGCo0gR07M{RUlFXP4^8su;!`hU6u(2ZAZ zfgGt5zkmHjR5(FJ2MA2Ww7ozRNNcspi$5o@LOFeqFXqlw(C5taP;udg)Q`0)$lk>)&iQ@Rb1o!+L8L_&z-`n^d*-t71g6hs=jo-loA%n7YA~TS z5W;w~36X~di5*&AJiJHg({UF4p%GY5Ipp@R33YSmZG)3Z?jgB1qfcBFLp3Ns_qwS+D72V0+n6f+0iM4pgzAmVG@Zu0w3}Pd&8-#NiNgW=?F} zZk~>xeI$2~Cr6PIC8lM~m5ihG_p)Wnf(HNagPQ_jkR!+oUD-_)VDm0w>(+$yIgU%0 z&W}GY(f#(0$D*;<#? z^q4EW>gPD_a{%EbY1XHsJ4Jx1sY8+0haX(e0&7R#`>Bw92C+D`EEeA1eCmd{q`U6A z2U#%kN^j?wKdZR%wHH8Z9R{O55nzf!EwMlHz2vfUiW3p_zxUpUz`*wxpZWWnpbgI{ z{>?A^aB%5JPLZ8&*@|TV*cruDuRjeyy|0+Rhy@78jC$^64?G)8Ou)`TKY;!@=bRE4 zqzh1k>auT2;<@uKbi7~`=Gu?l5g7l-C^m;_?*i!2-d!wM*cU+S(MMI)z}>*+WKjL| zvzJ20?Jr(?%EfE~16ZJ14#wYC%)umLCqSr6*2kdPCkS0qUXUbkveMZALSK>+d=jqB z1^}S8>pPgxd=-;moE`?YP_{ms*|4120{|H}fB^tjyg79V{Kcs8=Hk)KL^2X54e}Ek z_U&DOrRh!&uBbxtpPF#pBr=NtN_JK2F){9KJ#o_kB`pi`lFTB&>{2Z>S?y|XyyoRvZLyXuYShOEe`t4@IA(v7a4GvXw+1bzOV43o-=P9&9& z;~N%H=Id6*TC$-+X0vC_<`g>0N#HNyH2S7Dz9RtttFQ+#8=ij~CJSktc%mnwb7GE1 ze*w3ZO1|qGcXM~JuK2=re*waPg2Ap!sn<}PLNqV>s*BDpPCgYT01%FK>vk2t|9fBM zv@}wzUd^2Vr@6K^1r9Np34&n{dk>hr+hWJS_0y; z9<%g#mRBR^XNmZNJz~!S!~g^Ii@;w=PcL5O(RSyx|Kxbl z^q&%vv!VIB=(7SYxiog6g;Rh$cb*1dG#0`H&nOR_8bFb^l$tI{>ic zBY}V79`e{M$BmMz09*c~kBd=SFY{0>L;wVM$0b#Xp{g!eRo?;z`N75b*TT)SnKHIQ z_7UT6Ym>AE5Ex7R>FRD17^qI76FRx~4&GnP+ z9_@4L#54jJx~v0$2IR->f8Fu;W}26uPC@^)L+b#BKzY9-0&i4vk%TNMEN~nW(Co-Z zU_8Ni#0J1=!DZ3OX~FMqHx}Lrur-!bs*ojE4r@W^%l~l%#q>cOi!_|<%!GhcJ={_6 zgtZ#N(u?@nUO*S5E$4+NLNAZqbR`>(b2{);uvt@;VB~$9k}|t)=1$n~mDEIC3mFvI@UoNWS%JXD?pt<#95A{xZ~+S#>0)0@0l}Urv(^W z7bUMfop_PFXz>!T^##F->gi!zL5-t$q916uBqF!doy_lXg#EnBuusoojyYcwH&YvH zf=d(PkD)EqM@_Omt}P$)i1DGHBSspA@JliN&u?^0nt;)l*=f({ZpV-aQ^$MW-hqM9 z=*H;fef!2i{MzROH0DFM?T}^(*#Q3kq+rZT!@$It`~j3|Ip+oWO6~rtsbxdc^aKFV z7fw!D5%p8hNc{!5o3X$c^D=)NZdga4r)IXi^ARvy2IBk`f);~)P#WS^bI zEw?-kR-~1+@xai3{rztT^Pi7I?>PaeEdv!Df&JLW0&2BO{^U7Lc(-LapJ1u1LI$~ z0@^+p=pfoNC26#?Q;0x-TEt|WLQlVrK$v|e-h(t#ZD~IzopW)(b~rxcWU+D%0$gnFD`t7pU;_e>yXkX~COwO;tmhOL{MN%`e*D{y6vJ%5+wR+r{e{V5?hKTyp`X9! z_{Gt$+qNBmY_pdW+v71OFNRNF^OaX!eLg3(nXqrJh?8I5;G8oe4cZizUH6#fOM+zd z^{;;`By=yn$h)il;w^8vl9L7YA0QuU?lFDt_N5)(%WOAJIjbyNmSP{rzWyZNX?zX~s79n7`DN#hR@6H|H=fRRo%SR> z=zfgOm$ri=!^uQsYybcRvHos46hsIeKn!AZDIF{eR`6q!iwmbjY|7>Fvg@bstiold zI@>blZ-(}Z^iwf^`Lw0g(~Yqhq__43=8xnpSdPbhIWaau!<7?fKO8y=J`F)4ScLG` z3Jjr$or|SQs>zb5x#9t=z$WKl!&SXH@@soRCe7Bxt-%k;I12x4-?kU5u@eB}iNrVb z))MfD^;>ae3mk6^x$ncsyAr#B@k3^cQwdxt3Zyk?zSMwn)F&j8*45n)izb)GaPQ2u z4Pc9XV4kWQ==AiV=1@?8-O0zk&7lPn+SyqkyrkPe9VFl??M&&57v z8#qghM*d|5$RM5GC?OV1bB$AljO73F9~Zx51lA9mD+lu~$Spl^&dh>M6k1Nvzj+SJ z7ZueAQA$bSI#Egi-=-%xMG7!)X~JSTsGJM$eZXNAog~89cAV zM^nIy7^l{zyw;+_rzSBLUjXaDT5S5Gk52X6ci;U>$Hor+DYXA%wr<Dk<*4A?)ja@f3E3s4RX5loxgIey$5mf z$%)}}2zsd!sHdHATwqMgmU2l8P;{LIh(K-?)POW;C2;l$(OE&*IRI8`2b_(?GT-Nk1=b6e1Y z@4V}wAT10HEewoMAm_#8lTRTi78pMly$Gtk;p(%43+05cz%^5;`-Q!NorcT8q<%Pz??F zYd*qL-Y4|f2mVsZFBqZG`S6X1P4F_zJ>jQ0|4aBu+NHzsgr#YfP4U5 zJY$^TcCK4rjG(P=)58xJ!ypn{@5CY-8$us~X&sQ0x`+B1SyV5eD@n|`rw!H6u-E?Z z+g<|$z)>`uUL`eSO6D zbQANj>{+>S(v!v`;hFYN>L-y9F?Gp^{#|$7SD2^Ui$B4}w3pU1X2=LJQ2gtkx{P^0 zpSzGtSy%1F9d|rPyq(2=`)@a=lfb!h2Vt6Y@9t=iYeeZxEefTib*m z{Da&#=4q|Fv#$%dH4clWc3%T z$t7d~sh}t;Jkqy8uf(U`X4@|C_b)n`KqtDGuE%9{`w0BKH1A>3%Iy<6eb5Z)1+OCU zl6}Pd524Xf*do9FVx(D*f$XywTeu2-3Ah!usz22PF2~)ooLok7XExo3;Uz}cfltP7tbR2 z^d$`};zCa@r$Olb?d}##JZ27aCy`3>C2q`{Xizz6%2&g`(b}?!;Zb)tVl=x_9Dc>t zgR+k^pl+J3DYgarmvc<+sH=W%9)wPm8u zxp8(P?s3kWk_yzTygLQEa{04asU|r>#l*j1b~0aX{P}^;OarsWEbSEuCPzwd4g^d zsEs9Bd?I~_;igBkfKl&q-c%&~vVY5H5kJLCCx8+jn|nl=5-rA^Fn38ZmdhXc7$eA) zlohe`WU?9_5h6UL4?j}mSsZr|Ml1hHINjI~%77>bw(QItk?`gBV~d07fN^5pO}GKWc_-0xlJVHfdmY?B{|b8}8#>X;(bX~81^>oa zC%XisP?mgJJ%P1^(;U-yzal#5*@m>KxwPAf<;019&KLf~hUA`*tm2=Tzrack3k|tQ z_L1fG{U}Qz%`Ad7Qht9iGO@O2dK?D-tfLE2t{>$9mOz7- z6txWlB5nYZe8kYbkWQzAq^e*urw=y)$ws=>(WB~ynW&)194h9kP!_WYT0a~jV*HQ{ zhPYH*jL=zN{OFs}*atI)`cNat4c1IuI6mPQuJmJleXRTQe{yPbvxJ;$nQs6k%8zJe z+??bHg{B-F+4Q75NmP1d|9ZvsOW@!0Q7Uc(l7tK_``J05-o*WYoIwI#xsN3A8`BLN zFE#+Mbmq$*4ELD!0H-$(6QK}^!XrBIOE}AZU_;nU*r=mK%0hojF^F767jvg?(`+ik zX|#WPF~J;?WmIWhPXujD%n;(_1aRPh82v=t^{6U%C2GE<^ULDtyjiwv8Tt3a!Yk%3 z`A?e?+CV7l($b$*{i=>4dCTK`^6tS?f%jW(9-1o^q1v^3SHxbwZb!5_odkMdIG{b0 zH4BvxoMR<^gZ99>b7^{Z|dtG!@b-bz_tnKhs2O1ik`X_4e6SOh-Ba z%&h~RZxdZ@H{5XFDF+UWErCRFEtfw_Hf-G0A+PYdwc92YWna5~Yx@W%fW7c0OBQf2 zT^#1yG8bN+y>+BUlpQCwrLz-^-8b840Dmv51pKFg5sL*q`S^|i{;zxeF#vz{v9ADw z8iw2F3&90(<4upV89=LT*D(96;x~Tt8ZiHP#W|~!rLPP)qkp3(%ZiDL($ix8>G3T~ zXZq4;kL02qVF*M?Z56tyIs&#!HUv4iWcPgVp(le?@Y+B7Cxp266puZT>2HN3}zH7j$4L5rvxNz?Fa#2`~#RoO@lw4I>jOc zaFjxE89-!`M?N_QeosP7)x|_g7`@--YCh?mG0n0!DvX?Frw0r!g%RKUtQ?N)CrKyy z8BfgBWS$_(xAFB!uh_&5GPZAlwNK75!x%|h=2cdo@RY&07`pMxbY^TwIv17wMi?et zq7Jz}c3i~M(iyHqdg7cRJqMp)KQ%@iop=M-QxS%tE&`PcvXE|j?1^F+?w+Ub{T6NP~4`hh$p~@AJ$I8Fr*q} z1ep8hW4X)?LI~m<)zqU;=$q$lKcpu)^0zRSwF_q)9l7{U_XMN!VpH{TO?0w4O&nm|-muU^2s=H!HFQ13X#CpZZ(76-7WVNs(c zNlsNO>B;rs?SDHhyt028t$HQ@>N7iz;GKhCGH=>vRTa#1oRD(?rAJi?JjB85(8-qB zR%~pW?06U98v!G96(<8eSetN)G7*FROD6V}6ErW5Xe7DkzR2(Je;NMdx!~K!_8jg` z4VIqkpA%cI7=eG%>M5Ty9SpXmI%c_f#QaCNuuFXYI{>_JWI$83Bh{0>1nfpb-D*gb zLq|X@x#h?Yg;tMl07D$pa(&es-_N)Klvo8~TC$`Xn)Jj=>)#TbLUIdjM=gQcC~Zdo zSSJX0f$X9EoEYTkU$_`kfZQ7_hSoob2)}>Q__;)iG~-~8kv4Z&Rlo0rBaNJMGl)I( zYgLT|Z>mX}LImHEV5(Rx?$oC#G`S<296i6wrp0IJmxEHO*tcTMAZ(qAOFK<`q`20F z4In{&Ty7BQgkT<3#gF7J3yh7^*qk^WmmY-e6tEkF+ou!8fyp}G!v5B+9&iA{d;=c_ajMx?;D6YV_#f2$@bN&u6e+?<+M z4yxY9?^m@6CyRU%@J>MeSi2zy`DDv=%EZVbyJX2M`cv*DC8|AFA~|-jCvTya zbKb}D%PxxV@5YZgn`fi7-;G?q`*|Ey9f9#qIQmJL-`U9^&j#Rg!_?K;HaXS~SKyRJ zwHe?r35mnej@m{CkTMG5$M?(q$=n&Xquw5YsqK~9#<>-L{0t7Lw;h`Qs?%5~-O%;- zxP=y%UZ$;G{7+lSBpogO_HX_%)H~dC^Wz-5G5U=#)O;>{-}mpXj>&&6eEYJ$xsVjR zVmwk;=2=#*D0TT&PjtN0mPz#F?~3|rHOj>x8>*9^>IPswh$SjHCT_X)F6yzZ`13!z zK4`83NCzu?v})D-VE=pcF;4_O{-l`_NwXyIrvH+ZkCsFc=SGLRVXquJfVQrUB+57cDFg%BbgP(Yt7KeG{0*z;I zoIFHhQvMJLB1!t99+5tx=A6^J^iLsv@K+WS5kwuUIQZlYE5FnqUDk>JN-FzIfx$-< zzJ2F7h==kH~4qz7C zXrr)yZdmm|aR}8N8~*u$VnTHfbEOAkH{z5PkesH9uiW+&WAJow3nx^`GQae`H*v2u zw>abUlR#+ZfTWSsvr+#y`Skv`|DnS7Mf${EYfp&D=LQvv$yYm!U=hk)?|{ zS?)azAvcnFC-C8q+`{}kQ2f;=zY>fSgUCjBioNiX^RbFIS-h81!+LZFUHh?n0l!A-_hnTWni-8#c$Q@$dRx7t^!`B4qIkh z8ZFFjunPdHz~6_v6eb#475P)IyvJa%52b7+`>4;~Bd!*f)RvhvW@>EBQYhTbOHF)@~9ZU3sP*!BffNgm2s_KzlBX| zd(is5IP332B|*%7Rta@iPC-Gf*;x0|j_jgk3*iz$iWkXINj@DM|D9B!4w(|8UbVWl zRJ*AUTkGExSj*$Ect`Zeqhw;-^-gNaFUK>Z_!ST*O764#@c+|qpV zoJnB2QB}vthb~R;^orklUUhd<%$%@H=SuaT`T8ekP&@R&UTg_>Fn-<<=+})l)v@+N zgux`rJodiFO~tvQRIv*FoI7jL^(0bq?6J#=0s2=t0q2WGp+t%fLQd3_qxV{#3M3DC zG3?`TWH2eol4Okzi5L+p{FQdM-uWb;s%y8IJ$sO6q4Q)JrIyrB$>q*CHA{AL-6&t+ z#$o2_3#ln{mQe0iV7ng#-J!q(qGM!3Wocft4S)=KNwl z20kvj_!0!VW)$-=DB|U|eDc_ZU_(2U;H=|MZDMNCWde()$JHNCqd)!3z6NKvvoq$8 z9zuyKAUV@#Im2pU_531Dq}R8WMN9lD?^gemto%)NP9M4tk9?R<<&hi-?`ovXat3x& zj_NzOl*&?liKx2nY^~1v(lxxE)^DHer#peWbXQ>xp3)*0NG)9e?`5l37ZU*O*=VC3 zK_}FPJMIbjfz4;|;Ayi^&(1g9tG zOD;VxFn=$b*TR_a(T~cNcCh%9KU)*z(n0F76f)#_=bcfUjv~2jTSaPi71v$Ambp1z zoW2TEmYf8(ZQB`rs~VCx0U$Z-`l$Dn{Z$`nzbl_Apmgx6r`26WiF7Z$pH#1-XC-5JGHB`MmYW7r1ro7Zc80}uP$OSSt`0;xo`-ssPcePwoim`5ISO%GbBm+qG*C^#4A}8fF1^V#;w>$O0I?1v{{&aU+l6E6EVT@_txX z`)4SDIlowdg0gv9dBQSO5A_p$on#?fZWhpLK|H6c`m_7x4sJB9d6hkT4o4Z|xfYNs zX7=^8M_JsnMVl`B`lM?rvmUuM;{?$B&B@ci8ZXtGA&y5Z+JEiXb5n~)!I zZb^#F<{@LQmG#i=JZ*ha9NDT}OPmDYTC)WThebWu1UzBLt>!vI-Y_`cmM%kLn3&yN z8`w-ZJqKdK4G)`-cLNE^F@nVTa=fs3La_D4ew zphI1i46DyW#|^aqqD>KZE`eu^VVSABc=c;egN)Kv+{SMY}g_#d@On%fGlW6vW+g-^N%-C!Mq?8u;KtYFC6CWH!P-EV7^b zzkf6^|5fsVBf!>E$~TOm)iS_LtWZuuVX)8nkm{Ccx#`QS6Hv-iF2~E^NBgeQ<@s70 zpOig$xijX7-yDWO*&ZVy>$oq}=RFAdILRP@iAD0-r;=fcP^R^0TZZxkCgZY}P*``a-m z4kC%G8OmSy1>{aJ)45{B(uCkJ$D`_1dt6V>XXiOJ&h2W0GY+i%)vq}ZWM&_y0T~vy z7k~ZNUyl>?2mj}n0)d)?meM6yiF@sp=fw#@nU}3w_Y@n}CxbJyXM0&Z1@Z%%E99R+ z=CiPCA1u!7V?n01{H8iZee|t8xxSTGi$}|6740SEpps4u>sn41UhJFk0lDA3bz&x7 z@cvItZ~~Z0ynQh+<*^jEPx=ifKe_e!o&8@fZ(C#Cn_E?{y}&F^4yTp;w*_zR?-Y&<&^Gc=)dU8 zNP{cCNnW`l!t?#f8JfQCZp|-+9sb)I?|b}RuX5del-0;d(w0jiJi?s=rpw2P<)#5P z&HuOyfcK*q1Xz3b)7c007lmuaF&hQe6t+7Axlx+?I_{5@R6Y@a>wSUPx$DErRc$wK zg{4?Vg|%xnYrUzIX1- zCxIQL(dO}j&^@(y@htM0V!mrk-ZhyJHrJ*X@S;za;z1xYAn^HJdd%70^8HeJj#Q^| zf<(XTMomZic))#xzuJ14Bb@u`PI@ZcsdJOgUaczyIjyFvrY};-nLffn3rDw#}tE6L1Tbu?E46e&ok4#;=F(O~GIP z$A5H7@YnC%tAY2y;yv%VJhXbg1`A3G+BjLXBkQE~K{2bvML)Vg^f$ym7ma0U0`Rum z#Qe7wAN=4yKdEX*^c^kN@%|?9p=a7}*yz(UVS|L0*&4 z`ZvbnIOqHm5e%DCyy4B4z~wU&zW!r^ZO}!kY6x{41>jG+MpcVM>Q8mXlP9*S#_*Rx zwjnwBrTTtHGa^mtP7#t%cIS7F7YXx+?=nKXa>n|n&eJ=Bax}fOU(FSOC<0Q%!-|Qx z*1Itd5xw+peO2YQ1k{0Z3Mwn+M^w42V5)xAyegaAj>@BSRN17G1+7g_8SXq1lq*-E zmqZcUsz92Bb#RZ>F$jC*+2^1_Vx*WccR_Jz=bqw;n{F=-fqi#k$xTIhC!Yj25gWkg zKKCt7z+I3W_dwSJHYkwCC-9GSvAA!YrZgJf4 zD?%_)j=1#1PJ~lZ6ZKNEnJQ`R%ypp2(V4J%zW(*E3Nn+XMb#qu#Vi-=D!`XkLqp*XUv9+W)R>%6xhGC_HOPE#><7^B+O+9Ty^`{<>6)+oUqdL zl_N-)Kl*w&?qbG`2|mQ>0^6*xYHGbn-R*l>xZ6?Pyc@DmC-#0)MlLvX60vxd>Ro_V z$pwqJhu}hOCLBKU`ilV$LpBP)FJLe05*5--R?q9n>B@KhG%wqKq^BNKcQ@iE-;_t) z-H1_l)$^#k>v6uP?s_Ha?y3@XPu=waNnbfe3{QQGSl9LO63;MLdU-r_TFmyCe8?Su zrb`Cy=K@z9Lfvo;O#vJx;S_UCz+1yuAwi6MigVw2E=SI(t3(_+x!dCM7}8Qt?zW&FNdeE* zfB^&JR0o&9Q!^OnK_p6p?_X?RVB`@hsL;d=08!@0C*9E45?+|ffA@1uU62Q{_C;fD zjoJi*{KJy*csn>aD**p;xF?kKef*Ivq2l4~KYV5~UIDkoI*z@+{X3uMB24uPnpvDv zyyGX&0`Mcr_}U8r)ELiZ6B&aZTJim{u+k%db~yZJpC%4*rZBpKhKt+Q+#SIG5B}%> z#+=_?fWM1lUh&R%UJ#hSMmoG`{_uzXDM&*7@If!00ci?O9wmbxd1QS6|Eu0|QC#v~ z`TEO(+%p3;(gOZ*__n85*r_KhUxBu?5m~QPGrseQB|`B|)s7g`{+MAjDCHa_m~o?^ z00jB7Q3LDH6fKg}fkrOR#hv}*OHd{^V;1%X_7+cl^=rilmgaUm0+Ru8jz4}b++YQFP)`N96Mnduf9I|~4Mar) zK(dhTEpE9PN%JjR;7AO6D+BTq1o^vk&u=m<_Uie)W9nsfju+pf*yHzpe= z-o0#0^XGRJZ+Y7l!O^B6A`z@RzOjM%zPtFu$N!1-H6IIjZ-cw8zxe5&y^@o{uHrxb z=Jl~2&N*iu^B!@4LkBqaVEqI)`v;p826!khYo|@KJ$lA!McLuV^C5kdzgAQy?|A&s zE#!D9J+7v*Mu7p~j-9Z%jbjj}Y*9gto;C3q*` zMU_WYF&QUw(A4cp`;*7<$Zo%zP65nNNl*Jx_lqiyz@`%LSAFhWI3x!7n+cHb4_O26 z0{qj2;0#p$YK9tWMyTU&|{Hwe9Y&>NH8XhTq z`F(h3BVto~pCMvBsP1m$lw3!fUu(Lf{hiF$dPe6$loKp+x9Lnm^WgN5x6Dc9(U?m|Ea^xo`28&wm86&mCXCHvs^*zNncOpqfANkBA^Xe-j*NZqZ2$3xzZCq_1DMsDH8=yVB!y-si$@>Z8bV<| z@y<6wlZAWZvhyKhp<-J51+-K4)4&ouCR1+WOLu@7>)c84RsK|-#xYiY60VWI6YgqQ zEt4Fz{>}r?5-;YNsmtWKpK{V%j&J{}Qpx~opQBFu&iNe{E7vC%Z0g9ojHw&vVfmNA z**{ZI>xG+TmA%=RCRaQMlwM_a5!}?XRsW}?sl1d?m7V3}f=dY3$UYS)Ht&-q-}4E9 zYpHm8hOosudvv}`G=(-tqa5u2G*!<0>VI-%Bnz zoAjza$M8JB|4TPK#D(zY;SH~;gG210bqF^fy?phSxoKD$BW{!?L|RaB7D zew&Ti(|+>&i64J$tg|PvjjRr<`>}}j)KdqrseN;>j{e}AURx{}@vY2ixtKY9FNU(F(`?3vt;9670`S5O1)_uhb{CEdhTw0N0I!DyNR740}08D(yQp zh4dsHB&~7QtUfUG5p?Mv!1(!Y=$?CH^U(OV7gLMDR^~uopTWI>bV&Qua{Tk;l9+?8{h=toKQGC_Dob$C{W|2y+BT^e4#PUbD+?7px2{tv@IM3Y2gx~d#wusBV18$? zTb^;&aWR>`eCzFDF#WDO*9HJqmGfdQSAY2Jmj}&r0R~tUkQoP)v1lzPSx&}4qtEb9 zoDi(LppT9g-@NzX!2Eyrzh4)$Pt8VptbNzJE(7zQ$p$kgfd3!;@pZ)>E{A8Mu2*u9 zI{ak=ef$ZylZgNBpTC-VEGW*qa5Y#D0%}M}hG++i#|@w(v`DfbTKc6ip4r6$va0?e9qW%qwGj`c!~&X%B8GWSx(L;qO|zc%dVPJ z#>w3thzXfYmPdhhOgSp_xZ<)4iqZWr6~F;^2zh}Ww?E99QGIke3EY4GZV(SxFsIhU zN#M1YpC46lL+~VU%S{g!8@KK+{`e#R5GR0NeBX~Shvybc7b7vuMXi{=ebKJqLR2)> z(EBNmqH3^p-7G_bT_Lk~|C=Acyydpy1HbjTAh~|})87m>>tl~y9{Hbh?y1E|Cl417 zKe9GX3Qs(ac2rKpGa<`5x}MY>;sNA)ocjm3+;&Zd?xu)Q^<;dN;I0gzA`Opv#D@FX z!W%JPSXVi|Q60NfM@!w9Q*D#&ZEyiijj8CRor~anBBGPhl*_d&^Gly*m>=CufjQu1 z^0xlWHU7u^6I0NXpSDbUdtoJ$J&k{J=JtU3_b}O+I4H@`nwOWp>d;q<;(W+53*q;l zHw5?39Q3b{hnu9mX!k^y)%(d=uYVaZ3SIReYPXf#RRBhApWVAPl+jCma{J5-ZXX59 z#QYVL*C4hMlbxvdwVrM!as_4c;a%0R8pcRa^UfI@Ayp1;d6yZ;PtWA+ zLMj~SjPMv-LImyNK5G)7%wdy@REp-$(|~rTo$bzJ?NJOdU#((4oN}rz@q*YB#TF#g z<>FZ|#7RK%V|`%|KjxurEZ0Z*igo85!a}Utje_VXT&W5OWn(%!55xtr`Ja4>YZu9O z7=Dhz+SKp zc{Me7ZDljXR zWeNQM_>aEC#q$9$8kEj)+)k$qME2KW^A+I#{@?hqu&8v}*{h0fSRW2>fi_HCWaUdE z<%y4_TB3eRe56H3XbdSoc}RU{cf%2_X#Gr{)5JGV@~E;Z-BtY3Q591KH2XCAFGol@ zI{o6W?u|QRwpAF8lw&k9$3DCnDceT+95W@(U)8&eo*G#B)*QJ4Zm>L!Y?|v)3#cWo z$4}l>c2%sFe5;0+5psdK{QRBM=kNSxQtAx5-^M|OL?<-(rRT3MMlm0XZOS+aY`*nD z@W!!X<*}XwriyQWdkcVnJD0Rw%-5O4B^R9yLZSfUSOEV!uzkIC`@!PcKmTIr7W%oL ze_N~@1-(SN@<~~H0X|uqYg)F-&L~GPg_hlu5MEqT{LH(zaL2H%xc1{~0#W+?-@h?V z-ph|!$_Zmu@%lGjTx{92r?~ybPZx(+OYI9VWy#dXOEXzkGb zrT2?BoLU5xP0YlmhX0#E_p|0-P1;H zc-EuV-HjOk$Mr(?Ks5#E{OnGq60s8j8Bxn-eVhcG!yS-^gqg8+94!8vhhq9Z8YmLe z&nE#%obu>zLw&h-RbI+!N>w4sWLQ2{3Muouc8P(nQ`q&=3$w$-gj{w*tevSyuSyly zqqZ-!UF>>QCB*2QsbJL}hf_%oAt*tCGjuS}kL62Sd`*){E@3vhHxw<`IDTc=77Xm&YXP>%&+De9<2U z(~uu|&+aiM-ypR43q#WP{PRx-10M)rE8Wr_j=pKBkbL)IHC`;cU^Z+_23kJ+!RyF( zJD0lK0Nx$NHP@UGnA8a;EP>24UVP|7HwCNbKz}FY&M11A?9w(By%+QU_4mJxdZ26Q z!m~n6^*%7Bk>K=6XSXB)}IZf!)QrFFz0`f#X&V#Yy0vd)I;}b%nmGA!zpJoqHM#6Jr6Ow_}gs+uz<; zJcjLwMT>6WBrw1D@t=4Dz)&oFQi`HSNe@7%cDSEo;ryi{-;06B3Rf;;L0WBwYng}U;3Zf6jBj^DR zLXP+(?`9y;)F@k%8(D8z-TeYL>^sVyx<~VEgCosf7&M{&V(#fL>G)SKikSQ?R6Nf> z*N*BK_F`gB3}@%g{lwM!mNt0j#Ge?qTnH1=+N;Gy8BGh1-nFmzb5oT>v;&MqwYpo7 zu-pMhMK70Ao;Jk%6(Do*Xjfntx`p=cJ%r*pxsp6NU{st9B%cz*{IxEo%!2&UNS#qo ze)0h2!PCFC6Xa;m@ojF?<@_A8siN0wS9eztN=H-oK2yZjgstB>ZGPLB>~4))`>sc+ zyK7OtH_m$Db@z9n^nky$Jj3!Bn?NV0WBaIg-W=vRNDjbW@}ic;#4aSKi0R86Bm!hU zJu!?2{f@16&H=^AWV7>?Wl}<>lU30rq9x(tGoM%>ZV_aM2D|@ww)*|i%ybJKO zp$;K6-^#A78B0k^3pkalt4N#K8eCE}hJOls+NQibqprN3`g`^212QWF+&-nFDOpT+LFNsqp3^DDHxvouEZT5T#zH>7(FlMadiK&IVyEK(} zaQI*V{?krE*AExJ9t+grzGyL+Hk<<|p0otaWC~p*Yl07XJGN0L+Q-1Omj>6t6<3}M z7s8ytV8l|iN@SVYR%(JM$^lriJ)IWJUU>L-qI>1je|uwa{XF*MIu_4laoJ@jB0n&z zIP0uaf~E8GpZ{ubJ9Kx97ISA~n4NnF4Rt*B#HJ7g`_*6h(ZKvKyztBb{ssEgJaHtFp{L7(mMxNA=$q*0DsHP!4}gf!_+yX%Bjgwom}eCQbSU_$gs>N;?yHrR`YkR zOXZs#`Q21{nXi6P<}|e}(`CR^HLfK;tI_0@D^iu$6k7Qn(a{neD`p2bPvK+w*IISFjP4XvOcB_|$_7Ez%7n%f^^J#}$<9t4@0fo0P1ZWaRgwFhsbgOds~{OlP82^f^v|{=`PmN zHP>7bTtTaiWp6H_n&+Lmx=H^a-tj-2BM$Dd$g2F#KoCfsY={-*D;laxeHNwxORuTAKeX z`0Kr_wNIOYL+&_B(OnjZTP(@bga%u@PjKQI$NL5si^)#R90;lsU6Xs-oK0~zDVJ}lp_p0YocjvfADDep1^;FZj zvtR4GDw#g1yW^wu02BuR>4Y5Q(+8PHI|Erd09i>}1U;x!7kC~%u2w+coCe0;UcgTl_`)H`KBAc3g*AHxCuUK4YQwg9L87x{uf<* zHb>ab;?6rC4srVjA4Ux?8^H-DaQQ|ak3F_AFs1jt_bq|>Uv%*qapB9g77KvQLH>S< z(jt_YjYshGFxexAJ@*|a7#=tMU8xhOga}TxT zl;h=h4$kjZ|JrwRd&_cjy6N6AZe_nTRhr1Pe4CS&0oBWdNt2UyIb+h2C zvqDZ_90A4=~mK^2JH^kYJq(RD5;O@%GzWu9Z941)$$dKg6;Wdf8k>8!?qS5 z{o~uXM;k6a@{!x(gnshLD??7;$}28nv)PSS)4!$ML&f|BB246eP1A_&z@5~M%`V@q}f@IRChPWI_j_J{#a;^iOKvaJq~l{Y^N)@ zHC>MT%4pK+a@r(` zVFbDsFJewBSA()bruIItb-965r{daNwQ4jpd8)t1`F?nR>6hwfxFl5t*4#ieNIwI) z8Es&AXC~&q2VGqQNXaKjdem2=D{G88$w6cV!+rn_!Srpc-8d1%lFQ>1#l=r58E4r) z5##V^jRY@s7j+lz)6s3PflkN~+o@*A7)SvmBb(c&E51sP%0KNYFWIJ6_4H^%UES$z zmvr*>wk`nal3@MZvljuD?y2J3)r$eJs!>qI@^JCF&uZIuJHS6#-g?(NSA%&kEKWQ9 zIO4(eL%yoYO+qc^ox8%46S;@LpeZU4bKm_B!n41%_~a+o1WW0@eMynl6<3~5e*LlG z?8N%gt+#xei{}wA|An!@9({Ce(D>i=uB*V578I9Wrd$G+$=IS*OA#9kUn5Lxq`KoG z&J7@rxyHgTO?k#KI;E;;sxyABx9pp0Pr~xa{`sB#b3B2-Gd?*y%5IdCy{ojPN2+6v zmyi-yp24XlrqGoVWYR#+C&kNO#LN}U8RvA3C{3=i8fC1epr((UZNoFC3^-AxPyJLj zJ|frMcvQ)GEg!&i&L#oC2!)=lD57s<0gwb<4qdxleK8jR%H=P823C zI`^DnbT8zUg9nNc7#sFKx{aih#jz`vKxrC-D#FHe2=y&( z!WvcBybq1gW0YZ-kHytTq;ls9MJyv#A=&4p^|pTXItKYa^g(bZ&z*n`btCujRXVG8 z1iXxYVtDv*LUnSXrLa^NY@fr2(xsO`-3>qk76&mVv7KYByv5QR)&0L%l@IXzt0h#G z5tAs5bD}i*G#yoQ7YTrU~jO01Z0OBA0MXtG)lfa#`>pE@{Qutj~-U%uz=)O_pZBB;>K@1tnO~g zw<(~J_W8NYjEYA`mpPPeet!8irz&#~&+kgL%S_@`{v@w5pep`IgHc6ja#X2twCrO| z@t*gG1(e;K^LX}d7J9h* zqh2kMPC4u3-f_M4B6zuQApmSZlfQNZI0YPDzI~RS6sDF>1tw}a$+f@RG zPKcrlH3vund(jyE!P}jX5L<5ia2(#?+%boTd~bXlkm;Tb994g89c`Pc9v04@8<)Pb z(0}e_(ZRils53#%IAcYyVm|cXqd}&*_x>jU)Whf(Sq^qGR9t-Nxm+mCO%}u8lTMkcM$x@AO1?1Yut_T7THMO_09{?af0HlP83{i+fjTL zKIQ|Eh*qv#LO$)q!w-9u?JC~-mWzX?seOUjD4LVgQv)2vv3x0_V)+L-jmX8seGWi^ z3Y5FK{ge7A{iXrMvwE_B^2lH29Z!Cjxm3AT{=~9_%kKbCxMTj5L6J|6klz`Sl?9nR zvMBROY06*oFQ14vO`L{TcGVK)#JqE;j-WJ@VRl)BRSi!8_4u`H4tJIj-GalJ`y~74 z_U1x!M;)G1lTTH?zT}y+&BwMzcy<|Mx+hm;y0GLIeNaZLyCXFFCnlX@f|Gz=$_Ti| zmRxjRF|vD4F$`8ew(kJI7_J`X;GzY{2@vs5{^H9qO}jo2002M$NklnZ{*%> zesT4icLo#04cFgaY+;>!?sM|-FW^#lZrmAYut+3I@{X-;FKtt!xQ1`lrsGTaAS%u~ z;gopORTl(T(2X}f9W2||UH3p-0H1&UnQ_86^X!v3VeBtX`_cn!Hk_8Jp7(N{Aah{A za9*&DF*aiUQePANaFdJHANl7<5nBA8Et?}3@STKEs`cOxn2;J{MR2iE$_^zL5J)l9 zI(T(yJ|k5Q^mkJ1OCfD)1{25jQ=uUJgHfw5#LHgkk@ks#Uj6+YfhDjX#D(wX&3iZn zsOx7kE@@5_T$B`q@O+L_7VF( zh_K2qMzgMWyPqZh!-DH+%WU%~)`MEp)x+xU)_76RrVNeUgdIn>?FIkvV(=8DduYcP>TyICj9%3>TYHZlBeIDE#~ z0k)yX%1563UdSz3KA;Er7v%@Gz%`_$G4=d+BOKNZ|Gx4#&(?pEKs{|}>v|t|b?VQO z3*c54w{IAqEUR8P%W z4QCbj@^iQycniY2gA>5yAhfRz2CGfGxO76`C{BQ;NdUm9KMDNQeX_ebUTym32rcht zi=V@%UocTwa?GJsHJN<6wd-r(*ddOLU<%8YFAZStkyI5Amt43UK#Za*S=2TkDE{P6 z?&1Wn6PB{hU^RQg8_tL8XF;(7o@FmyCqNxkz@|NgC?E=!=AW7+AF=&5JaUK$xDWm4 zUxVvsOR;PF6C7+Ov3YuSTqG}tNBPj9@#5N#-AcRz_$?saRPhk(YLcDKJ7;NNE^m6X z_625f%ymJaXDG2t7h_CNNj?X_wA=u&vlN(r?uV$2T~~TIpRHF8*X@)2axaHR3MzlA zko281sB+5QIm71o86&P}^|kcI^uXzp+~G`Lxq>;QIYN%eJC|E}rR*y295IladLB-k zsxHRL2^%T0Dq$O(McBTeg{Bb4P@;^LUi;tiF z9kCm7{4xS)V>|$FT^-n|R+Y-KD=sL8QTwp=+FOfBkf^~EFo#OUV;jedJrf6uJHB!+ z^LZwBZl@G0kL7Ocn;XE$_ZD~D@hIzXBPa3W;v{hS6{};t0h-92(JPA!C{2k$vf({3 zJ`zBCC0aq}V9&ri26Y8_*LLvWaB;)+-w3+_E3tt+n+@R2*Q~~Fz^>vCKe#636IPvu z$yV+XhB;C=M?7`AmJeWR)hXCj$pz#JP@S4H`oN#cuX03C^>vsd_h*$u>8K)>-$#m< z(>-&1L;VBVi!<_&Uvg=ve8T22lvA7lDpL{0dIdbW>9&_f0#uchm44r;FxVtq3RwD@ zF|!Zsn!5llUia@$*!Ui>5NZ8hwhqC@rgW}YhDzgr{Y(sdvpz5lw`B>)W${#F;pWX6 zve-r12{3vuev_oH(!65)S;ME2jXtBJ`}vjSbY{>kXU&>H{RU#p;%G{!dyN8SURp_K z^__;yQ-;LVEw5-*q42fpd+_f0b%X#DipE0}Vnd}+!d`^MU4`qsa zWu8+e-$~?pp}8`?0ht*xgNe5x+1rh}lF1P;Yb4}30&qeVoA#2GOJfjvrQSvC133fZ z_arRM{;8+8;wP6JeEh7nLu?)jd=@KmD%|Ee!*OqnjuUaz}NpVpF-RU!GmA+o0zhzycb~dPd zfD3+kbW>Y=I}%~a08F%L=1sQ^bYPm@!|XHt`)K3k)JKYc1pm@IhbCai z&J9ba&p15t8j4=FcwX@Ri={~WAL!SNTw8JMu}c8VZN*pDe1l8c9UM`&Gm*xM*S>ZY zm##y_>hn%!(x4KTYjSDtc~Yc_Z>cdY__gQkDleW!;QDzixPGqt!d+na`vK^4V)C7R z&MARq+8{8_yl<4}2pBUi`Vql_}&^g)y(RWoPUoL#D9t6wT9`Q~~bA>&+pYZjG% z8`)O#KHVJ>Cl>&;@D$f3 zO&+Z>{qq)MV`Fx)2rat9+jbUDU4J{a21bkHkq_{W^|sp|V%_x>$Dh0+*s8C3)48x) z?<*d8bQA03VDYDadOL{EyyCXIEq*K}zun%v1;8Dj zxH?ex3V=`-5ZXYURwaN)g&p@BZtYT0}Vdce%b~ubkKsOq1HbhdLu3SHx(ebkh z>|f!Og9pbr-VVm)mcZQF?c4>I5qAPzqD2sg7KI@R6JHJ|TUd@C9Ai}!c4!jW$R zY0hoogOA=~!-voJ2rhq&Wuo+o^oEGF_n?CZuAoVfmNw}5&?*D#H$&|rdF%?K-d>mc{2_CYd} zCxOnBu^RxlkrwvU-?bAxTiW&L7h$x~YYFK=UA@^HveTa!U zTpV|N=J#LEgzqcf``)D8^R!hff(ELvn2Sa}e*yk*IWBo@Y<09eJZO1*=x05RTt&c9 z#tm1?Pnj-dR*RVZtLVuim!G}ko1kjjDbtm;$k7__oNxKgpJ~#WOP**c#Qeim6`WI~ zc=@YQKz8MjGC$JWM^!dNix@e$OjZvMubfS5w)s2dQhim9mUPu;lf(9=o@=x_=a3`j zck*xkD%+5g_&(A?4J)vOw}I)>W>1M#betj~=`m2$Bt6wh(n&~N6XoBqvL*nLs5>W9 z5u90Q*X>_`0i(-y6(b5%e*1BB290r-mQDhH`H9;DA^NpndkgDrPVqyW7`C!@{^5Ur z6@+PD@z4JxAOFIzYpo=4Xz!&y<6=HMUSayAO^eexp?E9Eio^9 zoXt<(HM8$w-v*R@RK0WL7x#W%euO{vlF+pzAk8rV&2m6ZJ-#nteBnxr2Q-GC7DK54RYJeLJz;TeKkz2J=4^0 zmf>Gs5>B}0NB;f2m}^vh^mZn_96)`Dw|nGO0hX7@+d?VU{@_mzlA8dD0(vpH;fX|! z9|dE&xr_?ad9vHF=q$}8CO1=(U9>K(+q zeHyV+cZgK-4lt>;>IH>@_zJmalI)ZxBNni@Z2yv^(%Q>yXld)?_ zYk1P{y$g^LqmOkUNk&b%^6z^ur!9c)t|UK@E97QVuYQz|M;B^cRGB^x<1`{z{r##> z$8G>>p!>WFfaK!|!xQ;|0}7Ls+(tCaHp&sCWU_aCu6y^x;2^AbQoZ2p-}E+uxjk#d zrc^J?hmFWNH{8G+!H&k@Lm3>M50J^Dp5xPq=max}Oqx5riuOHp)ImxVYd_bXu97=p zbaWWN-&QQf4yoEcJFz&_!Q_}Ts~vW*4pb;>`Ku^y`SRD`&)){^e*o`nxSPp;0Ij2{)txLJeRO-=30(c=3jzK^#RV6f9+;8+t~8`)XBX8Ji^Ha-1;#Fr z9P9>`Z-mqllju6~Dc55)_GNH28LIEnVJ<0$+@bo^pVB`E*Mq{H!*jayoufC(%L!9F z$1}&tAyMhNXU(lMJ}bY{k^7^{t*l25E;IMjzmnh?t_UjQ<$er5eyn$jpMBChM~|=E zMGmkEQ*#f4?O9gb>>M3hoNKW?7QP)`SHhhfRGIr_uv2RxZ6AFq?1s? zGN-uY;>974ASq~=%WF3TdE+OM2)3FEj=Bj{cL6TU>7FKk5~j+OG5xT@yvyV-G$f5x z6=m^5pQL}Oc&kdAI@|$l>oYuMZ6ikA{R~N7l%TS1HY}+BS-j9Be zK`?*m{8Ml#Z091#%OJ@&iS|E}2{|k73*;Db+YO;N|-|Gzd5{or)cRTMQe%hd_J2qa`r_r%rRC( zfnwTt()Qu-rtmSKex#%y?aBlY2`#gW?!_I=HwXPm)796Hrg9iDI01`HO|eEMIn{Q- zg6-*AeOnzJ(C^t;#Q3$Vtrf2)pW22$w0lkh{mAW%j><(>78W(Ikme_?$;9EVc~(#J znyFMS;Gu`M$7y3HDyjRq3$$$Ifh5a{Xl>njkdp!@7A~9xkZy95Fn-uB+t}2uXl!%Y z>B|7?I9-J4{HDv}yXRMxh$FcxM^#5Jf%6zf$yUGqR~-SW+{y|X=|y;)kUqKiwDAJ) z@h~Jr+i#P$}S`TK7M?SKFNz5x8^oqt-; z{%6jd0XBe9b?y+{0GtrM!qBhQ_*RF@_XIt^9Pu%YP^#xuvuf|_Tw}pV;DKU;Z>c==n5m@!6&_t0?AJepG%{N0fP&^E6C58r^XJu=?SnWUaveAhZte z0cLih&H>=RVsh%bAKlH}Te=Il z=bnv$pxt!ieQ_6X#+j#c;_t)q->GpI@Rc>2ShI(UGtQiw?gB;-WaFR6n0Em(c0^y> zy=50iflWX5Z}u=Y9|=HZ&qi?N^TIeXoXqfB#!oT++Fv389aZsFqlm3Ldg7>3evcwG zDwP@z4H67rdZQE6zsV^9udJVaTmq>B2<{wok?%&2_`ZF^U<)&uTR^}bKr7KQd_H_>|J{YEGXlLyB79*oR$^YSuHcD3a>)&vnQ%bHlj>ZU_GYp zGWRm$oJUp2VKJu3GQ1ioYE?9(wTL5SaJ2rpp#08d9BumVdWDX%;M}!D56quA)&-U; z8E6*VaDB|pdDzu;1DFTn8`GAMv;p*@Fj4Z*$XF-wumOw?tr0e9PXg5(i~MsTKu!9m zjl9~ys=G0xI?07yFG1cL8c2^=>cj0>JclvJTZBG|b&Yx(m?m_89e%v{jyRa(9}K zV{DWBE8V{GlY`TDj^vl_7x$^xAl#J)j@UOL0XcZ_M_p6HjMdmFq6yK;GIfgdqPMSV zORlxFIy~FJuD!&W0q201K0VU^x%}gyC+_^lJ)!ewY*e+eQ^nO+|Nqpz zSBz%Km7sUidsA87cG>oZY}zK-r;zvEEw{ypdwdPo=~{uL>RbtrR<>Kd%KS)_N9U;WvC`X7aU|HDUi#U}A8cL0QJ zGdhNn#1R82moZ-MJ&}ER-%ItB%`uN8A#punX`Rg1CxgI)~khG%hdu1`uLT_>ME1KBd1Yg z!uM+Ii5WWakfhCpVA-=pq&2*MU)49p-2k6EUM(X6z4G=M^a-t0ySDE~A66IRqr%!ErQEoXr;V+$H@rW3 z(BEGUspTWAjbv9yOI@{SsxQ2^#xt^i1~@3<5M9%|68btRNF!Sj~-krh7yj78N!kL#N{8bNLx^7?7$(~KMTl5p*TrS$v=9l+i=(eNz^W-Rg(| zL{7)^FA`*|bkR9e%`zXY6Q>6$9eGWzkVR6Sqv>M)4X5opCe=TOVwc$IROCEL%~ zP7@4S<$^{R3P|_?P;*tJRT1tX?h2S-Z($ByK`Sfg8HY;tH8;56YjsFk)_ciT8SS&s}?<1X$P7 zO=ZRWn}72hD}bvk|2P!F#nqnBRqo#U^l^yon*g6`^(N1l$8j>59C(uI~!L_=9-f8oK~;YCh_PLv5w8h5dI z5sDAl3`?Cl=nbf~MBzC2;vw&-iBcWqouF*}>dsSp8+l8U+>38{8`O@|`gTzH-EuL^ zb(7T-Q$m+_?GU~(W#=B6b1Rvq%vuRV_(uM9#zshR7$tp$i$9p0bM)a>{AM;OT>33= zmUoGse2Jw8PoRW07;=nwWqUK>Y`>mQsn>*R8WGK-k!GD`BS^89GWqR^U89wijr&T* zm46RcraCg#RgHo8KX-Vj8V2zX$*LiIoH#dr$`qTff{;$giU%O8s#|yTR*S2!S79Mt zW+m{WHy5f|`2Jn+Ohg$dmq~EP%79cDM?Gi`ow)M^H;A!E_V~$a4V4Tddl1tk%$vWt z#7cRF_i2bHbOqgif^j;FUjH|Oh4VLzFU6zpXPl~)cPByJcZ zG~;6&rX=q#{ox%Uo%h^xZ$Y%pRlolG7h*5q?tAWJ#m-*9mrlf9z`y?2k0Bnq$OSdy z;DHWUUJIlNkqAz4T&}{hGG$i;8d+)D(w7!%z5Ws)zO&IwQ{M5>@Q?4C_>+?koGl#r zsaFGh-*^IO!gf9TO@#LYC)KFyQqR8S-%G{!f`B0&V#%xIk8=O&`}e{ZMKKF+P)cBQ zR37|L=E1ihF^kBiwxs5j_o=RbdH(YLO>3U(@kZIuQp=~vU!$V8N%k2OIkiJgPeVaL z^u$SHq>bE&Qop~AV-{Ocz=@*C{pLm(AQCVUOw*oR>ffeU(_RP2mO3i})!}MOGj!9j z*h_~g-zAOo-TV#AWbkmz;dy0SWYn}bbH1V7NDVNWX*BKEOQRX4X}?+F>vT%u^4>7JDgvq!W$`G;k#riw#7si-B$n{zrfi$(ImUW|GUkRaG;PWr z>hD@WTv~ARq%K@$9%9OV*u_CONV%;Jp|>9?opq=;HHH=uXUEf}ORfaEt7FGFg+J^a zzWoqRD@e}G!6Nmhuh~G@=uRYg@&YhnD@3h!vkguFHdpr&bZ#)4hMWL(55>6v*u#qu zdY%;;M;d6B75XYCftQ&iO*>F~R3MXMyp>~$T*)DshSUDEILw@d{LhTVu}VZX9d;bta9O zpI$e|@$zdR{$D@xVyplb7P!!&zoYuhXVo1vO2=}NnXi8R>r<$nov)4^Rqnrs&8|y? z>#V-`pf`-|Wb;=oicnLr;$Sr#En){QLo!J?+4XFxLLsKo3t6(I4)1q1HdL!|i)#*D ze@2*ATE;2qr3oq8yEM99Io*14h@@~V@d(hKUe1dkIjWgNLalJwCz5H|C8kQ4R@|Ik zdDVazLeq?qT*9@HR&w1Cu6)+mK}|(TN-7Dm_UO0)S8{9q5+@~)BKujKw3H$g z-{O{%D6Z*U%3b_Qy7_xOO97$fF~Y+U=Z(sPo@FTh&g#CsebqPzqJ}__cDW^xuSPbc zfCTajmlVHbr{>vc>*QP=U{yWNfv@{^%&`)vs%I}JX`vzVFr~Z(>sP z{K0#wB~}7g9)1R@dNCw@*2w$+{()3S{C7Wo7D=3|)zeSC z$Z7sPoTJ$R@ubLRhBS{;M`!}g%EXU)aWnW1q=?2wN2|lf_i^9%wd(OF&sT4~JzxFt zcTdHcoMT50p!Q|F8XkSDT4E2t>hvsxIK_fkN0wzdHSMORimHmA+=zicvugm9-L+?H zTkst8X1z*#6>2{SOkpaIoCfS4ZUu0&p!~4uluEQb*ez2TZqD{TZqmvF^e~w0nqGL7 zo!Fo~1q6bP28*9)tGY4+-bCRnEBDVz!kdgPBU`NMi9V={ zkTOD)a~|1aPa-Pqqojj;MJs%i)rNXcR577QTN-fJuLz-t#{m?8G<#2byry@7xjjVs zN+sKD-xSt>X16Iq@i0cyv-w@%EdFI;NZ;{WyiB8M&&kwITjXMpkJgkPl`5dX5}USS zhf=)j0#O2#nAZ*1D*IMJw{p8dQYA5SuOT3fGC#=oAAq(QWS?q)r=ZIl^_Q)(3xbUP zOcLDO!|D_?h?jL|2FZGkND`TLQds^|he=x+kfN>=KX1Rdoom11n>X}Bm zXoN{@+XS27j9XV6s)L9FXE`zPi<6mInQqAvYwf0elPQ4 zSW3#`@gf!*_R+^)3+bOl5VY!JKZ&+a@A}<_+_0(|mZ02Y=yPwdMJ>fv7Fc@^BgjK3 zr%s)P^1oR9_$M#H0-8dpmA4s<^7c;C?&_yMeJWT(+qSXs#o+kO>uh4N>HE!Z-h+Pf z?bYqKABssp#dLOXg*76tQoj^ftDDqP9!s9oQ>y#yLKrK z<()&8eAXQ4x>4CBi0?STic3K_L0KCtZiF*<;*qardH94fOv{u@N`4o6&e2bw0)Rob zG9_AG8H#Abtfe6=#UHJZ4=;&S{gd~uxaE|*fBcS(pl}d@f5knAU{lJ1F{N~~onRzD z(w1%uETxCS0jrTuEm=^h%D7v}`JxyJGEAyxxp z)zyQqR4cPHqH+RRaN2)zLcUFJh`&_K3fAk}@dS0wP^_lz7 z8p;_O^ayo9%_@prS7X$bKL}}X)0bvD2)-M2)n9z@IOBG-di%}uOeoXUGta&rYFiF- zU%*aOuz&YEhrtimsvmQ+n3K$bTU5!y3T6)8Kb=q_GA|Dz-6&tOZT^j{8||z$f0laQ z9O>q`1o}3qoM(Ld1IJ`tewO%!r=9?APPV`MR4h{%8b=i5Z9+X90P*NL*W3hUFYlil z&*CtLJb54ae!(h&??1vR#pczHHL@Y$)P1nzeDw45?lk;FZ!enRc>BV_0+a)r%upAh zZ;0UD{i|eyQb(>Vq-az-t)Bng@c#SZf%YhEM1pl5QIPf@JDrbVd`fZKLgfVF)wH(- zdjB6eiHOj&w^GoxK++6xJ$ox=o9%kZv;}(a58EWb;oXEFVs3JH@AOiL6fp)W8H7kM zNM;oxLJ~Jk1Wd{xA47UcxszCDS3j_TEW13-ZI9dxfG%6r-bTopF`M>{;nH_K1xJo$ zq6*e!WQaeRD(ml~iUaooMAe!PhLAG!5tW!^)(-|BfKTG#G1;U^yfrc=b>GwkFJlTv z2j>C0`VrBFID>qH(t*l%k|K>xP6l6Q1GtloGgU)Nn7Oi6DdN-==K+u$nx2`hM(6sg z9qVJH=j@Sk34B2M(I+B%>xDnk>VY%heH@QjKTW1G-xbrr(6o%gtxV&>3&6gLUYRZY(q#2Q@K|zDZ zL2Rpt2Ts0o1_`s7YVy>p)f&jElZoA);=Yb`m)uY-aO4EiE*t>dbr7UOr-A}ab(_nX zVJw5L1#f{W!P5dc#Vg?o<-h7AqX~+f&`{yVN#dFv)r?v{apUIns}+2i6oG1dg_~ej{0z zR@hlRYkIlM*Sa0M_eAUkOg;1xCxn-f?iq83x%$yhUx-7Jx7~I)R_EXN+Fk4gT&W)V z>0{ineYtw^g_j}1_JqElK{lc_kxlL|(KfiH^^L5m-p~nl`|W5c9UNm!J_R8-RekS2 zyoq$twd$+ixEx~Ocief5eYtDgBl2Q3KeGh&KMa?_(+y7Wa1|(q<8dL+tkzd-tR3rI6-OZT0QJz}XSt|)j+uWRYJHg{rqVjzA3A^}fSa(^Oj_15kV@K-L#j00 zq}G*4a1ywH%>PAHODkR{WibMOaTtl7`Oq%vB@^)e*-Q?J0^l8Wvkcz9l1Az%X(9Za zNq(7iJmh75<-Xq%DuY%&(_6>VkG2fZ9{jz&ENd}MdtK?_*$ULOHSHyhO>YC;40v;9 zO&DAG=Ug{AY=UN!LyA%W#G4FOU=6M;%%e$RvFhSBx!w*{cBBbeC5lTcYPUpgoej+n zgb$1pDfqJi20u&c8@%vonWkUM-m#zEfgt!V6 z#&6nN>0Qqj(@h4&n4lB-w73NZpviZX6iQZ*b2~09xxa10Zcz7npqk6X53|VE+2ybTk0s~okiTnsR>M{)l|tLg0%lc;j>c;-0uIo{sQLO6uVA5 zZf@6=RR_{yz{XSJ-JsZQ(Qo=k!Sos0xG058q|UnOc-unl0?SG+x{>cWK8`wuVV88w z;B@?Fo_QYL-bFTK)d^Hp_kWU;zwrJ&gr%zHwU8$kYNic~u9d2e`k72ydUZy)M#lbN!k(<{zX^~) zjNy?e_2eyXsk3XxQCNoe~J4Y z;2FP-DDeCmeGgH_PBhT2hYAv5%^4+d8X#r|Up_flDzt9NKZmO0!6*s)I#-QqI@r80 z=pqQxRq?T*)oK{Z_1JcZ91!S8KkP|7h8YZ=^p!;u{ZB-U$=QVchCg`^A}D_Ynmze; zvj@@z8;pxic~}E1GYL|d4ivbF{0sc%racz45KhAf_f^ZNiMV#?4HOQ|a1vRXg z?3GwnzL(-QzjY*jc4i$xhmrfgQ2q4po@bI-U{ByJCiz{}?RVUYKYN3p*baf$UCps# zK@Cu-lVJ{JJhIoogzse6UT5Y~9;{(+y>!tyk!)$M|CHTg7 z30U6xH|;rm)2V6Sm|R=j8wT7I^M(#7DJnMCZL|xBwUf>>0N;8Tp7b~qd=IQW8*7nO zWaWW<2Owc#ISF2Xoi0O_LNr2jILE7a}bBTMx>k(P3~tR7-1D0=VO9O zw_pXh0z~Sa+QC!yBe0Gbf`QnA;y05rZhroi`H%YQg zEK=W^RDSoUl>Jw&>`5em&e6e7!#-N$1mUNlP&_}tp)ZjC-~aj~op!D|d~^b2(N$eI zJIe%6RrlPjUh^G!lJXFlbxy3D&kCK(3203jWYTheND$Cam{?9X-^PuK$b&_M&A*gg z#LELbrC~%F0tcb!nOWOeeTz~IGH|DM3stiU($S?vNbQHbH;2}F4j z9GKVzYtfBfXx{nxY6vN^m0nmxmx)B5>m_O=~i}2*V1Koryr<+a;TZ^gO1?swD z%nXylwMw<5bPsU`6uG0GKC^eIy2RaoY4j{}}}-VH06!*gANO}ln@;+bmbh!rDl?b$W5&K?DxP2rNmCg(;9 zAI2KJML3&(WMV$?0KD}f8r^J~&@}CvL;ikT0K9+|g`p$Ijb9x22o{PnwkLm)?O%bS za3)u3$KC&;8$`YPgLEi2L&B6kT@ubEi^&hW=_-Yw8VOJSO65sWjgG9Wa0 zxa``r*9nzGqIPrQn^I|aFw~}yCGqmMPMda` z?}hJ<$6@vYye-f@y=zyQ#E0e}>|kY)uVZ?2bP={M>?1F{&j{1_VW<322Zivmp7kuI zX)kWS>vt1|u=C^F#!8m!>;Xh=|4s^&01z5Yv@uSJhlK+TAO#T&dpWhA!1LJn+Dsaq{=jExXwDAE#q*^qbCOim98V{0hY& zA2+UgoSckwe)aIHao6v{!Z@s-f$G4%y|JNu^5j`W%4V1(y67;yX#1R_L-kf)`r@rz z{<5t)d~9#p$YSE~V3=A(Ez4Tg&tCfO8VE*H^Q;*S0a2-d@NNC*=VL$A z@R3*8AeP={T}t_>m*7XF)a&AqelpaT`Q!q`rYxY8ZwUcID&6k8#8StO5cfnru+3pz z%E3H5j&2`BRPNn9gnYlJd+9e2LW}OGnriebDDfz+y&*l3FCmJl+qF2pxslWRA+3GBNZ5J5B69{eGefKTgp)pqd^5>62xzAQFJpVceJEyCA@41Z{ zVZxK88{kFd;$p7ZSf{}0xq*WR_YkfJw(MT=xr%O})39@=tAG5DE^#^2cy;9PemDxU zb{{1LXMmwdx0CjBMD~#e)tjV&NZv`odMWJ`x%$({K0%Qk+Fx4*Ou;|oZ)9yng07PK^k;$+J4cPSd@pyY8sKz`o>HxSLEwqXg1 zVV&#h#^CLZ(Yd^a}Tzb6aL$NZ-`!6>!jo56aU~5Y=XtEa<-wE** zNb>l^T?Ai{yy=!W+A*bPrLQf2n=zX9Edzf5$7Whh`^F@ieogz<;Y5rKaRXB9dPvi5 z31y0qtt$ffMW zZ5N`X9k6IRI4~)+s$*Vc94(-1ZXPz9nstX5cS_rJBG#$8l*_1!mhf_wuj*+5q4fM< ziHc6yBmnh}0Ko|;5YPTZcM9=p*R+86NJ2 zPdfl&Ua#JG^9<5I7ofW3#do3;6e!5a*OYzDMp=`#+l)VNUWh@YK0 z^)Ao(>h(9?ilgM8`}`fOAW&Gv(QzsI$I-7fTZTJg4A$)>Q}z zajj8E_Z;H@(>C^;-0*cpu#8eOOP~}}K~u&Pv1&>_!qPM;&z67FPkTDxrGJ7Wssi`2 za&YxM1h4##Z3ESg{?+QK%Um1-)xDMv93)EFgi=3QLvqMY(ldmbX#PexA-|0NuBF%B z<=h4Pd8?{@=&fFP>Fqc~`RPyH2O-5q{K$SpuBXu!`Yz{q=BjUg`$DjZ4sjA+f^3D2 zV#_8Dum)&2-mQM>)sy;v{tE};_4ifZ|K4dk+}-!wQSG8n+<*T#YTi51 zbjrpy!vEdCYKlt~+#(bLF%plTRD&^|_%3xX2o3M>$u1k*+gyLU5A$>&Hy#Ot^Z*&| zTkiqX*=~Zm_W9jfawA%v(se;Z9W+9B4-y3G8qa^~{P93o64P3*CgJ`2tg(#mhL@;} zulzsxw}z3&7oFEi+GL={$VYLx8IG&_NFAs$H|g^kG%{(dvcIs%gEr9ZbY_zB^zQ&7 z5uP$0X45dqjJGndMAtJ-zoxwo->MGsuU)TeX$EQ9Bd*2HNZ8se4yPk&hE6EA*DAKIuJt$f9krnkA+2!vt@g{UhgzRrRM(txjdqKORp8c{}B7(ljq;Zkb z*0mI+H4*6A3ZJ9BuUCpy;^tKVX_N2TPoIE=ipWW!=QT!8$ zT25W7Iaf)(&QJ|qH0*j}cVuLQ6*(t{Ig2wh(-U`c%(Fs|+AAP6GtBuVTnLQJjHWjZ zTWNa6b2-ApIEGE^*#IX|?*|?oN39I-Or4vDRRq34pd->CJ#o?I31CB}H~frRh?H&^ z?6>l~PG#gY>vI6kSZUTW0#7bwsxUuG*GWK^uipx`8$~V|WcU+>Aw`q&U!zgn`5GVJ z39rsOe#PV!JbBeRr%TmU#`f3~XF~dCaS>%tgTv_I*~fzf2kIhJOr;2zX?F&t;IcY( z*G`WXlb|Xb6cKy=h1Zb(zYv>5cAUdU_UB{ebD{F#+{G&)ZPd*vLy`YocXP&o6~Zm> z5_j&}#-Jdt1Y)FHuZykgFuA~KRN#`_TNHnLxHbeuXrq}zYD3>Cy+WDQ*#Joj$FFVb z2k%Hdf9h5y+S2SrF1{n`AAk7XN?={Qa)|^g>S7m%@E|wyia?QBjp!ielJwcIXNL&I zPnmGqi<#ilyM$}lY9}qt^jn_|TTZytZwYT)OsT(sL%)!(rxu7-_}qr;SOrl@%~~-$ z%Dj8>6?7F(516`BS$vR*59?G`t4gPj6B@~As22Y&0h4G47mY!k8`f~N^Yp1FiM7=-# znUBFC=;L01ThJnk_Rz;T8O)00*1M2vVujPmWD{My)Jv|2{Fw?D8AtZ~6rcQ#SAwn7 zM}#cFO0*CAj-*rHvb^;}p9?OEZ`|8g0L{$9zR4kj({%r^5Ppz&mL?S@Dl$G(<;hp~ z#Gp%P_j0AW2k3lC4J@&wo8i9SS;RM0$1ni@(38LYG_37WkmOd7L;8#>cD{d=5xTQ~FPhnHNP*x_!WzINEU%eXPh6hl;jZAk(h(;RTiIh0B ziM^%9?>MD2Bie`iX(rILf8f-NT>5e=p_Z+{nq1Okm}>&3uo*q7Fo&sA)Hl1~-|b-I zEwb)o@Qu?2odEhECV0^lphALsntc&0HOaN53%u=9BCSMU+qa;V2|t=CesA+q^>Pms zZQ)Jh9Xb215kB^0bZwdTua^7!u`wcBWvuHljng76KF^%FQvK}@y+`0`wKxage_)u+_@K7|VlW$C?gqN}+ ze2!ySLl%lCeCxy#Z0R#~@ns_TT`0bFu#OZ1TkQaNK!?Aqf)=VbUwt8v|BFvPWj57a zpZRPxJie{E<@UQ7sQpOEkb`LinMCPi7Gqq0Xj9FWrpSjU=x|8EnihlACcLe}W;pD1 z{iRAFK&t0b?(|hBa~(?~;WA^HPo$r+?84n=4Jtbxim^i33OF%t3=jTNWPh3Ri}-JY zYLz#BWII=t;?N(6-}+3DS+^SZwj^YZQ-AY3FI}8Oo*pG=a|%3kAZ0Tes+@PB*P)m1 zAr38x_+ucGM5<55MoKRFNU|0PBb!thtQ%aj=N7N)1uX8lz8pu^xhoJSfi5b<#}ms2 z?T)<(Y<~C(%A7tI{e`^`w03qt(DmIhUad?sIjUMi{Xy%pUgtS|53hf9lpFujIgD=h z1H9n<#TVX28fdZl+~@9#rgx**I+ZZf$kNd`S){rKE>=wY_w5D`0B83E6#iuO%U_(W z_U>Ci8t4jpd?VGNgS(lFTp<7~D*&Rz!wyd>Pwee@m8Auue_PqP?!%${6t{TSy_K-W zE9_@EQ2+oy07*naRG!*e_7e5OyrVfxDnFLFJXmmdWlq0IV5jzI%lqcQ@nK-!B2EJs zfv4)_-}^XAD*?0~>Ug{2@&{QoOB~zx6s~&v*WlT!i)Rd(edUWir5h>QS+~e7oCx3~ z%I0>Me4L zav9w?5TfC)eQB;Y4n;A>XqUt+Eh-iaWqLOwnD$W2}TBT)Xaf-oYF6RltgMl#8k@UnI@X!)iv#Vu!^96$JPGudnpSeou_spfnm zTYe13E9$|`ZzcE`W9w{`!+^IF5{7ZbBeM78wUT_^7a;Ms#9qN9r|*Y{kOpGBstptMgr7&NC}J`Kfwh0ZVqMY@I#o?S@e?5;*RNHV}7 zu)xRBNpiYSUK*V0oLA{c7tddW*9g_Iat*OC&Jlb8-9Pa56%AWJ@5^JqK11i5fm%Qn z09f>`H@RYtO=;zb)%&j^I*A;SqG`L?6#1kVzp4ECX?$mE`u3OdN|%R+SjGSR8G)KV zL2*k-MrB1=v`M-6Hh{MPtP=e{Ez5Xs1 z-cbb!T!ZB>B|tcB`U%Rk4jZ)@VN$)f;tHN$C4`6~kVQ_>2`whIXaFZlh!CERbtXLe z&@wBf6^H|=_JQuz>ULIxBK_NUqI8f-@5=i0p-M>C%v=+-CSIK^nkt+7nI!IG|0wnl zAYw#lV<1PHE>$D#!yZE`mZVBs{vMg<5E5l}M>bJb^|+_$0H`M`mrNa;*fPd$C9I(25b`p0K4vV!0Qau&R34U`P9uv#~) z40sW4Fx0dE;g|QLcc{1e`OjX7LvxodUuK`61C9bK1R&bK9}TYq!~^-bs7UNK2~q2t zM58^e3M)i&y?64B%p*(+SDGRFHeMy2W`#GrsnKLgxbo!$2o(IJiIBEW4mt*$a!}e= z0Cl>}#7v-7dHR$r>)0mD;SkQ~n70POFC_93{Kh#X ze?0v=zKwxNM*Up0G05W$M9LAH_lK^r0$%~`hDnt`=^c$uSwt^3x74Gc#6*CFHIw~- z;>JusohC%o1roE4ZF2{;ET5pf(1t0Mzo;bC{2WLBDJNyzwr!hG1)Hm*gH;k?%yDU9 zmNZF=`qsqWI_cSr*E3D8rhQ|0Agi5{Ju10&E0$KM(gL~|cB4;;ZygD}A(C71X{MP{ zF$6XX78ur$y7;Gva-#m(>kZaVKNO?~7F``0zf8E1J{28Fn2Cf)9-#U;X;}Zgv0`Ar z(vJ2i*+fwa!p7UUm`HDfEk3vS5zh>)lR#`r1App$ ztyl(&4i=pdyA%?AP$2_#b9q<5DypSp0SYl9yT(=MwJCIK=}v_y4Ky^w4PUd4^-Dp$ zFS;KG^={b`xM6E$9Qg`j0@VGyUf5`3jOl3}4|*vL@;*+DuD{n)2)eiKTk282dtQ-hSH%gIBrU2Jv5}R$#H$ECa zIyb#aJ!}r2LY7V`FWAAR4s)rL9tM*L!{hIEfHLE!34*Xj$361mXWheezJ-Mdsy9%D z_G8by7KN|0MtD2z-KuhFX9qeWH<6^9%rpsC$ z9VXez%Q{Q-SjV)&e8g7;2?M*uk|^kf=;(#w-v_lgHq=oao$#5ku8p14 zJOQthvi5J^%^RdV^iuTMeXwXeTk+VV7Z`u@)q@YNL4fpB_kC<1`vU!((Rqzk`YdYN zuRwV9R!5HlR1)Ni%)}c3Wh!FU846*DP>9Oq_Hrl43TIiQSCkCAcJ&&Q3koLTGK`FI zuHm+c>H@2|H%?E23&>khE!Ky+Rt1&sQe(~U3|ncdx^BW!2W)pP z>1=R~3?m9Z)_ZvfAAk8f_Kr5iEs5p?%AhPD2&eV}@5cB|zh)f6ZS*T?G~Mg;az>E` z_V~1h`FG}40?0w9yZrYav|+g_5V_c|B`Tz0ebnWX9tR>Lv6u}2T2ZFBj9BR+n?92u zGc^yImIqAiT;BaFb>Qhk-Mu_yiB8nbMp4>pfH%oWLj`fY2_;-(R&xkL;!Z5Il3B*4z;H5U!ZyHFhm_}mrt*Yh-D{QV7q7WT}l$JEjZ$p`ypG~{zZZ!J) zWU#Y$aVfF&jmB?;EMZcVsOyGP@X$-5xR;cCZ+ub;{zi%7(-zRU!RxhwBQWlL6xCD> zbNG@_f{HHz2*+agZ3^)d-hQPZB6{3;Y!^dx(4V8#V@73Ca1)hAOcQ`%U>O-Z{hL&6 zBEHF`l)^pP>maq8X@sAVGzlOqZ4MEpgf+a~$A_xOeC859Qb|8LMS55yqqRplDR0&i z3I)TSfHM0W?xKiJDsz2HA?@S19!3myj+?>k*K16&(`XO%M82njd)J%+5*z_ce5Ie< zB4h`&=2;ud%M)-Amz761Fbu&x7??%37@R95{i*>{5M&WefG+Tu{7N6?x9Qlh7i)Q! z;Q6g{fvf~+es8ol!z4Su{tIXT2FxOd#`kq5fE>P#CLmNwN)Ol6PGQ;NCjc`~OaZc3 z>TmpOyW!eCa1bMDd=a)&-UWfYr&DT3#cC>cQ+K!%)UKVJghVuK7@nRYbt5R38iE(y z(Xj(WjWoqer$QR&$g%xs4jqZd!yux($Og(h&5~Y1u~NPHwo*Tr;R(K0ojZ4xXm1nWhF3Now(;?Asyr(HdoP?rj)B#5?tYRou5=o#!ipF4qAr@*VKT8r-<1z{=L7F~Q-t4O}(&r?NEMJ78tnc1orx$+Acv z_3cG9zUO4U(eDWs;ao%5qrCdje%%GJq@Y4SFsZn%kCXEv165jwv<^tt{EAr%o;Gls z9*)?;tDMXyNldBtWcPQCf|!mc?brKOs$0kAtE*`DJPk3$LO8CDG#*NUB1Ofj0T_9T z=olt}H|(;(Q7fnFhWFkv4XWpGgeUHomKck$d1mR8eLX|y{MrtcjxxFKG4`mISs}av zFaI*~`-iI?s9+gGORIeP4(iBuHt!(vD1h~*9-%8&uA$%ST#WbC)jrbdtNM^+Q@ikx zo5T>62M$aCZ%1|E(s}ZS<%>XxoB8vIr8)<9aNn>d2#J(Sd`DTct@WbJQGWqVs$e~J zvtMPu3~oeAu!l8$x2&mUh?804#B?iu)yAqNDc4T>o zBC*Ibt>Z}7`+Jv>`@hD$q?0TKIRT86&mf|lZWt*Q;OfJZztfyCP|8OY6J9=TXZDba zR7u=QM%wEP*l3JW0LxTNsrdXZpL*B!+L9u*K9kJ}-2zDAGp_0EA}zktyp|$GdWQE& zfW(02GwRy6exxC+BIjjvqIloI)YKFReI^iv2u+^rpx0SiHdBwE6yJg62D@nu6UMxz z%boy-Ys7UOvI30PFeXvla&isdhPC!2baZO{O3X&MP1aTph1xS#JeHY9)>zbqj@kCL0D`KD z$%dG#Oe}<7$t z3o-VD9h0WB^qX9ozft1skn)d@;@ohua<+1AruP2rPQ|1bohxi@c5^B$;X2JaY>H~^ z^u%`xX1nPe?N`SvmfXNOyxD4UzYf0}p^#p|QSmsDxfJOf146%v ziJ`dtOKL!V_w9Fa_vgrHgu8Zaq58>>PSS|)pg;T^l==WVK8}K{lq6CmM9xs9gh&AUB^+CrMtO@njNEtJ6fh4TQuFOjp5g1wox&ZQ;;ci6* zZk!xda~uHBrYSvw+MGP9K!}I55h4i*7z@J`LLh^s_Dj5Y1|W6m0FC>DN!Od{Fr>4RCjhB_VRf~e zgcMMnLRr1o#__X@3yqu%c1&!K_wL=hV$68XMHZ%N)15GUEQcCKt>ZMUk#ugKgk)$3 z{K$@*#~7oa?7NVDx-i#MJ$eOo?6OX%UrC3!Z-LL=C_m#m#JD}*L;YC2o^N1(qks4A zYNa2|pqEZn>zsvPW@fx~&@a8+Z-o=PceD4mQ0?Bit2)0nSv~#arRw$J>1x~dpK?#f zaCPVHM}lY*VQcIKPL8t>bt-p!j(Y&E0Nc-haS}p@`kd!Jg)yXykU~1h-Q7J1bab#9 z+_`%@bxkYM(K;aZ)a?Xq$th=75=;nG576b-#gekS{<{t!RG18(R?{iQo}($=#ZT8{ zPa*s*S?ZqfC1H%n(>(nf{Y^KX*pZ5aa?1H-p4T-cqw?M=;6}gZ_xrJ%X5hvG5Rr^m z9%pqs^?K-6Kq`oVTvWjZr2`eNPVZg2#uy-+B;;tl(ma>Y9U|}k4A(k3tM?&K?Z7V; z<|dmffOF?A2g}ILF2yhM_i>M5fpzg*Y;tiE6e|NO(v3e?0%_%uHoUf~msEl%U7NSX z^s#(5HmO1q%u@OePC8T($*7RsntGPk;JE56{j(lX_Si43zZX*ErYm6lvh zJ3{0i(-j4)9L%~JWa3hyCR8Vb$opwK-Ic8utF7b-z%wJ=E8HT*V28NIB$RKmsTNFG zli+a}7GxOCdK=HTPYOmD?0)hc^~nS(WxK$NNy=0;=I*~-ya>W)LcYiZ;HmQ~SFVQp z<*SM~d-ntr0P&XT+c5!{0g2j=H6nd8D-%E;={t4?k)#P7TKM-tOv$=&A`mX$PIA3W z0H$Rf^rP4vfj=@SKPk)ja%!}14#K86g6CyP3EDv5&gazaf#Dx#$y5;uKe z?-Zt*mD?p)>Hu1J@~gJg{_P2D{(9d5H$+Vp zXzZvPe|UTaC|GPlREE$&6{(YwQ3)JNL#E>KaZcxQ&7(Xx!z+d3m5=}8zx_ub^DEU~ z{pH_>QaF{loj_LgM3quuVdC z-tYlaSW-M9*x}?$iun6@rw*9XF3DR5@5fkHJGlc(1oPbU&j;J*%;_^R@jdw97hq{2 zaV0`0!(eHVu;a=0NURUqg^xgFGWqpqpg0M9{&Sz<5FJ_@fA&x{J9W7__YRU+@OO9b zKNN@s9G8#)dn7f|HeLS0B(DoSNQm~BgqHi^_#-T*-@R2Qy*=$Rbcmofo~5fP(Q zyv9i)`U)@zg(r!l;DMP^&cdd%s~Yq2e2X{F>3i<%xrlE+up{+?=oPNmvv(Kb%mdZ& z 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
    Yi19G>-JXQgzUr$`>kEy-+XD#|k9ksTcky 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 literal 0 HcmV?d00001 diff --git a/public/icons/luspa-pdf.jpg b/public/icons/luspa-pdf.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c9dc01a3b6f9304a5f8a3621cdb9f70e8dbf72c GIT binary patch literal 48417 zcmbTd2UHW=_b40$1W`a#1O$l+DhP;DL=cI}1q4K-cOn8(BE7dnrAZS30YM=uO{9e0 zA#|h}dI=@;UJ^ms+=0BtVbv^d=*uOCtUVml$FZ>6Uz6rYf%-+S*#lzmk^^)|>TcEp- z)U}xY%m}o<;j4dxr-v>^kH>;am{wn(__RTK1gFm(6H!-IhCb8PR#ktZ@;6b(c&%Jr zU;P>Etzy8eL!0r;Fd@K6B!;SX&051jc2e(?`n^*4^b zt}=kr1HhN8?X7G8cmsgNU;HoqcK-|P^vdhc@BV3jR{oT&vw>V6EJiWYqeEs}`LqfyC-$g{mCwxpyO8%6R`aL5vD?8^$?$46avhs?`s_L5Nme#iR zj$fT!1A{}uBco&E*x9-Hg~g@imDM%E&hFkm@ql!A^oK465aT~&0pI^n_Wz@c3!v*5 z6B8p7%OAQJj`{o{oQsM1^6lei9_p}Ixt+Zt^@jD_qquLyO(%q;b@ALU-22(i3(L%2 zCHx`nZ_55>guVTLqU=9}{gSuLI0dZ z`@INFJTdKBUf$D7Z!ev&#^}8dPW{nVX>)x1c|A;l4$?0kd=C43Xej(N6A5*sBvCWz zpqX4SC;WoyD@DO>xs)#!wxj&sbP!{6&|}mRjtJa;+qj;3kSZ(jxGaP8_6_xSH|s^_ zphB(2Pdx^o&3|xiNOsUc72%DTV@o6J`X+@&G?PPjRE}$irz~ErHI^hU*Rp-;iIYq> zGlK^iCy&X&f8s1aFoSs^Gdb`}gp2Fc_{D5Qqc`-(=Dyf0f*U>tITNTXCe`zclN>%s zjdi4Ii{m5X)rV{M8OaL-9OeAZ5zdErKJ(HZKX?7TGVUFg2*gY!4U+WoEKKYQQBWU_ z+iOOLU(}vwiS<&IkR>cr6X_tfg)K#kIaq$m)_Cbg`92B3?s|)Sa*L6yJpwF2S?VHo zE}##G=LVA>)gjFOP(5vNjJ;2u4zdYA3|^o?kcLAG^6@XUXAM%<7OU-qsj!ipCSH+E z?gIv@@j3!;&|do}d({;&E{NM}ulq>{(byc$4cKiyr-K?1WCMhBwh8C7wJMQDD6DeL z=6>~dc`xod<=pq4(`HR5)Hb}fq z)n{Z`Y&RWLZor3_`R-ap2gQCnL=b<{e0?epV)!S>?YXW?;39CJJ`VrvhXA7E7ai1q zAX~iDBqQ3VZmKQPLD+S?5HM?hJ-W_ulyi3U0mL_pTAzV9^aUr=L9qO4I>`Cgm-$Ub z+94gZ=|!>z5FM&r^bUu`Bg3CVoO7sE*6`B5A7Vric<=cxbdW^H-xCvjB-RiLQXRRF zGzWqBw<|0g=C}%tTXc{mM3OdYJP04nz0~*x4yA^|RXqSq`F%(ll&HcrNi|0ji;Z}9 z(b}};VmoTCq4uFuYzrM!gzBCS(q2|m%Gu2`vEVKOXYSGlRw#ZgJ9N;7*aZYu!j=w7 z%J}maY_~_6L&|=7Iy={PuQlihS$40TJpY*~fRlEm_9Pg)+luvP-Pmq^GkD;LNHtnY zBJRt$xajHQ&rQcL9Cc^Ya8PcU@(JtwLu*=Fyg8&nq;|Jw`Hy z1fhdi%*;A(4JwI}Slk6(E|b-G$sJp2c6;1pF*2}`oBR;ZCEs85^da2p-?wWdi&oZs zv|EA%PW;?6r^(U`KKMq`1Y;<92rWWdZ~ipwHv1X}FVsjhn1a>&AXGMK__( zc4qhF+_nGy#d-<6GcMriO<6x$q6R}|mZ2wnv*$P&;iDsv@#s%_1$-AQ77kmD9L}xq$!_yXtvziEeHl46#l1uau`Asm@z0HhI4Qc#NT|q4NbTKz zZ@|pi)%H~9wbd`74`Krh7}-M=4fl{QHuB^!%gE$_2@55}Uu`HHoC z($y#rg6>jvVFcEWB z9a=V9{)rC(g_3SzJq*yBDQgj_LBJfkWMg^s2zc&>|iRw-7Oe`i|mq9EG3P_Zi5BtfmIA zzWa3J*V!|g=R)tKoD9rJPoza7@!DXLC?MrfBoUt1qo#P7b=$d<24L(39jW4w(#OSf zCRZY$?yY8v0-mxoWnyxPX@ybh5r*hN%~rYw$IwBi_qHR!Z2NZxW$WcXwcXNpRn8MS z7B6;Pq}83%d>@6W8hm}LI{)J1LeqLM;yP{=@r#ev^JD!=xbg>wVNx0$#Pksm*yR*J zAiaG{QM7fbx3nF_L z+YoBL9!)nsa{G51QH_(u1dy#R@370Q_Z_vgbw7N(zG!(LbRV?0hmvo~Q@!Os;HODb z0|YMGIpmzdhx%_u?5Y^;gWIgM{cHl0JyNG7DV^_5gUEkrX8)n^oEB zTSpj%lzyAMw@22_@-vEr%;3- zEp`=Ic)d6YMsEGG)o*EB?{x?)z^F(%c$pcLD=Of5WAypX!2UpAX(I z980E|vM8^P$=_d}Hm(XPU=es?vg`Y5V5EHHO`h?BI-f1L)fJ-ArH9d2HQjLd%`0Q| zQzv*x@2%a}9Dq3=hGnoDhA7ty{);~|9uVK<{pqXw7h|ja!~A{szu%bs(PDu5XK(cX z!~K6axytd@Fsuu@13B9J*ZzrN#9k@9kUxPD=B#!I{Leg)Kbxxmt4GE2)5^H6!5dp#fPH?#oGIW5i#>btp(n zpx%imIOpXoerkPE(!sTR;qGu{zDk2mhw?T}#apku>}zn-IuwP*YsOCCIv~Z@H&0|y zR0pm}J3QT}i9vRKfA%6tPENdPZuMI6mQWnF{tEiTPrZ-A^H+b0(+6nO zu}wbIuWix|&P^~+3nF}b_T+KgvM5=1+4&Yh%1bZ3J_cUon2dL*(8ZZov_`03KQzLR z(?QGu)Er2qSH0%5UAC?^<$#$-EO_g$sOlN<;NPs&BO%!n`d*Fu>Fis8F{sT z^W|0J9pCwP7%#!}^23sTZ|*S?(g@kAFnLto)cqLoq0M937`35zo?9pT+u2A1=a+{P zYVpHai;;@O7XAsFT%Q-p1vL$mlSFpfE`*nAoZbg`eQldhxLXoWB&-89p6d(ti9Q#P1Ww>s0Dx(pfSy=BGJ! zBJjbRhJIh|xU51m_*5(HNL0z(b#i_Hox45GNMkLShn{ipPEBqLO6S5K8d_%~Z?0w; z-~f|4qw375TkNFyuc!pfUDU}p;j(@|3e#}kq025(8KRnxk=>Hb5YlyO!F0y?#JN?$ ztu5%jzkhq9%`xrm_$QuC3uL1`39=XbE8yHBBCez~=P zn4ca#0+Y3ABal)b%2`IDHgfJ@!)s=YVsz>lS&kw}jgdtwf=3&c z@~UpBr0)DEUn=p;S!Wwaoz534k2rI?%^W))vLx`}FO<$w%=8DPCBd6 zFax?LA&F6mE$VcT_^=1XWE0=<24WM$LkuNwcHl_D(+NKj&Fqq|p%0KP{@tq1&37`= zOqWlWz2nf>xVPj|9~b?i;m+sWDA!hNn0$MGLj6WYZ?{xH@r{s$iwIP9x#8>5_Q32qai%n4+Zoa?E+pzgwC~Y@??92;9PVQ8=%8Tl zh7(H3WJOZIJWH!2PriRrg3>p%didhx`=1(S}g z;j`TXNGtUJfxxS|u$yC#pTEQm867S_0lq9#M3=IUwpEbe%d-~c z-F6+2S5dBXkk)O)FS%~A_7P!Wj}CI#8p5;R*deY(Ti>+b3FwuKI&>ah%#N^V=n*T= z!qmu0Vsqw}TeeA(oUMl_Ssp>I@^Ecz$hB6f6+4!DngU&oqd5*pK{PDr9_$#Nh2s+4Ga(s@eYyuN%mvG-`dT?jOnMa6^jN4>8 zipDUqeSA@$8lCtt*6w|tAhqSvo&&XU;c@QU$n8gGd4M8e#lylpUsfkLLR>6#cEHjIQ?P#wz z@)mNN;1|sk9RgcVP)u=zv&oBL-ZM6-Brxqn_6XwipCAYjS#W7J6RlgncNPC3>|y+u z)idoA+KfMU%_}MA(CtSZ8^L5Z3gDZ*edlZHIi$ohDN9k3b(938MU0oN$W5?CF2s}+E!o=!}@=YI6vQ0 z^8N@XwV*9H5&L-o?h)L<{SA18HR=x~UU&<#)TP}8yWU*$@dJgwT0z(M-V@K1>GSXB zV49QaSJXYpg_%?2q51EWy7xULcQ@_`%HERA&Ji=c2*-%JW^hRQy zMm7QVA3wwa9GpKuLN_nB8mgxqeaA32^zS@BZ&gVjb zPs1*zboe~ygeOw>5lw)&n#n?x9c(g?#e7@lc{bT+ANt9KH~jAV%UL2ED^yjTF6D7b ztn|eVWQ{sy{T;p)j0YqbNqj5hC0;zrVXmq>|Fv4KHzG1a zRJ=K6NXGpwmO6qFI>IfQzoIui8>&Xu( zOz$mhi~-vmHaq=&)AXdYb4EAV_30KlrFbx=VV|<-OP&#M$5zzOhRJzH2<6g)2nv*;nORUjM~@i*`=2WLf9ZG&?QoZv{8{0}fcNQD z`LW{qahwt@Y=+=6NJA{?juCOAng9uLLEAtDFpCwRfrojKcd?B!Qd?8CXg$vh4#Jcp ztZqX-y`jP=Ks00q2`Pi;kZ;5Lr!SB?GJhF5DX1G1_eFe<7hIdqK+ek2$^}^oO3CwJ z_Hoi@l~39(0T)WDnB0$ZnhQ1zQwrwjAddWN_h01Zsb-^zJ2(o>&i2HVF@2CWfOzF1 z2xg*i4Q)wq+QFdK2+nW8es|Jl$b-Ebj@No^2|u8k#$g}2HF z%FpmiDD=!QC-(pmzi&c64mP1n%VZ1RB<<4_^~4jCT8Jnp%z25fW z(qh7D2xIh8LZ@l}ZASHl0{B6fAFU6wV;FlCrrc?&n3(bL{x{@8fuP1nczl_kn3_m{ zGUQKx0q0fw+idd6SU#G@0PCrER%`yW8cx%JNUZwe>DKC(D`K0F@lm2}J)w^d3dw7= z8MnX9wPe0I{ZiaSpLIAm`tHfb14TpbpFhN6v`T+9{E5}vBxMyuXe~vXdF9e}lPo3M_y)!rBpic*#R0Gzk9{L@O ze~KmvQ)63UT1wk@!X{AdkqS4uY6vW~pw8<>01=wN{TuxmLBF3~P{<*s~RqpWC~ z<5qsTrV24_x{JC$xs?&_Vj>78u*@Y>&ic?;KhgvT8l)}#l&%sqHHyu7B^S?>H%wBB zC7N#zSLqDd9R>n|k9nMwOnw@8tB-P$>;>->ys@h&|DBpSHKyX?Z0J=BGy6;M)ohA) zsr;ODdiwr;4uz+Z_+pTD3*K{rklOM{@bZY_C4H4w*LE}usJ&(4K3i;ezE1Tm^UjPe zTyH|~Q|?m}dUG}y2uRZlxF*S{+tv6~DTSCT7NVxaUC+3~WNE+A_f@-D52~6MeZeU+ z>0qv>>DHD{z0TE>Dl_9@D#Q0=ZML!s(vyO;Q{=ddce8T{5TX|eM`&q7u-3U{eZEFo z<^Gbo^l8vss!1|@vy~WX%b@Jy#SvKY+S6%xRY?YXfu@LPx~V8ns5MGM%zj7MbuJm( zy$m%KDc>}(YM;!?a4vcvZ^BA+%*&y*U~@Ke@E8-)MeBm|)C~CXI?3~e6|*YMumry~ zCb*5avQxB`68Q*EF`9z1BW9v5B)2*xB!TzjsnfMLxnK+RetAY11qnBX{cr*`&a?5VmAYJj8bly$=Ie)oE}BeKz? zTJUZ4>iOG0IVKApi8=(VgMA8X)S!Ajd7rIv@2O|4jZ)5%=^z4za-NZPqHPv&QvI86 zc)OVF_e(K-rqh&0uJ?v#g2ZO>AS4NG3YVlBN$+~&X9+947N)cjsO|7$`H#H^y$y8G zez=b*MVJJogN|pxN99swj3Njkt1II-vYWBa%hmP00ikHh1rM_J)Xnwn=;k{Y(Zv$6 zJ9VhkZ*i_|q8e#Wto^sQ)$q@fm;6t+>c{KqKy=`Oh$bD#Oh_{P#7F}RNlwo!h{yC+ zP{YKp5muM0J^d66s}N_xPSHUQi9Cy=aNQ$j)#0m(31=oOegCqEx%$@e=X0K~ex$<> zcV>`nU%cDk22e!P4{*8XgEnhIh(`UpekVY-t=b0G6U1ojs?-Yc99SBptpwI!bV>aD z$V3SXRf#|cjTFAK{Q|i$`t6g3p!2o`I_a`Pq68j{Wucq}v`Ajh`gHkb~ZL1V$hU(`>RNC!UvQTs#*Op?ckDxx?i89m$t zzg;VK&QsEPv752uTmaCzFjNYimW&ZxAg>N{M!h%6gVok!$ zF9s7Z1@I`xBQWJ`3ylp30Wsl+5jLo?%C~ogA3K6_ zYsHK0IhUx+)O#?Aej%+3FbNLj8=9xboo+en!vjZ+2s|^G*N~Y61YR3@ij*{}3251b z`Izn}N9LVk*s}Jy!@oMZ*=4JC3JM|bJSwBlc8t-0oY7m4Kn=q7W(GcI&Zt#11i}tK zrTkO2?1Ab!5T|*;)w#2HCMQ{nv8y5Axfdm$6iW6B6e4w#pREI_M^uzs8JbgxSLT*4 zliU~f!8KQQIUOZ^H}TFz^BX{Bl2la=->|ClMx$ z{6&o$LC<^#vjZ%d3@$~yh6@0aMy<}hh7O9UQzl~WY;SP#C7+GpdSb|>ec@H4Z?Zgp zae8$=VnU9_N+v_#*an`cc|;>$atlqUMq6rRPq-v}>F$`Hw6=itf~uuaga0THiAC5J zK#53dVZ%j|=Dc()H>qPz6N;IWP;+mrvGKR4>9tY(Wbp!V=bQm`{E4+h0<@%okD5c1 zqK%^QI%1sT+r;~$95MLO*<%|7nRS;9m5a!;a9Dr!+y0p0j4r zs_5rH!v8D3?_!ce;CLq2?txo+;?edo-%xESx0ddyyopS73y^n9&YSRjuc*SI0uSG{ zZhd0^}fj{luYiUH(T#>*s!|IuhhNO#mZeP30~;50E5Fb;PN%K+=K)ASz`v45e!9FG0WO{y`H@^ZW=yh0J+Ct5=jyQ;^LRh%=3?X1$c!!2tIAE#`=Zc?&zaPR|Fa;3cn_ zH8K%GAEJH%wgJX>e&ZnZeI!5i!4uAdB*syS1u-&Di-1(vF~N6-JwedGxjOVNO-m38B+ajt zE215NgLQ!EK^d4cBnsqqbNXGvYQTqEDV0DOr6tV67r~g zIGAJFU}fFNr*trasi&EL(Se9XNCEctXFV_6d7tk3^y zn)(^?a*X2QtmrZCeaqMJj9kS)`{Jh(5w>VyixSXXfrB~pw+SRk7ma_43H3*8s*p{w zUkR-0kXasl_Th<;ZSwt2Il~6Wiv1*cg#VYI;Vr--4h13u!H6QG#xck%9QNtB!G;bH zy5jCj$?Piq<#aP5iBsD9NyPPS>$@urgUOwQk40aw1e2)5_H*w3?d9;?&K!{ z{F$=PN#SZ~MB;Uk69>c^ZITGM&B9%qjdZ?0qPXmq$x}&#f}9d7a_PCaL-)UOJ~h0e z$x`J2@uH5fLNU{D;L_=D_{vtzg|%XFcZUNQ+S5g#{|RYA7#h&Ym^8nKstA;rO=E1b z1XtiOp_@s++k3s0*>=mk6w|d8ccJodphBbq(FhsKn5{!{BkUz?Wzue3Q<>B?F;2Pq zo@=K$9x@$=2nWJg3NObO&AqJzR5{{<4WC6Dj*R=bpuPP+WM=T+fpb!h1I#x-xkG}H zB}uU}V9GfqxdEE6ul$ROp|aitb3T=gt&ysv_9-AH@$7|5+-JVSqKBxfz#w}>lQ8XE zpe~7VUi%n)2+e7x+Ak|thSZMN(sj@XtxEN|)S^(;&Gh^6`uh|V796c`eS;wbYJzBb z)F7h9klHJ#>GUuL(_3%YN1MH?=mbrbeh+x;K8U8LkeLRw0K}2}8OcP$81>HJ!oR+o zZ-^8@@jqkf`n6+Qp+38_s0s}lUlCi|QQ#&N>X(cu1omp^I$F{#(g%ll@;BR5$+>fqQgR!?;PA_+z*-<-yqxIoUIJ~lU zG_Gv1Oi6;&>r6X^cj}aMvlHqF9L^ADHz(%VD5^R!V2%;-BHt?d; z4DK!VoOhfVV}z-C)(exg*rS8Enpz)JY16Z=lFUP+@;nOW$N@HC7E~DCvy?({SSjC8 z+p!{FK{SDYAkMoaJP9?gb%-oYFYIfO0qbhcZV&|#aFH2K2f=?s@oJE< zWTG8AViv`Da_W&e-*vw&e4CH;g5Q)HhZ^_MaNr`%dwsLbD5Y66Qw8@ zl2YMz59w6*z1F99bW3*RFM?Z?F5ugKl;bx;4C7EB5dS{JRPtJ40>{H6keI2@-MQ-S zj>Eh8^SK1C3FnRRK1IYFlC{d|{7QQ;$(0l3&RO8!7QSgR7j^Yyu8ALR(?#cq3H8}d zajxj*O8lZ?q7NmpK^*GX31SaP;osD9?FUt7 zcWdrgeu*3Y=x@YB5CgnMQG$E3*1b8NaHs9~hi`q#?22i}a*9yD?rC`#_P-<>#<)ID z7&=AvR5WZGZAU~(KP38$aNv%X!F14BD8#I}YkKtaNrS7)0jOG!HN2&aUW{kcJC#+)I#@YTelY0`$$iwU^w<- zai5!c`A*vnem{K~r{TxP(U!A4sTJqLOA1Ve-~s+Vm5Cci8S}RrWUZCTH!rK+K`%BuV5w+K#MF0f$Lw>W0bp_`}o@&Ro;-m#oN35oStea-tpU&{$kKV2HZRpgLAL zBRqYN$D-O2*t=3}K^2V%pQZ2MM7Lkt>E)E&z=x#UWL0<*lIJ@qwNh%u|M!>HaZ((U zM}F-*Ys-elfU1&-BKnhHZA~P;6vMG%sGAq!{1J=bz?8tWKU>hw!)u$Bgl0UTQv-=P zlz7|%ZFCYDM^2f89`~IfvJqS&8!nKPVRjrtBUlWPgq6x-B%UOc4KFDe(t1FL`#ZiaDjG@VjTIle(vL1;M< zt`lDXY~T#X)ZB@f+w^)BDC<=3WM`ZHV$P)9SI`5$^QMz3MtCpMH1~WytW|Z`rQbr< z_GOm$be?m1B}6srYRwo~Z!SH24tJgc8CJYE6Qf2J)31$|s2@!#*|_u;u6FsUs@nDF zQ9S=F6nj7{1%6G1*6)wpCVFOSwAApJT7$51d4sFOH3e*kfG>!jS-k#m!ThCx z{kV;~zq0UO3+)+6D9O;>=sRc1zQyG9KGnb+X8b(Jpf0-9tmhicib{H|A=se!XDHJ3 zLmU5a2aUIGby+lE<%g0{c^so1OGa9;~y z4#68*7&vEF#XVJJ*$G3(*Z$}>ujN=mSCY;o-((Z(1oOq@ZGTcS$>^5NTc{V*9Gw_H zkiY*eaWPe~)U-jff1&<-Pz#pN(j@b?VR1y861La*>dEU|Z{@f!*K^kOB)BIy9fG*9 zl$#{C0?Gq|Y+>m4Y-i^vzo5IUnP^>>2mUl}sx<8vm_g}0MV#c~ML^B9L~(`*vOU=9 zxri>C-pq_q+Zx00B)IDbjZCF?LoWi01VPv!&XQ`)O7O$+L9xaJj^!%kBBHq9M_l_u zSJcwi4kqi#Q7f{oZ+Hg|uZzaEr~;eD9R90u6~RFf-;hLQjEhu}RqFi1Mejx$Ovp${ zp82v|)QI}+8ztrS5|2-fEMF9(oE}G;yh=i$UIrLDD*oIUrhY)%Nyb3%u87S@I;f0u zlfm)Gs9Briu~J8tbId4gqK@UDNH)Ji8Y{GuQ>b7ES>c>PA1B$(j)vw__-9WVlnmzU z+1$z%zWG%9y6{50pX@B6#BQSlKS2cY>X{Tyl7)Q*7XB%w>g__Ux{!vuMOu}e%baXI zSq0vQzh+#FA6{PEt~~Mc}c4FFKTnn`1LyCW><9#ldVq5>42W5 z-9a=xgv;4ma^nTxViY%JEYITyG*6ouJnop_D~xPK)xVH>Bd1*h#L@Ebv21#ck96HF z2c{`y2WO$DT!;m52Pf_&H>1MkL15FISCR`1qSn;8eW!@x_oF*hByRWyH09nn{rX0I zi!5zyY@uU$PLI}zT05YfC#&tO^ju1wN!Mg_7Qtf@^vp`=NI zDk~ItQFJYEsqVssjJey_yynxHpFgD-rY*c)Dsl!d@}Z#YC5lfh+fLvXb^ z$c4Lw@Wqn*>!T67`#pZp>yeFh9_eDHYS)S+`M(^XtT|$NxT}%(D0PP1-HTd|Pf3PBy%X(p7;}F|PNOzmZKn3SOg){O*AsFpaX*Zq?&aNdANg^7DYM$BI-v(AiRhO%GqQZTMz+9J0V0U1dpo` z$LgH4XW##5@=Vjue_+b|UNihq;!3)MVrNba-0sk=gO8CshVO_hgYc|)PYdIxx~7bQ z)RL`b^gX;EuTnY90$Hlv4rPK5AUS5JK(xRS_Qnh5E#T{6=4E4RKebiJ5XP)Z{uLK{ z=iwLIATeSrjdc*v?1H3VG8@GO0r<6>q3%Z7;yh}#305H9oce?)-^}aRj5~TIFV;p< zz%jm7qf02(tELK_S2IU<+dL6H4FQw1m<)rCsU%!-990F7m}=-5B$5qa>F*GR?S^wC z+7ujD#4mUX1<G6>D-V~@NKTTZ59LhGBWg_p zD>%yXSjCPaV)mJBY1JbixipCq^l|%)IgxjVZ-~pN->y)uW-h;%vb42;`;*rPG?z0f zR_atFE4gziaM~22?b58PDY#(h!x+mG_)- zp}xRZt|n?lxMSczF0~+QT_1o3Z+gbE@Tg5K$L=o#?z1hhRTVFNjS!CMagUbT=gz%g z7fDt*`->O~74Kh69W?&*UUXV>*yKPAn_~GN&Dw7_dH>s|I7&168G7dPg%Xkv@iV@m zXp*&I6f-idv%L;Yy>kAywj()*cyDM_l~nqDjeP(D*^g**UDB_{?_WAS|c zBR&*vMgy}Z*DjCOkdFowbSIzG?fq-$3>-Z(IeU%_sf!@pj;tUfvQ*&B@U{j?TK|ae zpyzj`(RLrc#1IQ!a2?AN^62k7eZjXr6wYKGgG|pD?O6aacZHhjxoK@YSSL4kiz6{x zxD@u=ouNxpqR_Re0S|Vi!W!pJb@BS2`9jp#*ppg&>QOyT8$y635Hp`4#Q~1DE63sD zfkr2}zkqmbE_e+HJr7Oga9YA#hMXNFO4HbP0S*6h6>PliQA{*Cz)!mP zB~aUxzGyw8DQtb9`=(Lw@IC}6rMHpfScBk!iV2cf;WvUeY}W@rIJ*}oQT{FD1|rJ= zbJB_qa+5qFzuJQ&L$_;~%Ztl2?_C`~rNMp9yMvoD-%(wlanA5W#ZUdRHJ8!Z&{Wf_ zPB-_JN>83_aE^KrK%Rh!$=`JTqIOEdWODDBJZeUc##Tu-3^V|qvkX3V2Ht^Y-hLW~ zA8gjD)gKyCyU}&6B5V`lbEQe7bz}oAmR`Nu1|LQ=wW9I5DL|pX_!8tTn0=oSHXqBE zz+Kq7%Lm8Y&+BaYi?DkxJWsMh3n79$FFyd%;{vdTtgp zMb!P8=!w(~wk}lok}fjCA(+c7;2-IcIDD_5AU|h(r{Mh2URAL{a?2peC;Zw{8yH+fE0?CRYu#`U>DCzdH(rL+@9v$!$M z*<8|R0vFFSQpDUjRdk(I>GRN>#}8tzCUKEd9#Ov9@hOhZk5c$Q11wRE->MKtI3uI{ z?UK2_eIPkDjmM5_e$LZuslO^{_sJDk7rO|A_o$(ybmI1JvP{g5rvSs4b(Vm~mqB+E zRpxS5TuS{!1J+-xfu_zUO1@h&X!?mJ2E@+Fa&~5cNOao$-Pm&HF9-+H?=RW&1yR{S$Y;%=I*<8KjV|?+cp6Wn$;9nocJxmWILkrnlJL;ZCf~gOCy2^{EGYOWx+*|3g_9+Rs z`SMS;sn6MGJzHrxl~eD3K6nPj=i8YQD3&9;!je#}H%cDclSR&0r;TwVdLQqjIo3>O=}gqP50yN-z1wx}8hI2qXnV63N+c$)Si1Im2)H zKDweP5C4UY7I~_Zv6B%Jb`zSy0e^6xlpDzC0t3|5ZIY}H9y0f2PBIF@ISl@5B%Iy* z=7MyO;-{Wll8G+Ia(?%wXRrj5SLf0g)d(-cJ-))?BJ#JAIdbm5S9>B@PAR1XkSqv7 z#OtJ42OoTmcR9Kw4%srWX~q&MCsGpu-lT?*I8r>WCU7~6*>iYbl-lQNqB2~Ks%xg;0Y_$Y*=i7E# z_XqCOJ6~XNs;$pwWqy=gWAaFbh=YL|{Hx?E@IgyI?X&aty|sB)yOr{urWsBgg8MujE4_qBOTaJm!Mov7z!eIg zg7X5`MEGy4PO@565@M74y^2Z*zgYm&uf#=(svhc<`F)fufKnTH8mOLRzpf0x$rLVz zK+$=9kGY^XW9Q3G8=JZbxq$1ZXoXiX1RD=1wsI3FBO)mi8>ngf+i&4gueHyAyTDso z^}OwdR{N;(Fbjc=CIgv?PYuC(ZMV9RggQ2*#tq1F#3$|?;Z!00Kwb}8$Mk24*jANZ zq@yw7)$jMEK? zq*8oFD}=4irI5ly7z%UpY2LX$Vf@3qpzlme^O?HKV6WH)v1Q)5_-WO!r);UTu9)+O`8_W*UO{>lQKFThyG-E99AIqJ?N`> zYtYxp4%wuNt{vr2ZE57sBGl))ILj$K9n=%{SG*D{W489Ww6y(Ze(S-Klfxa+8qDRwwwXqd3e?bv#S1;7+y{5ZD5FPhny}5`_`M7 z;!@7(qq=i++W$Q+20ld_g`Sf|kImCgAb-FF!BwPR<^Jw)hIc5?kTlMWOP5J zB6?^MfWa7oEHGhqUZ3w@*tA1fH1v zyv+kE6e=r<^+-sUZd^IBzG+%<{(S2BG?xrx_6p*UpRc{=kt66YNRqr5v2#cXMEj*S z3wbNqi;SqV?7mp7Kkeq?V~=SOl02%s5BxXqnm%l4Jh`5rpFFi=Q5UzT^+Tu3mJlEi5o?H$P{*KnGczp{`8qEHzxG#x*cg059=v z7JRyRwPxrE(R5*)AY%gEGbk(fE;$T-q@A+BNY1w=mEy{%DSIxKc#mPc zn9POBtPh?j+#oNEZj9AAc9&p3t%!L@+G$h7G&gGH1EkmkE9I3LCv9NzUZFg)7m9Oi^J_r9*rwTmby}!a z?No8Yhj9q|Ia*$CwvRLOYCn0y+>p?Zj^_Zy8?;_#K8(cZid4haMmu!sKk zX*a=bnS}}b>hUjLfz?>Y!$xMm%v$5SPiMd?NrDg_8_Aokbz;e~@jeqlPga3NIKPO8 z=>|0>7$@AeYYPfGJA2!0s59lj6ZIEK0zaS~h2U}uyw>5=VEo&Ep0%fbw1z0Vf?z<{ zQMKolGIyuciB30g{0ogv6T#LoT`i}oP{ZIbqJknIARr<&A|e6;2T?=M zQB+E#iS&>NNRbwbbR>!(B0{8tlt>M|7YQYV-U10F1X8#^&-vDU-@DfLC)~AMED6bE zW`28S_I~#B?5P3wrjVT|R-jFjje^hY8$Q)kwV+sb$FwzdP!XqK~{ws6w zgNL_O=!u?^5A+s6X(syHDl80X{dK8kRz`um6V}_V0KQ+~55U9J1#T=aRRSA~zG!SB zR+vkk4=6yO7cl@hKusUip%;2F6cJ`+Tul&uUHz*jbV0cSqO`41(#zZQPb%}p>pNx=g2(?cGo_JRaOsO!Y2cKZY`k=13;D7utC2f^=lj( z1``2WQzC^;BR)umJ<`;p-HE8@RP0%cAE#oAA{o;m zbbGztScSd=84#DwQqJ7eV4P*k;HIa6^YuI{4&{tF@+bb*K4m3v&B$Fv@G<8FQuz*=b3SG}b?)n8>WZzfQ{tD8rz zckVNr$9h^$xkVlQ2Iq%>_Yp+DTv!pr0K%yT8AKrCs4rUKyRSfD$6ZFH0zpN3!$0QD{8R8|KaMwv zeqAA#ihesymF!Es^kF{cvy`Ntk}zJ=i)R@&WOMHE!{yH7T1%Y?8%8Ztf4e~opqmDg zhzb`I>Vh3^!81;NUDiNiHZl*MkX`Y_P7(I844q61MM?Uz-}_07ZWo?^|L<{n72^0} z&tmTEF6u99R|2HhpNf^Q52t&&EF9io8#_Sni1!`zZK200Mpf&p=u6wXp)+mtT2WQYZ8pjDb^zusQx?TOnNEK)WBQJGihYqiZl{SVGo2B6 z*;4)7?1yz=Nq6;a)HbK5LT4kYR&KB zAM@$0p}9?bMdm~S^5M?#hW)nl$=ixA*(^Jq0o^`D$eV5yV6T;2Em{FIAdm_kvGTpV zkME|WG?~d7LsDx{gJtjIk@qDIIKD@TSyQn6Ab`jBI%TccW7>L$?)K#BepiIx?<+Mc z_fB?>xh!Xu)9WbkTl4~oKJ7aF6X2A{(L01!?9|jzzc08){<5~M$4E)n&}~h-0kp|# z4=F%m-USgxn$62F)dI44-Kub`Uf{Mme8^!qWMs{mcC|%S*;HM6bQWp92G}5M*^;LC`Xr8Db^lz`hpR*`;$q#nHwAKR3YWX>&cH@FLn!&iC+~pVSedQq zCc*mTuMSj?h^gZS2(T3hL@Tsd1akd5;(mV=LDai@6 zHhx1H!le@8-Q=oWo_qCUNJTZHT>$C<2$UI)vY7PI>NLp@9u_I4%g{M5$=G}1t!1wj zj?hzDHvOyws^j$^x7m2Hsp3gXt!2{qtj`91SuZI&GNuWc)^6E1;VE4fVzODR)C{&V zXETs?1CXKtDE8YdD-{9vbW3yC{0#^vhO`bih*&PV-n1BuL?nMITK4bU@I&^NP4gy4 z2k@`LF0|}TovuIn@avEXRDZ%9_?Z7~X=sf5Bu!XZGnfhuu@54n96B`(THdX)EEb9^W;Gx^uD$*9(1!K-z8< zSF9hr{&JkbyRo*bm0@4W4!x`n4fb`QU8A-Zf9rIc(ZG~g-MI^P)@Fu`!6di@b{txJ z$N6aibk1kHD88NT%4e%*TVye$jnk0bP^1~+7O?IZ%%eZjtzn`2W+Rg~xw^AXY#(rB zB@gv$ZPeRC!mo=?FrMWtpk(jt8mf6e8I zT;2x3jI8#!H}fC6=IVRzykyi~7Ej_f`>bcB_}JjJ{>~NAzkcO7^d7~X*5(I}tkOJ0GBXK=~3c2~~VWSv7*6?yE9?&y4Tq7l|JZX^bfBOXUT3?c>C2hSX-Is&}x&TAo((x5Z~J$=*n0l(Ed1 z?b}hm9%f#vinvR)X|J#JMtP$b?Kj71OuDHDRd@RNT)Nrj#@eCO%oB0qj=S#nz+P|? zj(%xw>KuI)AO}{iL1*v`{qUW`gRx1DKJu+^dVRD-T|CoHfz#+@yZ}SLkYKe+c-|Vh z=OGi<@E%*W8p-xV9*5IlC8K0A33ZByTr}>JtT7sG|HW`Ako4nFgIxbmN{6l@;BUOH z4b1&aDoS6zvVtinPkH1+gl;2dKu)2BDF(#&Ed>K7g;xB|B>-RfiR{OIXL60=o)vm@ zINKeIKhrvPNpHSo{@0=_??ccmWB^x?5C^la%Wdm0jLtzG#l69tLHtAAW%2=RtkAE_ zr=!>N06N>LJE!&4ugRV-84SMhNO0!SxLm6m55{AV=Df@14Fk*%N%);cp7%*r;7i>Y zO&q`6gG-|)hEh|%8@B$ltk#q!wEn^xU-yDM=y#bz91~NE+DVvADBm+@T)F6AE;t1Jz(#t3@6CB`y*GK1NqtKRHiII~HxbTzJOUQgCwo zb@CkIQ!$Yfn~Q2_!f_Wd#Td`%8ZCr7zCWnkwo&+5OvxA_$FE&#L;M$XrTU}+$T;n&S-6qnB36H^Kjxr+%WeE)O6=?sg!Tb>F7=%hr)WB>l~rk)b^=K60C?&u^%}k% zNEK}Jht0CP(9P7HKNyI!W^$pzRkQiX{d1z)eQmzQFcW0wSvP`apoibt=ie*rF?&m~ zpk}>{WR&xm~1P? zc8fJ0`E|=zfSC(y7@jDH-nYbJ99i0F+H?$Sto|6y|IN1fMRMRcsp8pQk@#Kk^=MzM zJ%DK9{z0@rBz@2q>GpDOqPnnS5@QP{1}vfbW!1i3r$KaZ|DXt;X%eg$$n*z-0w9AY z7#WA#QHNKJ>-)-^FWvFkysPaikpS5-DIBa&A9kZ(MKRBSr%_})Lx!$!pMHLo6@sY5 zIaNGLI^+jEb!IOo@`jr4ZvYcoWr@>`0r>nR>m9@qH0IFc-y5?XRzcNTF&rTJ?Z)y- z-DC~ee7B$byB35jXD*-`+#n9PP~wluX6!L!&jH7wC!4PWpjDQA*9#Z?qFj`=laZG5y5#e`z~9Lw_c2`hz%?(0YDlILTXG0@A-<}ZW|UQps9>KM z^)hH^G#woc<4O5aDKv*_OkoR20a>j5lP!B-3ihO$vPG+`{m|R*(ul#S+S331#~iS* zwva=Ns{+ugP}2+gZN!S|yYwK+{Maj9XW?Fx$J&#tEAV$9fD-IepjgOq zpFea-qI1&=+k+K%K5JY_E=eZT4G_K`aCoJny!&3%y-fQ0^pmuf0KnV!9ov4cDR!^L znY{OT8N%bM52Xh7mk&bcxfYN&SAWN6C2a%9J&&)o!L9vB*0(3b1sLq^#e84S8LmbJ z-sSk^WUDTjf)Dr;o(ZO?!q>XMoX#I`q)x!%0X_Ie_sy_!r&j~s==g=XTIujl0y6oA zruChDYuS|1@K3h!R)3*At!Nd=$$Wc{%_2r>Czwy^Hj`deI0^O{RO1ZY_5*R;1F6rH zU7VZSeYv0dAR2ilrEPoUIrl@}RBX>U4No5Zh8kC3Nnn2vXN4L!Z;s3?ilOPy#u4O| zK20Nr`^qR1{L}jDV0)*6aCa6Y_j#MOzwl3D3yu>Z!osS6&oXuD1#kTQ?L&)YB`Vux z=}p#m4d~1$IS}yjKhO)Px$?Cd4DB|A8tF#^zu6&;5LIc+r17D)DzE3eJ^qhzOhKN; zvnkCm!s4%~qkWqS<^28^TpDh#RRsOcOfugL8A3aE(CryQh@-`u~DqI(r#?ze3hR@6y-A>N!j)j(K`^){ShM11OJIsb8vI+nz<# zrmPp6NOIdLGd`&cG@ZBO@~@f3{)UopWC1`u133wKZv3(gd1~|QrgugBNjyg6JxAq( z%h$~C9j2SuK83N>Y13$=ob%L0x)v#5w}Q^&NNa7>`pmleVW4wMS#BagerU%v08zfr zPleMwt1B2nXn;|-cvdL#`Yob^Og8NLJpoa$T5Y|=g!VuF)NY%kGW(yJ$}|vNnsI^M zhdTav_iu{71wF<1l8T0ek2_gJsjXOS?2$&iDxyxg8!^vtK;j|C*s?%g5Au9tY(w8x z)$F~^je@UNON?kPahJM8VjUj2U6WPlXcB4PE;65iwOZ73GR?u2(588Iys+#ME$*R1PDp8_}*?{>1#!T6_Z?@*m>1@&Lm)eR1DzfBM$-lR0P7Y zjy_M-HNQhS`u>gMW7ixvM@~rt<8gZ8yCJ2i7Fn>%z{uC z-!i4X<&a4uCBD<#{5?Y4;CE+DQ~p^D_8h1m1G)l5HQe7Z4Ob^)eqm!$S{HS2^66gV z@J#$WpSKf>ByaoLp z-KeZQroaYCypjPyc#k3!XHriHr3{XxK06H7=&<&=$!#Iu*Mw7HC!C~)kY2w#;JDBh zdrPfhqZ_GGqQ<7NjzT8i2E)7yt=^b#5Nug{c^Y{KvWwMfFV zgjo4xiIJk6)b;p_ZsiwXm!I`^yK#EU_{SzO>8OThW$3XE*t@I~BRKnWU&*yAwE98XpDHG$l(v^0^|t!BubwJqpRpR&DE9K8ffe!}T$Ls692MRby@hsc#=+giuK`@5h1}Rkl zWZ3uUG1R*>F>!Xwb0P1jGn*Q&^$FKITX@8yL7a6+AK(neS%%4sO)MypX>g8Z!^zLdEH zC!x@|SWum?zsOyln}(+|uxBfru&+i-ttWGd#_D{JdLDkD6*CKc!;YvTpTR?aEvmJj zci8z_n5a@vqytWUHW@a{x!JAbSPd{bv|)v3kWOhe&;&V2Sd!^nxn-pC<2z4l{7gWO z4#x~`VhfR{2Wz(NL?AT+4(q?TlKrwcXVpjDql9ZlK-88XIc_uMNCg!eN14{1f= zwy~HQ5vv#$>T)0#Z^sTMZw1-n>%-=~Md5l=uWC#godJjPVy4BU&Cb~hJut*0&f#VU zG;~$>XZZ7XmSH_0rT~f-Ls2E?GIV^=Gnj^`#BYv1n`2th-_ggPoN$*UUTr@Yecff~ z#B3ycOcQ_*4tudeRUnbwj9bn~Vg6PB_l^!n7bwz-4RhE-ff%2DJ(K{BVgWhg>o&bh z_M7eHMyOYu^~OBWeqTX7WOF6?+$(0iLA(9XF1E#2-0!(fd*JPi=%GjJ+jRqhljEze zYtjAi>aQ!k6M+EvU!87BaUc;xYL7Fn`?}NTEOYu-Hp@1biO)Nw(LA2ci0*OBI)6;< zjsP8Cz#MtS%0_50?yv{FA!Yh+?UkJdu9@+>+D22X$1(L0_yuz&WEM919!9yl@mrP_ zOE;S)!|-f@Lo)-?&rVdTMpdT;sqvYF(7E=8%=V=pzUdfRO9;i%~y-C*5%=fIF%aiLFm4QA>pWPIns_lW5`&elDb702g z={vLFa02YzH1%zA|I}yo*7MP!O?;zd2><~gM#CsZZl{@?)Jx%S5rH$+ScM&ka+}U^ zn?1wt6L<~YX!X(UElT)oUg$RNt+;4K8LVtZ@bG*J9XF{mqkWV5B5KxcT%pk_G&pRt zWno_JX7@+Vuj0V&v$dv$c(`;s+p}hHOEt#gWmevn7K*|5dpVitJXAg&=B@qmx=uUN*-OSX zPo$a3219Kc-q>Yv64m`~fWjs=5%RKN)e?E0sTC%5Bm@S0<6p7$c|Q|b(lyKi<~RQO zt_RNwr8-A&yg+(Y;Ww@o(4ys$&Fo30oU12ujB~@c#Oy6q{VMu@Fb4FakM$yV7_OTq z>p#dYC>*XwxoYVygW2)vPAWeVhnPlS$}KknM>P7JQOE&@$-kr1V2d7S0ANzzh60-t zf56fHh-LNpyl}7QR5eDBKHHdeWU#exX0^foB`UfA;;w#0DqkQ^dCB@6vl2)JDUc7T z)2CoeF2FxZ$VZWWVah~i+5FzjClM&}Fv@@iD|7qBsA(<>flX{4C7e(`K?z90w!4Ma z3sK$hZUpO@7l3Dfrq;^!{cB?JExCrx=03&5g$Ft7G9WGKt%xX3X}{s)z3a@%Ap_#{UA=hE+DF%TT7r`DegbS7IX{csRF6W-a*qI_C0{eZujS<@rbzgIkdyN%CRmD6adO;DztUN!47m_R-^7 z9{~_n7v_D)1GD-tqddwA(_w?6+}a>q9_vb;Qgb)89f`lmOkX{-jGGPufQd(ACw*q~ zTEr;UAHuMrq`j*(zDVIlXuU@G-XY~TmLS|XLL_5w`_ZFJh&v@w10Bf}2FwW^% zo1*V>km*lk`*8^^&x|b8**y#`4_K_WOixxKTeO`j(LyMu9!;*=3T_gpj#83@?_T!S zNW<$8a3u^Z-%_&orp=VicaK}j5~381K+ivcnwa)^ggvXcR-?cX#rgEc6mJ=~CXEk5 zi@hf`pQ$ft_b~nkP$nB|nC>N-^0O7C1uo%QCfSn{O8TV4|qOt2(S>wR{pC78-r(aCzfVwyrHMTaldsX&6pC5=V&2Pi6jo86&3ya--j+(mq;A>;YxvVPuU;vxDA2^S$(0PELAmB5;x#2<2 zZcHisB7PyKRlL|g1VK>sL|7AgRr_8=gY08T41UB(RuyVGlOLf%pLd`YsK}OAcIBY* zChnnz+C}DC>sEm*UGNaQ5mu_d2Grs>ybi|(?O*vZ^gS}7sCIcyDv(v>mf$1__P#5+ zfV-7+|IiGt36#vLPr%i-nn0E(NV7zSO62@|rEHF!MiRh(&;D#O5|-X!`=s0Z&tl&?75g0=zwFmZP^lMGHmMk9cuA^0)7 z9rpve)(vER&N8_M>bt+LbUMC>>wHDuTqNAga?&@jaOa}?jV(yYStj`nM}P2<92`t0 z16E)c%eKAexheM=5>1kDPXA}f!L~>wOgSrB&$2u+(Wt@#aWkGXQxj0C|7tJfu|SXD zadZVHX{X0}e1Ny|yNVl=*UgigD;2$N z%7 zH)TAqK`2l`Z*yRWmyAwN+8u8K6RpB+?pDM|vq(UsjuW8&iSqR5z`|kB8tAJtrcuNr zy2g3%(-yS>Blpnzn(h)*^}7?o<8(cgFX|}jIcTi3mEavt?R`L*^Eta6!N^nU`0LlT z&5Yo{esso@MU3@5LkLvl!k5XrAy;mtuchknW8jm>r6`-k-RYJ`O=~~Zajxip}Sl$ zCXI9#&fsQ+)E{PdLn^>)QqyE3JmIiav>8u)t-)0XS?^i4WooYlejXM9qj(54bW4#I z$vl)AGfHSg`M~X!H16h59ye#MDakB@!kgyGo%t`^KZkxKJ=WY!Od2n7k+oEiE1UQ> zF;Q6gn{}QQvtF;tL{Tt6efrwl*E8eb*~GbC z&vPETKVzq%8vzEQ@cO$1E>GCo*_&`sQ0ox-qIpz;+d@ZPM^bMZ&L!;_E7Pm?fTPz4 z#*&V#U!#boQSK)H1zs7CW{fV5l5_JdC)hpeD})ZwuyXPNhbiAM=r}@`dNhbchCB#p zJftsmPXCj5_(;7QWX4$yCHYM@ANFXVsUY%iD~v7E2#D*1ec^g_W$Jyg`(htIM&2Dy z&>&01!MDb3>C4l4KN41mR+p#a!xZmnFpAV4o35o%7D;(6_n4-$Sb^ocD>QQ9u3DBJ zBkYc-H0MXLBhLVpi}neGGzGs_^Ld&Fbpi0t^U|IC3&;)^3VJ6FjAj(cj`usLZuDlFerE?UNJxvnMD*xVr5cC$`)!Stw& zB&1@8nNTr&NE5^GRN1yR!h?HoO4{1K*as98ng1IdeGfHt>mtVq&-zJdKGzrc@|Gra zc*(F7T3njnQG`rqK4#_CpJtvGd^gK7Un3(d?iPq9fZu;r+Z-<54Y%4WrO`ufQ_)RW z-f_DFjxQFrWqI85szH+a-{S5b!z!^d05RSPRHNt=gr2ZyH>#T%CX@7YR$vc)ScYI3ev zd#HIe4Uk2^DLy2JaBTsDf+Z`p%IXN+5*^Jvk%Vi$aUa_66$vxR`tx z!=D3eIePlcV$RH8BY7`|Dk{tErcbDDLXZs%4;SK8KmfeckLmg|H+cUjqw>YtfA#AahzAXy!+ zo&PO5=Z!rUZsW~0@|jh@R$ocq{Uzp2kVWXoTK}`om9xxlQ`y3hrBGTaWJ^~U`pFs~ zSe+k(r_jr1_`f1Jhqw1y$2hI04>-oXROq-<)a1)qfucVFIWLD&0)rU9W`e~ewh0^lpk(%!XH^qN>>6n(cyLak2q z@{ktr+bl^o9v?U=C73aOJ~N`NaqssX^x;waljPJ^woO#=j9m;;VS zmq~0C%S$slS9!5F1oziEQ=n)Pp-WHv3Rtqv%s9E;WmSJJ^tXr*pM>xM$8g+D&M*EW zqhx-{=SGYmQf$(i9(rTKG8FFD@K1ljN_S&Yk9Saaz~lX2R2zOG-Dr~qq^h(6EgO+U>{j1@DGm0bH5HNA5tFEpcteOBEzD|om589>O5v?V&~k8kF; zEppDAC<=jZQ!aGbUHkhqRU!N}r36g8A5zMT=x3YukA2z$B{#vOG z^usROv$@|Ks=(LjVO7I z#CMNTV<}c{gh$y^CF@&VCTeJR(Q8`pZ6fH$j#S12T0jA7WPI_*Q-^i%KgcHF^fber z{sTmz{y~A3vjqE0N{i@kCxlaaEp!BTOO%=2XTDxb6wi6Rv+T*{_5->eLYD=8^0K1k z>Un%0OO;Uzdl0LSE!!TXxOYK(X;c8|;?q=J9i{2Bj{{N8;W;`d5cVAZKvH;16o0Lg zZ&h545c%>hoOxd|717sGI1Hs1Y;CZ4$kQ+&N;veL4Mtp`dw%|sBA=Ze0fol5Z|ap{ z@HM6283CHGrX45$hx~yr^N$|B&sZ9$v4XEKllPaE7Gktux(g`!B`&4_d>X{$AD_m( z)0Czv&ec!@JI4JKze9yzmE8Y5dFFKUwS?Hb9c+arV6aEhsCndZh6dAs{+tSGl4?p% zj=QQ^$uOMY;_rIK=J6eRVlUPUGqYm>1Nn=UiagCU1>C#9W%gD2r%#tZ`+eJ68K{kY z8-Xo~bB|X1b*K_I4VZSR&l-bql-;0xF=W~#`ugXu<+xP#%K=RCz9_2555z2Y>-j89 zQSnT#f<2vddT5}r^kKl;%Be27!Zc8&=Ye~6&eS__JGs>F2F(6R`wOP_Q~2Y73z@t5 zuAgF$2D~66g;U2Gp@Y;#;%1fbL~RNP+}4yBcIXHgG^ zHerO1d&T$t0nW&n>?Y~6MrlY4*KW&mZ@&M^Q9OmL=S7&v=hgo|Oq$fTiqw z?%W^2BnMvE?9KHb*;EVs6iwOb_J=jJKdq!zm3agO^t|%h9FFlgtw)B|YWT6@XW(L% zvBQ<}#}7CH4M%w$c>3LnSLRZaMDM$e>N0>ZKG>JO4-!OnsLSVR92T4jTr<_7z0?1= zja}em1AzzQ5xWC(j(yqJpV*+@fTMzf*h7`~<80V#ME#dS-wwb0mX(3y-d`mxwqgW* zA?)L`RIY~lV{t_VdHT=GVyX|pTRnH*qko$EFQBI1Kz`uXda0(g$7OUfmCNufE@FKy zv%}7EDBrr~>s{}*Q}Y~b@nI%8ymRS!>i4@2mX+<=7A=lMrGWa0N|-Y3*pO#rq_!>4 zYXeln3&;!f?)o_!^1Z;5LPTY{RdtG`ImC!b_+ zIibqIjT#MKt(+Q|`NJZH?>6KL$LABBR&rk9W?>}|Q6M>uDOqgZ2>Xc%8EjG~p z+E8YVLbU5cFs+e$wM;+ZQA5XfMATaql`O!lbw>~1*nOAFzC2x&eLC0sY;0)`o@9OO@w|I+n<9Pm zQxm1pG=i@_q-cD-7~w~}q5eu8kZKGA@%{-_hRU=8P1gf(4u!M;2ddMG`T6Sfx3Ofw zzw@Pz1YTz}W{I0end(Neg4|rpN$WMfSVp;H3Gja7OGPN!CbbZU#yM!&H~u_xX(65* z8F#OzGc}WPYwb&Y8AYlAa|m&T@*E$cEoQ|^7|#$vHKun1M|qT_ zh?izCbagd0iB`>4J@+PtTi9aKs@ItO+`g#Xvav%dig}y$Nn4z$4+dSw9qt%a{V6jQ z718xdKjexnPWhwQneFaC1_|~qj-K}@P}>oacCE&*2WgYlG*Gn>VRy{>!`Uh0%ae%J ze|-M=Yd2y?C4^GilpZmRt0=PHB-w?ZUknqkUVRkZrAY0*aF>rYUcS9iU$66^Y|_YD zcL;fTwbCCFHnuhnZzp2!!eE6+O=KTiaS)+33vV5rbK9hF?S?e$jNWt`KyTyO;~J#N zJ)T`JHT)T)AJ|Rgt3+Y#3oGVcRcGDU8fSv*q-c?J%NbJv%U+jHndcH}!1J?Cw|%c_ z$pE>Ia>}_@6xWWeXS1DB9pfRPH~#JKsM2=cI3K9+Ru0pY^p2^l5XG!oykfu*t0sx6nko};=DX{RAy*q{Oe87u zh7pMP=bfo*XWivP3oP28al_$U7u;`qN_x$vH*_BrWY*F4jjdU~*N;8NkQ)9sg$ zHZIE{L()6gtJU;nm7(0S07UZ#q#Nwpptii@?tnAj3T^eLL}q5}&A(;a3K5_g{RJLd zwV--eUWpjHqo!SQ@6_v)ED`}132@(4gS=n>i-$@f#v*QqLHlxWiB>&F`{lmRjNiP% zdmHoGq`^owMna%|2e1^-hRac_& z@Fx^X_(TT;FY8IM3=Q>_^0Bi~Y;FM3Il>9VzkW<_$_BdrjBQ(TmY7qs*&hFlj^`P^ zN~IPN8^33pCj&F4!Qs1L%3}~+78U`N_~5E^uY&*b2W}BN`!8W8ZF~* zTgEEq-3KB^qYsxT|jBvpgB1VV$2iGwmw0VZ)MqG z#FZCo-z;|9_dTuSVe z{L!s78+6r-8SzR=#*8WOxSwu_h$SpNAe{4-L{e;`YASyH?eV6m0J99s0Q|?@*ma;r zX_(g2UY2*nuiILBt@Fr_G_5Tt(=NK?q!9JILcQ)wO`gv8 zu^V*Pzm+gR7T_$?9vCx;-M+;hgp_Ep7Q;XHlz-ZLWnIOA$y%ArD9C0FZKN|(LW<)) z#r}<@7~eFqc4V76I8^Em&7|Wye3<0H4)lipFXUcPa@^e%@swfX9 z`%d+!K_Li`GrJ1F62^B)uom1~D@gR(Se~D~S5k0igTCVd$6}lqbO4uu7DoZUG~B{X zr~B)-Y8?WVAq?sEi+B0mPYAM^wy^{+B?bEV4YCL6faBN-kn=A^R$grR zWb^Xu^&aKA_cpzrt&N@GH}}S~hIcislZRWMQQyNh992b}0tGQ%@2!A5%2<=FX~yoW zc^u%YK1AK#hmdurWrcH%A}rimwJkLQB?>h~f7(_0(?8vR`}dj6 zufT=sorCNGcE>Gtwvb4`R-;m_`QZV2K;{#eaLw1qVIr@-1?FEMVb&|g2`Ehf35Wi~ z`3hehzwx2OTNtw0Q@8Q|X$bPazav*hz!v9Uwh2su%Fg>jvJjgS*choqy7NXjCtCV| zLmH?wc!gC^FS^4AnO6Xg3+z9@eu;0`>m7dr+-<-`2WF|!etKh%70#xEfm(7a0CqUM zi)y&k1dz-j|FuW4b)bEuoZL3UyYMps;@F9LA|N0|4&!)zQZ^?5U>$%#W@LXu{+reR z+vqX&R=fW_sT;*|)`b6Nl}G_buguQ>ua~+~WCzOfu|r&tw>YM2T?U&U%ry&k`L|m- zRCEYntu!!W8Wjq=+OTJ+LpmN-IDP)gMlu8L@cs^x|aAJB=Xpo`W3?@jq=@urJav6u@c-a-$JD z8cTY0*@A9~qd|TAql8aS;09xlp#Fega=5D2uyW%+`(gV+rYm6;ZlTBvOtA`98dJ#K z#jTv&tw=cFP#DXttcKM`s&Q;Tp^tWAC?*Ut56zMlTz?Ts6qkpU7|ncLds=q;xQt8D z!ViQ1F>^!A9z24Bu(c6)s42`dMzrcQgp^te`*d~x>oXR^hC+~eItcvO(zOa_{fW*j*^kJ_hRKl)Pxz1uSjE*#hPBHFlF~8xRL^`kA!!~YCW4+ z(JB=9{!`=S=aC+TYKs8ogW=tBbYCz1#w_g#nuPy#(vkEG1e|BOgJ}N7>rg$BW z$GN!?!1}B-fOfmV$21)NvU%UExj2)*vnyUa5-wa4dj>ZJgUJK~v);BQ5csnL0jB|RB#O0D(X{tK*`uW* z%~dgvLc#H97sgdte%gaq&?<0Dpb_K53YFcBqnHpykpykY%fmXx`O@+VQBeT;whHH zA^96XJs>I;9sa5vz+GnG(_5$7y939lO$(<{nDx=-FGML7cH;bx^6Mzc8RvjjhXgH@ zp=SK*{^OLfuM8Fc8)_`z_8T;8;A4VlEZkvj2p>ZCcrX+8P2{ZW$JZxcjat5EubiH8 zWK*AnGT&jVwXY*IezE|%^OKX-q>)U-A4-Byd-8}0C!ddRskV|CWEdX{+#NI{8}%sd z1g{cylrjeeIN>F3t+{lESspE@HELTJ(YAB1jWP4^bx3ycbR~tYLSdQ(rI-85PDMSi zE6D3chA&NANSoq~&LYM$`hlecV_~7RFRb|OrXsL{b^o3CiAIxqlb-5%7x?@vwp!sk zDC>bW6|z#G!~>Yp)V$%(Otv@+PVb_FW(v^sOTZ$Tas%lekNO4Xvpg%kJO6O(w{oWR zR?dPGl?jQ!t_={@3Ht*YHJ4B8%7i^o7u|yOBA&n31w}mq)_K#{>d$jot3|~=Fj>r} z#@yjF=Hr$;1?K4jHn(}cFMrFa_jErhUvRbLdsxZuWKod1$%{-MSo3Qpi&cnnF!rG- zu)b{6g0h?cq0Eo#D}>HJK5Tg6xXOmc+;akOaCPeTQbu=*0f#1x6>85a!8yq0Q5M$` zrrDthJ?=_P2#PZ0SqyT{cL8@4;=t%c)1^^s9)1jE-+iVv0!BwFKKJbpUY9S*@;lnH z37l?d$3vUlE7$zlAqg*jU_S{g$F2EX1ru3l90Wc7)hhYK6N2y^ADIv1 zo9E`2v*0^njR7uqdo)(1h-W^_{DN+BMIyy}FLj;!g7egRy1NJa$$XSn4{aLqFhfK= zs+z>I7J*}*iF%b^XsWJAaE~_oG+?v7_uQVBtG39f93(3dL9h z91gq9bAA1Ds-Hgp=KBBN;>2CWmil)ZhXH19-N_4;H|NaOI9YnI4s(LPYvR9;PY|dt zb=p3-0V%#*dNaZOKDn;mHdNBC_SMbl(SDR5Tfzy$!&JCj=sjK}{8VxglPbLgG9Fu~ z7iR$u-ir-kR<8eU z*T#4Rho-K3n{Tz?-K_RO>|-#BR13H)yp?$Rk27Acc-JAtEP?-@-k=~+pBtucqC>K= z7Wf@3a8|hCL{=~ry<`Crnl1%eD~60ABuESKZt0hJOZ?)R{HwR#x++SV4(PIE_jg%Y z04xuuA?W70h^v&G+p@OWH@HORYOaSDD6Zh^kUPzLiJwE044j~RF6xa5V_K@o?5Hm3 z*{ZSexgfNLAO zv;j~k=SjU|v(s!W)x3G@*ry*c-VT~+V)kp_{eO^QZEkBv@=>n7Au~YU!Dx2q@~MR( zC+l%k}ogVFfLS90AxUanl?B6MhB^+AxTY>L`!jy8uvp?bFQ`Vip2880v^@c&fc%{GN`jGHCF0{iMaR;AZmi5KP>Bfs5%QEatEVSVodUeNWAbX z#eFh1I@Ac0s%)+1xYe*tyvvZc(W4=U#}K zvTL+3H{g0!e6G{KcS1Od_cbL?@P&y!h7!U;^6^EuYr)7q+|*4%R^9P6+3#?~_RLpf z=jdD;MBxxrUV-=9pohlhL#n@B3*GLW1J_M=JVF{& z=nfS78T|;P0KEhMaNsC|bp4+7+AJfn+IId{;`c2+bV&; z8)hF)=LzL4pj-xjJlA-0K3H)z>m=$tj`A2Y#svfk#W3=50Nrl511#^QvywrR? z(3&6;E}~wjmf{fQGO}n|_jgI_*rL-3wZnkS`6SXP?#1w{S_jR~UX&iKnQf=6%tha& z-r3JU452cO9XBNbGuNPtd-hv!_F>g6glUefQbx$R+?e7m`Ll}PWCt$ zM4!x;y)-yZhcqXOTn}jMbkR6^gxgJ?J9KiFK8H4I3Do<4O8d^Jrn+`p6c7~!QBY7J zA|eU`0wP67LZpx z+*Lec44+eP|DqZOR0 zuujq@dH!DZ_j_1dXFdQrC{s4K41X%e3h!ttdMnqXrDwzt$M*4LSd_JBs@H}xvDDi` zo|rIhupNr`p)rxSTIcel6DLt7yFkMm`4ys+jZlXWIRIx+Cfkpu%akw^L+=24D};Eq zWCw(yKHGlN%wP0Cd5_04-6`>=XPn2yO}Hh-gvH-3OkPf@TX8@EZdk<3Pah zmVy6mwB0HM_TL7#{;#+G{}~J+J#4`b$=gqU$VK{b9_rHwB{WF@wA4c8# z_vk+}0`TivRKAAqVo~%V_DI3vE#2>cdDw;Xj+i~>+ADgJAJOxz?P*kd=C!}IJx`p| zy;OSb4E?1*nC`QE#9U-MC<4Y&4^oL``uLXW3ZIi`Ew#5Wr*ppV;TvJDh1k-YDR*h# z=xI(luC>9otLE!#*~{I_=%cYqr@+I;Z(&MHoez$(3R*mmQJ8nF2%|>A0oWj@0l^H7 zkX@)SE8H`>G^?+w%8-VpqE`rg?2LYByZUAuZd`Y^C_a3KacEdWtMFEFQZCQE0}fhC zA7r?pJI}0uoASBQ&e0<1uV(-=V(0Z7Pe7(evgT}LJHKEtfskls{#dldDBLZ2_BY34 zub$TU%m#G~|1#UNBkyU)_3zWJ@!dUnUVV(u{#oYT!0g>047d*xWGNuZtO1a%uzA%D0L&GS8CL zuaAhEKDSn0j$f4j)IlsW>|F52h45WPacm!Vqa9_X%fZz`v?>|U4*4jAa#4YLgmy*7 ztk0r+8qduk&Th=-t`&+$q=WKgCjkS(ZAE)tCp*d+y-;W7#;~d{cZ-WWMn{ec7JnF; zN*jEfNDSASY5ov-vg zJ^B})+s;uzQ`IZ?m=34jC0WL2S36#BLT|*>mvSh?)Fdyt8;M&7ndK^dbN*v-ZkF=L zv=e%p77^5;!gmY5Dz#qu*H*T;t^=^6;}@UZ=6$^hD?ycJ#-}`PDOSQGTlC5Fu#g&m zobI(0WfSD@pF^zTiiHx2-$L2;Imoskre7y^@q+p4G-)X(PH7e>u_I@;0`@yaFg?-s zZEw#0=FrF1XO9BRKEn}P0o;q;W%<~ zt$^}RRZI?((%{s7!wX&bYCtHoB4yc^F{cALc=osb=QJDVJ%{iC0cpNn%?pbsID z$wdJ~w2*)y1I>-T&cy~{g@@z_y~m%eh-VsIrh$hH4R6K-RgOjpL+}UhJMkUAk*#&%lVWFSooQb!j*3fN9*6^6 zsZk;wJj&!iITaCZ4WZ*E+pg>NI|Ek1+tXk0m(m^uqbZ$0m<)gh(byr(4*xhWO}pX@ z+<$bq;)WO2W&Gk>{&6`euq`fwZMyVj-E9j=b7vKUFTin@ZBqg@(}8HKzb}`5c>WYG zPKXu}nV;&*`3PuJAvmF+)Sq+O6Vwl6b<(@BNu$#3fXK)NYQK1wTx;pbR^0iCV<qP@3&CY*0mi$6XT8|?jcRnihgw$)Ve#ro9Us@=IiH&=pr)yw2>MVvdh_Zi?zMy}Dp zE9dF`7kaPCbi(9v*Dp}+B7%T=(~*1FDPVt03TY(*{RQegF-4~tT6L!+e12l8z4#q$ zj^IB9p{RT2Kyk8768Qvm6>@5|d8=zIlkw+T)W5C;krNGAo4}ygKtiXon+K_mUV5ny znLVkycmFp>R32nebC-QG8q&ZHU*+y9J*%t}M|kfA^?ya2}j$L%4rS8@M&cw)d8Mr8mGjp5*}Dz;dk(m7q> z3^))HMErW12Ko1%3gL47?yebu1un0D_PpDcy5rPkL_)dq3zmvZ4iyKqhaf1sG$I+* za^Fh#=l$WzYT@`3mSFfJxX(GMN&CQUOfM)NQk4sI2DnOQev)t*_ZGkV*(z*Lh6%PM z;;1x?2P*++E=ZXcg}5*(C@F1FI=UWorqBDv*K?T40v^uSih5$54^_`^YzyrKI*0A~ zi(E5v8H`z(qz#!5X;a;NR!hdF)Lnh*VEYq$2HHb#P51=poX%U~FA&gz(`fgRXmDcS zq?)IkT1eZw-yC&FOZGRc9fE#&=?&Ha%l#~P=BOB$r7&Mnb_e2f zc}gMOaUPEh;GDy+Qy6FI($pqMDfF#w^cONdSvk-waAu4aDKFADc;9NXYgc$qSamj^ z-4Ch2w%X{@dZ5vO40daNfb(p%KnF$dNTvJbkvZ>Z^IrEs=loow*~ZqJ?f9a|fROW| z>H_-R1cC|5ab!NZf6_LmIY-WaWBL;SsI3EO4p%LGg)&DA8wRVfCx$9}#`Uv1S}w?G z#m!oWCO8SK^MbVZ>UJ@!ym~`7SYjQrw+y1RJUIww`CcKc2j6z`d|P@QUpa%VK$7Ii zIGQcp{Urr7t369-K8Tc4Jpbv4pV3X3_hEB%w>j!DK=67BD&}BvLhQ0 zsZ43z9OEZyZ?<92Pe|W*2F4wkOpzQ^>Xw+}Zk{*aLXuC4>e5h@4WRnMEy2Q2J&B^S zf3JAyQA4wTVC?Cq8J7$bE;%noEvrp6K$k|TubH<5=jA z8o25egX5yldi1(NqkeN-f>AY5PPslYRabB12FsxqnMg%?5yfGaha^HdyVjX`9psd` z{w<>Sx!u#!&&Wt^EveLR{LtiBP4MB12Ek5kZs~B%(EXu`3<2LB#HFgebDNC{nE`WB z!Yek04POJ5_oqygJKhK-)ye%}et`6|OTqVVwZrAVTaN$q7b-tqHRWw?SGn@qlJ^i# zPEfa0e{IIQo!G&Q`AXM6p@-=c>-D~WmDde=1Ox43c@*@8k*Vk@ERf9D9T)Z3Iea4i zu;+p#TxMLWaX~N$zX|yKmfyF+ogB9k0~V-l5yKFa@bG-Iku7w~x%}_oUmrXB;Lg7X z_JO7(?<`z4dni+4NT2w4{TI`nC^d=|_YiMem)REp!p0{0J=f_9J~W0jUd^`UXZeJ2 z?_ip&81^Y#4npi0FF7fKBmG$e5!7t84T%rdaJ%@M_u-ae2FCN12S~?Ks)U=?Oq{ANY}g*&w2?{} z;cXs&&A9u+FGFtWL9&ej^j(i&+qtL%1gyuwzbAEuaH7HZ!6`8cqGcLTLKudX0|fVL zEpvJ=xFaypLZ90*eZ#w7NmMPGLO<24s$x_VhU1f#YC9voR@JB%ze3e}?hH7yob9Nm zfOhcs%B}CC_j4KDmdg2VIw)V4af00q7hxgcTo&}BKNl%)KESLM?DYa2KWQD?P(3Noj0xM+P@p^}0+x%1 zHs|C?ykA8T+QVaq!o3?+-$tf5FIb2C?cu61>I71ctC_7v%w$8Vp5Fv3{sa>A&B&l0 zm;KzB`nk};Ylpn;tMY^fIeB#}nZw;)b0RoRnV@Z%*}dzD8G9)jIYamMWfO%)iW*3M zj%ub0HhpP;0%~OQbUdu`JgQ6*7nx!+Sj^Y#@0cK8=Sd5HyJf;!=$t0OZm@^2stkwzvL#`@J+tG zj+;uD(Va-)ME-hgjvtY{<27=bd}{t-n7a!6DapwlQ;c&1w@e0iF5ufxV>ntCD|zQT zp?&;VtxX}9!$XTNsNNsv_wM)W@V=%mRoaqyNGY>9@9ugT<((z>65T2I(suwjW{S`X zs%8r6wt}$5+MJ5;(CyK<;Ub9b#oXcoCd(RVWI3n z@Wom(BD!Lva#S`!CH-2;M`WM&d!Nz)Bhyf~DRjGHu2Wo&JN|~BrORaP+PIm9HQXSg zeZ@@LwvNSM?LvfafX3&Dw5&D0Qg-y!brtNEKFwWb7XNxD`{a{Vj&On-|Dw$BANvO` zts$m%mTm#NUrf!)25dO>C{2@5Rl<`N`zk=ZU>eoQy!4Rljok)b6-kBL_Ir=-lp;w`IIw{vTA(W4l$axbQ-WjMQMA=!M>DVdY6Wf zY#z`^CO7ohQbC+&<29C!dQt6*t#3>>#kKbR3fJ3@E z%kb%ENDG46p!5=4l*(8BwqNQb48M^%6>N(8Sx0a zDFaD_t%jNxGehW}#2M`!_UtV#gr_#RauzJkD&2N5PH9OFTfo*kUfov@b^E2E08E_$ zD_@yatv(%<(ps{6{CH6(hNZy?C}LsCnY_ShC@bv-$*j|eJ~u0g_q)3L(Ov-Rx%iwr z?GSHV{c&tkz?0%DJ$VIyr0&&f`WRel;I9zX7OknAh1EgW3+y8N6dgrNqraYG*@Y;4 zwdoS-t(PrpIj4G{k=?|@sp+;N{~AJm02!aAMJ8495_HJ!=o9dXP0!%^kTKRk(qTp& z0_eV5mM0#nWbiYu0HNbh3!sj7BQeFC9#VxGzpiBCbe#M&a`EGJH7-L2dsw~gz1`^S@R0ZK@`q7pf2dk6UuW5gD>Fhan$3kPwA4w!^$h2eH0=`eLCVqcj zon}t>WN}N%FW>CtAOXE`-NNR)<`=yyMgC@tDGWsk;ygVDIC3;IM40zW$J=hx(+hqd5m!lK~?3mbchEihAqd6g)3SC@v)Nomsl;=O6GKRY*gd0 z*Ixp{Osp*8-I8W4s0VQdFq7qGfDtWCtaz}pD?fL`+zOTM{E)hFDYz`#cGB*mvkS9q z6?=<0*&wq#E#k&cah_2L!@6U`n%3YN^k*K)v%?6q($_EQV{&tHzt~TNqF4lHQKa(x ztQVi3kgL(7#EN$d19hs(MMuk5-Me|8sRQa2cVq@_xeW&H^^A#ua!pSfgeeq z&7Cdo#hyQoRQHthK22>ozl2ZS=cJ|3tsEGk@Sa*k8#X-XRS8A21Q13kw7+|bH)@dR zf8YM@cYDXZNRc0yYKXJD=d5`Y`-CfiI-c3yTyF>|jP^N@pax%mm;X}d=8IQinxSrO zm`}qwlJC%R7FhpmkDX8}o9t@yplQcJIUlIm3rJ}-Nd*Wz#ye;H(e-~;TRLAJ3J^EtCTR+=XfqgEPC=%w~vjVsk}I4V!h ztlY^Z9brJ3BCNkdL?mgA1FcH@6Jr+;A2%MtT?Qz-&5PLN>2U*E7Cnz)9?;2f?g&Q5 zNU)>7hKtEIn;vHjoA6`*@(A)RZWQUF2q{3%yzxjs<^K|I8|$`$XA8Fq#J)TA-GCNJ zr-83ojWJcp+_^O8*W08X=iCAhh7l=#zPr2ZYnMrNuTc=6Oy3PCAHw;Aw{J*Ko|xUkgMhB7#vgQJkPw_ z);Lyc0;?MV$PKTa5`JZ>7WD)_IEv-|s#bJ`M0IfmQ&&9O5;^8q^Nd|zCreZvU|GzkXk7R%gSUjo|d_LmuIK(fxR zReKU_;=Jd+^5A+fP!;+wSC!Ddbp(4EK1{{=`7RzihNA8d%X2tD-y_GxpqK!CQLT0o zI`E9^u49K!y7NN6x;L4L}#X~qE4m~|N5iy|BI zzd?XTA;$vBpT^AsY?$)RkB*y=H7@=1{P1Q#n|QTRk@W#A0<30`*$mz0)JIj-vwqbl zA2|6-{UCZb(24~!KlUM{_HnN(H8t;zyQ*C8cu~r^ko245wX;;F8_9EQh<#L-Qa+Qu z^2KcsB;YF3Tr0F~g~k>(ImNlBb^l(G zahI(_SGd%_?RzOE#QM-E6d*O*36!E;_zw~a;g>0vx2w&y=0nl~9tiv$zi>z(il`He zk2O#&xRawdOJsER?pSqO+K}92Di?zk65Mp){OpNjFo=$%bO2-_?%DMLuwaxn+L7dt zclW$!Q!`_2LWOAJ=NXe4`Q~535mB%z!=yUHJbL@~w<7z=iuY~-*HBz}Am618{?4M{ zY7&gW74mWjGLyOA*_?6c@tnMf+o>k}OD(%H#X`%N2dJwb?APDCZ#_oZQJ!SJpgR}3 zu;u9z3<;MY;}o45n(-Xx& z?LzC~;5{C$z^7XyTAh>q{tSEvmapETFqbK?1fvhlUDaS2z-p@WE;ZTAPCvOWKOrn^ z%@_7IsnGDKaiY2M+?lUM!yc|Af}s(@&87QgExUq=8$iBARKZA4A|wvMS1&>toF*lM zPWI=}{^Bk<9c~z%KHn-Lzj(4ie{KqE!B(V?LL&fWYGs&6=TXDUneWT49#ynS^t-UX zZ@wrMsbN8ZHp41;T9I$gc+0XQ^K^r{q&7^(*DI+=dr|{(Hv*ir4e*_+J7i{XW4hK@ z#lWX#l^k;#q4_6*L6&>JzM1ZUhBoHAc^DcB%r^w2n1-|PJtun=YZ z4))~oO4jQB!*ds=&rb&~axOkW+nQYu6#awv?H~zQS{RVdg@sPBf2tRTKcL)9^Lmdv z@#IoV&o|a5uv4t_eq#U(pSpsuV_-Px5LzLHCtO1WlIB#@dg!*fwQ%9Q&u$s?(!O~_ zGcoR#B`X80$P_l^T2XT86|7QNoD5|B*k0h~iQK}b?Nxem|bj%(+p_ziCBYvBd#}P9zen2JZtML%3kx zPKi+KVMI0MO9l#x_w*-hc%NR@yD7DwE!&OK>I>ZjAjWgUUF$De;2qozAjMs zY%H&x-;#Uu#fNwA=UZk4fEb?bwmfdX9^rep>IeLMYlAbkxS`269D3b{-if(wOuxmJea*>c z4^&TAfLiH|T|}%{`w9H>8YhTDa#-PK%Mz#&oO$H3&Ej!fBbHnq9c_J$meOyl4pK?1WJ8QG|o z`uvaiHPJo%uVTIG6B?OulTrf~YpZ=3ZaO5C2^@zi$G3R?+9jq1$TxXh^Su(Q$~OpZ z*{Y9YS5EfZ-knC~z=HrTHyKFZ_~@p^^{2>3baL`^-)53eort|90@wQ@J;oi$^Ui!; zw-YxG5TcPJ1%xCfMsDodB@Ne@i^80)zd5X<-fX?b>Qfq|nl9vb6;+Y3{t`@J*L4BJ z{L4JJf$Cb7EVXNOXOQiQ`9UeyV8@I2n568nrWc>CsZYlP-NEsmrvp;=Fc=R$r$#4J z9!?jrhb`|o&b;2V$wU$vnioMAyS!2Lfn7{$%&J}4;VflgQV?Ic5S!^&e3!#2{Dp}KRaboFn zkvNAY1h;1JPwX&pgcjAm%YNG1C;7aCA_$cC#2UsA)c%+^`Ah*BLSBgD;QI9pNu2O{XTUR+|PJ}Xr2sF13 zHa}g)ZM(b-y9wdY!Yrk(aKZq&O3z|WS8Yeh&EcesM%>gXl}(Cn~0r9?5r^!vaL*y zZT?|0RfOdH=8*W!fzkcfsTE{;{~ymYH{EX77G!@r(15KAgbJ@{5ikFgVJ*RrfCv?c z2GReV=26R-FFGXt{~k_o-|~59Y9V`I#fB#l^5fh1c?u9Zck4MSy|*r|Cd$fN+Ei0K zJbI4^uPkc^gwg`Zz7v7a4C-B8^# zeZ1h#eCde)2|5Dgf8#PUeuGx7`>ocNQj_HhcQkz%9dSsrK9?@L59wx_>^RSm2$`C; z*p;C@`^J~oiTS4J?j4&<>`Rl-OjxI~U5;PhVg+IzH;jk?k)I%r8gh9t?FX=B>0~Er z>hm48@aKKF-~N#q&^UqSNzYk$20lNERyyIo5%JJmjfeZE9|wMGC6wHwe+_2jSyoDu zXZCqpB3t?_toozJ=aCyId4TqW3Gbx)=+zAwfm1Pch_-#El(3yNs~~6@VO2zynCXo6 zWx-`HULmkgdLM558>m6mGa&noykQDM@64m0!N^9~*9q({cZQh7SQJybs8RW(KH)e`B=1RPkkpPIPS?pk*lkucE#v}S8?c=k_X`c5O zmpJj** zhBnVPu(A*db5l#)mh*}Rti%Qhgj}wmBOxwywIE*`B^|4z;q{v$?6D=QJq0$+f>*aR zR;4>vt+@~r3n3eV4l;G=s6wXJ&z;BFR`hg2RrxcC1XyM0d!Y+^y*=f2*34JV8jDzU z;H?k)&K}@!V8}RQ(+>Q3hURBjvI%k=X3}Fhou)WhUjqW|9jdiUSlnG)G%)a}G;ge$ zw!tj?(k!$DN|cc79{#ts!b5CPsaEmlx%ail9TWvnD1`L}V`8U}#HmNOBfGUI1n5F* zkkCQW%jZ$aAI|;yKA-GaKZaQ_Zv$01lkU!vTjtu022e!CHQtqp3)>j+(aZD?bIJ0v zDhcb=W>cl?Sfu_HFR_aVQA3d9^xpZMa_NVoFAPR7Yh*|+P_2YiSFe|nJ$?~z1rmy( zzmktoGH(?=hr}xH5h)IA-Xp~mI-}SlH)Q{=Ho#~asUx^boQKWlJwB0pj3bX<>lh1; z5OZGDEAD~PLqCtJrru|+KpK)^L#mkk9;P}P6y)vxn$$<1~`K&j^_ zGIK!Nr##a91)>F3(3tB%XEnvE-rQziGSM^vwbT@Wh`l)nS2ylCWJ`Sjeqv5k5bfLZ z)5-+lCeeJRKbJqIq1kKatg&%bMsgH=y)~|2cra$cX4m%$O+x>!jZ zYFd`bMnXHEk8GE5637^T!C}*^!jQKQ9^^`0y;Xit=KRs0@jv-)7bRA5I3E3|Rh?su zs!$yL<$Hd3R(vI9a4T|8@ZW1##@l}9KU~d9^n&~zh!v#q?}hI+>kF`miRq6b|Fr@x zZ>2Di>;|AN@;|MQ%YYOuuneBH{kR{u?eBdo1=5`{AO3?4V+HL$o-uDt%kVKZ$V&+e zV1D!mkKm#U^P0O-A6ai1>#jJjE0CWAd}upu`KVa(?}SFiJs{gTt$vhUaDyOxV@-9v zDCL<>4d)(yNd=G*HV%;?V(1U#ksr$r&>rbb*k$XoCDta)S8fXnV~B_|s>rqP$g=Qy zyIdS*4>W3fb{@(5npSR!gQY-$jcAz7mPrPjv$mmU=|O9)aPc?RmNr-T-n{Ql$K2uP z;@cS>uzXZ-MbC(@PvB9y^BEDDuZYvID#UujEbKMnq-O{uP#^*4b#oUaz1c0H(k&X* z{QQL*wPmY`a9>9i06T`+qo{I~NZ@~yKeBB3%*V*buYH_-!U&4X{Wl{YzU1oc4FCjP z5gmv(;LCLHSpxP*K=JVS>gjBrJ9k5YRsDmvJx(N09SKa+- z!tdJdnJ6UI@j0Y-F}sxOX}(@A=AlgCuS$_9zqQ*w>90#wJGb)(U0vo=ZiiBAzJzPc zqHnHEeK4P>8A%w+e4(L`lXt<&Z>_74f#h^C_iPNde$O64#04S7v{tV$r1#A{`3*OP zcF%Q!EZkLg%X>-nXR<89N-SqUG~|x5Kjb(-nnDRR;&=Mpu)uI*n(21djjKgjVNX_Z zfslsuFjs=2z@4S>oU_4LTg1`T#%@h%?P}ZE3jGegg5dPpl~<;TB_e&kS<~a$0-VG4 zpETB+3n_acM9@;?6xxHdH*=pD?ljwWIBiF6~3nr1%m&~8Yxz%{j>R% zJ@{}Sd?fhKw1|%B_R!Ehv;xBExY*k^i6Pi$8rWwIr7piJxc~2|YNjTUfIDGZRFqE+ zLTzbZy^-|GX6i>ubECj_%H^*m9pAO^Tj04t>`R2b=NR%4g|G5i0e=#oo@>A@uS<}Z z@W2k4B_v>q>NTv~U`BwJR4U@cZ<(tupU*UK$U#71-0V}Xh@@P*0KXc99$ufWUG#d_E42pM}<{Pdzcv0Gf72oW{)@);jkz<{-zebcB?u@rWs}!Mf{>8VKg)z`WuwUkM32u-{9*EJ)lL0M(;hw+3(~s)=Lk9Qvysom;Jl02{%wseHBnxN zxL);}s+eq!PQe55S1@xEJ&HxKMbbM9flB+42T}%G22ETFE(scIdx=K=9{uMn`}3yB zq)^P?Xh7yPPkZvyGlrIg_28qR%MYaJIB5GxIoNsQ`N3qv~(2ZRk zyMea|FYUX2g*LF;gOzJ4B_lI>vmZ7ODhy2*!RJ~UH5LP|s^0E%QzI%}OY{WP!TyEWY%kgpDkTAQl51KV~hi{<+oCLhDe;@>Zc)u9f z0iOD>wDCEc(U-yEnWWxc2GAf7qWP@-_w*_HSv^t&|cApZIxmfP-mbf-q-$&|_u zUx7uxf-!>oL4_PHPvzUr%9oegzXj?YtNauc6V-m5eU{ZiF=w9ioa@i1Syq2ZxV^b} z7nHmE6_f4@AQ)6j5UkN%5k> zXlsZhTyIgl`nyMV1)J`7Y4Y@(oZ>Z-k~6Ck$Rn@HL<}RI;!gjPW5gPMMpOX-mNUj9 z)A=o`*-V~21zQXhx-J|QVluu5*#h5bHIBe!Z8jcXt#WI0@#0|sP)AI$UOnFcxa-so zkcQ%|pXtDOzxPQ>)@nrZS}5>e+vwvkJza7$l#D2gKQP#{ANHEp9y zim>_rd^AD0KH9Ksc|gZ#F5`k2q2NPkUnB$x059gJX4Es^v$3qCyM3;5IfciKI$Pe% zh3lc7F~%XU^d}uy2!?bSwtN+}=d}NugJ#OFik?6`%=<;>LEYUm#(iNHYzrZrKN3Ei z0rJu@(>JX2Imi|cn40x`MAf$)2X=qKFDA8FGta-21Vfumm)rj!+`G+&u##S;dafsW zq+GlX0btj%yf#&rO^GK?LOEp+>4Og@PYh>`FVq}%qp29NVmv%bdW1m$muPmaVF>Y8 zsK+uV7m!gjrR;ZED+hFP^2cN`2Jn36It+;6j8F8S)TdvhCZbSnW|i1Cm22oIBIF}x zDpZDj1W)0!NVHrDGlgsqDliu?pX-%?>hCn=^cjW~^u$u$R1q@=!+&NLZVIs6L0Bdd z#^0ot1dB*)oZIUhY!nDcdGuWH0vyCN4Xy@KmZ!(fpVSC^d>6OU1bpM?=G$oi>0Qd` zZMGq;fOYQzXbaaRg|A7(kFW(;DPX|>o3}qpPffgoQ$u3c2!W!zDK9uVw_l;x_GqK=98-~Ie}-lE=BY$yaBMlc@v^S^rmf| zvDf~$Ig`Ch8zzOs7Tkyc|vHt@G+Iz(S literal 0 HcmV?d00001 diff --git a/public/icons/luspa.icon/Assets/luspalogo.png b/public/icons/luspa.icon/Assets/luspalogo.png deleted file mode 100644 index 1000e28aba9b9401454778a4d5e8ebac341fcf06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222232 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%0Dua1bdkIH0EJO6b= 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%0DUyMDy%(WoDhd!8P~d$VkhG$| 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
    T>dDz0 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
    +
    ${this.escapeHtml(title)}
    -
    +
    ${rows}
    @@ -822,6 +1188,107 @@ export class MapView { * @param {Feature} circleFeature - The measurement circle feature (Circle geometry) * @param {Array} coordinate - Map coordinate for popup placement [x, y] */ + /** + * Collect intersection results (parcels, zones, other) into a + * structured { label, value } array for both HTML and PDF rendering. + */ + _collectIntersectionRows(parcelFeatures, zoneFeatures, otherByLayer) { + const dataRows = []; + + if (parcelFeatures.length > 0) { + dataRows.push({ label: 'Parcels', value: String(parcelFeatures.length), color: '#0ea5e9' }); + } + + if (zoneFeatures.length > 0) { + const names = zoneFeatures.map(f => + f.get('colzonename') || f.get('zone_name') || f.get('name') || 'unnamed' + ); + dataRows.push({ label: 'Zones', value: String(zoneFeatures.length), color: '#7c3aed' }); + dataRows.push({ label: 'Zone Names', value: names.map(n => this.escapeHtml(n)).join(', '), color: '#7c3aed' }); + } + + for (const [title, features] of Object.entries(otherByLayer)) { + dataRows.push({ label: this.escapeHtml(title), value: `${features.length} feature(s)` }); + } + + if (dataRows.length === 0) { + dataRows.push({ label: '', value: 'No intersecting features found', empty: true }); + } + + return dataRows; + } + + /** + * Build the full popup HTML for an analysis popup (circle or area). + * + * @param {string} emoji - Header emoji + * @param {string} title - e.g. "Circle Analysis" + * @param {Array<{label:string, value:string, color?:string, empty?:boolean}>} dataRows + * @returns {string} HTML + */ + _buildAnalysisPopupHtml(emoji, title, dataRows) { + let tableRows = ''; + for (const row of dataRows) { + if (row.empty) { + tableRows += ` + + ${row.value} + `; + continue; + } + const labelColor = row.color || 'var(--muted-foreground, #7a7a7a)'; + const border = row._first ? '' : 'border-top:1px solid var(--border, #1e1a4b1f);'; + tableRows += ` + + ${row.label} + ${row.value} + `; + } + + return ` +
    + ${emoji} ${title} + +
    +
    + + ${tableRows} +
    +
    +
    + +
    `; + } + + /** + * Show the analysis popup, attach close + PDF export handlers. + */ + _showAnalysisPopup(emoji, title, dataRows, coordinate) { + this.infoPopupElement.innerHTML = this._buildAnalysisPopupHtml(emoji, title, dataRows); + this.infoPopup.setPosition(coordinate); + + this.infoPopupElement.querySelector('#info-popup-close').addEventListener('click', () => { + this.hideInfoPopup(); + }); + + // PDF export — dynamic import so jspdf is only loaded on demand + this.infoPopupElement.querySelector('#info-popup-export-pdf')?.addEventListener('click', () => { + // Strip HTML from values and remove the color/empty keys for the PDF + const pdfRows = dataRows + .filter(r => !r.empty) + .map(r => ({ label: r.label, value: r.value.replace(/<[^>]*>/g, '') })); + + import('../pdf-export.js').then(({ exportAnalysisPDF }) => { + exportAnalysisPDF({ title, rows: pdfRows }); + }).catch(err => { + console.error('[MapView] PDF export failed:', err); + }); + }); + } + showCircleIntersectionPopup(circleFeature, coordinate) { const circleGeom = circleFeature.getGeometry(); if (!circleGeom || typeof circleGeom.getCenter !== 'function') return; @@ -835,16 +1302,11 @@ export class MapView { // Collect intersecting features grouped by layer type const parcelFeatures = []; const zoneFeatures = []; - const otherByLayer = {}; // title → count + const otherByLayer = {}; - /** - * Check whether a feature's geometry intersects the circle polygon. - * Uses a fast extent pre-check, then a full geometry test. - */ const intersectsCircle = (feature) => { const geom = feature.getGeometry(); if (!geom) return false; - // Fast pre-check: bounding-box overlap const fExtent = geom.getExtent(); if ( fExtent[2] < circleExtent[0] || @@ -854,13 +1316,9 @@ export class MapView { ) { return false; } - // Full geometry test return circlePoly.intersectsExtent(fExtent) && this._geometriesIntersect(circlePoly, geom); }; - /** - * Walk a LayerGroup recursively and test every VectorLayer's features. - */ const scanGroup = (group, groupTitle) => { group.getLayers().forEach((layer) => { if (layer instanceof LayerGroup) { @@ -870,10 +1328,8 @@ export class MapView { const source = layer.getSource(); if (!source) return; - // Use getFeaturesInExtent for speed, then refine const candidates = source.getFeaturesInExtent(circleExtent); for (const f of candidates) { - // Skip the circle feature itself and its radius line const fType = f.get('_layerType'); if (fType === 'measure_circle' || fType === 'measure_circle_radius') continue; @@ -892,93 +1348,103 @@ export class MapView { }); }; - // Scan the overlays group scanGroup(this.overlayGroup, 'Overlays'); - // ---- Build popup HTML ---- - const radiusFormatted = radius >= 1000 - ? `${(radius / 1000).toFixed(2)} km` - : `${Math.round(radius)} m`; + // Build structured data rows + const radiusFormatted = formatLength(radius); const areaSqm = Math.PI * radius * radius; - const areaFormatted = areaSqm > 1_000_000 - ? `${(areaSqm / 1_000_000).toFixed(2)} km²` - : `${areaSqm.toLocaleString('en', { maximumFractionDigits: 0 })} m²`; + const areaFormatted = formatArea(areaSqm); - let rows = ` - - radius - ${radiusFormatted} - - - area - ${areaFormatted} - - `; + const dataRows = [ + { label: 'Radius', value: radiusFormatted, _first: true }, + { label: 'Area', value: areaFormatted }, + ...this._collectIntersectionRows(parcelFeatures, zoneFeatures, otherByLayer), + ]; - // Parcels summary - if (parcelFeatures.length > 0) { - rows += ` - - parcels - ${parcelFeatures.length} - - `; - } + this._showAnalysisPopup('⭕', 'Circle Analysis', dataRows, coordinate); + } - // Zones summary - if (zoneFeatures.length > 0) { - const zoneNames = zoneFeatures.map(f => { - return f.get('colzonename') || f.get('zone_name') || f.get('name') || 'unnamed'; + /** + * Show an intersection-analysis popup for a measured area polygon. + * Same logic as showCircleIntersectionPopup but works with an + * arbitrary Polygon geometry instead of a circle. + * + * @param {Feature} polygonFeature - The measure_area feature + * @param {number[]} coordinate - Map coordinate for the popup anchor + */ + showAreaIntersectionPopup(polygonFeature, coordinate) { + const polyGeom = polygonFeature.getGeometry(); + if (!polyGeom) return; + + const polyExtent = polyGeom.getExtent(); + + // Compute area via ol/sphere for geodesic accuracy + const areaSqm = getArea(polyGeom, { projection: 'EPSG:3857' }); + const areaFormatted = formatArea(areaSqm); + + // Compute perimeter + const perimeterM = getLength(polyGeom, { projection: 'EPSG:3857' }); + const perimeterFormatted = formatLength(perimeterM); + + // Collect intersecting features grouped by layer type + const parcelFeatures = []; + const zoneFeatures = []; + const otherByLayer = {}; + + const intersectsPoly = (feature) => { + const geom = feature.getGeometry(); + if (!geom) return false; + const fExtent = geom.getExtent(); + if ( + fExtent[2] < polyExtent[0] || + fExtent[0] > polyExtent[2] || + fExtent[3] < polyExtent[1] || + fExtent[1] > polyExtent[3] + ) { + return false; + } + return polyGeom.intersectsExtent(fExtent) && this._geometriesIntersect(polyGeom, geom); + }; + + const scanGroup = (group, groupTitle) => { + group.getLayers().forEach((layer) => { + if (layer instanceof LayerGroup) { + scanGroup(layer, layer.get('title') || groupTitle); + } else if (layer instanceof VectorLayer && layer.getVisible()) { + const layerTitle = layer.get('title') || groupTitle || 'Unknown'; + const source = layer.getSource(); + if (!source) return; + + const candidates = source.getFeaturesInExtent(polyExtent); + for (const f of candidates) { + const fType = f.get('_layerType'); + if (fType === 'measure_area' || fType === 'measure_circle' || fType === 'measure_circle_radius') continue; + + if (!intersectsPoly(f)) continue; + + if (fType === 'parcel') { + parcelFeatures.push(f); + } else if (fType === 'collector_zone') { + zoneFeatures.push(f); + } else { + if (!otherByLayer[layerTitle]) otherByLayer[layerTitle] = []; + otherByLayer[layerTitle].push(f); + } + } + } }); - rows += ` - - zones - ${zoneFeatures.length} - - - zone names - ${zoneNames.map(n => this.escapeHtml(n)).join(', ')} - - `; - } + }; - // Other layers - for (const [title, features] of Object.entries(otherByLayer)) { - rows += ` - - ${this.escapeHtml(title)} - ${features.length} feature(s) - - `; - } + scanGroup(this.overlayGroup, 'Overlays'); - // Nothing found - if (parcelFeatures.length === 0 && zoneFeatures.length === 0 && Object.keys(otherByLayer).length === 0) { - rows += ` - - No intersecting features found - - `; - } + // Build structured data rows + const dataRows = [ + { label: 'Area', value: areaFormatted, _first: true }, + { label: 'Perimeter', value: perimeterFormatted }, + ...this._collectIntersectionRows(parcelFeatures, zoneFeatures, otherByLayer), + ]; - const html = ` -
    - ⭕ Circle Analysis - -
    -
    - - ${rows} -
    -
    - `; - - this.infoPopupElement.innerHTML = html; - this.infoPopup.setPosition(coordinate); - - this.infoPopupElement.querySelector('#info-popup-close').addEventListener('click', () => { - this.hideInfoPopup(); - }); + this._showAnalysisPopup('📐', 'Area Analysis', dataRows, coordinate); } /** @@ -1040,7 +1506,8 @@ export class MapView { this.parcelEditElement.className = 'map-parcel-edit-popup'; this.parcelEditElement.style.cssText = ` position: absolute; - background: white; + background: var(--card, #fff); + color: var(--card-foreground, #1e1a4b); border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,0.3); font-family: var(--font-body, 'Exo', sans-serif); @@ -1097,7 +1564,7 @@ export class MapView {
    `; @@ -1179,6 +1646,264 @@ export class MapView { this._parcelEditCallbacks.push(callback); } + // ============================================================================ + // Merge Identifier (UPN) Chooser Popup + // ============================================================================ + + /** + * Create the merge identifier popup overlay. + * Shown after two parcels are merged so the user can choose which UPN to keep. + */ + createMergePopup() { + this.mergePopupElement = document.createElement('div'); + this.mergePopupElement.className = 'map-merge-popup'; + this.mergePopupElement.style.cssText = ` + position: absolute; + background: var(--card, #fff); + color: var(--card-foreground, #1e1a4b); + border-radius: 10px; + box-shadow: 0 4px 20px rgba(0,0,0,0.3); + font-family: var(--font-body, 'Exo', sans-serif); + font-size: 13px; + min-width: 280px; + max-width: 360px; + z-index: 1002; + border: 2px solid #10b981; + overflow: hidden; + display: flex; + flex-direction: column; + `; + + this.mergePopup = new Overlay({ + element: this.mergePopupElement, + positioning: 'bottom-center', + offset: [0, -10], + stopEvent: true, + autoPan: true, + autoPanAnimation: { duration: 250 }, + }); + + this.map.addOverlay(this.mergePopup); + } + + /** + * Show the merge identifier popup so the user can pick which parcel's + * attributes (including UPN) the merged polygon should inherit. + * + * @param {Feature} mergedFeature The newly created merged feature + * @param {Object} propsA Properties from original parcel A + * @param {Object} propsB Properties from original parcel B + * @param {Array} coordinate Map coordinate [x, y] for popup placement + */ + showMergeIdentifierPopup(mergedFeature, propsA, propsB, coordinate) { + // Extract identifiers — try common parcel ID field names + const idFields = ['UPN', 'upn', 'id', 'parcelid', 'parcel_id', 'PARCELID', 'PARCEL_ID', 'ID']; + const getLabel = (props) => { + for (const field of idFields) { + if (props[field] !== undefined && props[field] !== null && String(props[field]).trim()) { + return { field, value: String(props[field]) }; + } + } + return { field: 'id', value: 'Unknown' }; + }; + + const labelA = getLabel(propsA); + const labelB = getLabel(propsB); + + const html = ` +
    + 🔗 Merged Parcel — Choose Identifier + +
    +
    +

    + Select which parcel's attributes the merged polygon should keep: +

    + + +
    + + +
    +
    + `; + + this.mergePopupElement.innerHTML = html; + this.mergePopup.setPosition(coordinate); + + // Close / Cancel — keep parcel A properties (the default from clone) + const close = () => { + this.mergePopup.setPosition(undefined); + }; + this.mergePopupElement.querySelector('.merge-popup-close').addEventListener('click', close); + this.mergePopupElement.querySelector('.merge-popup-cancel').addEventListener('click', close); + + // Confirm — apply chosen parcel's properties + this.mergePopupElement.querySelector('.merge-popup-confirm').addEventListener('click', () => { + const choice = this.mergePopupElement.querySelector('input[name="merge-choice"]:checked').value; + const chosenProps = choice === 'A' ? propsA : propsB; + + // Copy all properties (except geometry) onto the merged feature + const skipKeys = ['geometry']; + for (const [key, value] of Object.entries(chosenProps)) { + if (skipKeys.includes(key)) continue; + mergedFeature.set(key, value); + } + // Ensure _layerType is preserved + mergedFeature.set('_layerType', 'parcel'); + + // Notify parcel edit callbacks + for (const cb of this._parcelEditCallbacks) { + cb(mergedFeature, chosenProps); + } + + close(); + }); + + // Highlight radio labels on selection + const labels = this.mergePopupElement.querySelectorAll('label'); + const radios = this.mergePopupElement.querySelectorAll('input[name="merge-choice"]'); + const updateHighlight = () => { + labels.forEach((lbl) => { + const radio = lbl.querySelector('input'); + lbl.style.borderColor = radio.checked ? (radio.value === 'A' ? '#0ea5e9' : '#f59e0b') : 'var(--border, #1e1a4b1f)'; + }); + }; + radios.forEach((r) => r.addEventListener('change', updateHighlight)); + updateHighlight(); + } + + // ============================================================================ + // Divide Polygon Popup (number input) + // ============================================================================ + + /** + * Create the divide polygon popup overlay. + * Shown after the user selects a polygon with the Divide tool, so they + * can enter the number of equal pieces. + */ + createDividePopup() { + this.dividePopupElement = document.createElement('div'); + this.dividePopupElement.className = 'map-divide-popup'; + this.dividePopupElement.style.cssText = ` + position: absolute; + background: var(--card, #fff); + color: var(--card-foreground, #1e1a4b); + border-radius: 10px; + box-shadow: 0 4px 20px rgba(0,0,0,0.3); + font-family: var(--font-body, 'Exo', sans-serif); + font-size: 13px; + min-width: 260px; + max-width: 320px; + z-index: 1002; + border: 2px solid #8b5cf6; + overflow: hidden; + display: flex; + flex-direction: column; + `; + + this.dividePopup = new Overlay({ + element: this.dividePopupElement, + positioning: 'bottom-center', + offset: [0, -10], + stopEvent: true, + autoPan: true, + autoPanAnimation: { duration: 250 }, + }); + + this.map.addOverlay(this.dividePopup); + } + + /** + * Show the divide popup so the user can enter the number of divisions. + * + * @param {Feature} feature The selected polygon feature + * @param {VectorSource} source The source containing the feature + * @param {Array} coordinate Map coordinate [x, y] for popup placement + */ + showDividePopup(feature, source, coordinate) { + const html = ` +
    + Divide Polygon + +
    +
    +

    + Enter the number of equal pieces: +

    + +
    + + +
    +
    + `; + + this.dividePopupElement.innerHTML = html; + this.dividePopup.setPosition(coordinate); + + const input = this.dividePopupElement.querySelector('.divide-input'); + input.focus(); + input.select(); + + // Close / Cancel + const cancel = () => { + this.hideDividePopup(); + this._polygonDivideInteraction.cancelDivide(); + }; + this.dividePopupElement.querySelector('.divide-popup-close').addEventListener('click', cancel); + this.dividePopupElement.querySelector('.divide-popup-cancel').addEventListener('click', cancel); + + // Confirm + this.dividePopupElement.querySelector('.divide-popup-confirm').addEventListener('click', () => { + const n = parseInt(input.value, 10); + if (!n || n < 2) { + input.style.borderColor = '#ef4444'; + return; + } + this.hideDividePopup(); + this._polygonDivideInteraction.performDivide(n); + }); + + // Allow Enter key to confirm + input.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + e.preventDefault(); + this.dividePopupElement.querySelector('.divide-popup-confirm').click(); + } + }); + } + + /** + * Hide the divide popup. + */ + hideDividePopup() { + this.dividePopup.setPosition(undefined); + } + // ============================================================================ // Drawn Polygon Attribute Popup // ============================================================================ @@ -1285,7 +2010,7 @@ export class MapView {
    `; @@ -1294,9 +2019,7 @@ export class MapView { // Area display const geom = feature.getGeometry(); const areaSqm = getArea(geom, { projection: 'EPSG:3857' }); - const areaFormatted = areaSqm > 1_000_000 - ? `${(areaSqm / 1_000_000).toFixed(2)} km\u00B2` - : `${areaSqm.toLocaleString('en', { maximumFractionDigits: 0 })} m\u00B2`; + const areaFormatted = formatArea(areaSqm); const html = `
    @@ -1560,6 +2283,7 @@ export class MapView { const topoLayer = new TileLayer({ title: 'Topographic', type: 'base', + zIndex: -100, visible: defaultBasemap === 'topo', source: new XYZ({ url: 'https://{a-c}.tile.opentopomap.org/{z}/{x}/{y}.png', @@ -1568,10 +2292,12 @@ export class MapView { crossOrigin: 'anonymous', }), }); + topoLayer.set('basemapKey', 'topo'); const cartoLightLayer = new TileLayer({ title: 'Carto Light', type: 'base', + zIndex: -100, visible: defaultBasemap === 'carto-light', source: new XYZ({ url: 'https://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', @@ -1580,10 +2306,12 @@ export class MapView { crossOrigin: 'anonymous', }), }); + cartoLightLayer.set('basemapKey', 'carto-light'); const cartoDarkLayer = new TileLayer({ title: 'Carto Dark', type: 'base', + zIndex: -100, visible: defaultBasemap === 'carto-dark', source: new XYZ({ url: 'https://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png', @@ -1592,18 +2320,24 @@ export class MapView { crossOrigin: 'anonymous', }), }); + cartoDarkLayer.set('basemapKey', 'carto-dark'); + const osmCycleLayer = new TileLayer({ title: 'OSM Cycle map', type: 'base', + zIndex: -100, visible: false, //defaultBasemap === 'osm', source: new OSM({ "url" : "https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=ae1339c46dd3446b9c491e7336d38760" }), }); + osmCycleLayer.set('basemapKey', 'cycle'); + const satelliteLayer = new TileLayer({ title: 'Satellite', type: 'base', + zIndex: -100, visible: defaultBasemap === 'satellite', source: new XYZ({ url: 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', @@ -1612,9 +2346,11 @@ export class MapView { crossOrigin: 'anonymous', }), }); + satelliteLayer.set('basemapKey', 'satellite'); const googleLayer = new TileLayer({ title: 'Google Sat', type: 'base', + zIndex: -100, visible: defaultBasemap === 'googlesat', source: new XYZ({ // url: 'https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', @@ -1624,15 +2360,27 @@ export class MapView { crossOrigin: 'anonymous', }), }); + googleLayer.set('basemapKey', 'googlesat'); + const osmLayer = new TileLayer({ title: 'OpenStreetMap', type: 'base', + zIndex: -100, visible: defaultBasemap === 'osm', source: new OSM(), }); + osmLayer.set('basemapKey', 'osm'); + + // Remember the base-map layers so setBaseMap() can toggle visibility later + this._baseMapLayers = [ + cartoLightLayer, cartoDarkLayer, osmCycleLayer, + satelliteLayer, googleLayer, osmLayer, topoLayer, + ]; // Return LayerGroup for LayerSwitcher + // Note: ol-ext LayerSwitcher iterates layers in reverse — the LAST item + // in this array appears at the TOP of the base-map list in the UI. return new LayerGroup({ title: 'Base Maps', layers: [ @@ -1640,13 +2388,32 @@ export class MapView { cartoDarkLayer, satelliteLayer, osmCycleLayer, - topoLayer, googleLayer, osmLayer, + topoLayer, // ← displayed at the top of the base map stack ], }); } + /** + * Switch the active base map by key. + * Sets exactly one base layer visible; hides all others. + * + * @param {string} key Basemap key: 'topo' | 'osm' | 'satellite' | 'googlesat' | 'carto-light' | 'carto-dark' | 'cycle' + * @returns {boolean} true if the key matched a known base layer + */ + setBaseMap(key) { + if (!this._baseMapLayers) return false; + let matched = false; + for (const layer of this._baseMapLayers) { + const on = layer.get('basemapKey') === key; + layer.setVisible(on); + if (on) matched = true; + } + if (matched) console.log('[MapView] Base map switched to:', key); + return matched; + } + /** * Get style for a feature (handles selection state) */ @@ -2017,7 +2784,17 @@ export class MapView { const { strokeColor = '#3b82f6', strokeWidth = 2, - fillColor = 'rgba(59,130,246,0.1)', + fillColor = 'rgba(59,130,246,0.1)', + // Optional line "casing": a thicker darker stroke drawn UNDERNEATH the + // main stroke. Used for road-like layers to make light-colored lines + // visible on any base map. Set lineCasingColor to enable; the casing + // width defaults to strokeWidth + 2. + lineCasingColor = null, + lineCasingWidth = null, + pointRadius = 5, + pointFillColor = null, // defaults to strokeColor + pointStrokeColor = '#ffffff', + pointStrokeWidth = 1.5, } = styleOptions; const source = new VectorSource({ @@ -2026,13 +2803,47 @@ export class MapView { }), }); + // Build per-geometry styles. OpenLayers picks `image` for Point / + // MultiPoint, `stroke`+`fill` for Polygon / MultiPolygon, and `stroke` + // alone for LineString / MultiLineString. Putting all three on a single + // Style is enough — but a Style with only stroke+fill leaves Points + // invisible, which is what was happening on shapefile import. + const fillStyle = new Fill({ color: fillColor }); + const pointStyle = new Circle({ + radius: pointRadius, + fill: new Fill({ color: pointFillColor || strokeColor }), + stroke: new Stroke({ color: pointStrokeColor, width: pointStrokeWidth }), + }); + + // If a line casing is requested, return an array of two Styles per + // feature: the casing renders first (underneath), then the inner stroke. + // For polygons the casing also outlines them; for points the casing has + // no effect (Point geometries only render `image`). + let layerStyle; + if (lineCasingColor) { + const casingW = lineCasingWidth != null ? lineCasingWidth : strokeWidth + 2; + layerStyle = [ + new Style({ + stroke: new Stroke({ color: lineCasingColor, width: casingW }), + }), + new Style({ + stroke: new Stroke({ color: strokeColor, width: strokeWidth }), + fill: fillStyle, + image: pointStyle, + }), + ]; + } else { + layerStyle = new Style({ + stroke: new Stroke({ color: strokeColor, width: strokeWidth }), + fill: fillStyle, + image: pointStyle, + }); + } + const layer = new VectorLayer({ title: title, source: source, - style: new Style({ - stroke: new Stroke({ color: strokeColor, width: strokeWidth }), - fill: new Fill({ color: fillColor }), - }), + style: layerStyle, }); const group = targetGroup || this.overlayGroup; @@ -2068,6 +2879,540 @@ export class MapView { return group; } + /** + * Add a WMS layer to a layer group. + * + * @param {string} groupTitle Title of the target LayerGroup (e.g. 'Biophysical Environment') + * @param {string} title Display title for the layer + * @param {string} url WMS server URL + * @param {string} layers WMS LAYERS parameter + * @param {Object} [options] Extra options + * @param {string} [options.serverType='geoserver'] Server type hint ('geoserver'|'mapserver'|'qgis'|null) + * @param {string} [options.style] WMS STYLES parameter (e.g. 'colours' for DEAfrica DEM) + * @param {boolean} [options.visible=true] Initial visibility + * @param {string} [options.attributions] Attribution HTML + * @param {number} [options.opacity=1] Layer opacity (0–1). Use ~0.5 for background-style layers. + * @param {number} [options.zIndex] Render z-index. Use negative values (e.g. -10) to force the + * layer behind all default-z-index layers regardless of group order. + * @param {string} [options.legendUrl] URL of a legend image to display while the layer is visible. + * @param {boolean} [options.onlineOnly=false] If true, show a toast when the user toggles the layer on + * while offline, explaining that the layer requires connectivity. + * @returns {TileLayer|null} The created layer, or null if group not found + */ + addWMSLayer(groupTitle, title, url, layers, options = {}) { + const group = this.getLayerGroupByTitle(groupTitle); + if (!group) { + console.warn(`[MapView] Layer group "${groupTitle}" not found — cannot add WMS layer "${title}"`); + return null; + } + + const params = { LAYERS: layers, TILED: true, WIDTH: 256, HEIGHT: 256 }; + if (options.style !== undefined) params.STYLES = options.style; + + const wmsSource = new TileWMS({ + url, + params, + serverType: options.serverType !== undefined ? options.serverType : 'geoserver', + crossOrigin: 'anonymous', + hidpi: false, + attributions: options.attributions, + }); + + const wmsLayer = new TileLayer({ + title, + visible: options.visible !== undefined ? options.visible : true, + source: wmsSource, + opacity: options.opacity !== undefined ? options.opacity : 1, + zIndex: options.zIndex, + }); + + // Show toast on tile load errors (e.g. server rejects request) + wmsSource.on('tileloaderror', () => { + showToast(`WMS layer "${title}" — tile load error. Check the URL and layer name.`, 'warning', 5000); + }); + + group.getLayers().push(wmsLayer); + + // Register legend AFTER push so that a failure here doesn't block the LayerSwitcher + if (options.legendUrl) { + try { + this._registerLegend(wmsLayer, title, options.legendUrl); + } catch (err) { + console.warn(`[MapView] Could not register legend for "${title}":`, err); + } + } + + // Online-only warning: when the user toggles the layer on while offline, + // surface a toast explaining why nothing will render. + if (options.onlineOnly) { + this._attachOnlineOnlyHandler(wmsLayer, title); + } + + console.log(`[MapView] WMS layer added: "${title}" → group "${groupTitle}"`); + return wmsLayer; + } + + /** + * Add an XYZ tile layer to a layer group. + * + * @param {string} groupTitle Title of the target LayerGroup + * @param {string} title Display title for the layer + * @param {string} url XYZ tile URL template (with {z}/{x}/{y} placeholders) + * @param {Object} [options] Extra options + * @param {boolean} [options.visible=true] Initial visibility + * @param {string} [options.attributions] Attribution HTML + * @param {number} [options.maxZoom=19] Maximum zoom level + * @param {number} [options.opacity=1] Layer opacity (0–1). Use ~0.5 for background-style layers. + * @param {number} [options.zIndex] Render z-index. Use negative values to force behind other layers. + * @param {string} [options.legendUrl] URL of a legend image to display while the layer is visible. + * @param {boolean} [options.onlineOnly=false] If true, show a toast when the user toggles the layer on + * while offline, explaining that the layer requires connectivity. + * @returns {TileLayer|null} The created layer, or null if group not found + */ + addXYZLayer(groupTitle, title, url, options = {}) { + const group = this.getLayerGroupByTitle(groupTitle); + if (!group) { + console.warn(`[MapView] Layer group "${groupTitle}" not found — cannot add XYZ layer "${title}"`); + return null; + } + + const xyzSource = new XYZ({ + url, + crossOrigin: 'anonymous', + maxZoom: options.maxZoom !== undefined ? options.maxZoom : 19, + attributions: options.attributions, + }); + + const xyzLayer = new TileLayer({ + title, + visible: options.visible !== undefined ? options.visible : true, + source: xyzSource, + opacity: options.opacity !== undefined ? options.opacity : 1, + zIndex: options.zIndex, + }); + + // Show toast on tile load errors + xyzSource.on('tileloaderror', () => { + showToast(`XYZ layer "${title}" — tile load error. Check the URL.`, 'warning', 5000); + }); + + group.getLayers().push(xyzLayer); + + // Register legend AFTER push so that a failure here doesn't block the LayerSwitcher + if (options.legendUrl) { + try { + this._registerLegend(xyzLayer, title, options.legendUrl); + } catch (err) { + console.warn(`[MapView] Could not register legend for "${title}":`, err); + } + } + + // Online-only warning: when the user toggles the layer on while offline, + // surface a toast explaining why nothing will render. + if (options.onlineOnly) { + this._attachOnlineOnlyHandler(xyzLayer, title); + } + + console.log(`[MapView] XYZ layer added: "${title}" → group "${groupTitle}"`); + return xyzLayer; + } + + // ============================================================================ + // Add External Layer Dialog + // ============================================================================ + + /** + * Create the add-layer dialog overlay (hidden by default). + * Appended to the map target element so it stays within the map viewport. + */ + _createAddLayerDialog() { + this._addLayerDialog = document.createElement('div'); + this._addLayerDialog.className = 'map-add-layer-dialog'; + this._addLayerDialog.style.cssText = ` + display:none;position:absolute;top:0;left:0;right:0;bottom:0; + z-index:1100;background:rgba(0,0,0,0.4); + align-items:center;justify-content:center; + `; + + const card = document.createElement('div'); + card.style.cssText = ` + background:var(--card, #fff);color:var(--card-foreground, #1e1a4b); + border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.35); + font-family:var(--font-body, 'Exo', sans-serif);font-size:13px; + width:340px;max-width:90vw;border:2px solid #10b981;overflow:hidden; + `; + + card.innerHTML = ` +
    + Add External Layer + +
    +
    +
    + +
    + + + +
    +
    +
    + + +
    +
    + + +
    + WMS LAYERS parameter (e.g. workspace:layer) +
    +
    +
    + + +
    +
    + + +
    +
    + `; + + this._addLayerDialog.appendChild(card); + this.map.getTargetElement().appendChild(this._addLayerDialog); + + // Type radio change — toggle layer name row visibility + const nameRow = card.querySelector('.add-layer-name-row'); + const nameHint = card.querySelector('.add-layer-name-hint'); + const urlInput = card.querySelector('.add-layer-url'); + card.querySelectorAll('input[name="add-layer-type"]').forEach((radio) => { + radio.addEventListener('change', () => { + const type = radio.value; + if (type === 'xyz') { + nameRow.style.display = 'none'; + urlInput.placeholder = 'https://example.com/tiles/{z}/{x}/{y}.png'; + } else { + nameRow.style.display = ''; + urlInput.placeholder = type === 'wms' + ? 'https://example.com/wms' + : 'https://example.com/wfs'; + nameHint.textContent = type === 'wms' + ? 'WMS LAYERS parameter (e.g. workspace:layer)' + : 'WFS typename (e.g. workspace:layer)'; + } + }); + }); + + // Close / Cancel + const close = () => this._hideAddLayerDialog(); + card.querySelector('.add-layer-close').addEventListener('click', close); + card.querySelector('.add-layer-cancel').addEventListener('click', close); + this._addLayerDialog.addEventListener('click', (e) => { + if (e.target === this._addLayerDialog) close(); + }); + + // Confirm + card.querySelector('.add-layer-confirm').addEventListener('click', () => { + const type = card.querySelector('input[name="add-layer-type"]:checked').value; + const url = card.querySelector('.add-layer-url').value.trim(); + const layerName = card.querySelector('.add-layer-name').value.trim(); + const title = card.querySelector('.add-layer-title').value.trim(); + + if (!url) { + card.querySelector('.add-layer-url').style.borderColor = '#ef4444'; + return; + } + if ((type === 'wms' || type === 'wfs') && !layerName) { + card.querySelector('.add-layer-name').style.borderColor = '#ef4444'; + return; + } + if (!title) { + card.querySelector('.add-layer-title').style.borderColor = '#ef4444'; + return; + } + + this._addExternalLayer(type, url, layerName, title); + this._hideAddLayerDialog(); + }); + + // Enter key to confirm + card.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + e.preventDefault(); + card.querySelector('.add-layer-confirm').click(); + } + if (e.key === 'Escape') { + e.preventDefault(); + close(); + } + }); + } + + /** + * Show the add-layer dialog. + */ + showAddLayerDialog() { + const dlg = this._addLayerDialog; + // Reset form + dlg.querySelector('.add-layer-url').value = ''; + dlg.querySelector('.add-layer-name').value = ''; + dlg.querySelector('.add-layer-title').value = ''; + dlg.querySelectorAll('input[name="add-layer-type"]')[0].checked = true; + dlg.querySelector('.add-layer-name-row').style.display = ''; + dlg.querySelector('.add-layer-url').placeholder = 'https://example.com/wms'; + dlg.querySelector('.add-layer-name-hint').textContent = 'WMS LAYERS parameter (e.g. workspace:layer)'; + + // Reset border colours + dlg.querySelectorAll('input[type="text"]').forEach((inp) => { + inp.style.borderColor = 'var(--border, #1e1a4b1f)'; + }); + + dlg.style.display = 'flex'; + dlg.querySelector('.add-layer-url').focus(); + } + + /** + * Hide the add-layer dialog. + */ + _hideAddLayerDialog() { + this._addLayerDialog.style.display = 'none'; + } + + /** + * Add an external layer to the "External Source" group. + * + * @param {string} type 'wms' | 'wfs' | 'xyz' + * @param {string} url Server URL + * @param {string} layerName WMS LAYERS / WFS typename (ignored for XYZ) + * @param {string} title Display title in layer switcher + */ + _addExternalLayer(type, url, layerName, title) { + const group = this._externalSourceGroup; + if (!group) { + showToast('Layer group "External Source" not found.', 'error', 4000); + return; + } + + let layer; + + switch (type) { + case 'wms': { + const wmsSrc = new TileWMS({ + url, + params: { LAYERS: layerName, TILED: true, WIDTH: 256, HEIGHT: 256 }, + serverType: 'geoserver', + crossOrigin: 'anonymous', + hidpi: false, + }); + layer = new TileLayer({ + title, + visible: true, + source: wmsSrc, + }); + wmsSrc.on('tileloaderror', () => { + showToast(`WMS "${title}" — tile load error. Check URL and layer name.`, 'warning', 5000); + }); + break; + } + + case 'wfs': { + const wfsUrl = `${url}${url.includes('?') ? '&' : '?'}` + + `service=WFS&version=1.1.0&request=GetFeature` + + `&typename=${encodeURIComponent(layerName)}` + + `&outputFormat=application/json&srsname=EPSG:3857`; + + const wfsSource = new VectorSource({ + url: wfsUrl, + format: new GeoJSON(), + }); + wfsSource.on('featuresloaderror', () => { + showToast(`WFS "${title}" — load error. Check URL and layer name.`, 'warning', 5000); + }); + + layer = new VectorLayer({ + title, + visible: true, + source: wfsSource, + style: new Style({ + stroke: new Stroke({ color: '#e11d48', width: 2 }), + fill: new Fill({ color: 'rgba(225,29,72,0.15)' }), + }), + }); + break; + } + + case 'xyz': + layer = new TileLayer({ + title, + visible: true, + source: new XYZ({ + url, + crossOrigin: 'anonymous', + }), + }); + layer.getSource().on('tileloaderror', () => { + showToast(`XYZ "${title}" — tile load error. Check the URL template.`, 'warning', 5000); + }); + break; + + default: + showToast(`Unknown layer type: ${type}`, 'error', 4000); + return; + } + + group.getLayers().push(layer); + showToast(`Layer "${title}" added to External Source.`, 'success', 3000); + console.log(`[MapView] External ${type.toUpperCase()} layer added: "${title}"`); + } + + // ============================================================================ + // Online-Only Layer Helper + // ============================================================================ + + /** + * Attach a `change:visible` listener that shows an info toast when the user + * toggles a layer ON while the device is offline. Used for layers that fetch + * tiles or features from a remote service and therefore have no useful + * cached state. + * + * The check uses navigator.onLine, which is the same signal as the rest of + * the app's online detection. + * + * @param {Layer} layer + * @param {string} title Display title used in the toast message + */ + _attachOnlineOnlyHandler(layer, title) { + layer.set('onlineOnly', true); + layer.on('change:visible', () => { + if (layer.getVisible() && !navigator.onLine) { + showToast( + `"${title}" requires an internet connection. Connect to view this layer.`, + 'info', + 5000, + ); + } + }); + } + + // ============================================================================ + // Legend Panel — shows legend images for visible layers that have one + // ============================================================================ + + /** + * Create the legend panel, positioned bottom-right inside the map target. + * Hidden when no visible layers have a registered legend. + */ + _createLegendPanel() { + this._legendPanel = document.createElement('div'); + this._legendPanel.className = 'map-legend-panel'; + this._legendPanel.style.cssText = ` + position:absolute;right:10px;bottom:40px;z-index:900; + display:none;flex-direction:column;gap:6px; + background:var(--card, #fff);color:var(--card-foreground, #1e1a4b); + border:1px solid var(--border, #1e1a4b1f);border-radius:8px; + box-shadow:0 4px 12px rgba(0,0,0,0.15); + font-family:var(--font-body, 'Exo', sans-serif);font-size:11px; + max-width:220px;max-height:60%;overflow-y:auto; + padding:8px 10px; + `; + this.map.getTargetElement().appendChild(this._legendPanel); + + // Map of layer → { wrapper, title, imgUrl } + this._legendEntries = new Map(); + } + + /** + * Register a layer's legend image and wire up visibility tracking. + * Called from addWMSLayer / addXYZLayer when a legendUrl is supplied. + * + * @param {Layer} layer The OpenLayers layer + * @param {string} title Display title for the legend header + * @param {string} legendUrl URL of the legend image + */ + _registerLegend(layer, title, legendUrl) { + if (!this._legendPanel) return; + + // Build the legend entry — a div with header + image + const wrapper = document.createElement('div'); + wrapper.className = 'map-legend-entry'; + wrapper.style.cssText = 'border-bottom:1px solid var(--border, #1e1a4b1f);padding-bottom:6px;'; + wrapper.innerHTML = ` +
    + ${this._escapeHtml(title)} +
    + ${this._escapeHtml(title)} legend + `; + + this._legendEntries.set(layer, wrapper); + + // Listen for visibility changes. Wrap in try/catch so a DOM error here + // cannot break the LayerSwitcher's click handler (which fires change:visible + // synchronously and relies on a subsequent setTimeout to update the checkbox). + const update = () => { + try { this._updateLegendPanel(); } + catch (err) { console.warn('[MapView] legend panel update failed:', err); } + }; + layer.on('change:visible', update); + + // Trigger initial state + update(); + } + + /** + * Refresh the legend panel contents: include entries for each visible + * registered layer, and show/hide the panel based on whether any are visible. + */ + _updateLegendPanel() { + if (!this._legendPanel) return; + + // Rebuild children from scratch in a stable order (Map iteration order = insertion order) + const children = []; + for (const [layer, wrapper] of this._legendEntries) { + if (layer.getVisible()) children.push(wrapper); + } + + // Remove trailing bottom-border on the last entry for a clean look + this._legendEntries.forEach((w) => { + w.style.borderBottom = '1px solid var(--border, #1e1a4b1f)'; + w.style.paddingBottom = '6px'; + }); + if (children.length > 0) { + children[children.length - 1].style.borderBottom = 'none'; + children[children.length - 1].style.paddingBottom = '0'; + } + + // Swap the DOM children + this._legendPanel.replaceChildren(...children); + this._legendPanel.style.display = children.length > 0 ? 'flex' : 'none'; + } + + /** + * Escape HTML special characters for safe text insertion. + */ + _escapeHtml(str) { + return String(str) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + } + /** * Find a LayerGroup inside the overlay group by its layerId. * @@ -2114,6 +3459,49 @@ export class MapView { return this.map; } + // ============================================================================ + // Extent Helpers (used by offline-tile downloader) + // ============================================================================ + + /** + * Get the current map view's visible extent in EPSG:3857 (Web Mercator). + * @returns {Array} [minX, minY, maxX, maxY] + */ + getCurrentViewExtent() { + const view = this.map.getView(); + const size = this.map.getSize(); + if (!size) return null; + return view.calculateExtent(size); + } + + /** + * Get the bounding extent of the District Boundary layer (if present). + * Searches the overlay group for a vector layer titled "District Boundary" + * and returns the extent of its source. + * + * @returns {{ extent: Array, title: string } | null} + */ + getDistrictBoundaryExtent() { + let found = null; + const visit = (group) => { + group.getLayers().forEach((layer) => { + if (layer.getLayers) { + visit(layer); // sub-group + } else if (layer.get('title') === 'District Boundary') { + const src = layer.getSource && layer.getSource(); + if (src && typeof src.getExtent === 'function') { + const ex = src.getExtent(); + if (ex && Number.isFinite(ex[0])) { + found = { extent: ex, title: layer.get('title') }; + } + } + } + }); + }; + visit(this.overlayGroup); + return found; + } + /** * Get the marker source for advanced usage */ diff --git a/src/database.js b/src/database.js index 99501aa..402c563 100644 --- a/src/database.js +++ b/src/database.js @@ -196,6 +196,17 @@ export async function initSchema() { ) `; + // Create osm_roads table for caching the OSM road network + console.log('[Database] Creating osm_roads table...'); + await sql` + CREATE TABLE IF NOT EXISTS osm_roads ( + osm_id INTEGER PRIMARY KEY, + geometry_wkt TEXT, + properties TEXT, + fetched_at TEXT DEFAULT CURRENT_TIMESTAMP + ) + `; + // Create indexes await sql`CREATE INDEX IF NOT EXISTS idx_locations_category ON locations(category)`; await sql`CREATE INDEX IF NOT EXISTS idx_locations_synced ON locations(synced)`; @@ -541,17 +552,20 @@ export async function getLocalCollectorZones() { export async function saveParcels(parcels) { try { await sql`DELETE FROM parcels`; + let saved = 0; for (const p of parcels) { - const props = JSON.stringify(p); - // API field names may vary — try common WKT field names - const wkt = p.polygon || p.boundary || p.geom || p.wkt || ''; const id = p.id || p.parcelid || p.parcel_id || null; + if (id == null) continue; // skip rows without a usable ID + const props = JSON.stringify(p); + // API field names: 'boundary' (WKT), 'polygon', 'geom', 'wkt' + const wkt = p.boundary || p.polygon || p.geom || p.wkt || ''; await sql` - INSERT INTO parcels (id, geometry_wkt, properties, fetched_at) + INSERT OR REPLACE INTO parcels (id, geometry_wkt, properties, fetched_at) VALUES (${id}, ${wkt}, ${props}, CURRENT_TIMESTAMP) `; + saved++; } - console.log('[Database] ✓ Saved', parcels.length, 'parcels'); + console.log('[Database] ✓ Saved', saved, 'parcels (from', parcels.length, 'rows,', parcels.length - saved, 'duplicates replaced)'); } catch (error) { console.error('[Database] ✗ Failed to save parcels:', error); throw error; @@ -680,6 +694,62 @@ export async function getLocalBuildingFootprints() { } } +/** + * Save OSM roads to the local SQLite table. + * Replaces all existing rows. + * + * @param {Array} roads - Array of road objects from the API + */ +export async function saveOSMRoads(roads) { + try { + if (roads.length > 0) { + const first = roads[0]; + const types = {}; + for (const [k, v] of Object.entries(first)) { + types[k] = v === null ? 'null' : typeof v; + } + console.log('[Database] First road field types:', types); + } + + await sql`DELETE FROM osm_roads`; + for (const r of roads) { + const props = JSON.stringify(r); + + // Geometry — may arrive as WKT string or GeoJSON object + let rawWkt = r.geom || r.geometry || r.wkt || r.road || r.line || ''; + const wkt = typeof rawWkt === 'object' ? JSON.stringify(rawWkt) : String(rawWkt); + + // osm_id must be a primitive — fall back to null if missing or malformed + let rawId = r.osm_id ?? r.osmid ?? r.id ?? null; + const osmId = (rawId !== null && typeof rawId === 'object') ? null : rawId; + + await sql` + INSERT OR REPLACE INTO osm_roads (osm_id, geometry_wkt, properties, fetched_at) + VALUES (${osmId}, ${wkt}, ${props}, CURRENT_TIMESTAMP) + `; + } + console.log('[Database] ✓ Saved', roads.length, 'OSM roads'); + } catch (error) { + console.error('[Database] ✗ Failed to save OSM roads:', error); + throw error; + } +} + +/** + * Load all cached OSM roads from the local table. + * @returns {Promise} Array of road objects, or null if empty + */ +export async function getLocalOSMRoads() { + try { + const rows = await sql`SELECT properties FROM osm_roads ORDER BY osm_id`; + if (rows.length === 0) return null; + return rows.map(r => JSON.parse(r.properties)); + } catch (error) { + console.error('[Database] ✗ Failed to read local OSM roads:', error); + return null; + } +} + // ============================================================================ // Export / Import // ============================================================================ @@ -769,6 +839,90 @@ export async function getDatabaseStatus() { } } +// ============================================================================ +// Cached-Layer Management +// ============================================================================ + +/** + * Tables that hold data fetched from the server. + * + * Clearing these is safe — the corresponding loaders (loadParcels, + * loadBuildingFootprints, loadOSMRoads, loadCollectorZones, …) will re-fetch + * the data from the API on the next app start. + * + * NOT included: user-created tables (`locations`, `pending_changes`) — those + * hold local work that must not be auto-deleted. + */ +export const CACHED_LAYER_TABLES = Object.freeze([ + 'parcels', + 'building_footprints', + 'osm_roads', + 'collector_zones', + 'remote_data', +]); + +/** + * Check whether a table name is in the cleared-layer allow-list. + * @param {string} tableName + * @returns {boolean} + */ +export function isCachedLayerTable(tableName) { + return CACHED_LAYER_TABLES.includes(tableName); +} + +/** + * Delete all rows from a single cached-layer table. + * Rejects unknown table names so this can't be abused to drop user data. + * + * @param {string} tableName - One of CACHED_LAYER_TABLES + * @returns {Promise} Number of rows that were in the table before deletion + */ +export async function clearTable(tableName) { + if (!isCachedLayerTable(tableName)) { + throw new Error(`Refusing to clear "${tableName}" — not a known cached-layer table`); + } + + const before = await sql(`SELECT COUNT(*) AS n FROM "${tableName}"`); + const count = before[0]?.n ?? 0; + + await sql(`DELETE FROM "${tableName}"`); + console.log(`[Database] ✓ Cleared "${tableName}" (${count} rows)`); + broadcastChange(tableName, 'CLEAR', null); + return count; +} + +/** + * Clear every cached-layer table (whatever exists in this database). + * Tables that don't exist yet are skipped silently. + * + * @returns {Promise<{ table: string, count: number }[]>} per-table report + */ +export async function clearAllCachedLayers() { + const existing = await sql` + SELECT name FROM sqlite_master + WHERE type='table' AND name IN ( + 'parcels', 'building_footprints', 'osm_roads', 'collector_zones', 'remote_data' + ) + `; + const existingNames = new Set(existing.map((r) => r.name)); + + const results = []; + for (const tableName of CACHED_LAYER_TABLES) { + if (!existingNames.has(tableName)) continue; + try { + const count = await clearTable(tableName); + results.push({ table: tableName, count }); + } catch (err) { + console.error(`[Database] Failed to clear ${tableName}:`, err); + results.push({ table: tableName, count: 0, error: err.message }); + } + } + + const total = results.reduce((s, r) => s + r.count, 0); + console.log(`[Database] ✓ Cleared all cached layers: ${total} rows across ${results.length} tables`); + return results; +} + /** * Get a list of all tables with their row counts. * @returns {Promise>} @@ -890,6 +1044,12 @@ export default { insertNewParcel, saveBuildingFootprints, getLocalBuildingFootprints, + saveOSMRoads, + getLocalOSMRoads, + CACHED_LAYER_TABLES, + isCachedLayerTable, + clearTable, + clearAllCachedLayers, exportDatabase, exportToGeoJSON, importDatabase, diff --git a/src/geom/polygonDivide.js b/src/geom/polygonDivide.js new file mode 100644 index 0000000..b0fa267 --- /dev/null +++ b/src/geom/polygonDivide.js @@ -0,0 +1,295 @@ +/** + * Pure geometry functions for dividing a polygon into N equal-area pieces. + * + * No OpenLayers dependency — operates on raw coordinate arrays. + * + * The algorithm finds the polygon's longest edge, then places N-1 cutting + * lines perpendicular to that edge. Each cutting-line position is found + * via binary search so that the piece it cuts off has exactly 1/N of the + * remaining area. The actual cut is delegated to `splitPolygonByLine()`. + */ + +import { splitPolygonByLine } from './polygonSplit.js'; + +// ── Utility helpers (self-contained) ───────────────────────────────────────── + +function dist2(a, b) { + return (a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2; +} + +/** + * Signed area of a ring (shoelace formula). + */ +function signedArea(ring) { + let area = 0; + for (let i = 0, n = ring.length; i < n - 1; i++) { + area += ring[i][0] * ring[i + 1][1] - ring[i + 1][0] * ring[i][1]; + } + return area / 2; +} + +/** + * Absolute polygon area, accounting for holes. + */ +function polygonArea(coords) { + let area = Math.abs(signedArea(coords[0])); + for (let i = 1; i < coords.length; i++) { + area -= Math.abs(signedArea(coords[i])); + } + return area; +} + +/** + * Find the longest edge of a ring and return direction vectors. + * + * @param {number[][]} ring Closed ring + * @returns {{ p0: number[], p1: number[], along: number[], perp: number[] }} + * `along` = unit vector along the longest edge, + * `perp` = unit vector perpendicular to `along` (rotated 90° CCW) + */ +function longestEdge(ring) { + const n = ring.length - 1; // unique vertices + let bestLen = -1; + let bestI = 0; + + for (let i = 0; i < n; i++) { + const d = dist2(ring[i], ring[i + 1]); + if (d > bestLen) { + bestLen = d; + bestI = i; + } + } + + const p0 = ring[bestI]; + const p1 = ring[bestI + 1]; + const len = Math.sqrt(bestLen); + const along = [(p1[0] - p0[0]) / len, (p1[1] - p0[1]) / len]; + // Perpendicular: rotate 90° CCW + const perp = [-along[1], along[0]]; + + return { p0, p1, along, perp }; +} + +/** + * Build a cutting line perpendicular to `along` at parameter `t`. + * + * The line passes through `origin + t * along` and extends `extent` units + * in both `perp` directions — long enough to fully cross the polygon. + */ +function makeCuttingLine(origin, along, perp, t, extent) { + const cx = origin[0] + t * along[0]; + const cy = origin[1] + t * along[1]; + return [ + [cx - extent * perp[0], cy - extent * perp[1]], + [cx + extent * perp[0], cy + extent * perp[1]], + ]; +} + +/** + * Project the centroid of a polygon's exterior ring onto the `along` axis. + * Returns the scalar parameter `t` relative to `origin`. + */ +function centroidT(coords, origin, along) { + const ring = coords[0]; + const n = ring.length - 1; + let sx = 0, sy = 0; + for (let i = 0; i < n; i++) { + sx += ring[i][0]; + sy += ring[i][1]; + } + const cx = sx / n - origin[0]; + const cy = sy / n - origin[1]; + return cx * along[0] + cy * along[1]; +} + +// ── Main export ────────────────────────────────────────────────────────────── + +/** + * Divide a polygon into N equal-area pieces by parallel cuts perpendicular + * to a user-selected edge. + * + * @param {number[][][]} polygonCoords Polygon coordinates [ring, ...holes] + * @param {number} n Number of pieces (must be >= 1) + * @param {number[][]} edgeCoords The selected edge `[p0, p1]` — cuts will be + * perpendicular to this edge direction. + * @returns {{ pieces: number[][][][], error?: undefined } | { pieces: null, error: string }} + */ +export function dividePolygon(polygonCoords, n, edgeCoords) { + if (!Number.isInteger(n) || n < 1) { + return { pieces: null, error: 'Number of divisions must be a positive integer.' }; + } + if (n === 1) { + return { pieces: [polygonCoords] }; + } + + const ring = polygonCoords[0]; + const totalArea = polygonArea(polygonCoords); + + if (totalArea < 1e-6) { + return { pieces: null, error: 'Polygon has no measurable area.' }; + } + + // 1. Determine cutting direction from the selected edge + let p0, along, perp; + if (edgeCoords && edgeCoords.length === 2) { + p0 = edgeCoords[0]; + const dx = edgeCoords[1][0] - edgeCoords[0][0]; + const dy = edgeCoords[1][1] - edgeCoords[0][1]; + const len = Math.sqrt(dx * dx + dy * dy); + if (len < 1e-10) { + return { pieces: null, error: 'Selected edge has zero length.' }; + } + along = [dx / len, dy / len]; + perp = [-along[1], along[0]]; + } else { + // Fallback: use longest edge + const edge = longestEdge(ring); + p0 = edge.p0; + along = edge.along; + perp = edge.perp; + } + const origin = p0; + + // 2. Project all vertices onto the `along` axis to find extent + const nVerts = ring.length - 1; + let tMin = Infinity, tMax = -Infinity; + for (let i = 0; i < nVerts; i++) { + const dx = ring[i][0] - origin[0]; + const dy = ring[i][1] - origin[1]; + const t = dx * along[0] + dy * along[1]; + if (t < tMin) tMin = t; + if (t > tMax) tMax = t; + } + + // Cutting line extent: enough to cross the polygon in the `perp` direction + let perpMin = Infinity, perpMax = -Infinity; + for (let i = 0; i < nVerts; i++) { + const dx = ring[i][0] - origin[0]; + const dy = ring[i][1] - origin[1]; + const p = dx * perp[0] + dy * perp[1]; + if (p < perpMin) perpMin = p; + if (p > perpMax) perpMax = p; + } + const extent = (perpMax - perpMin) * 1.5; // generous overshoot + + // 3. Iteratively cut pieces + const pieces = []; + let remaining = polygonCoords; + let remainingCount = n; + + for (let i = 0; i < n - 1; i++) { + const remainingArea = polygonArea(remaining); + const targetArea = remainingArea / remainingCount; + + // Re-project the remaining polygon to get its current t-range + const remRing = remaining[0]; + const remN = remRing.length - 1; + let rMin = Infinity, rMax = -Infinity; + for (let j = 0; j < remN; j++) { + const dx = remRing[j][0] - origin[0]; + const dy = remRing[j][1] - origin[1]; + const t = dx * along[0] + dy * along[1]; + if (t < rMin) rMin = t; + if (t > rMax) rMax = t; + } + + // Binary search for the cutting position + let lo = rMin; + let hi = rMax; + let bestT = (lo + hi) / 2; + let bestPiece = null; + let bestRemaining = null; + let bestError = Infinity; + + for (let iter = 0; iter < 40; iter++) { + const mid = (lo + hi) / 2; + const line = makeCuttingLine(origin, along, perp, mid, extent); + const result = splitPolygonByLine(remaining, line); + + if (!result) { + // Cutting line didn't produce a valid split — nudge and retry + // Try slightly shifted positions + const nudge = (hi - lo) * 0.01; + const lineA = makeCuttingLine(origin, along, perp, mid + nudge, extent); + const resultA = splitPolygonByLine(remaining, lineA); + if (resultA) { + const [halfA, halfB] = resultA; + const tA = centroidT(halfA, origin, along); + const tB = centroidT(halfB, origin, along); + const nearPiece = tA < tB ? halfA : halfB; + const farPiece = tA < tB ? halfB : halfA; + const nearArea = polygonArea(nearPiece); + const err = Math.abs(nearArea - targetArea); + if (err < bestError) { + bestError = err; + bestT = mid + nudge; + bestPiece = nearPiece; + bestRemaining = farPiece; + } + } + // Try the other direction + const lineB = makeCuttingLine(origin, along, perp, mid - nudge, extent); + const resultB = splitPolygonByLine(remaining, lineB); + if (resultB) { + const [halfA, halfB] = resultB; + const tA = centroidT(halfA, origin, along); + const tB = centroidT(halfB, origin, along); + const nearPiece = tA < tB ? halfA : halfB; + const farPiece = tA < tB ? halfB : halfA; + const nearArea = polygonArea(nearPiece); + const err = Math.abs(nearArea - targetArea); + if (err < bestError) { + bestError = err; + bestT = mid - nudge; + bestPiece = nearPiece; + bestRemaining = farPiece; + } + } + // Bisect anyway to keep converging + lo = mid; + continue; + } + + const [halfA, halfB] = result; + const tA = centroidT(halfA, origin, along); + const tB = centroidT(halfB, origin, along); + const nearPiece = tA < tB ? halfA : halfB; + const farPiece = tA < tB ? halfB : halfA; + const nearArea = polygonArea(nearPiece); + + const err = Math.abs(nearArea - targetArea); + if (err < bestError) { + bestError = err; + bestT = mid; + bestPiece = nearPiece; + bestRemaining = farPiece; + } + + // Converged? + if (err / remainingArea < 0.001) break; + + // Adjust search range + if (nearArea < targetArea) { + lo = mid; // need to cut farther out + } else { + hi = mid; // need to cut closer + } + } + + if (!bestPiece || !bestRemaining) { + return { + pieces: null, + error: `Could not find a valid cut for piece ${i + 1} of ${n}. The polygon shape may be too irregular for equal division.`, + }; + } + + pieces.push(bestPiece); + remaining = bestRemaining; + remainingCount--; + } + + // The last remaining piece is the Nth piece + pieces.push(remaining); + + return { pieces }; +} diff --git a/src/geom/polygonMerge.js b/src/geom/polygonMerge.js new file mode 100644 index 0000000..955b2d0 --- /dev/null +++ b/src/geom/polygonMerge.js @@ -0,0 +1,407 @@ +/** + * Pure geometry functions for merging two adjacent polygons. + * + * No OpenLayers dependency — operates on raw coordinate arrays. + */ + +/** + * Squared distance between two points. + */ +function dist2(a, b) { + return (a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2; +} + +/** + * Signed area of a ring (shoelace formula). + * Positive = counter-clockwise, negative = clockwise. + */ +function signedArea(ring) { + let area = 0; + for (let i = 0, n = ring.length; i < n - 1; i++) { + area += (ring[i][0] * ring[i + 1][1]) - (ring[i + 1][0] * ring[i][1]); + } + return area / 2; +} + +/** + * Test whether a point is inside a ring (ray-casting algorithm). + */ +function pointInRing(pt, ring) { + let inside = false; + for (let i = 0, j = ring.length - 2; i < ring.length - 1; j = i++) { + const xi = ring[i][0], yi = ring[i][1]; + const xj = ring[j][0], yj = ring[j][1]; + if (((yi > pt[1]) !== (yj > pt[1])) && + (pt[0] < (xj - xi) * (pt[1] - yi) / (yj - yi) + xi)) { + inside = !inside; + } + } + return inside; +} + +/** + * Ensure a ring has the desired winding order. + */ +function ensureWinding(ring, ccw) { + const area = signedArea(ring); + if ((ccw && area < 0) || (!ccw && area > 0)) { + return ring.slice().reverse(); + } + return ring; +} + +/** + * Close a ring (ensure first === last). + */ +function closeRing(coords) { + if (coords.length < 2) return coords; + if (dist2(coords[0], coords[coords.length - 1]) > 1e-10) { + return [...coords, coords[0].slice()]; + } + return coords; +} + +/** + * Perpendicular distance from a point to a segment. + * + * @param {number[]} pt + * @param {number[]} segA Segment start + * @param {number[]} segB Segment end + * @returns {number} Squared distance + */ +function distToSegmentSq(pt, segA, segB) { + const dx = segB[0] - segA[0]; + const dy = segB[1] - segA[1]; + const lenSq = dx * dx + dy * dy; + + if (lenSq < 1e-20) return dist2(pt, segA); // degenerate segment + + // Parametric position of the projection + let t = ((pt[0] - segA[0]) * dx + (pt[1] - segA[1]) * dy) / lenSq; + t = Math.max(0, Math.min(1, t)); + + const projX = segA[0] + t * dx; + const projY = segA[1] + t * dy; + return (pt[0] - projX) ** 2 + (pt[1] - projY) ** 2; +} + +/** + * Find the ring edge closest to a click coordinate. + * + * @param {number[][]} ring Closed ring + * @param {number[]} clickCoord [x, y] + * @returns {{ segIdx: number, distSq: number }} + */ +function findClosestEdge(ring, clickCoord) { + let bestIdx = 0; + let bestDist = Infinity; + const n = ring.length - 1; // unique vertices + + for (let i = 0; i < n; i++) { + const d = distToSegmentSq(clickCoord, ring[i], ring[(i + 1) % n === 0 ? n : i + 1]); + if (d < bestDist) { + bestDist = d; + bestIdx = i; + } + } + return { segIdx: bestIdx, distSq: bestDist }; +} + +/** + * Check if two coordinates are equal within tolerance. + */ +function coordsEqual(a, b, tolSq) { + return dist2(a, b) < tolSq; +} + +/** + * Test whether a point lies within tolerance of any edge of a ring. + * + * Unlike coordsEqual (vertex-to-vertex), this checks whether the point is + * close to the ring's *boundary* — it projects onto segments, so it works + * even when the two polygons have different vertex density along the shared + * edge or when vertices are slightly offset from separate digitisation. + * + * @param {number[]} pt Point to test + * @param {number[][]} ring Closed ring + * @param {number} tolSq Squared distance tolerance + * @returns {boolean} + */ +function isVertexNearRing(pt, ring, tolSq) { + const n = ring.length - 1; + for (let i = 0; i < n; i++) { + if (distToSegmentSq(pt, ring[i], ring[i + 1]) < tolSq) { + return true; + } + } + return false; +} + +/** + * Find the shared boundary between two polygon rings. + * + * Adjacent polygons share edges in reverse winding direction: + * if A walks P→Q along the shared boundary, B walks Q→P. + * + * The algorithm has two stages: + * + * 1. **Seed validation** — uses `isVertexNearRing` (vertex-to-edge proximity) + * to confirm the user-clicked edges actually lie on a common boundary. + * This is the forgiving check that handles offset vertices from separate + * digitisation. + * + * 2. **Lockstep extension** — walks both rings together (A forward, B in + * the opposite direction) and extends the shared boundary one vertex at + * a time. Three cases are tried at each step: + * a) Both rings advance: vertex-to-vertex match (classic case). + * b) Only A advances: A has an extra vertex that projects onto B's + * frontier edge (different vertex density). + * c) Only B advances: vice-versa. + * Because extension is coupled to the *frontier edge* of the other ring + * (not the entire ring), it cannot overshoot into non-shared territory, + * even for small or closely-spaced polygons. + * + * @param {number[][]} ringA Closed ring + * @param {number[][]} ringB Closed ring + * @param {number} seedIdxA Seed edge index on ring A + * @param {number} seedIdxB Seed edge index on ring B + * @param {number} tolerance Distance tolerance (in map units) + * @returns {{ startA: number, endA: number, startB: number, endB: number, reversed: boolean } | null} + */ +function findSharedBoundary(ringA, ringB, seedIdxA, seedIdxB, tolerance) { + const nA = ringA.length - 1; // unique vertices + const nB = ringB.length - 1; + const tolSq = tolerance * tolerance; + + // ── Validate seed edges ───────────────────────────────────────────── + // Both vertices of the seed edge on A must be near ring B's boundary, + // or both vertices of the seed edge on B must be near ring A's boundary. + // This uses vertex-to-edge proximity so it handles offset digitisation. + const a0 = ringA[seedIdxA]; + const a1 = ringA[(seedIdxA + 1) % nA]; + const b0 = ringB[seedIdxB]; + const b1 = ringB[(seedIdxB + 1) % nB]; + + const a0NearB = isVertexNearRing(a0, ringB, tolSq); + const a1NearB = isVertexNearRing(a1, ringB, tolSq); + const b0NearA = isVertexNearRing(b0, ringA, tolSq); + const b1NearA = isVertexNearRing(b1, ringA, tolSq); + + if (!(a0NearB && a1NearB) && !(b0NearA && b1NearA)) { + console.warn('[polygonMerge] Seed edges are not on the shared boundary'); + return null; + } + + // ── Determine winding direction ───────────────────────────────────── + // Reversed (the normal case): A's a0 ≈ B's b1 and A's a1 ≈ B's b0. + let reversed; + if (coordsEqual(a0, b1, tolSq) && coordsEqual(a1, b0, tolSq)) { + reversed = true; + } else if (coordsEqual(a0, b0, tolSq) && coordsEqual(a1, b1, tolSq)) { + reversed = false; + } else { + // Vertices don't match exactly — use proximity to decide direction + reversed = dist2(a0, b1) < dist2(a0, b0); + } + + // ── Initialise shared boundary ────────────────────────────────────── + let startA = seedIdxA; + let endA = (seedIdxA + 1) % nA; + let startB, endB; + + if (reversed) { + // A walks startA → endA, B walks startB ← endB (reversed ring order) + startB = (seedIdxB + 1) % nB; + endB = seedIdxB; + } else { + startB = seedIdxB; + endB = (seedIdxB + 1) % nB; + } + + // ── Extend forward (endA++, endB-- if reversed) ───────────────────── + // Walk both rings in lockstep. At each step try three strategies: + // 1. Both advance — vertices match (vertex-to-vertex). + // 2. Only A advances — A's next vertex projects onto B's frontier edge. + // 3. Only B advances — B's next vertex projects onto A's frontier edge. + let safety = nA + nB; + while (safety-- > 0) { + const nextA = (endA + 1) % nA; + const nextB = reversed ? (endB - 1 + nB) % nB : (endB + 1) % nB; + if (nextA === startA || nextB === startB) break; // wrapped around + + // Case 1: vertex-to-vertex match + if (coordsEqual(ringA[nextA], ringB[nextB], tolSq)) { + endA = nextA; + endB = nextB; + continue; + } + + // Case 2: A has extra vertex — project onto B's frontier edge + if (distToSegmentSq(ringA[nextA], ringB[endB], ringB[nextB]) < tolSq) { + endA = nextA; + continue; + } + + // Case 3: B has extra vertex — project onto A's frontier edge + if (distToSegmentSq(ringB[nextB], ringA[endA], ringA[nextA]) < tolSq) { + endB = nextB; + continue; + } + + break; // no match — end of shared boundary + } + + // ── Extend backward (startA--, startB++ if reversed) ──────────────── + safety = nA + nB; + while (safety-- > 0) { + const prevA = (startA - 1 + nA) % nA; + const prevB = reversed ? (startB + 1) % nB : (startB - 1 + nB) % nB; + if (prevA === endA || prevB === endB) break; + + // Case 1: vertex-to-vertex match + if (coordsEqual(ringA[prevA], ringB[prevB], tolSq)) { + startA = prevA; + startB = prevB; + continue; + } + + // Case 2: A has extra vertex — project onto B's frontier edge + if (distToSegmentSq(ringA[prevA], ringB[startB], ringB[prevB]) < tolSq) { + startA = prevA; + continue; + } + + // Case 3: B has extra vertex — project onto A's frontier edge + if (distToSegmentSq(ringB[prevB], ringA[startA], ringA[prevA]) < tolSq) { + startB = prevB; + continue; + } + + break; + } + + return { startA, endA, startB, endB, reversed }; +} + +/** + * Walk a ring from startIdx to endIdx (exclusive), going forward and wrapping. + * Skips startIdx and stops before reaching endIdx. + * Returns the vertices of the non-shared portion. + * + * @param {number[][]} ring Closed ring + * @param {number} fromIdx Start walking from this index (inclusive) + * @param {number} toIdx Stop at this index (inclusive) + * @returns {number[][]} + */ +function walkRing(ring, fromIdx, toIdx) { + const n = ring.length - 1; + const result = []; + let idx = fromIdx; + while (true) { + result.push(ring[idx]); + if (idx === toIdx) break; + idx = (idx + 1) % n; + // Safety: prevent infinite loops + if (result.length > n + 1) break; + } + return result; +} + +/** + * Merge two adjacent polygons along their shared boundary. + * + * @param {number[][][]} polygonCoordsA Polygon A coordinates [exteriorRing, ...holes] + * @param {number[][][]} polygonCoordsB Polygon B coordinates [exteriorRing, ...holes] + * @param {number[]} clickCoordA Click coordinate on the shared edge of polygon A + * @param {number[]} clickCoordB Click coordinate on the shared edge of polygon B + * @param {number} [tolerance=5] Distance tolerance in map units (default 5 metres in EPSG:3857). + * A larger tolerance handles polygons that were digitised separately and + * whose shared vertices don't coincide exactly. + * @returns {{ coords: number[][][], error?: undefined } | { coords: null, error: string }} + * On success: `{ coords: [...] }`. On failure: `{ coords: null, error: 'reason' }`. + */ +export function mergePolygons(polygonCoordsA, polygonCoordsB, clickCoordA, clickCoordB, tolerance = 5) { + const ringA = polygonCoordsA[0]; + const ringB = polygonCoordsB[0]; + const holesA = polygonCoordsA.slice(1); + const holesB = polygonCoordsB.slice(1); + + // 1. Find seed edges (closest to user clicks) + const seedA = findClosestEdge(ringA, clickCoordA); + const seedB = findClosestEdge(ringB, clickCoordB); + + // 2. Find shared boundary + const shared = findSharedBoundary(ringA, ringB, seedA.segIdx, seedB.segIdx, tolerance); + if (!shared) { + console.warn('[polygonMerge] Could not find shared boundary between polygons — seed edges are not near the other ring'); + return { coords: null, error: 'The selected edges are not on a shared boundary. Click edges that lie on the common border between the two polygons.' }; + } + + const { startA, endA, startB, endB, reversed } = shared; + const nA = ringA.length - 1; + const nB = ringB.length - 1; + + // 3. Stitch the non-shared portions together + // A's shared goes from startA → endA. Non-shared: endA → startA (forward, wrapping). + // B's shared (reversed case) goes from startB backward to endB. + // Non-shared: startB → endB (forward). + // B's shared (same-dir case) goes from startB → endB. + // Non-shared: endB → startB (forward, wrapping). + // + // The last vertex of partA (startA) must coincide with the first vertex + // of partB for a clean join. + + const partA = walkRing(ringA, endA, startA); + + let partB; + if (reversed) { + // B's non-shared goes from startB forward to endB. + // startB vertex ≈ startA vertex (they meet at one end of the shared boundary). + partB = walkRing(ringB, startB, endB); + } else { + // B's non-shared goes from endB forward to startB. + partB = walkRing(ringB, endB, startB); + } + + // partA ends at startA, partB starts at a vertex that should coincide. + // Skip the first vertex of partB to avoid the duplicate junction point. + const merged = [...partA, ...partB.slice(1)]; + + // Snap the closing junction. With non-coincident vertices (separate + // digitisation) the last vertex of partB may be a few metres from the + // first vertex of partA (ringA[endA]). Replace it to avoid a tiny + // sliver edge that closeRing would otherwise create. + const tolSq = tolerance * tolerance; + if (merged.length > 2 && dist2(merged[merged.length - 1], merged[0]) < tolSq) { + merged[merged.length - 1] = merged[0].slice(); + } + + const mergedRing = closeRing(merged); + + // 4. Validate: the merged ring should have a reasonable area + const areaA = Math.abs(signedArea(ringA)); + const areaB = Math.abs(signedArea(ringB)); + const areaMerged = Math.abs(signedArea(mergedRing)); + const expectedArea = areaA + areaB; + + // Allow 10% tolerance for area mismatch (shared edges can cause slight differences) + if (areaMerged < expectedArea * 0.5 || areaMerged > expectedArea * 1.5) { + console.warn(`[polygonMerge] Area mismatch: A=${areaA.toFixed(1)}, B=${areaB.toFixed(1)}, merged=${areaMerged.toFixed(1)}, expected≈${expectedArea.toFixed(1)}`); + return { coords: null, error: 'Merge produced an invalid polygon (area mismatch). The polygons may not be truly adjacent — try clicking closer to the shared boundary.' }; + } + + // 5. Match winding order to original + const originalCCW = signedArea(ringA) > 0; + const finalRing = ensureWinding(mergedRing, originalCCW); + + // 6. Collect holes from both polygons + const allHoles = [...holesA, ...holesB]; + // Filter: only include holes that actually fall inside the merged ring + const validHoles = allHoles.filter(hole => { + const cx = hole.reduce((s, p) => s + p[0], 0) / (hole.length - 1); + const cy = hole.reduce((s, p) => s + p[1], 0) / (hole.length - 1); + return pointInRing([cx, cy], finalRing); + }); + + return { coords: [finalRing, ...validHoles] }; +} diff --git a/src/geom/polygonSplit.js b/src/geom/polygonSplit.js new file mode 100644 index 0000000..b5444b9 --- /dev/null +++ b/src/geom/polygonSplit.js @@ -0,0 +1,395 @@ +/** + * Pure geometry functions for splitting a polygon by a line. + * + * No OpenLayers dependency — operates on raw coordinate arrays. + */ + +/** + * Compute the intersection point of two 2D line segments. + * Segment A: p1→p2, Segment B: p3→p4. + * + * @param {number[]} p1 + * @param {number[]} p2 + * @param {number[]} p3 + * @param {number[]} p4 + * @param {number} [eps=1e-10] tolerance for parallel check + * @returns {{ point: number[], t: number, u: number } | null} + * t = parametric position on segment A (0–1), + * u = parametric position on segment B (0–1) + */ +function segmentIntersection(p1, p2, p3, p4, eps = 1e-10) { + const dx1 = p2[0] - p1[0]; + const dy1 = p2[1] - p1[1]; + const dx2 = p4[0] - p3[0]; + const dy2 = p4[1] - p3[1]; + + const denom = dx1 * dy2 - dy1 * dx2; + if (Math.abs(denom) < eps) return null; // parallel / collinear + + const dx3 = p3[0] - p1[0]; + const dy3 = p3[1] - p1[1]; + + const t = (dx3 * dy2 - dy3 * dx2) / denom; + const u = (dx3 * dy1 - dy3 * dx1) / denom; + + if (t < -eps || t > 1 + eps || u < -eps || u > 1 + eps) return null; + + return { + point: [p1[0] + t * dx1, p1[1] + t * dy1], + t: Math.max(0, Math.min(1, t)), + u: Math.max(0, Math.min(1, u)), + }; +} + +/** + * Signed area of a ring (shoelace formula). + * Positive = counter-clockwise, negative = clockwise. + */ +function signedArea(ring) { + let area = 0; + for (let i = 0, n = ring.length; i < n - 1; i++) { + area += (ring[i][0] * ring[i + 1][1]) - (ring[i + 1][0] * ring[i][1]); + } + return area / 2; +} + +/** + * Test whether a point is inside a ring (ray-casting algorithm). + */ +function pointInRing(pt, ring) { + let inside = false; + for (let i = 0, j = ring.length - 2; i < ring.length - 1; j = i++) { + const xi = ring[i][0], yi = ring[i][1]; + const xj = ring[j][0], yj = ring[j][1]; + if (((yi > pt[1]) !== (yj > pt[1])) && + (pt[0] < (xj - xi) * (pt[1] - yi) / (yj - yi) + xi)) { + inside = !inside; + } + } + return inside; +} + +/** + * Squared distance between two points. + */ +function dist2(a, b) { + return (a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2; +} + +/** + * Find all intersection points between a cutting line and a polygon ring. + * + * @param {number[][]} ring Closed ring coordinates (first === last) + * @param {number[][]} line LineString coordinates (2+ points) + * @returns {Array<{ point: number[], ringSegIdx: number, ringT: number, lineSegIdx: number, lineT: number }>} + */ +function findIntersections(ring, line) { + const hits = []; + const eps = 1e-10; + + for (let li = 0; li < line.length - 1; li++) { + for (let ri = 0; ri < ring.length - 1; ri++) { + const ix = segmentIntersection(ring[ri], ring[ri + 1], line[li], line[li + 1], eps); + if (!ix) continue; + + // Skip if intersection is at the very start of the ring segment + // but was already caught as the end of the previous segment + const pt = ix.point; + + // Avoid duplicate hits at shared vertices + let isDup = false; + for (const h of hits) { + if (dist2(h.point, pt) < 1e-6) { + isDup = true; + break; + } + } + if (isDup) continue; + + hits.push({ + point: pt, + ringSegIdx: ri, + ringT: ix.t, + lineSegIdx: li, + lineT: ix.u, + }); + } + } + + // Sort by position along the cutting line + hits.sort((a, b) => { + if (a.lineSegIdx !== b.lineSegIdx) return a.lineSegIdx - b.lineSegIdx; + return a.lineT - b.lineT; + }); + + return hits; +} + +/** + * Insert intersection points into a ring, returning the expanded ring + * and the new indices of the inserted points. + * + * @param {number[][]} ring Closed ring (first === last) + * @param {Array<{ point: number[], ringSegIdx: number, ringT: number }>} hits + * Sorted by ringSegIdx then ringT. + * @returns {{ ring: number[][], indices: number[] }} + */ +function insertPointsIntoRing(ring, hits) { + // Sort hits by ring position (segment index, then parametric t) so + // we can insert from back to front without shifting earlier indices. + const sorted = hits.map((h, i) => ({ ...h, origOrder: i })); + sorted.sort((a, b) => { + if (a.ringSegIdx !== b.ringSegIdx) return a.ringSegIdx - b.ringSegIdx; + return a.ringT - b.ringT; + }); + + const expanded = ring.slice(); // copy + const indices = new Array(sorted.length); + + // Insert from the end so that earlier insertions don't shift later indices. + for (let k = sorted.length - 1; k >= 0; k--) { + const h = sorted[k]; + const insertIdx = h.ringSegIdx + 1; + + // Check if this point is essentially identical to an existing vertex + const snapDist = 1e-6; + if (dist2(h.point, expanded[h.ringSegIdx]) < snapDist) { + indices[h.origOrder] = h.ringSegIdx; + continue; + } + if (dist2(h.point, expanded[h.ringSegIdx + 1]) < snapDist) { + indices[h.origOrder] = h.ringSegIdx + 1; + continue; + } + + // Insert the new point + expanded.splice(insertIdx, 0, h.point); + indices[h.origOrder] = insertIdx; + + // Adjust indices for all previously recorded insertions + // that reference a position >= insertIdx + for (let j = k + 1; j < sorted.length; j++) { + if (indices[sorted[j].origOrder] >= insertIdx) { + indices[sorted[j].origOrder]++; + } + } + } + + return { ring: expanded, indices }; +} + +/** + * Extract a slice of a ring from index i0 to i1 (going forward, wrapping). + * Both endpoints are included. + * + * @param {number[][]} ring Closed ring (first === last); length includes closing vertex + * @param {number} i0 Start index (inclusive) + * @param {number} i1 End index (inclusive) + * @returns {number[][]} + */ +function ringSlice(ring, i0, i1) { + const n = ring.length - 1; // number of unique vertices (ring is closed) + // Normalise indices into the [0, n-1] range + const start = ((i0 % n) + n) % n; + const end = ((i1 % n) + n) % n; + const result = []; + let idx = start; + while (true) { + result.push(ring[idx]); + if (idx === end) break; + idx = (idx + 1) % n; + } + return result; +} + +/** + * Extract the cutting line segment between two intersection points. + * + * @param {number[][]} line Full cutting line coordinates + * @param {{ point: number[], lineSegIdx: number, lineT: number }} hit0 + * @param {{ point: number[], lineSegIdx: number, lineT: number }} hit1 + * @returns {number[][]} Coordinates from hit0.point to hit1.point along the line + */ +function cuttingLineSlice(line, hit0, hit1) { + const result = [hit0.point]; + + // Include all intermediate line vertices between the two hit segments + const startSeg = hit0.lineSegIdx; + const endSeg = hit1.lineSegIdx; + + for (let i = startSeg + 1; i <= endSeg; i++) { + result.push(line[i]); + } + + // Add the end intersection point if it's not the same as the last vertex + if (dist2(result[result.length - 1], hit1.point) > 1e-10) { + result.push(hit1.point); + } + + return result; +} + +/** + * Ensure a ring has the desired winding order. + * @param {number[][]} ring Closed ring + * @param {boolean} ccw true for counter-clockwise + * @returns {number[][]} + */ +function ensureWinding(ring, ccw) { + const area = signedArea(ring); + if ((ccw && area < 0) || (!ccw && area > 0)) { + return ring.slice().reverse(); + } + return ring; +} + +/** + * Close a ring (ensure first === last). + */ +function closeRing(coords) { + if (coords.length < 2) return coords; + const first = coords[0]; + const last = coords[coords.length - 1]; + if (dist2(first, last) > 1e-10) { + return [...coords, first.slice()]; + } + return coords; +} + +/** + * Extend a cutting line so that both endpoints lie outside the polygon ring. + * If an endpoint is inside, we extend the first/last segment outward past the + * bounding box diagonal so it definitely exits. + * + * @param {number[][]} line Cutting line coordinates + * @param {number[][]} ring Closed polygon ring + * @returns {number[][]} Extended line (may be the original if already outside) + */ +function extendLineOutsideRing(line, ring) { + // Compute bounding-box diagonal for a generous extension distance + let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity; + for (const pt of ring) { + if (pt[0] < minX) minX = pt[0]; + if (pt[1] < minY) minY = pt[1]; + if (pt[0] > maxX) maxX = pt[0]; + if (pt[1] > maxY) maxY = pt[1]; + } + const diag = Math.sqrt((maxX - minX) ** 2 + (maxY - minY) ** 2) || 1; + + const result = line.slice(); + + // Extend start if inside + if (pointInRing(result[0], ring)) { + const p0 = result[0]; + const p1 = result[1]; + const dx = p0[0] - p1[0]; + const dy = p0[1] - p1[1]; + const len = Math.sqrt(dx * dx + dy * dy) || 1; + const scale = diag * 2 / len; + result[0] = [p0[0] + dx * scale, p0[1] + dy * scale]; + } + + // Extend end if inside + const last = result.length - 1; + if (pointInRing(result[last], ring)) { + const pN = result[last]; + const pN1 = result[last - 1]; + const dx = pN[0] - pN1[0]; + const dy = pN[1] - pN1[1]; + const len = Math.sqrt(dx * dx + dy * dy) || 1; + const scale = diag * 2 / len; + result[last] = [pN[0] + dx * scale, pN[1] + dy * scale]; + } + + return result; +} + +/** + * Split a polygon by a cutting line. + * + * The cutting line can start or end inside the polygon — the algorithm will + * automatically extend it outward so it crosses the boundary at exactly 2 + * points. Multi-vertex cutting lines (with corners or approximated arcs) + * are fully supported. + * + * @param {number[][][]} polygonCoords Polygon coordinates: + * [exteriorRing, ...holeRings] where each ring is closed (first === last) + * @param {number[][]} lineCoords Cutting line coordinates (2+ points) + * @returns {number[][][][] | null} Two polygon coordinate arrays, or null if split failed + */ +export function splitPolygonByLine(polygonCoords, lineCoords) { + const exteriorRing = polygonCoords[0]; + const holes = polygonCoords.slice(1); + + // Extend the cutting line if its endpoints are inside the polygon + const extendedLine = extendLineOutsideRing(lineCoords, exteriorRing); + + // 1. Find intersections between cutting line and exterior ring + const hits = findIntersections(exteriorRing, extendedLine); + + // We need exactly 2 intersection points for a simple split + if (hits.length !== 2) { + console.warn(`[polygonSplit] Expected 2 intersections, got ${hits.length}`); + return null; + } + + const [hit0, hit1] = hits; + + // 2. Insert intersection points into the ring + const { ring: expandedRing, indices } = insertPointsIntoRing(exteriorRing, hits); + const idx0 = indices[0]; + const idx1 = indices[1]; + + // Ensure idx0 < idx1 for consistent traversal + const [iA, iB] = idx0 < idx1 ? [idx0, idx1] : [idx1, idx0]; + const [hitA, hitB] = idx0 < idx1 ? [hit0, hit1] : [hit1, hit0]; + + // 3. Get the cutting line segment between the two intersection points + const cutForward = idx0 < idx1 + ? cuttingLineSlice(extendedLine, hit0, hit1) + : cuttingLineSlice(extendedLine, hit1, hit0); + const cutReverse = cutForward.slice().reverse(); + + // 4. Build two polygon rings + // Ring A: walk ring from iA to iB (forward), then cutting line reversed back to iA + const sliceAB = ringSlice(expandedRing, iA, iB); + const ringA = closeRing([...sliceAB, ...cutReverse.slice(1)]); + + // Ring B: walk ring from iB to iA (wrapping), then cutting line forward back to iB + const sliceBA = ringSlice(expandedRing, iB, iA); + const ringB = closeRing([...sliceBA, ...cutForward.slice(1)]); + + // 5. Match winding order to original + const originalCCW = signedArea(exteriorRing) > 0; + const finalA = ensureWinding(ringA, originalCCW); + const finalB = ensureWinding(ringB, originalCCW); + + // 6. Build polygon coordinate arrays, assigning holes to the correct piece + const polyA = [finalA]; + const polyB = [finalB]; + + for (const hole of holes) { + // Use the centroid of the hole to determine containment + const centroid = holeCentroid(hole); + if (pointInRing(centroid, finalA)) { + polyA.push(hole); + } else { + polyB.push(hole); + } + } + + return [polyA, polyB]; +} + +/** + * Compute the centroid of a closed ring. + */ +function holeCentroid(ring) { + let cx = 0, cy = 0; + const n = ring.length - 1; // exclude closing vertex + for (let i = 0; i < n; i++) { + cx += ring[i][0]; + cy += ring[i][1]; + } + return [cx / n, cy / n]; +} diff --git a/src/interactions/PolygonDivideInteraction.js b/src/interactions/PolygonDivideInteraction.js new file mode 100644 index 0000000..7a48bc5 --- /dev/null +++ b/src/interactions/PolygonDivideInteraction.js @@ -0,0 +1,492 @@ +/** + * PolygonDivideInteraction + * + * A three-phase OpenLayers interaction for dividing a polygon into N + * equal-area pieces: + * Phase 1 – SELECT: hover to highlight, click to select a polygon + * Phase 2 – EDGE: hover to highlight edges, click to pick the divide + * direction (cuts will be perpendicular to this edge) + * Phase 3 – FORM: wait for the popup form to call performDivide(n) + * + * After a successful divide the original feature is removed and N new + * coloured features are added. The interaction fires `beforedivide` and + * `afterdivide` events compatible with ol-ext's UndoRedo. + */ + +import ol_interaction_Interaction from 'ol/interaction/Interaction'; +import VectorSource from 'ol/source/Vector'; +import VectorLayer from 'ol/layer/Vector'; +import Feature from 'ol/Feature'; +import { Style, Stroke, Fill } from 'ol/style'; +import { LineString, Polygon as PolygonGeom } from 'ol/geom'; +import { dividePolygon } from '../geom/polygonDivide.js'; +import { showToast } from '../toast.js'; + +// Highlight style for the selected polygon (phase 1) +const HIGHLIGHT_STYLE = new Style({ + stroke: new Stroke({ color: '#0ea5e9', width: 3 }), + fill: new Fill({ color: 'rgba(14,165,233,0.15)' }), +}); + +// Style for the hovered edge (phase 2) +const EDGE_STYLE = new Style({ + stroke: new Stroke({ color: '#8b5cf6', width: 4, lineDash: [10, 6] }), +}); + +/** + * Generate N visually distinct colours using evenly-spaced HSL hues. + */ +function pieceColors(n) { + const colors = []; + for (let i = 0; i < n; i++) { + const hue = Math.round((i * 360) / n); + colors.push({ + stroke: `hsl(${hue}, 70%, 45%)`, + fill: `hsla(${hue}, 70%, 55%, 0.25)`, + }); + } + return colors; +} + +export class PolygonDivideInteraction extends ol_interaction_Interaction { + /** + * @param {Object} options + * @param {VectorSource|VectorSource[]} [options.sources] Specific sources + * to search. If omitted the interaction searches all visible vector layers. + * @param {number} [options.snapDistance=25] Pixel distance for hover. + */ + constructor(options = {}) { + super({ + handleEvent: (e) => this._handleEvent(e), + }); + + this.snapDistance_ = options.snapDistance || 25; + this._sources = options.sources + ? (Array.isArray(options.sources) ? options.sources : [options.sources]) + : null; + + // Phase: 'select' | 'edge' | 'form' | 'pick' + this._phase = 'select'; + this._selectedFeature = null; + this._selectedSource = null; + this._selectedEdge = null; // [p0, p1] — the edge the user clicked + this._dividedFeatures = null; // features created after divide (for pick phase) + + // Overlay layer for polygon highlight + this._overlaySource = new VectorSource({ useSpatialIndex: false }); + this._overlayLayer = new VectorLayer({ + source: this._overlaySource, + displayInLayerSwitcher: false, + style: HIGHLIGHT_STYLE, + }); + + // Overlay layer for edge highlight + this._edgeSource = new VectorSource({ useSpatialIndex: false }); + this._edgeLayer = new VectorLayer({ + source: this._edgeSource, + displayInLayerSwitcher: false, + style: EDGE_STYLE, + }); + } + + /* ------------------------------------------------------------------ */ + /* Map lifecycle */ + /* ------------------------------------------------------------------ */ + + setMap(map) { + if (this.getMap()) { + this.getMap().removeLayer(this._overlayLayer); + this.getMap().removeLayer(this._edgeLayer); + } + super.setMap(map); + if (map) { + this._overlayLayer.setMap(map); + this._edgeLayer.setMap(map); + } + } + + setActive(active) { + super.setActive(active); + if (!active) { + this._reset(); + } + } + + /* ------------------------------------------------------------------ */ + /* Source helpers */ + /* ------------------------------------------------------------------ */ + + _getSources() { + if (this._sources) return this._sources; + if (!this.getMap()) return []; + const sources = []; + const collect = (layers) => { + layers.forEach((layer) => { + if (layer.getVisible()) { + if (layer.getSource && layer.getSource() instanceof VectorSource) { + sources.push(layer.getSource()); + } else if (layer.getLayers) { + collect(layer.getLayers()); + } + } + }); + }; + collect(this.getMap().getLayers()); + return sources; + } + + /* ------------------------------------------------------------------ */ + /* Event router */ + /* ------------------------------------------------------------------ */ + + _handleEvent(e) { + if (!this.getActive()) return true; + + // Escape cancels at any phase + if (e.type === 'keydown' && e.originalEvent?.key === 'Escape') { + if (this._phase === 'form') { + this.cancelDivide(); + } else { + this._reset(); + } + return false; + } + + if (this._phase === 'select') { + if (e.type === 'pointermove') return this._onSelectMove(e); + if (e.type === 'singleclick') return this._onSelectClick(e); + } + + if (this._phase === 'edge') { + if (e.type === 'pointermove') return this._onEdgeMove(e); + if (e.type === 'singleclick') return this._onEdgeClick(e); + } + + if (this._phase === 'pick') { + if (e.type === 'pointermove') return this._onPickMove(e); + if (e.type === 'singleclick') return this._onPickClick(e); + } + + return true; + } + + /* ------------------------------------------------------------------ */ + /* Phase 1: SELECT polygon */ + /* ------------------------------------------------------------------ */ + + _onSelectMove(e) { + const map = this.getMap(); + if (!map) return true; + + this._overlaySource.clear(); + + const hit = this._closestPolygon(e); + if (hit) { + const clone = hit.feature.clone(); + this._overlaySource.addFeature(clone); + map.getTargetElement().style.cursor = 'pointer'; + } else { + map.getTargetElement().style.cursor = ''; + } + return true; + } + + _onSelectClick(e) { + const hit = this._closestPolygon(e); + if (!hit) return true; + + this._selectedFeature = hit.feature; + this._selectedSource = hit.source; + + // Keep polygon highlight visible during edge phase + this._overlaySource.clear(); + const clone = hit.feature.clone(); + clone.set('_permanent', true); + this._overlaySource.addFeature(clone); + + this._phase = 'edge'; + showToast('Click the edge to divide along.', 'info', 3000); + return false; + } + + _closestPolygon(e) { + let best = null; + let bestDist = this.snapDistance_ + 1; + + for (const source of this._getSources()) { + const feat = source.getClosestFeatureToCoordinate(e.coordinate); + if (!feat) continue; + const geom = feat.getGeometry(); + if (!geom) continue; + const type = geom.getType(); + if (type !== 'Polygon' && type !== 'MultiPolygon') continue; + + const closest = geom.getClosestPoint(e.coordinate); + const line = new LineString([e.coordinate, closest]); + const distPx = line.getLength() / e.frameState.viewState.resolution; + + if (distPx < bestDist) { + bestDist = distPx; + best = { feature: feat, source }; + } + } + return best; + } + + /* ------------------------------------------------------------------ */ + /* Phase 2: EDGE selection */ + /* ------------------------------------------------------------------ */ + + _onEdgeMove(e) { + const map = this.getMap(); + if (!map) return true; + + this._edgeSource.clear(); + + const edge = this._closestEdgeSegment(this._selectedFeature, e); + if (edge) { + const edgeFeat = new Feature(new LineString([edge.segStart, edge.segEnd])); + this._edgeSource.addFeature(edgeFeat); + map.getTargetElement().style.cursor = 'crosshair'; + } else { + map.getTargetElement().style.cursor = ''; + } + return true; + } + + _onEdgeClick(e) { + const edge = this._closestEdgeSegment(this._selectedFeature, e); + if (!edge) return true; + + this._selectedEdge = [edge.segStart, edge.segEnd]; + this._edgeSource.clear(); + + this._phase = 'form'; + + // Dispatch divideform so MapView can show the popup + const geom = this._selectedFeature.getGeometry(); + const ext = geom.getExtent(); + const center = [(ext[0] + ext[2]) / 2, (ext[1] + ext[3]) / 2]; + + this.dispatchEvent({ + type: 'divideform', + feature: this._selectedFeature, + source: this._selectedSource, + coordinate: center, + }); + + return false; + } + + /** + * Find the closest edge segment of a polygon feature to the cursor. + */ + _closestEdgeSegment(feature, e) { + const geom = feature.getGeometry(); + let ring; + if (geom.getType() === 'Polygon') { + ring = geom.getCoordinates()[0]; + } else if (geom.getType() === 'MultiPolygon') { + ring = geom.getCoordinates()[0][0]; + } else { + return null; + } + + const resolution = e.frameState.viewState.resolution; + let bestDist = Infinity; + let bestSeg = null; + const n = ring.length - 1; + + for (let i = 0; i < n; i++) { + const a = ring[i]; + const b = ring[i + 1]; + const dx = b[0] - a[0], dy = b[1] - a[1]; + const lenSq = dx * dx + dy * dy; + if (lenSq < 1e-20) continue; + + let t = ((e.coordinate[0] - a[0]) * dx + (e.coordinate[1] - a[1]) * dy) / lenSq; + t = Math.max(0, Math.min(1, t)); + const projX = a[0] + t * dx, projY = a[1] + t * dy; + const distPx = Math.sqrt((e.coordinate[0] - projX) ** 2 + (e.coordinate[1] - projY) ** 2) / resolution; + + if (distPx < bestDist) { + bestDist = distPx; + bestSeg = { segStart: a, segEnd: b }; + } + } + return bestDist <= this.snapDistance_ ? bestSeg : null; + } + + /* ------------------------------------------------------------------ */ + /* Phase 3: FORM — called externally by the popup */ + /* ------------------------------------------------------------------ */ + + /** + * Divide the selected polygon into `n` equal-area pieces. + * Called by the MapView popup's Confirm handler. + * + * @param {number} n Number of pieces (>= 2) + */ + performDivide(n) { + if (this._phase !== 'form' || !this._selectedFeature) return; + + const feature = this._selectedFeature; + const source = this._selectedSource; + const geom = feature.getGeometry(); + + let polygonCoords; + if (geom.getType() === 'Polygon') { + polygonCoords = geom.getCoordinates(); + } else if (geom.getType() === 'MultiPolygon') { + polygonCoords = geom.getCoordinates()[0]; + } + + const result = dividePolygon(polygonCoords, n, this._selectedEdge); + + if (!result.pieces) { + showToast(result.error || 'Division failed.', 'error', 5000); + this._reset(); + return; + } + + // Create N new coloured features + const colors = pieceColors(n); + const newFeatures = result.pieces.map((coords, i) => { + const f = feature.clone(); + f.setGeometry(new PolygonGeom(coords)); + f.setStyle(new Style({ + stroke: new Stroke({ color: colors[i].stroke, width: 2.5 }), + fill: new Fill({ color: colors[i].fill }), + })); + return f; + }); + + // Dispatch beforedivide (UndoRedo compatible) + const evtData = { + type: 'beforedivide', + original: feature, + features: newFeatures, + }; + this.dispatchEvent(evtData); + source.dispatchEvent({ ...evtData }); + + // Replace original with pieces + source.removeFeature(feature); + for (const f of newFeatures) { + source.addFeature(f); + } + + // Dispatch afterdivide + const afterEvt = { + type: 'afterdivide', + original: feature, + features: newFeatures, + }; + this.dispatchEvent(afterEvt); + source.dispatchEvent({ ...afterEvt }); + + // If original was a parcel, enter pick phase for UPN assignment + const isParcel = feature.get('_layerType') === 'parcel'; + if (isParcel) { + this._dividedFeatures = newFeatures; + this._phase = 'pick'; + showToast('Click the polygon that should keep the original identifier.', 'info', 5000); + + this.dispatchEvent({ + type: 'dividedparcel', + features: newFeatures, + originalProps: feature.getProperties(), + source, + }); + } else { + showToast(`Polygon divided into ${n} equal pieces.`, 'success'); + this._reset(); + } + } + + /* ------------------------------------------------------------------ */ + /* Phase 4: PICK — select which piece keeps the UPN */ + /* ------------------------------------------------------------------ */ + + _onPickMove(e) { + const map = this.getMap(); + if (!map) return true; + + this._overlaySource.clear(); + + // Highlight whichever divided piece is under the cursor + const hit = this._closestDividedPiece(e); + if (hit) { + const clone = hit.clone(); + this._overlaySource.addFeature(clone); + map.getTargetElement().style.cursor = 'pointer'; + } else { + map.getTargetElement().style.cursor = ''; + } + return true; + } + + _onPickClick(e) { + const hit = this._closestDividedPiece(e); + if (!hit) return true; + + this.dispatchEvent({ + type: 'dividepick', + picked: hit, + features: this._dividedFeatures, + }); + + this._reset(); + return false; + } + + /** + * Find the closest divided piece to the cursor. + */ + _closestDividedPiece(e) { + if (!this._dividedFeatures) return null; + let best = null; + let bestDist = this.snapDistance_ + 1; + + for (const feat of this._dividedFeatures) { + const geom = feat.getGeometry(); + if (!geom) continue; + const closest = geom.getClosestPoint(e.coordinate); + const line = new LineString([e.coordinate, closest]); + const distPx = line.getLength() / e.frameState.viewState.resolution; + if (distPx < bestDist) { + bestDist = distPx; + best = feat; + } + } + return best; + } + + /** + * Cancel the divide operation and return to select phase. + * Called by the MapView popup's Cancel handler. + */ + cancelDivide() { + this.dispatchEvent({ type: 'dividecancel' }); + this._reset(); + } + + /* ------------------------------------------------------------------ */ + /* Reset */ + /* ------------------------------------------------------------------ */ + + _reset() { + this._phase = 'select'; + this._selectedFeature = null; + this._selectedSource = null; + this._selectedEdge = null; + this._dividedFeatures = null; + this._overlaySource.clear(); + this._edgeSource.clear(); + + const map = this.getMap(); + if (map) { + map.getTargetElement().style.cursor = ''; + } + } +} diff --git a/src/interactions/PolygonMergeInteraction.js b/src/interactions/PolygonMergeInteraction.js new file mode 100644 index 0000000..0da7443 --- /dev/null +++ b/src/interactions/PolygonMergeInteraction.js @@ -0,0 +1,475 @@ +/** + * PolygonMergeInteraction + * + * A four-phase OpenLayers interaction for merging two adjacent polygons: + * Phase 1 – SELECT_A: hover to highlight, click to select polygon A + * Phase 2 – SELECT_B: hover to highlight, click to select polygon B + * Phase 3 – CLICK_EDGE_A: hover highlights edge, click to pick shared edge on A + * Phase 4 – CLICK_EDGE_B: hover highlights edge, click to pick shared edge on B → merge + * + * After a successful merge the two original features are removed and one + * merged feature (coloured green) is added. If both originals were parcels, + * a `mergedparcel` event is fired so external code can present a UPN chooser. + */ + +import ol_interaction_Interaction from 'ol/interaction/Interaction'; +import VectorSource from 'ol/source/Vector'; +import VectorLayer from 'ol/layer/Vector'; +import Feature from 'ol/Feature'; +import { Style, Stroke, Fill, Text } from 'ol/style'; +import { LineString, Polygon as PolygonGeom } from 'ol/geom'; +import { mergePolygons } from '../geom/polygonMerge.js'; +import { showToast } from '../toast.js'; + +// ── Styles ─────────────────────────────────────────────────────────────────── + +const HIGHLIGHT_A = new Style({ + stroke: new Stroke({ color: '#0ea5e9', width: 3 }), + fill: new Fill({ color: 'rgba(14,165,233,0.15)' }), +}); + +const HIGHLIGHT_B = new Style({ + stroke: new Stroke({ color: '#f59e0b', width: 3 }), + fill: new Fill({ color: 'rgba(245,158,11,0.15)' }), +}); + +// Labelled versions for permanent highlights (shown after selection) +const LABEL_A = new Style({ + stroke: new Stroke({ color: '#0ea5e9', width: 3 }), + fill: new Fill({ color: 'rgba(14,165,233,0.15)' }), + text: new Text({ + text: 'A', + font: 'bold 22px Exo, sans-serif', + fill: new Fill({ color: '#0ea5e9' }), + stroke: new Stroke({ color: '#fff', width: 4 }), + overflow: true, + }), +}); + +const LABEL_B = new Style({ + stroke: new Stroke({ color: '#f59e0b', width: 3 }), + fill: new Fill({ color: 'rgba(245,158,11,0.15)' }), + text: new Text({ + text: 'B', + font: 'bold 22px Exo, sans-serif', + fill: new Fill({ color: '#f59e0b' }), + stroke: new Stroke({ color: '#fff', width: 4 }), + overflow: true, + }), +}); + +const EDGE_STYLE = new Style({ + stroke: new Stroke({ color: '#ec4899', width: 4, lineDash: [10, 6] }), +}); + +const MERGE_STYLE = new Style({ + stroke: new Stroke({ color: '#10b981', width: 2.5 }), + fill: new Fill({ color: 'rgba(16,185,129,0.3)' }), +}); + +// ── Interaction ────────────────────────────────────────────────────────────── + +export class PolygonMergeInteraction extends ol_interaction_Interaction { + /** + * @param {Object} [options] + * @param {number} [options.snapDistance=25] Pixel distance for hover detection. + * @param {number} [options.tolerance=5] Map-unit tolerance for shared-edge matching. + */ + constructor(options = {}) { + super({ + handleEvent: (e) => this._handleEvent(e), + }); + + this.snapDistance_ = options.snapDistance || 25; + this.tolerance_ = options.tolerance || 5; + + // Phase: 'select_a' | 'select_b' | 'click_edge_a' | 'click_edge_b' + this._phase = 'select_a'; + + // Selected features and their sources + this._featureA = null; + this._sourceA = null; + this._featureB = null; + this._sourceB = null; + + // Clicked edge coordinates (map coords) + this._edgeClickA = null; + this._edgeClickB = null; + + // Overlay for polygon highlights + this._highlightSource = new VectorSource({ useSpatialIndex: false }); + this._highlightLayer = new VectorLayer({ + source: this._highlightSource, + displayInLayerSwitcher: false, + style: (f) => f.get('_highlightStyle') || HIGHLIGHT_A, + }); + + // Overlay for edge highlights + this._edgeSource = new VectorSource({ useSpatialIndex: false }); + this._edgeLayer = new VectorLayer({ + source: this._edgeSource, + displayInLayerSwitcher: false, + style: EDGE_STYLE, + }); + } + + /* ------------------------------------------------------------------ */ + /* Map lifecycle */ + /* ------------------------------------------------------------------ */ + + setMap(map) { + if (this.getMap()) { + this.getMap().removeLayer(this._highlightLayer); + this.getMap().removeLayer(this._edgeLayer); + } + super.setMap(map); + if (map) { + this._highlightLayer.setMap(map); + this._edgeLayer.setMap(map); + } + } + + setActive(active) { + super.setActive(active); + if (!active) this._reset(); + } + + /* ------------------------------------------------------------------ */ + /* Source helpers */ + /* ------------------------------------------------------------------ */ + + _getSources() { + if (!this.getMap()) return []; + const sources = []; + const collect = (layers) => { + layers.forEach((layer) => { + if (layer.getVisible()) { + if (layer.getSource && layer.getSource() instanceof VectorSource) { + sources.push(layer.getSource()); + } else if (layer.getLayers) { + collect(layer.getLayers()); + } + } + }); + }; + collect(this.getMap().getLayers()); + return sources; + } + + /* ------------------------------------------------------------------ */ + /* Event router */ + /* ------------------------------------------------------------------ */ + + _handleEvent(e) { + if (!this.getActive()) return true; + + // Escape cancels at any phase + if (e.type === 'keydown' && e.originalEvent?.key === 'Escape') { + this._reset(); + return false; + } + + switch (this._phase) { + case 'select_a': + if (e.type === 'pointermove') return this._onSelectMove(e, null); + if (e.type === 'singleclick') return this._onSelectAClick(e); + break; + case 'select_b': + if (e.type === 'pointermove') return this._onSelectMove(e, this._featureA); + if (e.type === 'singleclick') return this._onSelectBClick(e); + break; + case 'click_edge_a': + if (e.type === 'pointermove') return this._onEdgeMove(e, this._featureA); + if (e.type === 'singleclick') return this._onEdgeAClick(e); + break; + case 'click_edge_b': + if (e.type === 'pointermove') return this._onEdgeMove(e, this._featureB); + if (e.type === 'singleclick') return this._onEdgeBClick(e); + break; + } + return true; + } + + /* ------------------------------------------------------------------ */ + /* Phase 1 & 2: SELECT polygons */ + /* ------------------------------------------------------------------ */ + + _onSelectMove(e, skipFeature) { + const map = this.getMap(); + if (!map) return true; + + // Keep existing highlights for already-selected polygons + this._highlightSource.clear(); + this._edgeSource.clear(); + this._rebuildHighlights(); + + const hit = this._closestPolygon(e, skipFeature); + if (hit) { + const style = this._phase === 'select_a' ? HIGHLIGHT_A : HIGHLIGHT_B; + const clone = hit.feature.clone(); + clone.set('_highlightStyle', style); + this._highlightSource.addFeature(clone); + map.getTargetElement().style.cursor = 'pointer'; + } else { + map.getTargetElement().style.cursor = ''; + } + return true; + } + + _onSelectAClick(e) { + const hit = this._closestPolygon(e, null); + if (!hit) return true; + + this._featureA = hit.feature; + this._sourceA = hit.source; + this._phase = 'select_b'; + + this._rebuildHighlights(); + return false; + } + + _onSelectBClick(e) { + const hit = this._closestPolygon(e, this._featureA); + if (!hit) return true; + + this._featureB = hit.feature; + this._sourceB = hit.source; + this._phase = 'click_edge_a'; + + this._rebuildHighlights(); + this.getMap().getTargetElement().style.cursor = 'crosshair'; + return false; + } + + /** + * Find the closest polygon feature within snap distance. + * Optionally skip a feature (used in phase 2 to avoid re-selecting A). + */ + _closestPolygon(e, skipFeature) { + let best = null; + let bestDist = this.snapDistance_ + 1; + + for (const source of this._getSources()) { + const feat = source.getClosestFeatureToCoordinate(e.coordinate); + if (!feat) continue; + if (skipFeature && feat === skipFeature) continue; + const geom = feat.getGeometry(); + if (!geom) continue; + const type = geom.getType(); + if (type !== 'Polygon' && type !== 'MultiPolygon') continue; + + const closest = geom.getClosestPoint(e.coordinate); + const line = new LineString([e.coordinate, closest]); + const distPx = line.getLength() / e.frameState.viewState.resolution; + + if (distPx < bestDist) { + bestDist = distPx; + best = { feature: feat, source, coord: closest }; + } + } + return best; + } + + /* ------------------------------------------------------------------ */ + /* Phase 3 & 4: CLICK edges */ + /* ------------------------------------------------------------------ */ + + _onEdgeMove(e, feature) { + const map = this.getMap(); + if (!map) return true; + + this._edgeSource.clear(); + + const edge = this._closestEdgeSegment(feature, e); + if (edge) { + const edgeFeat = new Feature(new LineString([edge.segStart, edge.segEnd])); + this._edgeSource.addFeature(edgeFeat); + map.getTargetElement().style.cursor = 'crosshair'; + } + return true; + } + + _onEdgeAClick(e) { + this._edgeClickA = e.coordinate; + this._phase = 'click_edge_b'; + this._edgeSource.clear(); + return false; + } + + _onEdgeBClick(e) { + this._edgeClickB = e.coordinate; + this._performMerge(); + return false; + } + + /** + * Find the closest edge segment of a polygon feature to the cursor. + */ + _closestEdgeSegment(feature, e) { + const geom = feature.getGeometry(); + let ring; + if (geom.getType() === 'Polygon') { + ring = geom.getCoordinates()[0]; + } else if (geom.getType() === 'MultiPolygon') { + ring = geom.getCoordinates()[0][0]; + } else { + return null; + } + + const resolution = e.frameState.viewState.resolution; + let bestDist = Infinity; + let bestSeg = null; + const n = ring.length - 1; + + for (let i = 0; i < n; i++) { + const a = ring[i]; + const b = ring[i + 1]; + const dx = b[0] - a[0], dy = b[1] - a[1]; + const lenSq = dx * dx + dy * dy; + if (lenSq < 1e-20) continue; + + let t = ((e.coordinate[0] - a[0]) * dx + (e.coordinate[1] - a[1]) * dy) / lenSq; + t = Math.max(0, Math.min(1, t)); + const projX = a[0] + t * dx, projY = a[1] + t * dy; + const distPx = Math.sqrt((e.coordinate[0] - projX) ** 2 + (e.coordinate[1] - projY) ** 2) / resolution; + + if (distPx < bestDist) { + bestDist = distPx; + bestSeg = { segStart: a, segEnd: b }; + } + } + return bestDist <= this.snapDistance_ ? bestSeg : null; + } + + /* ------------------------------------------------------------------ */ + /* Merge logic */ + /* ------------------------------------------------------------------ */ + + _performMerge() { + const featureA = this._featureA; + const featureB = this._featureB; + const sourceA = this._sourceA; + const sourceB = this._sourceB; + + // Extract polygon coordinates + const geomA = featureA.getGeometry(); + const geomB = featureB.getGeometry(); + const coordsA = geomA.getType() === 'Polygon' ? geomA.getCoordinates() : geomA.getCoordinates()[0]; + const coordsB = geomB.getType() === 'Polygon' ? geomB.getCoordinates() : geomB.getCoordinates()[0]; + + const result = mergePolygons(coordsA, coordsB, this._edgeClickA, this._edgeClickB, this.tolerance_); + + if (!result.coords) { + showToast(result.error || 'Merge failed — try clicking on the shared boundary.', 'error', 5000); + // Return to edge click phase for retry + this._edgeClickA = null; + this._edgeClickB = null; + this._phase = 'click_edge_a'; + this._edgeSource.clear(); + return; + } + + // Create merged feature (clone A for default properties) + const mergedFeature = featureA.clone(); + mergedFeature.setGeometry(new PolygonGeom(result.coords)); + mergedFeature.setStyle(MERGE_STYLE); + + // Dispatch beforemerge events + const evtData = { + type: 'beforemerge', + original: [featureA, featureB], + merged: mergedFeature, + }; + this.dispatchEvent(evtData); + sourceA.dispatchEvent({ ...evtData }); + if (sourceB !== sourceA) { + sourceB.dispatchEvent({ ...evtData }); + } + + // Replace originals with merged + sourceA.removeFeature(featureA); + sourceB.removeFeature(featureB); + sourceA.addFeature(mergedFeature); + + // Dispatch aftermerge events + const afterEvt = { + type: 'aftermerge', + original: [featureA, featureB], + merged: mergedFeature, + }; + this.dispatchEvent(afterEvt); + sourceA.dispatchEvent({ ...afterEvt }); + if (sourceB !== sourceA) { + sourceB.dispatchEvent({ ...afterEvt }); + } + + // If both features were parcels, fire mergedparcel so MapView can show the UPN chooser + const isParcelA = featureA.get('_layerType') === 'parcel'; + const isParcelB = featureB.get('_layerType') === 'parcel'; + if (isParcelA && isParcelB) { + this.dispatchEvent({ + type: 'mergedparcel', + merged: mergedFeature, + propsA: featureA.getProperties(), + propsB: featureB.getProperties(), + coordinate: this._edgeClickA, + }); + showToast('Polygons merged — choose which identifier to keep.', 'success'); + } else { + showToast('Polygons merged successfully.', 'success'); + } + + // Clean up + this._reset(); + } + + /* ------------------------------------------------------------------ */ + /* Highlight management */ + /* ------------------------------------------------------------------ */ + + /** + * Rebuild the permanent highlights for already-selected polygons. + */ + _rebuildHighlights() { + // Remove previous non-hover highlights + const toRemove = []; + this._highlightSource.getFeatures().forEach((f) => { + if (f.get('_permanent')) toRemove.push(f); + }); + toRemove.forEach((f) => this._highlightSource.removeFeature(f)); + + if (this._featureA) { + const cloneA = this._featureA.clone(); + cloneA.set('_highlightStyle', LABEL_A); + cloneA.set('_permanent', true); + this._highlightSource.addFeature(cloneA); + } + if (this._featureB) { + const cloneB = this._featureB.clone(); + cloneB.set('_highlightStyle', LABEL_B); + cloneB.set('_permanent', true); + this._highlightSource.addFeature(cloneB); + } + } + + /* ------------------------------------------------------------------ */ + /* Reset */ + /* ------------------------------------------------------------------ */ + + _reset() { + this._phase = 'select_a'; + this._featureA = null; + this._sourceA = null; + this._featureB = null; + this._sourceB = null; + this._edgeClickA = null; + this._edgeClickB = null; + this._highlightSource.clear(); + this._edgeSource.clear(); + + const map = this.getMap(); + if (map) { + map.getTargetElement().style.cursor = ''; + } + } +} diff --git a/src/interactions/PolygonSplitInteraction.js b/src/interactions/PolygonSplitInteraction.js new file mode 100644 index 0000000..3284669 --- /dev/null +++ b/src/interactions/PolygonSplitInteraction.js @@ -0,0 +1,433 @@ +/** + * PolygonSplitInteraction + * + * A two-phase OpenLayers interaction for splitting polygons: + * Phase 1 – SELECT: hover to highlight, click to select a polygon + * Phase 2 – DRAW: draw a cutting line, double-click to finish + * + * After a successful split the original feature is removed and two new + * coloured features are added. The interaction fires `beforesplit` and + * `aftersplit` events compatible with ol-ext's UndoRedo. + */ + +import ol_interaction_Interaction from 'ol/interaction/Interaction'; +import ol_interaction_Draw from 'ol/interaction/Draw'; +import VectorSource from 'ol/source/Vector'; +import VectorLayer from 'ol/layer/Vector'; +import Feature from 'ol/Feature'; +import { Style, Stroke, Fill, Circle as CircleStyle } from 'ol/style'; +import { LineString } from 'ol/geom'; +import { Polygon as PolygonGeom } from 'ol/geom'; +import { splitPolygonByLine } from '../geom/polygonSplit.js'; +import { showToast } from '../toast.js'; + +// Marker colours for the two split pieces +const SPLIT_COLORS = [ + { stroke: '#ef4444', fill: 'rgba(239,68,68,0.25)' }, // red + { stroke: '#3b82f6', fill: 'rgba(59,130,246,0.25)' }, // blue +]; + +// Highlight style for the selected polygon (phase 1) +const HIGHLIGHT_STYLE = new Style({ + stroke: new Stroke({ color: '#0ea5e9', width: 3 }), + fill: new Fill({ color: 'rgba(14,165,233,0.15)' }), +}); + +// Style for the cutting-line sketch (phase 2) +const SKETCH_STYLE = new Style({ + stroke: new Stroke({ color: '#f43f5e', width: 2, lineDash: [8, 6] }), + image: new CircleStyle({ + radius: 5, + fill: new Fill({ color: '#f43f5e' }), + stroke: new Stroke({ color: '#fff', width: 1.5 }), + }), +}); + +export class PolygonSplitInteraction extends ol_interaction_Interaction { + /** + * @param {Object} options + * @param {VectorSource|VectorSource[]} [options.sources] Sources containing + * polygons to split. If omitted the interaction searches all visible + * vector layers on the map. + * @param {number} [options.snapDistance=25] Pixel distance for hover highlight. + */ + constructor(options = {}) { + super({ + handleEvent: (e) => this._handleEvent(e), + }); + + this.snapDistance_ = options.snapDistance || 25; + this._sources = options.sources + ? (Array.isArray(options.sources) ? options.sources : [options.sources]) + : null; + + // Phase: 'select' | 'draw' | 'pick' + this._phase = 'select'; + this._selectedFeature = null; + this._selectedSource = null; + this._drawInteraction = null; + this._splitFeatures = null; // the two pieces (for pick phase) + + // Overlay layer for highlighting the polygon under the cursor / selected + this._overlaySource = new VectorSource({ useSpatialIndex: false }); + this._overlayLayer = new VectorLayer({ + source: this._overlaySource, + displayInLayerSwitcher: false, + style: HIGHLIGHT_STYLE, + }); + } + + /* ------------------------------------------------------------------ */ + /* Map lifecycle */ + /* ------------------------------------------------------------------ */ + + setMap(map) { + if (this.getMap()) { + this.getMap().removeLayer(this._overlayLayer); + this._removeDrawInteraction(); + } + super.setMap(map); + if (map) { + this._overlayLayer.setMap(map); + } + } + + setActive(active) { + super.setActive(active); + if (!active) { + this._reset(); + } + } + + /* ------------------------------------------------------------------ */ + /* Source helpers */ + /* ------------------------------------------------------------------ */ + + _getSources() { + if (this._sources) return this._sources; + if (!this.getMap()) return []; + const sources = []; + const collect = (layers) => { + layers.forEach((layer) => { + if (layer.getVisible()) { + if (layer.getSource && layer.getSource() instanceof VectorSource) { + sources.push(layer.getSource()); + } else if (layer.getLayers) { + collect(layer.getLayers()); + } + } + }); + }; + collect(this.getMap().getLayers()); + return sources; + } + + /* ------------------------------------------------------------------ */ + /* Event router */ + /* ------------------------------------------------------------------ */ + + _handleEvent(e) { + if (!this.getActive()) return true; + + if (this._phase === 'select') { + if (e.type === 'pointermove') return this._onSelectMove(e); + if (e.type === 'singleclick') return this._onSelectClick(e); + } + // In 'draw' phase the Draw interaction handles events directly; + // we only intercept Escape to cancel. + if (this._phase === 'draw') { + if (e.type === 'keydown' && e.originalEvent?.key === 'Escape') { + this._cancelDraw(); + return false; + } + } + + // In 'pick' phase the user selects which split piece keeps the UPN + if (this._phase === 'pick') { + if (e.type === 'pointermove') return this._onPickMove(e); + if (e.type === 'singleclick') return this._onPickClick(e); + if (e.type === 'keydown' && e.originalEvent?.key === 'Escape') { + this._reset(); + return false; + } + } + + return true; + } + + /* ------------------------------------------------------------------ */ + /* Phase 1: SELECT */ + /* ------------------------------------------------------------------ */ + + _onSelectMove(e) { + const map = this.getMap(); + if (!map) return true; + + this._overlaySource.clear(); + + const hit = this._closestPolygon(e); + if (hit) { + // Show highlight copy + const clone = hit.feature.clone(); + this._overlaySource.addFeature(clone); + map.getTargetElement().style.cursor = 'pointer'; + } else { + map.getTargetElement().style.cursor = ''; + } + return true; + } + + _onSelectClick(e) { + const hit = this._closestPolygon(e); + if (!hit) return true; + + this._selectedFeature = hit.feature; + this._selectedSource = hit.source; + + // Keep highlight visible during draw phase + this._overlaySource.clear(); + const clone = hit.feature.clone(); + this._overlaySource.addFeature(clone); + + this._startDrawPhase(); + return false; // consume the click + } + + /** + * Find the closest polygon feature within snap distance. + */ + _closestPolygon(e) { + let best = null; + let bestDist = this.snapDistance_ + 1; + + for (const source of this._getSources()) { + const feat = source.getClosestFeatureToCoordinate(e.coordinate); + if (!feat) continue; + const geom = feat.getGeometry(); + if (!geom) continue; + const type = geom.getType(); + if (type !== 'Polygon' && type !== 'MultiPolygon') continue; + + const closest = geom.getClosestPoint(e.coordinate); + const line = new LineString([e.coordinate, closest]); + const distPx = line.getLength() / e.frameState.viewState.resolution; + + if (distPx < bestDist) { + bestDist = distPx; + best = { feature: feat, source, coord: closest }; + } + } + return best; + } + + /* ------------------------------------------------------------------ */ + /* Phase 2: DRAW cutting line */ + /* ------------------------------------------------------------------ */ + + _startDrawPhase() { + this._phase = 'draw'; + const map = this.getMap(); + if (!map) return; + + map.getTargetElement().style.cursor = 'crosshair'; + + this._drawInteraction = new ol_interaction_Draw({ + type: 'LineString', + style: SKETCH_STYLE, + }); + + this._drawInteraction.on('drawend', (evt) => { + const cuttingLine = evt.feature.getGeometry().getCoordinates(); + this._performSplit(cuttingLine); + }); + + map.addInteraction(this._drawInteraction); + } + + _removeDrawInteraction() { + if (this._drawInteraction && this.getMap()) { + this.getMap().removeInteraction(this._drawInteraction); + } + this._drawInteraction = null; + } + + _cancelDraw() { + this._removeDrawInteraction(); + this._reset(); + } + + /* ------------------------------------------------------------------ */ + /* Split logic */ + /* ------------------------------------------------------------------ */ + + _performSplit(cuttingLineCoords) { + const feature = this._selectedFeature; + const source = this._selectedSource; + const geom = feature.getGeometry(); + + let polygonCoords; + if (geom.getType() === 'Polygon') { + polygonCoords = geom.getCoordinates(); + } else if (geom.getType() === 'MultiPolygon') { + // For MultiPolygon, try to split each sub-polygon and use the + // first one that produces a valid result. + // For now, use the first polygon ring. + polygonCoords = geom.getCoordinates()[0]; + } + + const result = splitPolygonByLine(polygonCoords, cuttingLineCoords); + + if (!result) { + console.warn('[PolygonSplit] Split failed — line must cross the polygon boundary at exactly 2 points.'); + // Stay in draw phase so user can retry + this._removeDrawInteraction(); + this._startDrawPhase(); + return; + } + + const [coordsA, coordsB] = result; + + // Create two new features from the split result + const featureA = feature.clone(); + featureA.setGeometry(new PolygonGeom(coordsA)); + featureA.setStyle(new Style({ + stroke: new Stroke({ color: SPLIT_COLORS[0].stroke, width: 2.5 }), + fill: new Fill({ color: SPLIT_COLORS[0].fill }), + })); + + const featureB = feature.clone(); + featureB.setGeometry(new PolygonGeom(coordsB)); + featureB.setStyle(new Style({ + stroke: new Stroke({ color: SPLIT_COLORS[1].stroke, width: 2.5 }), + fill: new Fill({ color: SPLIT_COLORS[1].fill }), + })); + + // Dispatch beforesplit (compatible with ol-ext UndoRedo) + const splitFeatures = [featureA, featureB]; + this.dispatchEvent({ + type: 'beforesplit', + original: feature, + features: splitFeatures, + }); + source.dispatchEvent({ + type: 'beforesplit', + original: feature, + features: splitFeatures, + }); + + // Replace the original feature + source.removeFeature(feature); + source.addFeature(featureA); + source.addFeature(featureB); + + // Dispatch aftersplit + this.dispatchEvent({ + type: 'aftersplit', + original: feature, + features: splitFeatures, + }); + source.dispatchEvent({ + type: 'aftersplit', + original: feature, + features: splitFeatures, + }); + + // Clean up draw interaction + this._removeDrawInteraction(); + + // If the original was a parcel, enter pick phase for UPN assignment + const isParcel = feature.get('_layerType') === 'parcel'; + if (isParcel) { + this._splitFeatures = splitFeatures; + this._phase = 'pick'; + this._overlaySource.clear(); + const map = this.getMap(); + if (map) map.getTargetElement().style.cursor = ''; + showToast('Click the polygon that should keep the original identifier.', 'info', 5000); + + this.dispatchEvent({ + type: 'splitparcel', + features: splitFeatures, + originalProps: feature.getProperties(), + source, + }); + } else { + this._reset(); + } + } + + /* ------------------------------------------------------------------ */ + /* Phase 3: PICK — select which split piece keeps the UPN */ + /* ------------------------------------------------------------------ */ + + _onPickMove(e) { + const map = this.getMap(); + if (!map) return true; + + this._overlaySource.clear(); + + const hit = this._closestSplitPiece(e); + if (hit) { + const clone = hit.clone(); + this._overlaySource.addFeature(clone); + map.getTargetElement().style.cursor = 'pointer'; + } else { + map.getTargetElement().style.cursor = ''; + } + return true; + } + + _onPickClick(e) { + const hit = this._closestSplitPiece(e); + if (!hit) return true; + + this.dispatchEvent({ + type: 'splitpick', + picked: hit, + features: this._splitFeatures, + }); + + this._reset(); + return false; + } + + /** + * Find the closest split piece to the cursor. + */ + _closestSplitPiece(e) { + if (!this._splitFeatures) return null; + let best = null; + let bestDist = this.snapDistance_ + 1; + + for (const feat of this._splitFeatures) { + const geom = feat.getGeometry(); + if (!geom) continue; + const closest = geom.getClosestPoint(e.coordinate); + const line = new LineString([e.coordinate, closest]); + const distPx = line.getLength() / e.frameState.viewState.resolution; + if (distPx < bestDist) { + bestDist = distPx; + best = feat; + } + } + return best; + } + + /* ------------------------------------------------------------------ */ + /* Reset */ + /* ------------------------------------------------------------------ */ + + _reset() { + this._phase = 'select'; + this._selectedFeature = null; + this._selectedSource = null; + this._splitFeatures = null; + this._overlaySource.clear(); + this._removeDrawInteraction(); + + const map = this.getMap(); + if (map) { + map.getTargetElement().style.cursor = ''; + } + } +} diff --git a/src/offlineTiles.js b/src/offlineTiles.js new file mode 100644 index 0000000..b804765 --- /dev/null +++ b/src/offlineTiles.js @@ -0,0 +1,293 @@ +/** + * Offline Tile Downloader + * + * Pre-fetches map tiles for a given extent and zoom range so they are stored + * in the Service Worker's per-host tile cache for offline use. + * + * The downloader simply issues `fetch()` calls; the existing SW intercepts + * them and routes to the right cache bucket. No direct Cache API access is + * needed here — the SW is the single source of truth for storage. + * + * Throttling defaults are conservative to respect tile-server usage policies: + * • 2 concurrent requests + * • 50 ms inter-batch delay + * • Standard browser User-Agent / Referer headers + * + * Usage: + * const downloader = new OfflineTileDownloader({ + * baseMap: 'topo', + * extent3857: [minX, minY, maxX, maxY], // EPSG:3857 + * minZoom: 10, + * maxZoom: 15, + * onProgress: (s) => console.log(s), + * }); + * await downloader.start(); + * downloader.cancel(); // any time + */ + +// ============================================================================ +// Base-map URL templates +// ============================================================================ + +/** + * Tile URL templates for base maps that may be downloaded for offline use. + * + * The SW recognises these hosts in `getTileCacheName()` and routes them to + * the matching `tiles-*-vN` cache. If you add a new entry here, also add + * the host to the SW's classifier or the tiles will not be cached. + */ +export const BASEMAP_TEMPLATES = { + topo: { + url: 'https://a.tile.opentopomap.org/{z}/{x}/{y}.png', + label: 'Topographic', + maxZoom: 17, + cacheKey: 'tiles-topo', + }, + osm: { + url: 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', + label: 'OpenStreetMap', + maxZoom: 19, + cacheKey: 'tiles-osm', + }, +}; + +// Approximate bytes per raster tile — used for storage estimates. +export const AVG_TILE_BYTES = 30 * 1024; + +// ============================================================================ +// Tile coordinate math (Web Mercator XYZ scheme) +// ============================================================================ + +const ORIGIN_SHIFT = 2 * Math.PI * 6378137 / 2; // 20037508.342789244 + +/** Convert Web Mercator metres → (lon, lat) in degrees. */ +function metersToLonLat(x, y) { + const lon = (x / ORIGIN_SHIFT) * 180; + let lat = (y / ORIGIN_SHIFT) * 180; + lat = 180 / Math.PI * (2 * Math.atan(Math.exp(lat * Math.PI / 180)) - Math.PI / 2); + return [lon, lat]; +} + +/** Tile (x, y) in XYZ scheme for a given lon/lat at zoom z. */ +function lonLatToTile(lon, lat, z) { + const n = Math.pow(2, z); + const x = Math.floor((lon + 180) / 360 * n); + const latRad = lat * Math.PI / 180; + const y = Math.floor( + (1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2 * n + ); + return { x, y }; +} + +/** Tile range covering an EPSG:3857 extent at a given zoom level. */ +export function tileRangeForExtent(extent3857, z) { + const [minX, minY, maxX, maxY] = extent3857; + const [minLon, minLat] = metersToLonLat(minX, minY); + const [maxLon, maxLat] = metersToLonLat(maxX, maxY); + + const tl = lonLatToTile(minLon, maxLat, z); // top-left in XYZ (NW) + const br = lonLatToTile(maxLon, minLat, z); // bottom-right (SE) + + const n = Math.pow(2, z); + const minTileX = Math.max(0, Math.min(tl.x, br.x)); + const maxTileX = Math.min(n - 1, Math.max(tl.x, br.x)); + const minTileY = Math.max(0, Math.min(tl.y, br.y)); + const maxTileY = Math.min(n - 1, Math.max(tl.y, br.y)); + + return { + z, + minX: minTileX, maxX: maxTileX, + minY: minTileY, maxY: maxTileY, + count: (maxTileX - minTileX + 1) * (maxTileY - minTileY + 1), + }; +} + +/** Total tile count for an extent across a zoom range (inclusive). */ +export function countTiles(extent3857, minZ, maxZ) { + let total = 0; + for (let z = minZ; z <= maxZ; z++) { + total += tileRangeForExtent(extent3857, z).count; + } + return total; +} + +/** + * Enumerate every tile in an extent across a zoom range. + * Returns an array of { z, x, y } objects. For very large ranges this can be + * large — the caller is expected to validate the count first. + */ +export function enumerateTiles(extent3857, minZ, maxZ) { + const out = []; + for (let z = minZ; z <= maxZ; z++) { + const r = tileRangeForExtent(extent3857, z); + for (let x = r.minX; x <= r.maxX; x++) { + for (let y = r.minY; y <= r.maxY; y++) { + out.push({ z, x, y }); + } + } + } + return out; +} + +/** + * Format a tile URL for a given coordinate using a {z}/{x}/{y} template. + */ +export function formatTileUrl(template, { z, x, y }) { + return template + .replace('{z}', z) + .replace('{x}', x) + .replace('{y}', y); +} + +// ============================================================================ +// OfflineTileDownloader +// ============================================================================ + +/** + * Concurrent, throttled tile downloader. Issues `fetch()` per tile; the + * service worker handles caching transparently. + * + * Events via `onProgress` callback: + * { phase: 'running' | 'done' | 'cancelled' | 'error', + * done, total, ok, failed, cached, + * elapsedMs, etaMs } + */ +export class OfflineTileDownloader { + constructor({ + baseMap, // 'topo' | 'osm' + extent3857, // [minX, minY, maxX, maxY] + minZoom, + maxZoom, + concurrency = 2, // OSM ToS-friendly default + interBatchDelayMs = 50, + onProgress = () => {}, + }) { + const tpl = BASEMAP_TEMPLATES[baseMap]; + if (!tpl) throw new Error(`Unknown base map: ${baseMap}`); + if (maxZoom > tpl.maxZoom) { + console.warn(`[OfflineTiles] ${baseMap}: maxZoom ${maxZoom} > supported ${tpl.maxZoom}; clamping`); + maxZoom = tpl.maxZoom; + } + + this.baseMap = baseMap; + this.template = tpl.url; + this.extent = extent3857; + this.minZoom = minZoom; + this.maxZoom = maxZoom; + this.concurrency = Math.max(1, Math.min(concurrency, 6)); + this.interBatchDelayMs = interBatchDelayMs; + this.onProgress = onProgress; + + this._abortCtrl = null; + this._cancelled = false; + } + + /** + * Begin downloading. Returns a Promise that resolves with the final stats + * when complete, or when cancelled. + */ + async start() { + if (this._abortCtrl) throw new Error('Downloader already started'); + this._abortCtrl = new AbortController(); + this._cancelled = false; + + const tiles = enumerateTiles(this.extent, this.minZoom, this.maxZoom); + const total = tiles.length; + const startedAt = Date.now(); + + let done = 0, ok = 0, failed = 0, cached = 0; + + const emit = (phase) => { + const elapsedMs = Date.now() - startedAt; + const etaMs = done > 0 ? Math.round((elapsedMs / done) * (total - done)) : null; + this.onProgress({ phase, done, total, ok, failed, cached, elapsedMs, etaMs }); + }; + + emit('running'); + + // Process in chunks of `concurrency` + for (let i = 0; i < tiles.length; i += this.concurrency) { + if (this._cancelled) break; + + const batch = tiles.slice(i, i + this.concurrency); + await Promise.all(batch.map(async (t) => { + if (this._cancelled) return; + const url = formatTileUrl(this.template, t); + + try { + const res = await fetch(url, { + signal: this._abortCtrl.signal, + // Hint the SW that this is a passive prefetch + cache: 'default', + }); + + if (res.ok) { + ok++; + // Detect "served from SW cache" via headers — not reliable across + // implementations, so we just count all 200s as ok. Reading the body + // (or cancelling it) lets the browser GC the response promptly. + if (res.body) res.body.cancel().catch(() => {}); + } else if (res.status === 408) { + // Our SW returns 408 when offline AND nothing cached. Treat as failed. + failed++; + } else { + failed++; + } + } catch (err) { + if (err.name === 'AbortError') { + // Cancellation — don't count + } else { + failed++; + } + } + done++; + })); + + emit('running'); + + if (this.interBatchDelayMs > 0 && i + this.concurrency < tiles.length) { + await new Promise((r) => setTimeout(r, this.interBatchDelayMs)); + } + } + + emit(this._cancelled ? 'cancelled' : 'done'); + + return { + phase: this._cancelled ? 'cancelled' : 'done', + done, total, ok, failed, cached, + elapsedMs: Date.now() - startedAt, + }; + } + + /** + * Cancel an in-flight download. Resolves on the next batch boundary. + */ + cancel() { + this._cancelled = true; + if (this._abortCtrl) this._abortCtrl.abort(); + } +} + +// ============================================================================ +// Predefined extents +// ============================================================================ + +/** + * Whole-of-Ghana bounding box in EPSG:3857. + * Approximate: -3.3°W → 1.2°E, 4.5°N → 11.2°N. + */ +export const GHANA_EXTENT_3857 = (() => { + const lonLatToMeters = (lon, lat) => { + const x = lon * ORIGIN_SHIFT / 180; + const y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180); + return [x, y * ORIGIN_SHIFT / 180]; + }; + const sw = lonLatToMeters(-3.3, 4.5); + const ne = lonLatToMeters(1.2, 11.2); + return [sw[0], sw[1], ne[0], ne[1]]; +})(); + +// Useful for size estimates +export function estimatedSizeBytes(tileCount) { + return tileCount * AVG_TILE_BYTES; +} diff --git a/src/pdf-export.js b/src/pdf-export.js new file mode 100644 index 0000000..e1a21e4 --- /dev/null +++ b/src/pdf-export.js @@ -0,0 +1,157 @@ +/** + * PDF Export Module + * + * Generates branded PDF reports from analysis data. + * Uses jspdf + jspdf-autotable, loaded on demand via dynamic import + * from the calling code so the library is only fetched when needed. + * + * Usage: + * import { exportAnalysisPDF } from '../pdf-export.js'; + * await exportAnalysisPDF({ title: 'Circle Analysis', rows: [...] }); + */ + +import { jsPDF } from 'jspdf'; +import { applyPlugin } from 'jspdf-autotable'; + +applyPlugin(jsPDF); + +// Cached logo data URL — fetched once, reused for subsequent exports +let _logoDataUrl = null; + +/** + * Load the LUSPA logo, draw it onto a canvas to flatten alpha and + * produce a clean JPEG data URL that jsPDF can embed reliably. + * Caches the result so subsequent calls are instant. + */ +async function getLogoDataUrl() { + if (_logoDataUrl) return _logoDataUrl; + + try { + const img = new Image(); + img.crossOrigin = 'anonymous'; + + await new Promise((resolve, reject) => { + img.onload = resolve; + img.onerror = reject; + img.src = './icons/luspa-pdf.jpg'; + }); + + // Draw onto a canvas to get a reliable JPEG data URL + const canvas = document.createElement('canvas'); + canvas.width = img.naturalWidth; + canvas.height = img.naturalHeight; + const ctx = canvas.getContext('2d'); + // White background to flatten any remaining alpha + ctx.fillStyle = '#ffffff'; + ctx.fillRect(0, 0, canvas.width, canvas.height); + ctx.drawImage(img, 0, 0); + + _logoDataUrl = canvas.toDataURL('image/jpeg', 0.92); + return _logoDataUrl; + } catch (err) { + console.warn('[PDF] Could not load logo:', err); + return null; + } +} + +/** + * Generate and open a branded PDF report. + * + * @param {Object} options + * @param {string} options.title - Report title (e.g. "Circle Analysis") + * @param {Array<{label: string, value: string}>} options.rows - Table data + */ +export async function exportAnalysisPDF({ title, rows }) { + const doc = new jsPDF({ orientation: 'portrait', unit: 'mm', format: 'a4' }); + const pageWidth = doc.internal.pageSize.getWidth(); + + // Brand colours + const navy = [30, 26, 75]; // #1e1a4b + + // ---- Logo ---- + const logo = await getLogoDataUrl(); + const logoSize = 28; + const marginLeft = 14; + let cursorY = 14; + + if (logo) { + doc.addImage(logo, 'JPEG', marginLeft, cursorY, logoSize, logoSize); + } + + // ---- Header text (next to logo) ---- + const textX = marginLeft + logoSize + 6; + + doc.setFont('helvetica', 'bold'); + doc.setFontSize(18); + doc.setTextColor(...navy); + doc.text('LUPMIS', textX, cursorY + 11); + + doc.setFont('helvetica', 'normal'); + doc.setFontSize(12); + doc.text(title, textX, cursorY + 19); + + // ---- Date / time ---- + const now = new Date(); + const dateStr = now.toLocaleDateString(undefined, { + year: 'numeric', month: 'long', day: 'numeric', + }); + const timeStr = now.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); + + doc.setFontSize(9); + doc.setTextColor(120, 120, 120); + doc.text(`${dateStr} ${timeStr}`, pageWidth - marginLeft, cursorY + 11, { align: 'right' }); + + // ---- Divider line ---- + cursorY += logoSize + 6; + doc.setDrawColor(...navy); + doc.setLineWidth(0.5); + doc.line(marginLeft, cursorY, pageWidth - marginLeft, cursorY); + cursorY += 6; + + // ---- Analysis table ---- + const tableBody = rows.map(r => [r.label, r.value]); + + doc.autoTable({ + startY: cursorY, + head: [['Property', 'Value']], + body: tableBody, + margin: { left: marginLeft, right: marginLeft }, + styles: { + font: 'helvetica', + fontSize: 10, + cellPadding: 4, + }, + headStyles: { + fillColor: navy, + textColor: [255, 255, 255], + fontStyle: 'bold', + }, + alternateRowStyles: { + fillColor: [245, 245, 250], + }, + columnStyles: { + 0: { fontStyle: 'bold', cellWidth: 50 }, + }, + }); + + // ---- Footer ---- + const finalY = doc.lastAutoTable.finalY + 10; + doc.setFontSize(8); + doc.setTextColor(160, 160, 160); + doc.text('Generated by LUPMIS2 Land Use Planning & Management Information System', marginLeft, finalY); + + // ---- Open in browser ---- + const blob = doc.output('blob'); + const url = URL.createObjectURL(blob); + + const win = window.open(url, '_blank'); + if (!win) { + // Popup blocked (mobile) — fall back to download + const a = document.createElement('a'); + a.href = url; + a.download = `${title.replace(/\s+/g, '_')}_${now.toISOString().slice(0, 10)}.pdf`; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + } +} diff --git a/src/pwa.js b/src/pwa.js index 2cd206f..dc5a743 100644 --- a/src/pwa.js +++ b/src/pwa.js @@ -276,6 +276,158 @@ export function clearUserCaches() { }); } +/** + * Get the Service Worker we can postMessage to. Resolves with: + * • `navigator.serviceWorker.controller` if it's already in control of the + * page (fastest path), or + * • `registration.active` once `navigator.serviceWorker.ready` resolves + * (covers the first-load case before the SW has claimed the page). + * + * Rejects after `timeoutMs` if no SW becomes available — which would only + * happen in a private/incognito context, an unsupported browser, or when + * registration genuinely failed. + * + * @param {{ timeoutMs?: number }} [opts] + * @returns {Promise} + */ +export async function getActiveServiceWorker({ timeoutMs = 10000 } = {}) { + if (!('serviceWorker' in navigator)) { + throw new Error('Service Workers not supported in this browser'); + } + + // Fastest path — page is already SW-controlled + if (navigator.serviceWorker.controller) { + return navigator.serviceWorker.controller; + } + + // Otherwise wait for the registration to become ready (active SW exists + // for this scope, even if it hasn't claimed THIS page yet) + const ready = navigator.serviceWorker.ready; + const timeout = new Promise((_, reject) => + setTimeout(() => reject(new Error('Service-worker readiness timeout')), timeoutMs) + ); + + const registration = await Promise.race([ready, timeout]); + + // The controller may have appeared while we were waiting; otherwise use + // the registration's active worker (we can still postMessage to it — caches + // are shared across the origin) + const sw = navigator.serviceWorker.controller || registration.active; + if (!sw) { + throw new Error('No active service worker available'); + } + return sw; +} + +/** + * Subscribe to controller-change events. The callback fires whenever a new + * Service Worker takes control of the page (e.g. after an SW update or first + * activation on initial load). Useful for re-querying SW-backed state once + * the SW has actually taken over. + * + * @param {() => void} callback + * @returns {() => void} unsubscribe function + */ +export function onServiceWorkerControllerChange(callback) { + if (!('serviceWorker' in navigator)) return () => {}; + const handler = () => { + try { callback(); } catch (e) { console.error('[PWA] controllerchange handler error:', e); } + }; + navigator.serviceWorker.addEventListener('controllerchange', handler); + return () => navigator.serviceWorker.removeEventListener('controllerchange', handler); +} + +/** + * Send a message to the service worker and wait for a single reply with the + * given response type. Waits for the SW to become available if it isn't yet. + * Resolves with the reply payload, or rejects after a timeout. + * + * @template T + * @param {string} requestType - Message type to send (e.g. 'GET_TILE_STATS') + * @param {string} responseType - Message type expected back (e.g. 'TILE_STATS') + * @param {Object} [extra={}] - Extra fields merged into the outgoing message + * @param {number} [timeoutMs=5000] Reply timeout (after the SW is available) + * @param {number} [readyTimeoutMs=10000] Timeout for the SW to be available + * @returns {Promise} + */ +async function requestFromServiceWorker(requestType, responseType, extra = {}, timeoutMs = 5000, readyTimeoutMs = 10000) { + const sw = await getActiveServiceWorker({ timeoutMs: readyTimeoutMs }); + + return new Promise((resolve, reject) => { + const channel = new MessageChannel(); + const timer = setTimeout(() => { + channel.port1.close(); + reject(new Error(`Service-worker reply "${responseType}" timed out`)); + }, timeoutMs); + + channel.port1.onmessage = (event) => { + if (event.data?.type === responseType) { + clearTimeout(timer); + channel.port1.close(); + const { type, ...rest } = event.data; + resolve(rest); + } + }; + + sw.postMessage({ type: requestType, ...extra }, [channel.port2]); + }); +} + +/** + * Get statistics about tiles cached locally on this device, broken down by + * provider. Waits up to `readyTimeoutMs` for the service worker to become + * available. Returns null only if the SW genuinely cannot be reached + * (private mode, registration failure, or timeout). + * + * @returns {Promise<{ + * totals: { count: number, estBytes: number }, + * byProvider: Array<{ key: string, label: string, count: number, limit: number, estBytes: number }> + * } | null>} + */ +export async function getTileCacheStats() { + try { + const reply = await requestFromServiceWorker('GET_TILE_STATS', 'TILE_STATS'); + return reply.stats; + } catch (err) { + console.warn('[PWA] getTileCacheStats failed:', err); + return null; + } +} + +/** + * Delete every cached tile from this device. Doesn't touch the app shell, + * modules, or API caches — only the per-provider tile buckets. + * Waits for the SW to be available before sending the request. + * + * @returns {Promise} true if the request was acknowledged + */ +export async function clearTileCaches() { + try { + await requestFromServiceWorker('CLEAR_TILE_CACHES', 'TILE_CACHES_CLEARED'); + return true; + } catch (err) { + console.warn('[PWA] clearTileCaches failed:', err); + return false; + } +} + +/** + * Get total disk used by this origin (Cache API + IndexedDB + OPFS). + * Returns null if the Storage API is not available. + * + * @returns {Promise<{ usage: number, quota: number } | null>} + */ +export async function getStorageEstimate() { + if (!navigator.storage?.estimate) return null; + try { + const { usage, quota } = await navigator.storage.estimate(); + return { usage: usage || 0, quota: quota || 0 }; + } catch (err) { + console.warn('[PWA] getStorageEstimate failed:', err); + return null; + } +} + // ============================================================================ // Auto-initialization // ============================================================================ @@ -313,5 +465,10 @@ export default { applyUpdate, postToServiceWorker, cacheModules, - clearUserCaches + clearUserCaches, + getTileCacheStats, + clearTileCaches, + getStorageEstimate, + getActiveServiceWorker, + onServiceWorkerControllerChange, }; diff --git a/src/remotedb.js b/src/remotedb.js index 0619045..a45fc9b 100644 --- a/src/remotedb.js +++ b/src/remotedb.js @@ -21,13 +21,89 @@ const API_CREDENTIALS = { api_token: '1c46538c712e9b5b' }; +// ============================================================================ +// Server Reachability +// ============================================================================ + +/** Default timeout for API requests (ms) */ +const REQUEST_TIMEOUT = 30_000; + +/** Timeout for the fast reachability probe (ms) */ +const PING_TIMEOUT = 5_000; + +/** Cached result of the last reachability check */ +let _serverReachable = null; + +/** + * Quick probe to determine if the API server is responding. + * Sends a small POST to a lightweight endpoint with a short timeout. + * The result is cached so subsequent calls within the same page load + * return immediately. + * + * @param {boolean} [force=false] - Re-check even if a cached result exists + * @returns {Promise} true if the server responded in time + */ +export async function checkServerReachable(force = false) { + if (_serverReachable !== null && !force) return _serverReachable; + + const controller = new AbortController(); + const timer = setTimeout(() => controller.abort(), PING_TIMEOUT); + + try { + const response = await fetch(`${API_BASE}/get_layers.php`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, + body: JSON.stringify(API_CREDENTIALS), + signal: controller.signal, + }); + _serverReachable = response.ok; + } catch { + _serverReachable = false; + } finally { + clearTimeout(timer); + } + + console.log('[RemoteDB] Server reachable:', _serverReachable); + return _serverReachable; +} + +/** + * Returns the cached server-reachability flag (synchronous). + * Returns null if checkServerReachable() has not been called yet. + * @returns {boolean|null} + */ +export function isServerReachable() { + return _serverReachable; +} + // ============================================================================ // Core Request Helpers // ============================================================================ +/** + * Create an AbortController that auto-aborts after `ms` milliseconds. + * If the caller already supplied a signal in `options`, it is combined + * so that either the caller's abort or the timeout will cancel the request. + */ +function withTimeout(options, ms = REQUEST_TIMEOUT) { + const controller = new AbortController(); + const timer = setTimeout(() => controller.abort(), ms); + + // If the caller provided their own signal, chain it + if (options.signal) { + options.signal.addEventListener('abort', () => controller.abort()); + } + + return { + signal: controller.signal, + clear: () => clearTimeout(timer), + }; +} + /** * Perform a GET request to the remote API. * Credentials are sent as URL query parameters. + * Automatically times out after REQUEST_TIMEOUT ms. * * @param {string} endpoint - API endpoint filename (e.g. 'get_district_boundary.php') * @param {Object} [params={}] - Additional query parameters @@ -45,13 +121,15 @@ export async function remoteGet(endpoint, params = {}, options = {}) { console.log('[RemoteDB] GET', url.toString()); + const timeout = withTimeout(options); try { const response = await fetch(url.toString(), { method: 'GET', headers: { 'Accept': 'application/json' }, - ...options + ...options, + signal: timeout.signal, }); if (!response.ok) { @@ -63,14 +141,21 @@ export async function remoteGet(endpoint, params = {}, options = {}) { return data; } catch (error) { + if (error.name === 'AbortError') { + console.error('[RemoteDB] GET timed out:', endpoint); + throw new Error(`Request timed out: ${endpoint}`); + } console.error('[RemoteDB] GET failed:', endpoint, error); throw error; + } finally { + timeout.clear(); } } /** * Perform a POST request to the remote API. * Credentials are included in the JSON body. + * Automatically times out after REQUEST_TIMEOUT ms. * * @param {string} endpoint - API endpoint filename (e.g. 'some_endpoint.php') * @param {Object} [body={}] - Request payload (credentials are merged in) @@ -84,6 +169,7 @@ export async function remotePost(endpoint, body = {}, options = {}) { console.log('[RemoteDB] POST', url); + const timeout = withTimeout(options); try { const response = await fetch(url, { method: 'POST', @@ -92,7 +178,8 @@ export async function remotePost(endpoint, body = {}, options = {}) { 'Accept': 'application/json' }, body: JSON.stringify(payload), - ...options + ...options, + signal: timeout.signal, }); if (!response.ok) { @@ -104,8 +191,14 @@ export async function remotePost(endpoint, body = {}, options = {}) { return data; } catch (error) { + if (error.name === 'AbortError') { + console.error('[RemoteDB] POST timed out:', endpoint); + throw new Error(`Request timed out: ${endpoint}`); + } console.error('[RemoteDB] POST failed:', endpoint, error); throw error; + } finally { + timeout.clear(); } } @@ -170,16 +263,50 @@ export async function getBuildingFootprints() { return remotePost('get_all_footprint_per_district.php'); } +/** + * Fetch the Contours hillshade elevation layer from the server. + * + * Source: table `contours_hillshade` in the local PostgreSQL `public` schema + * (imported from OpenTopography's viz.hh_hillshade). + * + * Expected response: + * { success: true, data: [{ id, elevation, geom: "LINESTRING(...)" | "MULTILINESTRING(...)" | "POLYGON(...)", ... }, ...] } + * + * @returns {Promise} Contours hillshade list + */ +export async function getContoursHillshade() { + return remotePost('get_contours_hillshade.php'); +} + +/** + * Fetch the OSM roads layer from the server. + * + * Source: table `pi_osm_roads` in the local PostgreSQL `public` schema + * (imported from OpenStreetMap road network for the district). + * + * Expected response: + * { success: true, data: [{ id, ..., geom: "LINESTRING(...)" | "MULTILINESTRING(...)", ... }, ...] } + * + * @returns {Promise} OSM roads list + */ +export async function getOSMRoads() { + return remotePost('get_osm_roads.php'); +} + // ============================================================================ // Exports // ============================================================================ export default { + checkServerReachable, + isServerReachable, remoteGet, remotePost, getDistrictBoundary, getLayers, getDistrictParcels, getCollectorZones, - getBuildingFootprints + getBuildingFootprints, + getContoursHillshade, + getOSMRoads, }; diff --git a/src/toast.js b/src/toast.js new file mode 100644 index 0000000..c34405f --- /dev/null +++ b/src/toast.js @@ -0,0 +1,98 @@ +/** + * Lightweight toast notification system. + * + * Usage: + * import { showToast } from '../toast.js'; + * + * showToast('Something went wrong', 'error'); + * showToast('Merge successful!', 'success'); + * showToast('Select two adjacent polygons', 'info'); + */ + +// ── Palette ────────────────────────────────────────────────────────────────── + +const THEMES = { + success: { bg: '#10b981', icon: '\u2705' }, // green + error: { bg: '#ef4444', icon: '\u274c' }, // red + warning: { bg: '#f59e0b', icon: '\u26a0\ufe0f' }, // amber + info: { bg: '#0ea5e9', icon: '\u2139\ufe0f' }, // cyan +}; + +// ── Container (created once, appended to ) ──────────────────────────── + +let container = null; + +function ensureContainer() { + if (container) return container; + container = document.createElement('div'); + container.style.cssText = ` + position: fixed; + top: 16px; + left: 50%; + transform: translateX(-50%); + z-index: 10000; + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + pointer-events: none; + `; + document.body.appendChild(container); + return container; +} + +// ── Public API ────────────────────────────────────────────────────────────── + +/** + * Display a toast notification. + * + * @param {string} message Plain-text message to show. + * @param {'success'|'error'|'warning'|'info'} [type='info'] + * @param {number} [duration=4000] Auto-dismiss time in ms. + */ +export function showToast(message, type = 'info', duration = 4000) { + const parent = ensureContainer(); + const theme = THEMES[type] || THEMES.info; + + const el = document.createElement('div'); + el.style.cssText = ` + background: ${theme.bg}; + color: #fff; + padding: 10px 18px; + border-radius: 8px; + font-family: var(--font-body, 'Exo', sans-serif); + font-size: 13px; + font-weight: 600; + box-shadow: 0 4px 12px rgba(0,0,0,0.25); + pointer-events: auto; + cursor: pointer; + opacity: 0; + transition: opacity 0.25s ease, transform 0.25s ease; + transform: translateY(-8px); + max-width: 420px; + text-align: center; + line-height: 1.4; + `; + el.textContent = `${theme.icon} ${message}`; + + parent.appendChild(el); + + // Animate in + requestAnimationFrame(() => { + el.style.opacity = '1'; + el.style.transform = 'translateY(0)'; + }); + + // Dismiss helper + const dismiss = () => { + el.style.opacity = '0'; + el.style.transform = 'translateY(-8px)'; + setTimeout(() => el.remove(), 300); + }; + + // Click to dismiss early + el.addEventListener('click', dismiss); + + // Auto-dismiss + setTimeout(dismiss, duration); +} diff --git a/src/units.js b/src/units.js new file mode 100644 index 0000000..0e7c5b7 --- /dev/null +++ b/src/units.js @@ -0,0 +1,123 @@ +/** + * Measurement unit formatting — Metric / Imperial. + * + * The active system is persisted in localStorage('measurement-system'). + * Every formatter reads the current setting so the UI updates immediately + * after the user flips the toggle. + * + * All input values are in metres (length) or square metres (area). + */ + +// ── Conversion constants ──────────────────────────────────────────────────── +const M_TO_FT = 3.28084; +const M_TO_MI = 0.000621371; +const SQM_TO_SQFT = 10.7639; +const SQM_TO_ACRE = 0.000247105; +const SQM_TO_SQMI = 3.861e-7; + +// ── System accessor ───────────────────────────────────────────────────────── + +/** @returns {'metric'|'imperial'} */ +export function getSystem() { + return localStorage.getItem('measurement-system') || 'metric'; +} + +// ── Length / distance ─────────────────────────────────────────────────────── + +/** + * Format a length value (in metres) for display. + * Metric: m / km + * Imperial: ft / mi + */ +export function formatLength(metres) { + if (getSystem() === 'imperial') { + const ft = metres * M_TO_FT; + if (ft >= 5280) { + return (Math.round(metres * M_TO_MI * 100) / 100) + ' mi'; + } + return Math.round(ft) + ' ft'; + } + // metric + if (metres > 1000) { + return (Math.round(metres / 1000 * 100) / 100) + ' km'; + } + return (Math.round(metres * 100) / 100) + ' m'; +} + +/** + * Format a length with both large and small units (for info popups). + * Metric: "1.23 km (1,230 m)" or "456 m" + * Imperial: "1.23 mi (6,494 ft)" or "456 ft" + */ +export function formatLengthFull(metres) { + if (getSystem() === 'imperial') { + const ft = metres * M_TO_FT; + const mi = metres * M_TO_MI; + if (ft >= 5280) { + return `${mi.toFixed(2)} mi (${ft.toLocaleString('en', { maximumFractionDigits: 0 })} ft)`; + } + return `${ft.toLocaleString('en', { maximumFractionDigits: 1 })} ft`; + } + if (metres >= 1000) { + return `${(metres / 1000).toFixed(2)} km (${metres.toLocaleString('en', { maximumFractionDigits: 0 })} m)`; + } + return `${metres.toLocaleString('en', { maximumFractionDigits: 1 })} m`; +} + +// ── Area ──────────────────────────────────────────────────────────────────── + +/** + * Format an area value (in square metres) for display. + * Metric: m² / km² + * Imperial: ft² / acres / mi² + */ +export function formatArea(sqMetres) { + if (getSystem() === 'imperial') { + const acres = sqMetres * SQM_TO_ACRE; + if (acres >= 640) { + return (Math.round(sqMetres * SQM_TO_SQMI * 100) / 100) + ' mi²'; + } + if (acres >= 1) { + return (Math.round(acres * 100) / 100) + ' acres'; + } + return Math.round(sqMetres * SQM_TO_SQFT).toLocaleString('en') + ' ft²'; + } + // metric + if (sqMetres > 1000000) { + return (Math.round(sqMetres / 1000000 * 100) / 100) + ' km²'; + } + return (Math.round(sqMetres * 100) / 100) + ' m²'; +} + +/** + * Format an area with both large and small units (for info popups). + * Metric: "1.23 km² (1,230,000 m²)" or "456 m²" + * Imperial: "1.23 mi² (787 acres)" or "2.5 acres" or "456 ft²" + */ +export function formatAreaFull(sqMetres) { + if (getSystem() === 'imperial') { + const sqft = sqMetres * SQM_TO_SQFT; + const acres = sqMetres * SQM_TO_ACRE; + const sqmi = sqMetres * SQM_TO_SQMI; + if (acres >= 640) { + return `${sqmi.toFixed(2)} mi² (${acres.toLocaleString('en', { maximumFractionDigits: 0 })} acres)`; + } + if (acres >= 1) { + return `${acres.toLocaleString('en', { maximumFractionDigits: 1 })} acres (${sqft.toLocaleString('en', { maximumFractionDigits: 0 })} ft²)`; + } + return `${sqft.toLocaleString('en', { maximumFractionDigits: 0 })} ft²`; + } + if (sqMetres > 1000000) { + return `${(sqMetres / 1000000).toFixed(2)} km² (${sqMetres.toLocaleString('en', { maximumFractionDigits: 0 })} m²)`; + } + return `${sqMetres.toLocaleString('en', { maximumFractionDigits: 0 })} m²`; +} + +// ── Circle helper ─────────────────────────────────────────────────────────── + +/** + * Format the area of a circle given its radius (in metres). + */ +export function formatCircleExtent(radiusMetres) { + return formatArea(Math.PI * radiusMetres * radiusMetres); +} diff --git a/vite.config.js b/vite.config.js index 1ef0b3f..f96db15 100644 --- a/vite.config.js +++ b/vite.config.js @@ -34,12 +34,25 @@ export default defineConfig({ // Target modern browsers that support OPFS target: 'esnext', + // Raise the chunk-size warning threshold. + // Rationale: the two largest chunks are unavoidable — + // • openlayers (~535 kB / ~152 kB gzipped) — the OL library itself, + // used app-wide; further splitting just creates more HTTP round-trips + // • sqlite3.wasm (~856 kB) — a runtime WASM binary, not a JS chunk; + // code-splitting does not apply + // 900 kB silences the noise without hiding genuine regressions. + chunkSizeWarningLimit: 900, + rollupOptions: { output: { manualChunks(id) { if (id.includes('node_modules/ol/')) return 'openlayers'; if (id.includes('node_modules/ol-ext/')) return 'ol-ext'; if (id.includes('node_modules/bootstrap/')) return 'bootstrap'; + // shpjs (+ its jszip dependency) — dynamically imported at runtime, + // so this chunk is only fetched when the user imports a shapefile. + if (id.includes('node_modules/shpjs/') || id.includes('node_modules/jszip/')) return 'shpjs'; + if (id.includes('node_modules/jspdf')) return 'jspdf'; }, }, },

    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 TJpMbd2n4{_3x%lnxc1wBH1?)- diff --git a/public/icons/luspa.icon/icon.json b/public/icons/luspa.icon/icon.json deleted file mode 100644 index 4295310..0000000 --- a/public/icons/luspa.icon/icon.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "fill" : { - "linear-gradient" : [ - "display-p3:0.10199,0.05884,0.32544,1.00000", - "display-p3:0.27051,0.49023,0.74121,1.00000" - ], - "orientation" : { - "start" : { - "x" : 0.5, - "y" : 0 - }, - "stop" : { - "x" : 0.5, - "y" : 0.7 - } - } - }, - "groups" : [ - { - "layers" : [ - { - "image-name" : "luspalogo.png", - "name" : "luspalogo", - "position" : { - "scale" : 1.8, - "translation-in-points" : [ - 0, - 0 - ] - } - } - ], - "shadow" : { - "kind" : "neutral", - "opacity" : 0.5 - }, - "translucency" : { - "enabled" : true, - "value" : 0.5 - } - } - ], - "supported-platforms" : { - "circles" : [ - "watchOS" - ], - "squares" : "shared" - } -} \ No newline at end of file diff --git a/public/manifest.json b/public/manifest.json index d8ab69a..7ae399c 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,58 +1,58 @@ { "name": "LUPMIS2 Drawing Tools", - "short_name": "LUPMIS", + "short_name": "LUPMIS2", "description": "Map and GIS functions for Land Use Planning in Ghana", - "start_url": "/", - "scope": "/", + "start_url": "./", + "scope": "./", "display": "standalone", "background_color": "#ffffff", "theme_color": "#005eb8", "orientation": "any", "icons": [ { - "src": "/icons/icon-72.png", + "src": "./icons/luspa-72x72.png", "sizes": "72x72", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-96.png", + "src": "./icons/luspa-96x96.png", "sizes": "96x96", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-128.png", + "src": "./icons/luspa-128x128.png", "sizes": "128x128", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-144.png", + "src": "./icons/luspa-144x144.png", "sizes": "144x144", "type": "image/png", "purpose": "any" }, { - "src": "/icons/icon-152.png", + "src": "./icons/luspa-152x152.png", "sizes": "152x152", "type": "image/png", "purpose": "any" }, { - "src": "/icons/luspa-192x192.png", + "src": "./icons/luspa-192x192.png", "sizes": "192x192", "type": "image/png", "purpose": "any maskable" }, { - "src": "/icons/icon-384.png", + "src": "./icons/luspa-384x384.png", "sizes": "384x384", "type": "image/png", "purpose": "any" }, { - "src": "/icons/luspa-512x512.png", + "src": "./icons/luspa-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" diff --git a/public/sw.js b/public/sw.js index 257c9a9..4c981a5 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,29 +1,81 @@ /** * Service Worker - * + * * Handles caching of: * - App shell (HTML, CSS, JS) - * - Map tiles (runtime caching) + * - Map tiles (passive runtime caching, per-host buckets) * - API responses (network-first) - * + * * Note: Database operations are handled by the SharedWorker (shared-db-worker.js), * NOT by this service worker. They serve different purposes: * - Service Worker: Caching, offline asset serving, push notifications * - SharedWorker: Shared database connection across tabs */ -const CACHE_VERSION = 'v1'; -const SHELL_CACHE = `shell-${CACHE_VERSION}`; -const TILES_CACHE = `tiles-${CACHE_VERSION}`; +// v3: lower per-cache limits (5000 → 1500) and counter-based eviction to +// prevent Safari memory-pressure reloads. +// v4: raise OSM and Topographic limits to 8000 to support active offline +// downloads (Phase 2). Other providers stay at 1500. +const CACHE_VERSION = 'v4'; +const SHELL_CACHE = `shell-${CACHE_VERSION}`; const MODULES_CACHE = `modules-${CACHE_VERSION}`; -const API_CACHE = `api-${CACHE_VERSION}`; +const API_CACHE = `api-${CACHE_VERSION}`; -// Maximum number of tiles to cache -const MAX_TILES = 500; +// ---------------------------------------------------------------------------- +// Tile caches — one per provider so users can clear them independently. +// Limits are per-cache (not global). 5 000 tiles ≈ ~150 MB at ~30 KB/tile, +// which covers a Ghana district at zoom 10–15 (typical field-work range). +// ---------------------------------------------------------------------------- +const TILES_OSM = `tiles-osm-${CACHE_VERSION}`; +const TILES_TOPO = `tiles-topo-${CACHE_VERSION}`; +const TILES_SATELLITE = `tiles-satellite-${CACHE_VERSION}`; +const TILES_CARTO_LIGHT = `tiles-carto-light-${CACHE_VERSION}`; +const TILES_CARTO_DARK = `tiles-carto-dark-${CACHE_VERSION}`; -// App shell assets - precached on install -// Vite will generate hashed filenames, so we cache the entry points -// and let the browser handle the hashed assets +// Per-provider tile limits. +// • OSM and Topographic are the providers offered for active offline +// download (Phase 2 dialog), so they get a higher cap (~240 MB each at +// ~30 KB/tile) — enough for a typical Ghana district at zoom 10–15. +// • The other providers serve passive caching only (whatever the user has +// already viewed), so 1 500 tiles ≈ 45 MB is plenty. +// +// Total max ≈ 5 × ~150 MB = ~750 MB on disk in the worst case, but only the +// two downloadable buckets are likely to fill. Eviction sweeps run every 100 +// inserts (see EVICTION_CHECK_INTERVAL) so memory pressure stays bounded. +const TILE_LIMITS = { + [TILES_OSM]: 8000, + [TILES_TOPO]: 8000, + [TILES_SATELLITE]: 1500, + [TILES_CARTO_LIGHT]: 1500, + [TILES_CARTO_DARK]: 1500, +}; + +// Per-cache running insert counter, in memory. Avoids calling cache.keys() +// (which materialises every Request object in the cache) on every put — that +// was the cause of the Safari "reloaded due to memory pressure" failures. +// +// We only run a real eviction sweep every EVICTION_CHECK_INTERVAL inserts. +const _tileInsertCounters = new Map(); // cacheName → number of inserts since last eviction +const EVICTION_CHECK_INTERVAL = 100; + +// Friendly name shown in the UI (matches Settings card labels) +const TILE_CACHE_LABELS = { + [TILES_OSM]: 'OpenStreetMap', + [TILES_TOPO]: 'Topographic', + [TILES_SATELLITE]: 'Satellite', + [TILES_CARTO_LIGHT]: 'Carto Light', + [TILES_CARTO_DARK]: 'Carto Dark', +}; + +const ALL_TILE_CACHES = Object.keys(TILE_LIMITS); + +// Approximate average tile size — used for storage estimation. +// Real measurements: PNG tiles range 5–80 KB; 30 KB is a good middle ground. +const AVG_TILE_BYTES = 30 * 1024; + +// ---------------------------------------------------------------------------- +// App shell assets — precached on install. +// ---------------------------------------------------------------------------- const SHELL_ASSETS = [ '/', '/index.html', @@ -37,7 +89,7 @@ const SHELL_ASSETS = [ self.addEventListener('install', (event) => { console.log('[SW] Installing...'); - + event.waitUntil( caches.open(SHELL_CACHE) .then((cache) => { @@ -54,18 +106,26 @@ self.addEventListener('install', (event) => { self.addEventListener('activate', (event) => { console.log('[SW] Activating...'); - + event.waitUntil( caches.keys() .then((cacheNames) => { + // Build the set of caches that should remain + const keep = new Set([SHELL_CACHE, MODULES_CACHE, API_CACHE, ...ALL_TILE_CACHES]); + return Promise.all( cacheNames + // Delete anything that: + // • belongs to one of our managed cache prefixes (shell-, tiles-, modules-, api-) + // • but is NOT in the current keep set + // This includes the legacy "tiles-v1" single bucket. .filter((name) => { - // Delete old version caches - return (name.startsWith('shell-') && name !== SHELL_CACHE) || - (name.startsWith('tiles-') && name !== TILES_CACHE) || - (name.startsWith('modules-') && name !== MODULES_CACHE) || - (name.startsWith('api-') && name !== API_CACHE); + const isOurs = + name.startsWith('shell-') || + name.startsWith('tiles-') || + name.startsWith('modules-') || + name.startsWith('api-'); + return isOurs && !keep.has(name); }) .map((name) => { console.log('[SW] Deleting old cache:', name); @@ -84,17 +144,28 @@ self.addEventListener('activate', (event) => { self.addEventListener('fetch', (event) => { const request = event.request; const url = new URL(request.url); - + // Only handle GET requests if (request.method !== 'GET') return; - + // Skip chrome-extension and other non-http(s) requests if (!url.protocol.startsWith('http')) return; - - // Route to appropriate caching strategy - if (isMapTile(url)) { - event.respondWith(cacheThenNetwork(request, TILES_CACHE, MAX_TILES)); - } else if (isApiRequest(url)) { + + // Skip worker files and Vite dev-server node_modules requests — + // intercepting these breaks module workers (e.g. SQLocal/SQLite). + if (url.pathname.includes('node_modules') || + url.search.includes('worker_file') || + request.destination === 'worker') return; + + // ----- TILE REQUESTS — passive cache-then-network (per-host bucket) ----- + const tileCache = getTileCacheName(url); + if (tileCache) { + event.respondWith(tileCacheThenNetwork(request, tileCache)); + return; + } + + // ----- OTHER ROUTES (unchanged) ----- + if (isApiRequest(url)) { event.respondWith(networkFirst(request, API_CACHE)); } else if (isModuleAsset(url)) { event.respondWith(staleWhileRevalidate(request, MODULES_CACHE)); @@ -108,15 +179,36 @@ self.addEventListener('fetch', (event) => { // URL CLASSIFICATION // ============================================================================ -function isMapTile(url) { - // Common tile server patterns for all our base maps - return url.hostname.includes('tile.openstreetmap.org') || - url.hostname.includes('opentopomap.org') || - url.hostname.includes('arcgisonline.com') || - url.hostname.includes('basemaps.cartocdn.com') || - url.hostname.includes('tiles.') || - url.pathname.match(/\/\d+\/\d+\/\d+\.(png|jpg|pbf)$/) || - url.pathname.match(/\/tile\/\d+\/\d+\/\d+/); +/** + * Classify a URL into the appropriate tile cache. + * Returns `null` for non-tile requests, or for tile providers we deliberately + * do NOT cache (e.g. Google — caching is forbidden by their ToS). + */ +function getTileCacheName(url) { + const host = url.hostname; + + // OpenStreetMap — tile.openstreetmap.org and a/b/c subdomains + if (host.endsWith('tile.openstreetmap.org')) return TILES_OSM; + + // OpenTopoMap — a/b/c.tile.opentopomap.org + if (host.endsWith('tile.opentopomap.org') || host.endsWith('opentopomap.org')) return TILES_TOPO; + + // Carto Basemaps — light_all / dark_all distinguished by path + if (host.endsWith('basemaps.cartocdn.com')) { + if (url.pathname.includes('/light_all/')) return TILES_CARTO_LIGHT; + if (url.pathname.includes('/dark_all/')) return TILES_CARTO_DARK; + return null; // unknown Carto style + } + + // Esri — server.arcgisonline.com + if (host.endsWith('arcgisonline.com')) return TILES_SATELLITE; + + // Google — caching forbidden by ToS, do not store + if (host.endsWith('google.com') || host.endsWith('googleapis.com')) return null; + + // Other tile providers (WMS endpoints, OWS, custom) — not cached at this layer + // (the user's "online only" toast handles those). + return null; } function isApiRequest(url) { @@ -129,7 +221,6 @@ function isModuleAsset(url) { } function isAppAsset(url) { - // Same origin, common asset extensions return url.origin === self.location.origin && (url.pathname.endsWith('.html') || url.pathname.endsWith('.css') || @@ -144,13 +235,13 @@ function isAppAsset(url) { // ============================================================================ /** - * Cache First - Use cache, fallback to network - * Best for: App shell, static assets + * Cache First — Use cache, fallback to network. + * Best for: App shell, static assets. */ async function cacheFirst(request, cacheName) { const cached = await caches.match(request); if (cached) return cached; - + try { const response = await fetch(request); if (response.ok) { @@ -159,7 +250,6 @@ async function cacheFirst(request, cacheName) { } return response; } catch (error) { - // Return offline page for navigation requests if (request.mode === 'navigate') { return caches.match('/offline.html'); } @@ -168,8 +258,8 @@ async function cacheFirst(request, cacheName) { } /** - * Network First - Try network, fallback to cache - * Best for: API requests, dynamic content + * Network First — Try network, fallback to cache. + * Best for: API requests, dynamic content. */ async function networkFirst(request, cacheName) { try { @@ -187,89 +277,141 @@ async function networkFirst(request, cacheName) { } /** - * Stale While Revalidate - Return cache immediately, update in background - * Best for: Module assets, frequently updated content + * Stale While Revalidate — Return cache immediately, update in background. + * Best for: Module assets, frequently updated content. */ async function staleWhileRevalidate(request, cacheName) { const cache = await caches.open(cacheName); const cached = await cache.match(request); - + const fetchPromise = fetch(request).then((response) => { if (response.ok) { cache.put(request, response.clone()); } return response; }).catch(() => cached); - + return cached || fetchPromise; } /** - * Cache Then Network with limit - Cache tiles with size limit - * Best for: Map tiles + * Tile Cache then Network — Per-host bucket with size limit. + * Cache first; on miss, fetch from network and store. + * + * Memory-conservative eviction: + * • Increments an in-memory counter on every successful insert + * • Only calls cache.keys() (which materialises all Request objects) every + * EVICTION_CHECK_INTERVAL inserts — so the cost is amortised + * • Eviction drops the oldest 10 % when over the per-host limit + * + * On network failure (offline), serves a 408 so the map renders a blank tile + * rather than throwing. */ -async function cacheThenNetwork(request, cacheName, maxItems) { +async function tileCacheThenNetwork(request, cacheName) { const cache = await caches.open(cacheName); const cached = await cache.match(request); - if (cached) return cached; - + try { const response = await fetch(request); - + if (response.ok) { - // Check cache size and trim if needed - const keys = await cache.keys(); - if (keys.length >= maxItems) { - // Remove oldest entries (first 10%) - const toDelete = keys.slice(0, Math.ceil(maxItems * 0.1)); - await Promise.all(toDelete.map(key => cache.delete(key))); + // Bump the counter; periodically run a real eviction sweep + const count = (_tileInsertCounters.get(cacheName) || 0) + 1; + _tileInsertCounters.set(cacheName, count); + + if (count % EVICTION_CHECK_INTERVAL === 0) { + // Reset the counter — next sweep is another EVICTION_CHECK_INTERVAL away + _tileInsertCounters.set(cacheName, 0); + await maybeEvict(cache, cacheName); } - - cache.put(request, response.clone()); + + // Don't await put() — it can run after we return the response, keeping + // the fetch hot path lightweight. + cache.put(request, response.clone()).catch((err) => { + // QuotaExceededError → run an immediate eviction sweep and retry once + if (err && err.name === 'QuotaExceededError') { + maybeEvict(cache, cacheName, /* force */ true).catch(() => {}); + } + }); } - + return response; } catch (error) { - // For tiles, just fail silently - map will show blank tile + // Offline — let the map renderer show a blank tile return new Response('', { status: 408, statusText: 'Offline' }); } } +/** + * Run an eviction sweep on a cache, dropping the oldest 10 % of entries + * when over the per-cache limit. Heavy: only call periodically. + */ +async function maybeEvict(cache, cacheName, force = false) { + try { + const limit = TILE_LIMITS[cacheName] || 1500; + const keys = await cache.keys(); + if (force || keys.length >= limit) { + const drop = Math.max(1, Math.ceil(limit * 0.1)); + const toDelete = keys.slice(0, drop); + await Promise.all(toDelete.map((k) => cache.delete(k))); + } + } catch (err) { + console.warn('[SW] eviction sweep failed for', cacheName, err); + } +} + // ============================================================================ // MESSAGE HANDLING // ============================================================================ self.addEventListener('message', (event) => { const { type, payload } = event.data || {}; - + switch (type) { case 'SKIP_WAITING': self.skipWaiting(); break; - + case 'CACHE_MODULES': cacheModules(payload.modules); break; - + case 'CLEAR_USER_CACHE': clearUserCaches(); break; - + case 'GET_CACHE_STATUS': - getCacheStatus().then(status => { + getCacheStatus().then((status) => { event.source.postMessage({ type: 'CACHE_STATUS', status }); }); break; + + // ----- Tile-cache management (Phase 1 offline maps) ----- + case 'GET_TILE_STATS': + getTileStats().then((stats) => { + event.source.postMessage({ type: 'TILE_STATS', stats }); + }); + break; + + case 'CLEAR_TILE_CACHES': + clearTileCaches().then(() => { + event.source.postMessage({ type: 'TILE_CACHES_CLEARED' }); + }); + break; } }); +// ============================================================================ +// HELPER FUNCTIONS +// ============================================================================ + /** - * Cache specific modules on demand + * Cache specific modules on demand. */ async function cacheModules(moduleNames) { const cache = await caches.open(MODULES_CACHE); - + for (const moduleName of moduleNames) { try { const moduleAssets = [ @@ -277,9 +419,8 @@ async function cacheModules(moduleNames) { `/modules/${moduleName}/index.css`, `/modules/${moduleName}/index.html` ]; - + await cache.addAll(moduleAssets.filter(async (url) => { - // Only cache assets that exist try { const response = await fetch(url, { method: 'HEAD' }); return response.ok; @@ -287,7 +428,7 @@ async function cacheModules(moduleNames) { return false; } })); - + console.log('[SW] Cached module:', moduleName); } catch (error) { console.warn('[SW] Failed to cache module:', moduleName, error); @@ -296,7 +437,8 @@ async function cacheModules(moduleNames) { } /** - * Clear user-specific caches (call on logout) + * Clear user-specific caches (call on logout). + * Tile caches are NOT cleared here — those belong to the device, not the user. */ async function clearUserCaches() { await caches.delete(API_CACHE); @@ -305,17 +447,90 @@ async function clearUserCaches() { } /** - * Get cache status information + * Get summary status of all caches (count of entries in each). */ async function getCacheStatus() { const cacheNames = await caches.keys(); const status = {}; - + for (const name of cacheNames) { const cache = await caches.open(name); const keys = await cache.keys(); status[name] = keys.length; } - + return status; } + +/** + * Get per-provider tile cache statistics. + * + * Returns shape: + * { + * totals: { count, estBytes }, + * byProvider: [{ key, label, count, limit, estBytes }, ...] + * } + * + * estBytes is an approximation (count × AVG_TILE_BYTES). For an exact size, + * the caller can use navigator.storage.estimate() on the page side. + * + * Result is cached for STATS_TTL_MS so rapid re-queries (e.g. multiple + * Settings opens) don't re-enumerate every cache. + */ +const STATS_TTL_MS = 10 * 1000; +let _cachedStats = null; +let _cachedStatsAt = 0; + +async function getTileStats({ force = false } = {}) { + const now = Date.now(); + if (!force && _cachedStats && (now - _cachedStatsAt) < STATS_TTL_MS) { + return _cachedStats; + } + + const byProvider = []; + let totalCount = 0; + + for (const cacheName of ALL_TILE_CACHES) { + let count = 0; + if (await caches.has(cacheName)) { + const cache = await caches.open(cacheName); + // matchAll returns a smaller payload than keys() on Safari, but neither + // is free. Done at most once per STATS_TTL_MS thanks to the cache above. + const keys = await cache.keys(); + count = keys.length; + } + byProvider.push({ + key: cacheName, + label: TILE_CACHE_LABELS[cacheName] || cacheName, + count, + limit: TILE_LIMITS[cacheName] || 0, + estBytes: count * AVG_TILE_BYTES, + }); + totalCount += count; + } + + _cachedStats = { + totals: { + count: totalCount, + estBytes: totalCount * AVG_TILE_BYTES, + }, + byProvider, + }; + _cachedStatsAt = now; + return _cachedStats; +} + +/** + * Delete every tile cache. Frees the device storage used by cached map tiles. + * Does not affect app-shell, modules, or API caches. + */ +async function clearTileCaches() { + const results = await Promise.all( + ALL_TILE_CACHES.map((name) => caches.delete(name)) + ); + // Reset counters and invalidate stats cache + _tileInsertCounters.clear(); + _cachedStats = null; + _cachedStatsAt = 0; + console.log('[SW] Cleared tile caches:', ALL_TILE_CACHES.filter((_, i) => results[i])); +} diff --git a/sql/create_landuse_parcels.sql b/sql/create_landuse_parcels.sql new file mode 100644 index 0000000..d044c78 --- /dev/null +++ b/sql/create_landuse_parcels.sql @@ -0,0 +1,207 @@ +-- ============================================================================ +-- LUPMIS — Land Use Parcels schema +-- ============================================================================ +-- Source: "LAND USE INFORMATION FOR LUPMIS" (LUSPA, February 2026, revised) +-- Implements the parcel-attribute table defined by Stephen / LUSPA, with a +-- PostGIS geometry column and the indices needed for typical access patterns +-- (spatial queries, lookup by zone / district / locality, time filtering). +-- +-- Conventions: +-- • Identifiers are unquoted (lowercase) — PostgreSQL folds them to lower +-- case anyway, and this avoids the need for double-quotes in queries. +-- • Source column names are PascalCase / Mixed_Case in the spec; their +-- mapping to snake_case is shown in COMMENT ON COLUMN. +-- • Geometry is stored in EPSG:4326 (WGS 84) for portability with the +-- remote API. The MultiPolygon type accommodates parcels with islands +-- or multi-part shapes. +-- +-- Run as a database superuser (or a role with CREATEEXTENSION privilege) +-- in the target database. +-- ============================================================================ + +-- PostGIS is required for the geometry column and spatial index. +CREATE EXTENSION IF NOT EXISTS postgis; + +-- Drop existing table for clean re-runs in dev. Comment out for production. +-- DROP TABLE IF EXISTS public.landuse_parcels CASCADE; + +-- --------------------------------------------------------------------------- +-- Table: public.landuse_parcels +-- --------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS public.landuse_parcels ( + id BIGSERIAL PRIMARY KEY, + + -- Spec field 1: UPN — Unique Parcel Number (Integer, up to 10 digits). + -- 10-digit integers can exceed INTEGER's max (2,147,483,647), hence BIGINT. + upn BIGINT NOT NULL, + + -- Spec field 2: Style — Colour Assign ID (Integer, 2 digits). + -- References the colour palette defined in the Revised Zoning Guidelines + -- and Planning Standards (2025). Optional FK to a lookup table. + style SMALLINT, + + -- Spec field 3: Landuse — Broad land use (Text, 50). + landuse VARCHAR(50), + + -- Spec field 4: Zone_Code — Zone acronym (Text, 5), e.g. "Re A". + zone_code VARCHAR(5), + + -- Spec field 5: Zone_Name — Zone name (Text, 50), e.g. "Residential Zone A". + zone_name VARCHAR(50), + + -- Spec field 6: Sector — Sector number of plan area (Text, 5). + sector VARCHAR(5), + + -- Spec field 7: Block — Block name within the sector (Text, 3). + block VARCHAR(3), + + -- Spec field 8: Parcel_No — Plot number for land registration (Text, 5). + parcel_no VARCHAR(5), + + -- Spec field 9: Prop_No — Property number for street addressing (Text, 5). + prop_no VARCHAR(5), + + -- Spec field 10: St_Name — Street name (Text, 18). From the Street Naming + -- and Property Addressing System (SNPAS). + st_name VARCHAR(18), + + -- Spec field 11: Prop_Add — Property address (Text, 25). + prop_add VARCHAR(25), + + -- Spec field 12: Fac_Name — Facility name (Text, 100). + fac_name VARCHAR(100), + + -- Spec field 13: Min_Height — Minimum building height in storeys (Integer, 3). + min_height SMALLINT, + + -- Spec field 14: Max_Height — Maximum building height in storeys (Integer, 3). + max_height SMALLINT, + + -- Spec field 15: Eff_Date — Effective approval date by the District SPC. + eff_date DATE, + + -- Spec field 16: LP_Name — Local plan name (Text, 100). + lp_name VARCHAR(100), + + -- Spec field 17: Locality — Community / area name (Text, 50). + locality VARCHAR(50), + + -- Spec field 18: MMDA — Metropolitan / Municipal / District Assembly + -- abbreviation (Text, 10), e.g. "LADMA". + mmda VARCHAR(10), + + -- Spec field 19: Last_Update — Last update on a parcel (e.g. change of + -- use approved by SPC). + last_update DATE, + + -- Spec field 20: Remarks — Additional info (Text, 200). + remarks VARCHAR(200), + + -- ------------------------------------------------------------------ + -- Geometry — parcel polygon in WGS 84 (EPSG:4326). + -- MultiPolygon allows parcels with islands or disjoint parts. + -- ------------------------------------------------------------------ + geom geometry(MultiPolygon, 4326), + + -- ------------------------------------------------------------------ + -- Audit columns (not in the spec, added for change tracking) + -- ------------------------------------------------------------------ + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + + -- ------------------------------------------------------------------ + -- Constraints + -- ------------------------------------------------------------------ + CONSTRAINT uq_landuse_parcels_upn UNIQUE (upn), + CONSTRAINT ck_landuse_parcels_style CHECK (style IS NULL OR style >= 0), + CONSTRAINT ck_landuse_parcels_min_height CHECK (min_height IS NULL OR min_height >= 0), + CONSTRAINT ck_landuse_parcels_max_height CHECK (max_height IS NULL OR max_height >= 0), + CONSTRAINT ck_landuse_parcels_height_order + CHECK (min_height IS NULL OR max_height IS NULL OR min_height <= max_height) +); + +-- --------------------------------------------------------------------------- +-- Column comments — preserve the source-document descriptions +-- --------------------------------------------------------------------------- +COMMENT ON TABLE public.landuse_parcels IS 'Land use parcels — LUSPA spec, February 2026 (revised).'; + +COMMENT ON COLUMN public.landuse_parcels.upn IS 'UPN — Unique Parcel Number (Integer, 10 digits).'; +COMMENT ON COLUMN public.landuse_parcels.style IS 'Style — Colour Assign ID per Revised Zoning Guidelines (2025).'; +COMMENT ON COLUMN public.landuse_parcels.landuse IS 'Broad land use, e.g. Residential, Commercial, Mixed.'; +COMMENT ON COLUMN public.landuse_parcels.zone_code IS 'Zone code (acronym), e.g. Re A.'; +COMMENT ON COLUMN public.landuse_parcels.zone_name IS 'Zone name, e.g. Residential Zone A.'; +COMMENT ON COLUMN public.landuse_parcels.sector IS 'Sector number of the plan area.'; +COMMENT ON COLUMN public.landuse_parcels.block IS 'Block name within the sector.'; +COMMENT ON COLUMN public.landuse_parcels.parcel_no IS 'Plot number for land registration.'; +COMMENT ON COLUMN public.landuse_parcels.prop_no IS 'Property number for street addressing.'; +COMMENT ON COLUMN public.landuse_parcels.st_name IS 'Street name (max 18 characters, per SNPAS).'; +COMMENT ON COLUMN public.landuse_parcels.prop_add IS 'Property address of parcel.'; +COMMENT ON COLUMN public.landuse_parcels.fac_name IS 'Facility name of property.'; +COMMENT ON COLUMN public.landuse_parcels.min_height IS 'Minimum building height (storeys).'; +COMMENT ON COLUMN public.landuse_parcels.max_height IS 'Maximum building height (storeys).'; +COMMENT ON COLUMN public.landuse_parcels.eff_date IS 'Effective approval date by the District Spatial Planning Committee.'; +COMMENT ON COLUMN public.landuse_parcels.lp_name IS 'Local plan name.'; +COMMENT ON COLUMN public.landuse_parcels.locality IS 'Name of community or area.'; +COMMENT ON COLUMN public.landuse_parcels.mmda IS 'Metropolitan/Municipal/District Assembly abbreviation, e.g. LADMA.'; +COMMENT ON COLUMN public.landuse_parcels.last_update IS 'Last update on a parcel (e.g. change of use approved by SPC).'; +COMMENT ON COLUMN public.landuse_parcels.remarks IS 'Additional information on the parcel.'; +COMMENT ON COLUMN public.landuse_parcels.geom IS 'Parcel boundary geometry (MultiPolygon, EPSG:4326).'; +COMMENT ON COLUMN public.landuse_parcels.created_at IS 'Row-creation timestamp (audit).'; +COMMENT ON COLUMN public.landuse_parcels.updated_at IS 'Row last-modified timestamp (audit, maintained by trigger).'; + +-- --------------------------------------------------------------------------- +-- Indices +-- --------------------------------------------------------------------------- + +-- Spatial index — required for any ST_Intersects / ST_Within / map-bbox query. +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_geom + ON public.landuse_parcels + USING GIST (geom); + +-- B-tree indices for common attribute lookups. +-- (uq_landuse_parcels_upn already creates an implicit index on upn.) +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_zone_code + ON public.landuse_parcels (zone_code); + +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_mmda + ON public.landuse_parcels (mmda); + +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_locality + ON public.landuse_parcels (locality); + +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_lp_name + ON public.landuse_parcels (lp_name); + +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_eff_date + ON public.landuse_parcels (eff_date); + +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_last_update + ON public.landuse_parcels (last_update); + +-- Composite index for the very common "find all parcels in MMDA X with zone Y" query. +CREATE INDEX IF NOT EXISTS idx_landuse_parcels_mmda_zone + ON public.landuse_parcels (mmda, zone_code); + +-- --------------------------------------------------------------------------- +-- Trigger — keep updated_at fresh on every UPDATE +-- --------------------------------------------------------------------------- +CREATE OR REPLACE FUNCTION public.fn_landuse_parcels_set_updated_at() +RETURNS TRIGGER +LANGUAGE plpgsql +AS $$ +BEGIN + NEW.updated_at := NOW(); + RETURN NEW; +END; +$$; + +DROP TRIGGER IF EXISTS trg_landuse_parcels_set_updated_at ON public.landuse_parcels; + +CREATE TRIGGER trg_landuse_parcels_set_updated_at +BEFORE UPDATE ON public.landuse_parcels +FOR EACH ROW +EXECUTE FUNCTION public.fn_landuse_parcels_set_updated_at(); + +-- ============================================================================ +-- End of script +-- ============================================================================ diff --git a/src/components/MapTools.js b/src/components/MapTools.js index 774c6b4..ce335c4 100644 --- a/src/components/MapTools.js +++ b/src/components/MapTools.js @@ -18,6 +18,7 @@ import { LineString, Circle, Polygon } from 'ol/geom'; import { getLength, getArea } from 'ol/sphere'; import Feature from 'ol/Feature'; import { unByKey } from 'ol/Observable'; +import { formatLength, formatArea, formatCircleExtent } from '../units.js'; // ol-ext imports import EditBar from 'ol-ext/control/EditBar'; @@ -116,40 +117,6 @@ export class MapTools { }); } - /** - * Format length output - */ - formatLength(length) { - if (length > 1000) { - return (Math.round(length / 1000 * 100) / 100) + ' km'; - } else { - return (Math.round(length * 100) / 100) + ' m'; - } - } - - /** - * Format area output - */ - formatArea(area) { - if (area > 1000000) { - return (Math.round(area / 1000000 * 100) / 100) + ' km²'; - } else { - return (Math.round(area * 100) / 100) + ' m²'; - } - } - - /** - * Format circle extent (bounding box area) - */ - formatCircleExtent(radius) { - const area = Math.PI * radius * radius; - if (area > 1000000) { - return (Math.round(area / 1000000 * 100) / 100) + ' km²'; - } else { - return (Math.round(area * 100) / 100) + ' m²'; - } - } - /** * Create measurement tooltip overlay */ @@ -231,8 +198,8 @@ export class MapTools { if (geom instanceof Circle) { const radius = geom.getRadius(); - const area = this.formatCircleExtent(radius); - const radiusFormatted = this.formatLength(radius); + const area = formatCircleExtent(radius); + const radiusFormatted = formatLength(radius); const output = `${radiusFormatted}
    ${area}`; @@ -311,7 +278,7 @@ export class MapTools { listener = sketch.getGeometry().on('change', (e) => { const geom = e.target; const length = getLength(geom); - const output = this.formatLength(length); + const output = formatLength(length); this.measureTooltipElement.innerHTML = output; this.measureTooltip.setPosition(geom.getLastCoordinate()); @@ -364,7 +331,7 @@ export class MapTools { listener = sketch.getGeometry().on('change', (e) => { const geom = e.target; const area = getArea(geom); - const output = this.formatArea(area); + const output = formatArea(area); this.measureTooltipElement.innerHTML = output; this.measureTooltip.setPosition(geom.getInteriorPoint().getCoordinates()); @@ -376,6 +343,10 @@ export class MapTools { const geom = feature.getGeometry(); const area = getArea(geom); + // Tag so the double-click handler can identify it + feature.set('_layerType', 'measure_area'); + feature.set('_area', area); + this.measureTooltipElement.className = 'measure-tooltip measure-tooltip-static'; this.measureTooltipElement = null; this.createMeasureTooltip(); diff --git a/src/components/MapView.js b/src/components/MapView.js index 08b8716..5179a7f 100644 --- a/src/components/MapView.js +++ b/src/components/MapView.js @@ -20,9 +20,13 @@ import Map from 'ol/Map'; import View from 'ol/View'; import Overlay from 'ol/Overlay'; import TileLayer from 'ol/layer/Tile'; +import ImageLayer from 'ol/layer/Image'; import LayerGroup from 'ol/layer/Group'; import VectorLayer from 'ol/layer/Vector'; +import VectorImageLayer from 'ol/layer/VectorImage'; import VectorSource from 'ol/source/Vector'; +import ImageWMS from 'ol/source/ImageWMS'; +import TileWMS from 'ol/source/TileWMS'; import OSM from 'ol/source/OSM'; import XYZ from 'ol/source/XYZ'; import { fromLonLat, toLonLat } from 'ol/proj'; @@ -33,6 +37,7 @@ import GeoJSON from 'ol/format/GeoJSON'; import { getArea, getLength } from 'ol/sphere'; import { fromCircle } from 'ol/geom/Polygon'; import ScaleLine from 'ol/control/ScaleLine'; +import { formatLength, formatLengthFull, formatArea, formatAreaFull } from '../units.js'; // ol-ext LayerSwitcher import LayerSwitcher from 'ol-ext/control/LayerSwitcher'; @@ -57,10 +62,30 @@ import ModifyFeature from 'ol-ext/interaction/ModifyFeature'; // ol-ext UndoRedo interaction import UndoRedo from 'ol-ext/interaction/UndoRedo'; +// ol-ext SnapGuides — snaps drawing vertices to alignment guides +import SnapGuides from 'ol-ext/interaction/SnapGuides'; + // ol Select interaction (for custom multi-layer Select) import Select from 'ol/interaction/Select'; import { click as clickCondition } from 'ol/events/condition'; +// ol-ext Split interaction (for line splitting) and Toggle control +import Split from 'ol-ext/interaction/Split'; +import Toggle from 'ol-ext/control/Toggle'; +import TextButton from 'ol-ext/control/TextButton'; + +// Custom polygon split interaction +import { PolygonSplitInteraction } from '../interactions/PolygonSplitInteraction.js'; + +// Custom polygon merge interaction +import { PolygonMergeInteraction } from '../interactions/PolygonMergeInteraction.js'; + +// Custom polygon divide interaction +import { PolygonDivideInteraction } from '../interactions/PolygonDivideInteraction.js'; + +// Toast notifications +import { showToast } from '../toast.js'; + // CSS imports import 'ol/ol.css'; import 'ol-ext/dist/ol-ext.css'; @@ -123,7 +148,7 @@ export class MapView { } // Create base layers group - const baseLayers = this.createBaseLayers(options.basemap || 'osm'); + const baseLayers = this.createBaseLayers(options.basemap || 'topo'); // Markers layer this.markersLayer = new VectorLayer({ @@ -162,14 +187,58 @@ export class MapView { const layerSwitcher = new LayerSwitcher({ collapsed: true, mouseover: true, - extent: false, + extent: true, trash: false, oninfo: null, }); this.map.addControl(layerSwitcher); - // Add ScaleLine control - this.map.addControl(new ScaleLine()); + // Inject "Add Layer" button into the "External Source" group header + layerSwitcher.on('drawlist', (evt) => { + const groupTitle = (evt.layer.get('title') || '').toLowerCase(); + if (groupTitle.includes('external')) { + // Store reference to the actual External group for later use + this._externalSourceGroup = evt.layer; + const btnBar = evt.li.querySelector('.ol-layerswitcher-buttons'); + if (btnBar && !btnBar.querySelector('.ol-add-layer')) { + const addBtn = document.createElement('span'); + addBtn.className = 'ol-add-layer'; + addBtn.title = 'Add external layer'; + addBtn.textContent = '+'; + addBtn.style.cssText = ` + display:inline-flex !important;align-items:center;justify-content:center; + width:20px !important;height:20px !important;border-radius:50%; + background:#10b981 !important;color:#fff !important; + font-size:16px !important;font-weight:700; + cursor:pointer;line-height:1 !important; + margin:2px 4px 2px 2px;vertical-align:middle; + transition:background 0.2s;box-sizing:border-box; + `; + addBtn.addEventListener('mouseenter', () => { addBtn.style.background = '#059669'; }); + addBtn.addEventListener('mouseleave', () => { addBtn.style.background = '#10b981'; }); + addBtn.addEventListener('click', (e) => { + e.stopPropagation(); + this.showAddLayerDialog(); + }); + btnBar.prepend(addBtn); + } + } + }); + + // Create the add-layer dialog (hidden by default) + this._createAddLayerDialog(); + + // Create the legend panel (shows legends for visible layers that have one) + this._createLegendPanel(); + + // Add ScaleBar control + this.scaleBar = new ScaleLine({ + bar: true, + steps: 4, + text: true, + minWidth: 140, + }); + this.map.addControl(this.scaleBar); // Add GeolocationButton control const geolocationButton = new GeolocationButton({ @@ -240,6 +309,12 @@ export class MapView { // Create drawn polygon attribute popup this.createDrawnPolygonPopup(); + // Create merge identifier (UPN) chooser popup + this.createMergePopup(); + + // Create divide polygon popup (number input) + this.createDividePopup(); + // Double-click callbacks this.dblClickCallbacks = []; @@ -329,38 +404,20 @@ export class MapView { Delete: true, Info: true, Transform: true, - Split: true, - Offset: true, + Split: false, }, }); this.map.addControl(this.editBar); - // 6. Add extra buttons (Undo, Redo, Colour, Save) as a sub-bar - // inside the EditBar so they appear inline. - this._fillColor = '#f59e0b'; - const colorInput = document.createElement('input'); - colorInput.type = 'color'; - colorInput.value = this._fillColor; - colorInput.title = 'Fill colour'; - colorInput.style.cssText = 'width:28px;height:28px;border:none;padding:0;cursor:pointer;background:transparent;'; - colorInput.addEventListener('input', (e) => { - this._fillColor = e.target.value; - const hex = this._fillColor; - const r = parseInt(hex.slice(1, 3), 16); - const g = parseInt(hex.slice(3, 5), 16); - const b = parseInt(hex.slice(5, 7), 16); - this.drawingsLayer.setStyle(new Style({ - stroke: new Stroke({ color: hex, width: 2.5 }), - fill: new Fill({ color: `rgba(${r},${g},${b},0.15)` }), - image: new Circle({ - radius: 6, - fill: new Fill({ color: hex }), - stroke: new Stroke({ color: '#fff', width: 1.5 }), - }), - })); - console.log('[MapView] Fill colour changed to', hex); - }); + // 5b. Persistent vertex overlay — when edit mode is active and the user + // selects a polygon (or line) for modification, render a small dot + // at every vertex so the user can see all editable nodes at a glance. + // ol-ext's ModifyFeature only renders the closest vertex on hover; this + // overlay complements that without subclassing the interaction. + this._setupVertexOverlay(); + // 6. Add extra buttons (Undo, Redo, Save) as a sub-bar + // inside the EditBar so they appear inline. const extraBar = new Bar({ group: true, controls: [ @@ -380,11 +437,6 @@ export class MapView { if (this._undoRedo.hasRedo()) this._undoRedo.redo(); }, }), - new Button({ - html: colorInput, - className: 'ol-colorpicker', - title: 'Fill colour', - }), new Button({ html: '', className: 'ol-save', @@ -397,6 +449,174 @@ export class MapView { }); this.editBar.addControl(extraBar); + // 6a-split. Custom Split tool with Lines / Polygons sub-categories. + // The default ol-ext Split only handles LineString. We add a parent + // Toggle with a sub-bar containing two sub-toggles: "Lines" (ol-ext + // Split) and "Polygons" (our PolygonSplitInteraction). + // No explicit sources → both interactions search ALL visible vector layers, + // so they work on drawn features, parcels, zones, and any other polygon layer. + this._lineSplitInteraction = new Split(); + this._polygonSplitInteraction = new PolygonSplitInteraction(); + this.map.addInteraction(this._lineSplitInteraction); + this.map.addInteraction(this._polygonSplitInteraction); + this._lineSplitInteraction.setActive(false); + this._polygonSplitInteraction.setActive(false); + + // When a parcel is split, the user picks which piece keeps the UPN. + this._polygonSplitInteraction.on('splitpick', (evt) => { + const idFields = ['UPN', 'upn', 'id', 'parcelid', 'parcel_id', 'PARCELID', 'PARCEL_ID', 'ID']; + for (const feat of evt.features) { + if (feat === evt.picked) continue; + for (const field of idFields) { + if (feat.get(field) !== undefined) { + feat.set(field, ''); + } + } + } + }); + + // Polygon Divide interaction (parameter-driven equal-area division) + this._polygonDivideInteraction = new PolygonDivideInteraction(); + this.map.addInteraction(this._polygonDivideInteraction); + this._polygonDivideInteraction.setActive(false); + + const splitLineToggle = new Toggle({ + html: '', + className: 'ol-split-line', + title: 'Split Lines', + name: 'SplitLine', + interaction: this._lineSplitInteraction, + autoActivate: true, + }); + const splitPolyToggle = new Toggle({ + html: '', + className: 'ol-split-polygon', + title: 'Split Polygons', + name: 'SplitPolygon', + interaction: this._polygonSplitInteraction, + }); + const splitDivideToggle = new Toggle({ + html: '', + className: 'ol-split-divide', + title: 'Divide Polygon', + name: 'DividePolygon', + interaction: this._polygonDivideInteraction, + }); + + const splitSubBar = new Bar({ + toggleOne: true, + autoDeactivate: true, + controls: [splitLineToggle, splitPolyToggle, splitDivideToggle], + }); + + const splitParentToggle = new Toggle({ + className: 'ol-split', + title: 'Split', + name: 'Split', + bar: splitSubBar, + onToggle: (active) => { + if (!active) { + this._lineSplitInteraction.setActive(false); + this._polygonSplitInteraction.setActive(false); + this._polygonDivideInteraction.setActive(false); + } + }, + }); + this.editBar.addControl(splitParentToggle); + + // Listen for divide form request → show divide popup + this._polygonDivideInteraction.on('divideform', (evt) => { + this.showDividePopup(evt.feature, evt.source, evt.coordinate); + }); + this._polygonDivideInteraction.on('dividecancel', () => { + this.hideDividePopup(); + }); + + // When a parcel is divided, the user picks which piece keeps the UPN. + // The picked piece gets the original properties; all others get UPN cleared. + this._polygonDivideInteraction.on('dividepick', (evt) => { + const idFields = ['UPN', 'upn', 'id', 'parcelid', 'parcel_id', 'PARCELID', 'PARCEL_ID', 'ID']; + for (const feat of evt.features) { + if (feat === evt.picked) continue; + // Clear identifier fields on the non-picked pieces + for (const field of idFields) { + if (feat.get(field) !== undefined) { + feat.set(field, ''); + } + } + } + }); + + // 6a-merge. Polygon Merge tool — select two adjacent polygons, click shared + // edges, and merge them into one. For parcels, a UPN chooser popup appears. + this._polygonMergeInteraction = new PolygonMergeInteraction(); + this.map.addInteraction(this._polygonMergeInteraction); + this._polygonMergeInteraction.setActive(false); + + const mergeToggle = new Toggle({ + html: '', + className: 'ol-merge', + title: 'Merge Polygons', + name: 'Merge', + interaction: this._polygonMergeInteraction, + }); + this.editBar.addControl(mergeToggle); + + // Listen for merged-parcel event → show UPN chooser + this._polygonMergeInteraction.on('mergedparcel', (evt) => { + this.showMergeIdentifierPopup(evt.merged, evt.propsA, evt.propsB, evt.coordinate); + }); + + // 6b. SnapGuides — shows alignment guides while drawing. + // Uses VectorImageLayer for GPU-friendly canvas rendering instead of + // re-creating individual SVG elements on every guide update. + this._snapGuidesEnabled = localStorage.getItem('snap-guides-enabled') === '1'; + this._snapGuides = new SnapGuides({ + pixelTolerance: 10, + vectorClass: VectorImageLayer, + }); + this.map.addInteraction(this._snapGuides); + + // Connect SnapGuides to whichever draw interaction becomes active. + // setDrawInteraction() only tracks one at a time, so we re-bind + // whenever a draw tool is activated. + const drawToolNames = ['DrawPoint', 'DrawLine', 'DrawPolygon', 'DrawHole', 'DrawRegular']; + for (const name of drawToolNames) { + const interaction = this.editBar.getInteraction(name); + if (interaction) { + interaction.on('change:active', () => { + if (interaction.getActive()) { + this._snapGuides.setDrawInteraction(interaction); + } + }); + } + } + + // Also connect SnapGuides to the Modify interaction for vertex editing + if (this._modifyInteraction) { + this._snapGuides.setModifyInteraction(this._modifyInteraction); + } + + // 6c. Snap-guides toggle button (magnet icon) — persisted in localStorage + const snapToggleBtn = new Button({ + html: '', + className: 'ol-snap-toggle' + (this._snapGuidesEnabled ? ' ol-active' : ''), + title: 'Toggle Snap Guides', + handleClick: () => { + this._snapGuidesEnabled = !this._snapGuidesEnabled; + localStorage.setItem('snap-guides-enabled', this._snapGuidesEnabled ? '1' : '0'); + // Update visual state + snapToggleBtn.element.classList.toggle('ol-active', this._snapGuidesEnabled); + // Activate or deactivate the interaction + if (this._snapGuides) { + this._snapGuides.setActive(this._snapGuidesEnabled && this._editBarActive); + } + console.log('[MapView] Snap guides:', this._snapGuidesEnabled ? 'ON' : 'OFF'); + }, + }); + this._snapToggleBtn = snapToggleBtn; + extraBar.addControl(snapToggleBtn); + // Start hidden — use the full setEditMode(false) so the Select + // Modify interactions are deactivated (the EditBar constructor may // have re-activated them). @@ -433,7 +653,7 @@ export class MapView { this.showDrawnPolygonPopup(feature, coordinate); }); - console.log('[MapView] EditBar initialised with Drawings group, UndoRedo, colour picker'); + console.log('[MapView] EditBar initialised with Drawings group, UndoRedo and SnapGuides (default:', this._snapGuidesEnabled ? 'ON' : 'OFF', ')'); } /** @@ -495,11 +715,21 @@ export class MapView { this._modifyInteraction.setActive(this._editBarActive); } + // Toggle SnapGuides — only active when both edit mode AND the user toggle are on + if (this._snapGuides) { + this._snapGuides.setActive(this._snapGuidesEnabled && this._editBarActive); + } + // Toggle TouchCursor if (this.touchCursor) { this.touchCursor.setActive(this._editBarActive); } + // Clear persistent vertex highlights when leaving edit mode + if (!this._editBarActive && this._vertexOverlaySource) { + this._vertexOverlaySource.clear(); + } + console.log('[MapView] Edit mode:', this._editBarActive ? 'ON' : 'OFF'); } @@ -511,6 +741,131 @@ export class MapView { return this._editBarActive; } + // ============================================================================ + // Persistent Vertex Highlight Overlay + // ============================================================================ + + /** + * Create a vector layer that renders a small dot at every vertex of any + * currently-selected feature (polygon, multipolygon, line, multiline). + * Only active while edit mode is on. + * + * Hooks: + * - `select` event from the Select interaction → rebuild dots for the new selection + * - `change` event on the selected feature → reposition dots when a vertex is dragged + */ + _setupVertexOverlay() { + this._vertexOverlaySource = new VectorSource(); + this._vertexOverlayLayer = new VectorLayer({ + title: '__vertex_highlight__', + source: this._vertexOverlaySource, + // Render above all other overlays but below ModifyFeature's hover indicator + zIndex: 990, + style: new Style({ + image: new Circle({ + radius: 4, + fill: new Fill({ color: 'rgba(14,165,233,0.85)' }), // brand blue + stroke: new Stroke({ color: '#fff', width: 1.2 }), + }), + }), + }); + // Hide from LayerSwitcher — purely visual, not user-toggleable + this._vertexOverlayLayer.set('displayInLayerSwitcher', false); + this.map.addLayer(this._vertexOverlayLayer); + + // Bound handler so we can attach/detach by reference + this._onSelectedFeatureGeomChange = () => this._refreshVertexOverlay(); + + // Track which feature(s) we're listening on, so we can unhook cleanly + this._vertexTrackedFeatures = new Set(); + + // When the selection changes, swap which features we listen to and rebuild dots + this._selectInteraction.on('select', () => this._refreshVertexOverlay()); + } + + /** + * Rebuild the vertex overlay from the current Select interaction's features. + * No-ops when not in edit mode. + */ + _refreshVertexOverlay() { + if (!this._vertexOverlaySource) return; + this._vertexOverlaySource.clear(); + + // Detach change listeners from previously-tracked features + if (this._vertexTrackedFeatures) { + for (const f of this._vertexTrackedFeatures) { + f.un('change', this._onSelectedFeatureGeomChange); + } + this._vertexTrackedFeatures.clear(); + } + + if (!this._editBarActive || !this._selectInteraction) return; + + const selected = this._selectInteraction.getFeatures().getArray(); + for (const feat of selected) { + const geom = feat.getGeometry(); + if (!geom) continue; + const type = geom.getType(); + if (!['Polygon', 'MultiPolygon', 'LineString', 'MultiLineString'].includes(type)) { + continue; + } + const coords = this._collectAllVertices(geom); + for (const c of coords) { + this._vertexOverlaySource.addFeature(new Feature(new Point(c))); + } + // Listen for vertex moves on this feature + feat.on('change', this._onSelectedFeatureGeomChange); + this._vertexTrackedFeatures.add(feat); + } + } + + /** + * Walk a (Multi)Polygon or (Multi)LineString geometry and return the flat + * list of vertex coordinates. Polygon rings have a duplicate closing vertex + * (last == first) which is dropped here so we don't render two dots on top + * of each other. + * + * @param {Geometry} geom + * @returns {Array>} + */ + _collectAllVertices(geom) { + const out = []; + const isCoord = (v) => Array.isArray(v) && typeof v[0] === 'number'; + + const visitRing = (ring, isPolygonRing) => { + const len = isPolygonRing && ring.length > 1 ? ring.length - 1 : ring.length; + for (let i = 0; i < len; i++) out.push(ring[i]); + }; + + const type = geom.getType(); + const coords = geom.getCoordinates(); + + switch (type) { + case 'Polygon': + // coords = [outerRing, hole1, hole2, …] + for (const ring of coords) visitRing(ring, true); + break; + case 'MultiPolygon': + // coords = [poly1, poly2, …]; each poly = [outerRing, hole1, …] + for (const poly of coords) for (const ring of poly) visitRing(ring, true); + break; + case 'LineString': + visitRing(coords, false); + break; + case 'MultiLineString': + for (const line of coords) visitRing(line, false); + break; + default: + // Fallback: deep walk to find arrays of [x, y] + const walk = (v) => { + if (isCoord(v)) out.push(v); + else if (Array.isArray(v)) for (const sub of v) walk(sub); + }; + walk(coords); + } + return out; + } + /** * Get the Drawings layer for external access. * @returns {VectorLayer} @@ -535,6 +890,16 @@ export class MapView { return this.editBar; } + /** + * Update the ScaleBar units ('metric' or 'imperial'). + * @param {'metric'|'imperial'} system + */ + setScaleBarUnits(system) { + if (this.scaleBar) { + this.scaleBar.setUnits(system === 'imperial' ? 'imperial' : 'metric'); + } + } + /** * Create the popup overlay element and add to map */ @@ -544,7 +909,8 @@ export class MapView { this.popupElement.className = 'map-popup'; this.popupElement.style.cssText = ` position: absolute; - background: white; + background: var(--card, #fff); + color: var(--card-foreground, #1e1a4b); border-radius: 8px; padding: 10px 14px; box-shadow: 0 2px 8px rgba(0,0,0,0.25); @@ -689,7 +1055,8 @@ export class MapView { this.infoPopupElement.className = 'map-info-popup'; this.infoPopupElement.style.cssText = ` position: absolute; - background: white; + background: var(--card, #fff); + color: var(--card-foreground, #1e1a4b); border-radius: 10px; padding: 0; box-shadow: 0 4px 16px rgba(0,0,0,0.3); @@ -697,6 +1064,9 @@ export class MapView { font-size: 13px; min-width: 220px; max-width: 320px; + max-height: 70vh; + display: flex; + flex-direction: column; z-index: 1001; border: 1px solid var(--border, #1e1a4b1f); overflow: hidden; @@ -745,9 +1115,7 @@ export class MapView { if (geomType === 'Polygon' || geomType === 'MultiPolygon') { // Area for polygons const areaSqm = getArea(geometry, { projection: 'EPSG:3857' }); - const areaFormatted = areaSqm > 1_000_000 - ? `${(areaSqm / 1_000_000).toFixed(2)} km\u00B2 (${areaSqm.toLocaleString('en', { maximumFractionDigits: 0 })} m\u00B2)` - : `${areaSqm.toLocaleString('en', { maximumFractionDigits: 0 })} m\u00B2`; + const areaFormatted = formatAreaFull(areaSqm); rows += ` area @@ -757,9 +1125,7 @@ export class MapView { } else if (geomType === 'LineString' || geomType === 'MultiLineString') { // Length for lines const lengthM = getLength(geometry, { projection: 'EPSG:3857' }); - const lengthFormatted = lengthM >= 1000 - ? `${(lengthM / 1000).toFixed(2)} km (${lengthM.toLocaleString('en', { maximumFractionDigits: 0 })} m)` - : `${lengthM.toLocaleString('en', { maximumFractionDigits: 1 })} m`; + const lengthFormatted = formatLengthFull(lengthM); rows += ` length @@ -784,11 +1150,11 @@ export class MapView { } const html = ` -