gemi 0.186.1 → 0.187.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/bin/gemi.js +7 -1
- package/dist/bin/gemi.js.map +3 -3
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-h2t135y3.js → chunk-0bzcxgks.js} +3 -3
- package/dist/{chunk-h2t135y3.js.map → chunk-0bzcxgks.js.map} +1 -1
- package/dist/{chunk-vhyabcw9.js → chunk-0jbwxas3.js} +2 -2
- package/dist/{chunk-vhyabcw9.js.map → chunk-0jbwxas3.js.map} +1 -1
- package/dist/{chunk-7b10n8m8.js → chunk-10sbvn36.js} +2 -2
- package/dist/{chunk-7b10n8m8.js.map → chunk-10sbvn36.js.map} +1 -1
- package/dist/{chunk-q6rse2fh.js → chunk-1ecvjvbg.js} +2 -2
- package/dist/{chunk-q6rse2fh.js.map → chunk-1ecvjvbg.js.map} +1 -1
- package/dist/{chunk-przahq2e.js → chunk-1x1je71f.js} +2 -2
- package/dist/{chunk-przahq2e.js.map → chunk-1x1je71f.js.map} +1 -1
- package/dist/{chunk-a1r1r1z7.js → chunk-2757n2e2.js} +2 -2
- package/dist/{chunk-a1r1r1z7.js.map → chunk-2757n2e2.js.map} +1 -1
- package/dist/{chunk-00sj67nx.js → chunk-28xqs354.js} +2 -2
- package/dist/{chunk-00sj67nx.js.map → chunk-28xqs354.js.map} +1 -1
- package/dist/{chunk-p4bbsa4x.js → chunk-2a4q9t8c.js} +2 -2
- package/dist/{chunk-p4bbsa4x.js.map → chunk-2a4q9t8c.js.map} +1 -1
- package/dist/{chunk-kzv3v0tm.js → chunk-2pj5e233.js} +3 -3
- package/dist/{chunk-kzv3v0tm.js.map → chunk-2pj5e233.js.map} +1 -1
- package/dist/{chunk-tckf3g8x.js → chunk-2ys56r3z.js} +2 -2
- package/dist/{chunk-tckf3g8x.js.map → chunk-2ys56r3z.js.map} +1 -1
- package/dist/{chunk-d5ftst76.js → chunk-3cmm9atm.js} +2 -2
- package/dist/{chunk-d5ftst76.js.map → chunk-3cmm9atm.js.map} +1 -1
- package/dist/{chunk-0ahecas6.js → chunk-3t37a4e5.js} +2 -2
- package/dist/{chunk-0ahecas6.js.map → chunk-3t37a4e5.js.map} +1 -1
- package/dist/{chunk-7gnspwra.js → chunk-3yzmzcxn.js} +2 -2
- package/dist/{chunk-7gnspwra.js.map → chunk-3yzmzcxn.js.map} +1 -1
- package/dist/{chunk-g32mpf79.js → chunk-4e99zzkt.js} +2 -2
- package/dist/{chunk-g32mpf79.js.map → chunk-4e99zzkt.js.map} +1 -1
- package/dist/{chunk-2rpz1p8g.js → chunk-5q2v29ma.js} +1 -1
- package/dist/{chunk-ty3kycy4.js → chunk-5sc7j1g0.js} +2 -2
- package/dist/{chunk-ty3kycy4.js.map → chunk-5sc7j1g0.js.map} +1 -1
- package/dist/{chunk-wtdmwmm7.js → chunk-5yj3k754.js} +3 -3
- package/dist/{chunk-wtdmwmm7.js.map → chunk-5yj3k754.js.map} +1 -1
- package/dist/{chunk-ye72q3kx.js → chunk-6cq83t7e.js} +2 -2
- package/dist/{chunk-ye72q3kx.js.map → chunk-6cq83t7e.js.map} +1 -1
- package/dist/{chunk-3fm7gmp5.js → chunk-6m5rt6xg.js} +2 -2
- package/dist/{chunk-3fm7gmp5.js.map → chunk-6m5rt6xg.js.map} +1 -1
- package/dist/{chunk-810nrvt4.js → chunk-7pes8axs.js} +2 -2
- package/dist/{chunk-810nrvt4.js.map → chunk-7pes8axs.js.map} +1 -1
- package/dist/{chunk-2qac05gb.js → chunk-8nxrgzxp.js} +2 -2
- package/dist/{chunk-2qac05gb.js.map → chunk-8nxrgzxp.js.map} +1 -1
- package/dist/{chunk-84j5b07n.js → chunk-9by5yphc.js} +1 -1
- package/dist/{chunk-zenfs4e2.js → chunk-9caq1znh.js} +3 -3
- package/dist/{chunk-zenfs4e2.js.map → chunk-9caq1znh.js.map} +1 -1
- package/dist/{chunk-zyzhqnbm.js → chunk-9sv8skzh.js} +2 -2
- package/dist/{chunk-zyzhqnbm.js.map → chunk-9sv8skzh.js.map} +1 -1
- package/dist/{chunk-3derdn99.js → chunk-aezj1erg.js} +2 -2
- package/dist/{chunk-3derdn99.js.map → chunk-aezj1erg.js.map} +1 -1
- package/dist/{chunk-gtdf51jz.js → chunk-ascbx2kb.js} +1 -1
- package/dist/{chunk-skq4g7qa.js → chunk-b3e27j6t.js} +2 -2
- package/dist/{chunk-skq4g7qa.js.map → chunk-b3e27j6t.js.map} +1 -1
- package/dist/{chunk-9mf6qzxy.js → chunk-bf88yh7q.js} +2 -2
- package/dist/{chunk-9mf6qzxy.js.map → chunk-bf88yh7q.js.map} +1 -1
- package/dist/{chunk-6tferehw.js → chunk-bw2ptzxr.js} +2 -2
- package/dist/{chunk-6tferehw.js.map → chunk-bw2ptzxr.js.map} +1 -1
- package/dist/{chunk-64r5cs5g.js → chunk-c3rn99hm.js} +1 -1
- package/dist/{chunk-a1414jdv.js → chunk-cgxk8pn8.js} +3 -3
- package/dist/{chunk-a1414jdv.js.map → chunk-cgxk8pn8.js.map} +1 -1
- package/dist/{chunk-srsmhbpt.js → chunk-d19x7t1z.js} +2 -2
- package/dist/{chunk-srsmhbpt.js.map → chunk-d19x7t1z.js.map} +1 -1
- package/dist/{chunk-m906xc76.js → chunk-dwt3p2aw.js} +2 -2
- package/dist/{chunk-m906xc76.js.map → chunk-dwt3p2aw.js.map} +1 -1
- package/dist/{chunk-yaacfbky.js → chunk-eeqfp05r.js} +2 -2
- package/dist/{chunk-yaacfbky.js.map → chunk-eeqfp05r.js.map} +1 -1
- package/dist/{chunk-7dhvb6nn.js → chunk-epmtvd6j.js} +2 -2
- package/dist/{chunk-7dhvb6nn.js.map → chunk-epmtvd6j.js.map} +1 -1
- package/dist/{chunk-87nekrjj.js → chunk-gap8ta5q.js} +2 -2
- package/dist/{chunk-87nekrjj.js.map → chunk-gap8ta5q.js.map} +1 -1
- package/dist/chunk-ghf4kgs6.js +5 -0
- package/dist/{chunk-f25x1sn1.js.map → chunk-ghf4kgs6.js.map} +1 -1
- package/dist/{chunk-c07s6w45.js → chunk-gpsqtjx5.js} +1 -1
- package/dist/{chunk-6daabbfj.js → chunk-gw9sy16b.js} +2 -2
- package/dist/{chunk-6daabbfj.js.map → chunk-gw9sy16b.js.map} +1 -1
- package/dist/{chunk-z65e3vdy.js → chunk-hc58rnwq.js} +2 -2
- package/dist/{chunk-z65e3vdy.js.map → chunk-hc58rnwq.js.map} +1 -1
- package/dist/{chunk-87pn20z5.js → chunk-jg1n0b5e.js} +2 -2
- package/dist/{chunk-87pn20z5.js.map → chunk-jg1n0b5e.js.map} +1 -1
- package/dist/{chunk-ecv4mtgh.js → chunk-jqdqpdss.js} +2 -2
- package/dist/{chunk-ecv4mtgh.js.map → chunk-jqdqpdss.js.map} +1 -1
- package/dist/{chunk-7bz43qbt.js → chunk-jx8n3w5j.js} +3 -3
- package/dist/{chunk-7bz43qbt.js.map → chunk-jx8n3w5j.js.map} +1 -1
- package/dist/{chunk-f2tjtwm0.js → chunk-kgsmh0v0.js} +2 -2
- package/dist/{chunk-f2tjtwm0.js.map → chunk-kgsmh0v0.js.map} +1 -1
- package/dist/{chunk-xjb2kzkj.js → chunk-kj6wqkjc.js} +4 -4
- package/dist/{chunk-xjb2kzkj.js.map → chunk-kj6wqkjc.js.map} +1 -1
- package/dist/{chunk-yx03gndz.js → chunk-kqwenh9b.js} +2 -2
- package/dist/{chunk-yx03gndz.js.map → chunk-kqwenh9b.js.map} +1 -1
- package/dist/{chunk-96r16t57.js → chunk-m62jshaz.js} +3 -3
- package/dist/{chunk-96r16t57.js.map → chunk-m62jshaz.js.map} +1 -1
- package/dist/{chunk-beqhakdf.js → chunk-n2vx8eqm.js} +2 -2
- package/dist/{chunk-beqhakdf.js.map → chunk-n2vx8eqm.js.map} +1 -1
- package/dist/chunk-n7nx6hby.js +117 -0
- package/dist/{chunk-5y6e8kpe.js.map → chunk-n7nx6hby.js.map} +14 -7
- package/dist/{chunk-dh4ax9cj.js → chunk-nchyjgpr.js} +2 -2
- package/dist/{chunk-dh4ax9cj.js.map → chunk-nchyjgpr.js.map} +1 -1
- package/dist/{chunk-spmxhsze.js → chunk-nd2vajx0.js} +2 -2
- package/dist/{chunk-spmxhsze.js.map → chunk-nd2vajx0.js.map} +1 -1
- package/dist/{chunk-vvwhk2sb.js → chunk-nwafkabk.js} +2 -2
- package/dist/{chunk-vvwhk2sb.js.map → chunk-nwafkabk.js.map} +1 -1
- package/dist/{chunk-7tm669mw.js → chunk-pcc8v9jc.js} +2 -2
- package/dist/{chunk-7tm669mw.js.map → chunk-pcc8v9jc.js.map} +1 -1
- package/dist/{chunk-mpreff3t.js → chunk-q7nz3b4q.js} +2 -2
- package/dist/{chunk-mpreff3t.js.map → chunk-q7nz3b4q.js.map} +1 -1
- package/dist/{chunk-6d3527qt.js → chunk-qj138p8j.js} +2 -2
- package/dist/{chunk-6d3527qt.js.map → chunk-qj138p8j.js.map} +1 -1
- package/dist/{chunk-tvkdqnhv.js → chunk-rsnm21vr.js} +3 -3
- package/dist/{chunk-tvkdqnhv.js.map → chunk-rsnm21vr.js.map} +1 -1
- package/dist/{chunk-fdpvgeey.js → chunk-rztf3yam.js} +2 -2
- package/dist/{chunk-fdpvgeey.js.map → chunk-rztf3yam.js.map} +1 -1
- package/dist/{chunk-2c2n3v4k.js → chunk-s52ecbdd.js} +2 -2
- package/dist/{chunk-2c2n3v4k.js.map → chunk-s52ecbdd.js.map} +1 -1
- package/dist/{chunk-dezd1fn5.js → chunk-s5p7pd7v.js} +2 -2
- package/dist/{chunk-dezd1fn5.js.map → chunk-s5p7pd7v.js.map} +1 -1
- package/dist/{chunk-kcvzs31p.js → chunk-sg8fcsvn.js} +2 -2
- package/dist/{chunk-kcvzs31p.js.map → chunk-sg8fcsvn.js.map} +1 -1
- package/dist/{chunk-xgg9w7ep.js → chunk-tnqvxzbw.js} +2 -2
- package/dist/{chunk-xgg9w7ep.js.map → chunk-tnqvxzbw.js.map} +1 -1
- package/dist/{chunk-rdnxkecg.js → chunk-tns989kw.js} +2 -2
- package/dist/{chunk-rdnxkecg.js.map → chunk-tns989kw.js.map} +1 -1
- package/dist/{chunk-cf5a958j.js → chunk-ttcmvam5.js} +2 -2
- package/dist/{chunk-cf5a958j.js.map → chunk-ttcmvam5.js.map} +1 -1
- package/dist/{chunk-z2k8m02z.js → chunk-twn4yxsd.js} +8 -2
- package/dist/chunk-twn4yxsd.js.map +10 -0
- package/dist/{chunk-vv8vjjez.js → chunk-v7e5gv6w.js} +2 -2
- package/dist/{chunk-vv8vjjez.js.map → chunk-v7e5gv6w.js.map} +1 -1
- package/dist/{chunk-hq710s2a.js → chunk-wd3eyjbj.js} +3 -3
- package/dist/{chunk-hq710s2a.js.map → chunk-wd3eyjbj.js.map} +1 -1
- package/dist/{chunk-krgwft9w.js → chunk-x0983cez.js} +2 -2
- package/dist/{chunk-krgwft9w.js.map → chunk-x0983cez.js.map} +1 -1
- package/dist/{chunk-xmjzyzn6.js → chunk-x0vrrfp7.js} +2 -2
- package/dist/{chunk-xmjzyzn6.js.map → chunk-x0vrrfp7.js.map} +1 -1
- package/dist/{chunk-bg2e7stx.js → chunk-xa2k8dm0.js} +2 -2
- package/dist/{chunk-bg2e7stx.js.map → chunk-xa2k8dm0.js.map} +1 -1
- package/dist/{chunk-vvg3yxrc.js → chunk-xf515fp7.js} +2 -2
- package/dist/{chunk-vvg3yxrc.js.map → chunk-xf515fp7.js.map} +1 -1
- package/dist/{chunk-3jpj6hjh.js → chunk-y4yv9e31.js} +1 -1
- package/dist/{chunk-d9pnjkxr.js → chunk-y8c704wp.js} +2 -2
- package/dist/{chunk-d9pnjkxr.js.map → chunk-y8c704wp.js.map} +1 -1
- package/dist/{chunk-mpt1zsfv.js → chunk-yn2v5axb.js} +2 -2
- package/dist/{chunk-mpt1zsfv.js.map → chunk-yn2v5axb.js.map} +1 -1
- package/dist/{chunk-b55zt46z.js → chunk-zdwgcyjh.js} +2 -2
- package/dist/{chunk-b55zt46z.js.map → chunk-zdwgcyjh.js.map} +1 -1
- package/dist/{chunk-nadkwh8a.js → chunk-znnt70rn.js} +3 -3
- package/dist/{chunk-nadkwh8a.js.map → chunk-znnt70rn.js.map} +1 -1
- package/dist/chunks/{RealtimeClient-C7VTiRUv.js → RealtimeClient-CyGWZr6p.js} +2 -2
- package/dist/chunks/{RealtimeClient-C7VTiRUv.js.map → RealtimeClient-CyGWZr6p.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-Ddumzd7S.js → ThemeProvider-BnmnRvEc.js} +53 -34
- package/dist/chunks/ThemeProvider-BnmnRvEc.js.map +1 -0
- package/dist/chunks/{fetchFileRequest-ClV8HU3g.js → fetchFileRequest-D4fAcY7D.js} +2 -2
- package/dist/chunks/{fetchFileRequest-ClV8HU3g.js.map → fetchFileRequest-D4fAcY7D.js.map} +1 -1
- package/dist/chunks/{live-BAFgp_WN.js → live-B4RW02g2.js} +3 -3
- package/dist/chunks/{live-BAFgp_WN.js.map → live-B4RW02g2.js.map} +1 -1
- package/dist/chunks/{mutationExtras-ozY1Rd1R.js → mutationExtras-DgdYjcaa.js} +2 -2
- package/dist/chunks/{mutationExtras-ozY1Rd1R.js.map → mutationExtras-DgdYjcaa.js.map} +1 -1
- package/dist/chunks/{subscriptionStream-CTiRok5u.js → subscriptionStream-Ca5V54ee.js} +2 -2
- package/dist/chunks/{subscriptionStream-CTiRok5u.js.map → subscriptionStream-Ca5V54ee.js.map} +1 -1
- package/dist/client/QueryManagerContext.d.ts +17 -1
- package/dist/client/QueryManagerContext.d.ts.map +1 -1
- package/dist/client/ServerQueryContext.d.ts +10 -4
- package/dist/client/ServerQueryContext.d.ts.map +1 -1
- package/dist/client/index.js +27 -25
- package/dist/client/index.js.map +1 -1
- package/dist/client/islands.d.ts +47 -2
- package/dist/client/islands.d.ts.map +1 -1
- package/dist/client/useQuery.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/internal/islandRuntime.d.ts +9 -2
- package/dist/internal/islandRuntime.d.ts.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/probe/index.js +2 -2
- package/dist/probe/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/index.js +2 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/router/ServerQueryStore.d.ts +10 -0
- package/dist/services/router/ServerQueryStore.d.ts.map +1 -1
- package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
- package/dist/services/router/staticDocument.d.ts +8 -0
- package/dist/services/router/staticDocument.d.ts.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/testing/index.js +15 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/vite/index.mjs +6 -0
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-5y6e8kpe.js +0 -117
- package/dist/chunk-f25x1sn1.js +0 -5
- package/dist/chunk-z2k8m02z.js.map +0 -10
- package/dist/chunks/ThemeProvider-Ddumzd7S.js.map +0 -1
- /package/dist/{chunk-2rpz1p8g.js.map → chunk-5q2v29ma.js.map} +0 -0
- /package/dist/{chunk-84j5b07n.js.map → chunk-9by5yphc.js.map} +0 -0
- /package/dist/{chunk-gtdf51jz.js.map → chunk-ascbx2kb.js.map} +0 -0
- /package/dist/{chunk-64r5cs5g.js.map → chunk-c3rn99hm.js.map} +0 -0
- /package/dist/{chunk-c07s6w45.js.map → chunk-gpsqtjx5.js.map} +0 -0
- /package/dist/{chunk-3jpj6hjh.js.map → chunk-y4yv9e31.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{D as r}from"./chunk-
|
|
2
|
+
import{D as r}from"./chunk-4e99zzkt.js";import{R as mc}from"./chunk-kgsmh0v0.js";import"./chunk-sg8fcsvn.js";import"./chunk-3cmm9atm.js";import{V as _}from"./chunk-5sc7j1g0.js";import{Il as u,Ll as O}from"./chunk-q7nz3b4q.js";import{Buffer as hc}from"buffer";import{request as Yc}from"http";function E(c){return new Promise((I,x)=>{let N=Yc({method:"GET",...c,hostname:c.hostname?.replace(/^\[(.+)\]$/,"$1")});N.on("error",(T)=>{x(Object.assign(new K.ProviderError("Unable to connect to instance metadata service"),T)),N.destroy()}),N.on("timeout",()=>{x(new K.ProviderError("TimeoutError from instance metadata service")),N.destroy()}),N.on("response",(T)=>{let{statusCode:y=400}=T;if(y<200||300<=y)x(Object.assign(new K.ProviderError("Error response received from instance metadata service"),{statusCode:y})),N.destroy();let $=[];T.on("data",(w)=>{$.push(w)}),T.on("end",()=>{I(hc.concat($)),N.destroy()})}),N.end()})}var K;var D=O(()=>{K=u(_(),1)});var G=(c)=>Boolean(c)&&typeof c==="object"&&typeof c.AccessKeyId==="string"&&typeof c.SecretAccessKey==="string"&&typeof c.Token==="string"&&typeof c.Expiration==="string",L=(c)=>({accessKeyId:c.AccessKeyId,secretAccessKey:c.SecretAccessKey,sessionToken:c.Token,expiration:new Date(c.Expiration),...c.AccountId&&{accountId:c.AccountId}});var W=()=>{};var Hc=1000,qc=0,Q=({maxRetries:c=0,timeout:I=1000})=>({maxRetries:c,timeout:I});var X=()=>{};var v=(c,I)=>{let x=c();for(let N=0;N<I;N++)x=x.catch(c);return x};var b=()=>{};import{parse as Sc}from"url";var z,H="AWS_CONTAINER_CREDENTIALS_FULL_URI",q="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",M="AWS_CONTAINER_AUTHORIZATION_TOKEN",kc=(c={})=>{let{timeout:I,maxRetries:x}=Q(c);return()=>v(async()=>{let N=await jc({logger:c.logger}),T=JSON.parse(await fc(I,N));if(!G(T))throw new z.CredentialsProviderError("Invalid response received from instance metadata service.",{logger:c.logger});return L(T)},x)},fc=async(c,I)=>{if(process.env[M])I.headers={...I.headers,Authorization:process.env[M]};return(await E({...I,timeout:c})).toString()},uc="169.254.170.2",Ec,$c,jc=async({logger:c})=>{if(process.env[q])return{hostname:uc,path:process.env[q]};if(process.env[H]){let I=Sc(process.env[H]);if(!I.hostname||!(I.hostname in Ec))throw new z.CredentialsProviderError(`${I.hostname} is not a valid container metadata service hostname`,{tryNextLink:!1,logger:c});if(!I.protocol||!(I.protocol in $c))throw new z.CredentialsProviderError(`${I.protocol} is not a valid container metadata service protocol`,{tryNextLink:!1,logger:c});return{...I,port:I.port?parseInt(I.port,10):void 0}}throw new z.CredentialsProviderError(`The container metadata credential provider cannot be used unless the ${q} or ${H} environment variable is set`,{tryNextLink:!1,logger:c})};var p=O(()=>{D();W();X();b();z=u(_(),1),Ec={localhost:!0,"127.0.0.1":!0},$c={"http:":!0,"https:":!0}});var C,Z;var a=O(()=>{C=u(_(),1);Z=class Z extends C.CredentialsProviderError{tryNextLink;name="InstanceMetadataV1FallbackError";constructor(c,I=!0){super(c,I);this.tryNextLink=I,Object.setPrototypeOf(this,Z.prototype)}}});var J;var B=O(()=>{(function(c){c.IPv4="http://169.254.169.254",c.IPv6="http://[fd00:ec2::254]"})(J||(J={}))});var n;var o=O(()=>{n={environmentVariableSelector:(c)=>c.AWS_EC2_METADATA_SERVICE_ENDPOINT,configFileSelector:(c)=>c.ec2_metadata_service_endpoint,default:void 0}});var f;var t=O(()=>{(function(c){c.IPv4="IPv4",c.IPv6="IPv6"})(f||(f={}))});var Ac="AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE",Jc="ec2_metadata_service_endpoint_mode",s;var g=O(()=>{t();s={environmentVariableSelector:(c)=>c[Ac],configFileSelector:(c)=>c[Jc],default:f.IPv4}});var U,l,F=async()=>l.parseUrl(await vc()||await zc()),vc=async()=>U.loadConfig(n)(),zc=async()=>{let c=await U.loadConfig(s)();switch(c){case f.IPv4:return J.IPv4;case f.IPv6:return J.IPv6;default:throw Error(`Unsupported endpoint mode: ${c}. Select from ${Object.values(f)}`)}};var P=O(()=>{B();o();t();g();U=u(r(),1),l=u(mc(),1)});var V=(c,I)=>{let x=300+Math.floor(Math.random()*300),N=new Date(Date.now()+x*1000);I.warn(`Attempting credential expiration extension due to a credential service availability issue. A refresh of these credentials will be attempted after ${new Date(N)}.
|
|
3
3
|
For more information, please visit: https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html`);let T=c.originalExpiration??c.expiration;return{...c,...T?{originalExpiration:T}:{},expiration:N}};var d=()=>{};var e=(c,I={})=>{let x=I?.logger||console,N;return async()=>{let T;try{if(T=await c(),T.expiration&&T.expiration.getTime()<Date.now())T=V(T,x)}catch(y){if(N)x.warn("Credential renew failed: ",y),T=V(N,x);else throw y}return N=T,T}};var i=O(()=>{d()});var Nc,k,Tc="/latest/meta-data/iam/security-credentials/",Kc="/latest/api/token",R="AWS_EC2_METADATA_V1_DISABLED",cc="ec2_metadata_v1_disabled",Ic="x-aws-ec2-metadata-token",YI=(c={})=>e(_c(c),{logger:c.logger}),_c=(c={})=>{let I=!1,{logger:x,profile:N}=c,{timeout:T,maxRetries:y}=Q(c),$=async(w,j)=>{if(I||j.headers?.[Ic]==null){let h=!1,Y=!1,wc=await Nc.loadConfig({environmentVariableSelector:(S)=>{let A=S[R];if(Y=!!A&&A!=="false",A===void 0)throw new k.CredentialsProviderError(`${R} not set in env, checking config file next.`,{logger:c.logger});return Y},configFileSelector:(S)=>{let A=S[cc];return h=!!A&&A!=="false",h},default:!1},{profile:N})();if(c.ec2MetadataV1Disabled||wc){let S=[];if(c.ec2MetadataV1Disabled)S.push("credential provider initialization (runtime option ec2MetadataV1Disabled)");if(h)S.push(`config file profile (${cc})`);if(Y)S.push(`process environment variable (${R})`);throw new Z(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${S.join(", ")}].`)}}let yc=(await v(async()=>{let h;try{h=await Gc(j)}catch(Y){if(Y.statusCode===401)I=!1;throw Y}return h},w)).trim();return v(async()=>{let h;try{h=await Lc(yc,j,c)}catch(Y){if(Y.statusCode===401)I=!1;throw Y}return h},w)};return async()=>{let w=await F();if(I)return x?.debug("AWS SDK Instance Metadata","using v1 fallback (no token fetch)"),$(y,{...w,timeout:T});else{let j;try{j=(await Dc({...w,timeout:T})).toString()}catch(m){if(m?.statusCode===400)throw Object.assign(m,{message:"EC2 Metadata token request returned error"});else if(m.message==="TimeoutError"||[403,404,405].includes(m.statusCode))I=!0;return x?.debug("AWS SDK Instance Metadata","using v1 fallback (initial)"),$(y,{...w,timeout:T})}return $(y,{...w,headers:{[Ic]:j},timeout:T})}}},Dc=async(c)=>E({...c,path:Kc,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"21600"}}),Gc=async(c)=>(await E({...c,path:Tc})).toString(),Lc=async(c,I,x)=>{let N=JSON.parse((await E({...I,path:Tc+c})).toString());if(!G(N))throw new k.CredentialsProviderError("Invalid response received from instance metadata service.",{logger:x.logger});return L(N)};var xc=O(()=>{a();D();W();X();b();P();i();Nc=u(r(),1),k=u(_(),1)});var Oc=()=>{};var Qc=O(()=>{D();P();B();p();xc();X();Oc()});Qc();export{Q as providerConfigFromInit,E as httpRequest,F as getInstanceMetadataEndpoint,YI as fromInstanceMetadata,kc as fromContainerMetadata,J as Endpoint,q as ENV_CMDS_RELATIVE_URI,H as ENV_CMDS_FULL_URI,M as ENV_CMDS_AUTH_TOKEN,Hc as DEFAULT_TIMEOUT,qc as DEFAULT_MAX_RETRIES};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=620AC68B33FDA5E964756E2164756E21
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
"export * from \"./fromContainerMetadata\";\nexport * from \"./fromInstanceMetadata\";\nexport * from \"./remoteProvider/RemoteProviderInit\";\nexport * from \"./types\";\nexport { httpRequest } from \"./remoteProvider/httpRequest\";\nexport { getInstanceMetadataEndpoint } from \"./utils/getInstanceMetadataEndpoint\";\nexport { Endpoint } from \"./config/Endpoint\";\n"
|
|
20
20
|
],
|
|
21
21
|
"mappings": "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",
|
|
22
|
-
"debugId": "
|
|
22
|
+
"debugId": "620AC68B33FDA5E964756E2164756E21",
|
|
23
23
|
"names": []
|
|
24
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Fh as U,sh as K,th as L,uh as R,vh as Y,wh as M,xh as Q,yh as O,zh as y}from"./chunk-
|
|
2
|
+
import{Fh as U,sh as K,th as L,uh as R,vh as Y,wh as M,xh as Q,yh as O,zh as y}from"./chunk-aezj1erg.js";import{Fj as G,Gj as W}from"./chunk-0jbwxas3.js";var S=/^\s*::\s*(?:text\s*::\s*)?(jsonb|json)\b(?!\s*\[)/i,I=/^\s*as\s+(jsonb|json)\s*\)/i,P=/\bcast\s*\(\s*$/i,T=new Set;function _(k,B){if(!B.typesParametersFromStatement)return{fragment:k,jsonParameters:T};let q=Y(k),z=new Set,D;for(let H=0;H<q.length-1;H++){let X=q[H+1],$=S.exec(X);if($){D??=[...q],D[H+1]=`::text::${$[1]}${X.slice($[0].length)}`,z.add(H);continue}let J=I.exec(X);if(J&&P.test((D??q)[H]))D??=[...q],D[H+1]=` as text)::${J[1]}${X.slice(J[0].length)}`,z.add(H)}if(!D)return{fragment:k,jsonParameters:z};return{fragment:M(D,k.binders),jsonParameters:z}}function C(k,B){if(k===null||k===void 0)return null;let q=U(k);if(q==="db")return null;if(q==="json")return"null";if(q==="any")throw new W(B,"DB",B,"Prisma.AnyNull is a filter operand \u2014 it asks for a SQL NULL *or* a JSON "+"null \u2014 so it has no single value to bind. Write the one you mean: "+"Prisma.DbNull for the column being NULL, Prisma.JsonNull for the JSON value.");if(typeof k==="string")return k;let z;try{z=JSON.stringify(k)}catch(D){throw new W(B,"DB",B,`A parameter cast to json could not be serialised: ${D instanceof Error?D.message:String(D)}. `+"Bind text you have serialised yourself if the value is not JSON \u2014 a "+"bigint has no JSON form, and neither does a cycle.")}if(z===void 0)throw new W(B,"DB",B,`A ${typeof k} was bound to a parameter cast to json, and has no JSON form. Bind the value it stands for.`);return z}var N=new WeakSet;function Z(k){return N.add(k),k}function V(k){return typeof k==="object"&&k!==null&&N.has(k)}function g(k,...B){if(!Array.isArray(k)||!("raw"in k))throw new G("sql","DB","sql","'sql' is a tagged template \u2014 write sql`select 1`, not sql(\"select 1\"). "+"To put text that is not a value into a statement, use 'unsafeSql', and read what it says first.");let q=[];for(let z=0;z<k.length;z++)if(q.push(L(k[z])),z<B.length)q.push(F(B[z]));return Z(Q(...q))}function m(k,B=", "){if(!Array.isArray(k))throw new W("join","DB","sql",`Expected an array of fragments or values, got ${typeof k}.`);if(k.length===0)return b;let q=k.map(F);if(V(B)){let z=[];for(let D=0;D<q.length;D++){if(D>0)z.push(B);z.push(q[D])}return Z(Q(...z))}return j(B),Z(O(q,B))}var h=/^[\s,]*$|^\s*(?:and|or)\s*$/i;function j(k){if(typeof k==="string"&&h.test(k))return;throw new W("join","DB","sql",typeof k==="string"?`A separator is written into the SQL text, so it may only be glue: whitespace, commas, or 'and' / 'or'. Got ${JSON.stringify(k)}. If that is deliberate, say so with `+"unsafeSql(...) \u2014 and never build one from anything that came from "+"outside the program.":`Expected a separator string or a fragment, got ${k===null?"null":typeof k}.`)}var b=Z(Object.freeze({text:"",binders:Object.freeze([])}));function v(k){if(typeof k!=="string")throw new W("unsafeSql","DB","sql",`Expected a string literal, got ${Array.isArray(k)?"an array":typeof k}. 'unsafeSql' is a plain call, not a tagged template \u2014 a template would `+"interpolate values into the SQL text, which is the one thing it must never do.");return Z(L(k))}function p(k,B,q="query"){if(!V(k))throw new W(q,"DB",q,`Expected a fragment built with 'sql', got ${k===null?"null":typeof k}. A plain string is not accepted here on purpose \u2014 it would be the one `+"path into the SQL text that nobody had to think about.");let z=_(k,B),D=y(z.fragment,B,{model:"DB",operation:q});return{text:D.text,values:K(D.binders)(void 0).map((H,X)=>z.jsonParameters.has(X)?C(H,q):H===null||H===void 0?H??null:B.encodeUntyped(H))}}function F(k){if(V(k))return k;return R(()=>k)}
|
|
3
3
|
export{g as mh,m as nh,b as oh,v as ph,p as qh};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=BD44C2696B8FF18E64756E2164756E21
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"import type { SqlDialect } from \"./dialect\";\nimport {\n InvalidArgumentError,\n UnsupportedQueryError,\n} from \"./errors\";\nimport {\n type Fragment,\n bindValues,\n concat,\n joinFragments,\n param,\n render,\n sql as text,\n} from \"./compile/fragment\";\nimport { jsonTextParameter, retypeJsonParameters } from \"./json-param\";\n\n/**\n * SQL fragments as first-class values: `sql`, `join`, `empty`, and one door out.\n *\n * The ORM deliberately does not implement every SQL shape — `distinct`, cursor\n * pagination, window functions, recursive CTEs. That is the right call, but it\n * is only half a decision: the shapes it declines have to have somewhere to go,\n * and \"drop to raw SQL\" is not an answer if raw SQL cannot be *composed*.\n *\n * `DB.sql` — Bun's tagged template — covers a single self-contained statement,\n * and that is genuinely all it covers. The shape it cannot express is the common\n * one: a predicate list built conditionally, passed around as a value, and\n * interpolated into a larger statement.\n *\n * ```ts\n * const filters = []\n * if (q) filters.push(sql`name ilike ${`%${q}%`}`)\n * if (organizationId) filters.push(sql`\"organizationId\" = ${organizationId}`)\n *\n * const where = filters.length ? sql`where ${join(filters, \" and \")}` : empty\n * const rows = await DB.query(sql`select * from \"Product\" ${where} limit ${20}`)\n * ```\n *\n * ## This is the compiler's own `Fragment`, made public\n *\n * Not a parallel mechanism. `compile/fragment.ts` has held exactly this shape\n * since iteration 1 — text plus positional binders, composable, never\n * concatenating a value into the text — because that is what invariant 2 needs\n * internally. Reusing it means a public fragment binds by the same rule the\n * compiler's own SQL does, and it means the parameter ceiling, the placeholder\n * numbering and the dialect split are all already handled rather than\n * reimplemented one door down.\n *\n * **Placeholders are assigned at assembly, not at authoring.** SQLite writes\n * `?` and Postgres writes `$1`, `$2`, and a fragment does not know where in the\n * final statement it will land — so `sql` records a *position* and `render`\n * turns it into a placeholder once the whole statement exists. That is what lets\n * the same fragment be nested, reused twice in one statement, or built before\n * the dialect is even known.\n */\n\n/**\n * A composable piece of SQL. Its values are bound parameters, never text.\n *\n * Opaque on purpose: an application builds one with `sql`, combines it with\n * `join`, and hands it to `DB.query` / `DB.execute`. Reading `.text` off it is\n * not part of the contract — it holds parameter *markers* rather than the\n * dialect's placeholders, so it is not the statement that runs.\n */\nexport type SqlFragment = Fragment;\n\n/**\n * Every fragment this module has produced.\n *\n * **Identity, not shape, and the difference is a SQL injection.** `interpolate`\n * splices a fragment as text and binds everything else, so \"is this a fragment\"\n * decides whether a value reaches the statement or a parameter. Asking the\n * *shape* — a `text` string and a `binders` array — makes that decision\n * answerable by anything that can name two properties, and `{\"text\": \"…\",\n * \"binders\": []}` is two lines of JSON:\n *\n * ```ts\n * const body = await request.json()\n * await DB.query(sql`select \"email\" from \"User\" where \"email\" = ${body.email}`)\n * // body.email = { text: `'' union select \"password\" from \"User\"`, binders: [] }\n * // -> select \"email\" from \"User\" where \"email\" = '' union select \"password\" from \"User\"\n * ```\n *\n * That is the intended call site with the intended safe value, and it returned\n * the password column out of a statement selecting only `email`. The internal\n * `Fragment` never had the problem because nothing outside `compile/` could\n * construct one; making the type public is what turned \"text plus binders\" from\n * an implementation detail into a shape an attacker can name. `unsafeSql` is\n * built so that reaching for the escape hatch is a decision — a structural check\n * is a second, unmarked door beside it.\n *\n * A `WeakSet` the module owns cannot be forged: membership is granted only by\n * the constructors below. It registers the *returned* object rather than\n * stamping a property, because `concat` and `joinFragments` return fresh objects\n * — a marker property on the inputs would not survive them, and the version that\n * cannot drift is the one that brands what actually comes out.\n */\nconst FRAGMENTS = new WeakSet<object>();\n\nfunction brand(fragment: Fragment): SqlFragment {\n FRAGMENTS.add(fragment);\n return fragment;\n}\n\n/** Whether a value is a fragment *this module made*, so it splices rather than binds. */\nfunction isFragment(value: unknown): value is Fragment {\n return typeof value === \"object\" && value !== null && FRAGMENTS.has(value);\n}\n\n/**\n * A SQL fragment. Every `${value}` is bound as a parameter; a `${fragment}` is\n * spliced in, carrying its own parameters with it.\n *\n * ```ts\n * sql`where \"id\" = ${id}` // \"id\" = $1, with id bound\n * sql`where ${sql`\"a\" = ${1}`} and ${sql`\"b\" = ${2}`}` // nests to any depth\n * ```\n *\n * An interpolated **array** is bound as one value, not expanded — that is what\n * Postgres's `= any($1)` wants, and it is the only reading that does not depend\n * on the dialect. For a comma-separated list of placeholders, say so with\n * `join`.\n *\n * A value at a `::jsonb` cast the caller wrote is the one parameter with a type\n * behind it, and it is bound as **JSON text** so that the statement means what\n * the same statement meant under Prisma's `$executeRaw`:\n *\n * ```ts\n * sql`… set payload = payload || ${JSON.stringify(patch)}::jsonb` // merges\n * ```\n *\n * Without that the driver would JSON-encode the string and the column would\n * hold the document as a jsonb *string* — which `||` appends as an array\n * element rather than merging. `json-param.ts` has the measurements.\n */\nexport function sql(\n strings: TemplateStringsArray,\n ...values: unknown[]\n): SqlFragment {\n // A defensive check rather than a type error, because the interesting misuse\n // is `sql(userInput)` — a plain call with a string, which would otherwise\n // reach `strings.raw` as `undefined` and produce a fragment of `undefined`\n // text rather than an error. It is also the shape somebody reaches for when\n // they want the escape hatch and have not found `unsafeSql`.\n if (!Array.isArray(strings) || !(\"raw\" in (strings as object))) {\n throw new UnsupportedQueryError(\n \"sql\",\n \"DB\",\n \"sql\",\n `'sql' is a tagged template — write sql\\`select 1\\`, not sql(\"select 1\"). ` +\n `To put text that is not a value into a statement, use 'unsafeSql', ` +\n `and read what it says first.`,\n );\n }\n\n const parts: Fragment[] = [];\n\n for (let i = 0; i < strings.length; i++) {\n parts.push(text(strings[i]));\n if (i < values.length) parts.push(interpolate(values[i]));\n }\n\n return brand(concat(...parts));\n}\n\n/**\n * Fragments — or values — joined by a separator, the way `Array.join` reads.\n *\n * ```ts\n * join(filters, \" and \") // a and b and c\n * join([sql`\"a\" asc`, sql`\"b\" desc`]) // \"a\" asc, \"b\" desc\n * join(ids) // $1, $2, $3 — each bound\n * ```\n *\n * An **empty list produces `empty`**, not a separator and not a syntax error, so\n * `join` composes with a list that turned out to have nothing in it. That is the\n * case a caller forgets, and it is the one that would otherwise emit `where ` and\n * fail at the database rather than here.\n *\n * ## The separator is text, so it is not a free string\n *\n * It goes between the fragments *in the statement*, which makes it the one other\n * place a string could reach the SQL — and this module's whole claim is that\n * `unsafeSql` is **the** door. So a plain-string separator has to be glue and\n * nothing else: whitespace, commas, or a boolean connective. Anything more\n * expressive is legitimate and has to say so:\n *\n * ```ts\n * join(filters, \" and \") // fine\n * join(parts, unsafeSql(\") and (\")) // fine, and visibly a decision\n * join(ids, request.query.sep) // refused\n * ```\n *\n * A **blocklist would not do**, which is why this is an allowlist. The obvious\n * one — reject quotes, semicolons and comment markers — lets this through:\n *\n * join([1, 2], \") or 1=1 union select password from Users where 1=(1\")\n *\n * No quote, no `--`, still an injection. There is no sound way to say \"this\n * arbitrary text is safe glue\", so the rule is that glue is a small closed set\n * and everything else is a fragment somebody built on purpose.\n */\nexport function join(\n values: readonly unknown[],\n separator: string | SqlFragment = \", \",\n): SqlFragment {\n if (!Array.isArray(values)) {\n throw new InvalidArgumentError(\n \"join\",\n \"DB\",\n \"sql\",\n `Expected an array of fragments or values, got ${typeof values}.`,\n );\n }\n if (values.length === 0) return empty;\n\n const parts = values.map(interpolate);\n\n if (isFragment(separator)) {\n const woven: Fragment[] = [];\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) woven.push(separator);\n woven.push(parts[i]);\n }\n return brand(concat(...woven));\n }\n\n assertGlue(separator);\n return brand(joinFragments(parts, separator));\n}\n\n/**\n * Whitespace and commas, or a boolean connective surrounded by whitespace.\n *\n * Deliberately small. Every separator a composed statement actually needs is in\n * here — `\", \"`, `\" and \"`, `\" or \"`, `\" \"` — and everything outside it is\n * expressive enough to change what the statement *does*, which is the property\n * that makes it a `unsafeSql` decision rather than a string argument.\n */\nconst GLUE = /^[\\s,]*$|^\\s*(?:and|or)\\s*$/i;\n\nfunction assertGlue(separator: unknown): void {\n if (typeof separator === \"string\" && GLUE.test(separator)) return;\n\n throw new InvalidArgumentError(\n \"join\",\n \"DB\",\n \"sql\",\n typeof separator === \"string\"\n ? `A separator is written into the SQL text, so it may only be glue: ` +\n `whitespace, commas, or 'and' / 'or'. Got ` +\n `${JSON.stringify(separator)}. If that is deliberate, say so with ` +\n `unsafeSql(...) — and never build one from anything that came from ` +\n `outside the program.`\n : `Expected a separator string or a fragment, got ${\n separator === null ? \"null\" : typeof separator\n }.`,\n );\n}\n\n/**\n * The fragment that contributes nothing.\n *\n * The point of it is that `where ${empty}` and `where ${filter}` are the same\n * expression — a conditional predicate is a value, not a branch around the\n * statement. Frozen, because it is shared by every caller and a fragment is read\n * as immutable everywhere else.\n */\nexport const empty: SqlFragment = brand(\n Object.freeze({ text: \"\", binders: Object.freeze([]) as [] }),\n);\n\n/**\n * **Text straight into the SQL, with no parameter around it.** The one door in\n * this ORM through which a value reaches the statement text.\n *\n * Everything else in the compiler exists to make this impossible — identifiers\n * come from the generated schema, values are bound — so reaching for it should\n * feel like reaching for it. **Never give it a value that came from a request, a\n * form, a URL, a header, a queue payload or a database row.** There is no\n * escaping here and there will not be: escaping that is \"usually right\" is worse\n * than none, because it survives review.\n *\n * ## Why it exists at all, since that is the fair question\n *\n * Plan quality can depend on *not* parameterising. A partial index declared as\n *\n * ```sql\n * create index … on \"Job\" (…) where \"name\" is distinct from 'reaper'\n * ```\n *\n * is only usable if the planner can prove the query's predicate matches the\n * index's. A bound parameter is opaque at plan time, so `where \"name\" is\n * distinct from $1` does not match — and the query falls back to a sequential\n * scan over the whole table. The constant has to be *in the text*:\n *\n * ```ts\n * const REAPER = unsafeSql(`'reaper'`) // a literal in this file, never input\n * await DB.query(sql`\n * select … from \"Job\" where \"name\" is distinct from ${REAPER} …\n * `)\n * ```\n *\n * A builder with no escape hatch cannot express that at any price, and the\n * workaround — hand-writing the whole statement — loses composition for every\n * other part of it.\n *\n * The same applies to the other things that cannot be parameters in SQL:\n * identifiers, a sort direction, a table name chosen from a fixed set in code.\n * All of them share the rule above — the value is written in the source file, or\n * chosen from a set written in the source file, never passed in.\n */\nexport function unsafeSql(literal: string): SqlFragment {\n if (typeof literal !== \"string\") {\n throw new InvalidArgumentError(\n \"unsafeSql\",\n \"DB\",\n \"sql\",\n `Expected a string literal, got ${\n Array.isArray(literal) ? \"an array\" : typeof literal\n }. 'unsafeSql' is a plain call, not a tagged template — a template would ` +\n `interpolate values into the SQL text, which is the one thing it must ` +\n `never do.`,\n );\n }\n return brand(text(literal));\n}\n\n/**\n * A fragment as the statement a driver can run: the dialect's placeholders in\n * the text, and the values in the order they appear.\n *\n * Separate from the executing, and exported, because it is the half that is a\n * pure function of `(fragment, dialect)` — so a test can assert what a\n * composition emits on both dialects without a database anywhere near it, which\n * is exactly how the rest of the compiler is tested.\n *\n * `render` also applies the parameter ceiling here, which matters more for a\n * hand-built fragment than for a compiled plan: `join(ids)` over a\n * request-derived list is one placeholder per element on SQLite, and 40 000 of\n * them is a driver error rather than a clear one.\n */\nexport function renderFragment(\n fragment: SqlFragment,\n dialect: SqlDialect,\n operation = \"query\",\n): { text: string; values: unknown[] } {\n if (!isFragment(fragment)) {\n throw new InvalidArgumentError(\n operation,\n \"DB\",\n operation,\n `Expected a fragment built with 'sql', got ${\n fragment === null ? \"null\" : typeof fragment\n }. A plain string is not accepted here on purpose — it would be the one ` +\n `path into the SQL text that nobody had to think about.`,\n );\n }\n\n // The one thing a raw parameter can be *told* about its type: a `::jsonb` the\n // caller wrote onto their own placeholder. Where there is one, the parameter\n // is retyped through `text` and its value serialised, because Bun otherwise\n // JSON-encodes a string bound to a `jsonb` parameter and stores the document\n // as a jsonb *string* where Prisma stored the object. See `json-param.ts` —\n // the mechanism, the measurements, and why a string is not serialised here\n // while `fieldParam` serialises one.\n //\n // The dialect is passed because this is not universal, and the reason is\n // narrower than it looks: `::` is Postgres-only syntax, but `cast(? as json)`\n // *parses and runs* on SQLite, where it means NUMERIC affinity — so retyping\n // it would rewrite a working statement into `cast(? as text)::json`, which\n // SQLite cannot parse. `typesParametersFromStatement` is false there.\n const json = retypeJsonParameters(fragment, dialect);\n\n const rendered = render(json.fragment, dialect, { model: \"DB\", operation });\n return {\n text: rendered.text,\n // `encodeUntyped` and not `encode`: there is no field here to ask, which is\n // the whole difference between a fragment's parameters and a compiled\n // plan's. It normalises the two JavaScript types whose SQL form the ORM has\n // already decided — a `Date` and a boolean — so a raw statement compares\n // against ORM-written rows on both dialects rather than only on Postgres.\n values: bindValues(rendered.binders)(undefined).map((value, index) =>\n json.jsonParameters.has(index)\n ? jsonTextParameter(value, operation)\n : value === null || value === undefined\n ? (value ?? null)\n : dialect.encodeUntyped(value),\n ),\n };\n}\n\n/**\n * One interpolated slot: a fragment splices, anything else binds.\n *\n * The binder ignores both its arguments. A compiled plan's binders read the\n * *call's* argument tree, because one plan serves many calls; a fragment is\n * built per call and closes over the value it was given, which is the whole\n * difference between the compiler's fragments and these.\n */\nfunction interpolate(value: unknown): Fragment {\n if (isFragment(value)) return value;\n return param(() => value);\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": ";gKA0IA,FAAM,EAAgB,qDAehB,EAAgB,8BAQhB,EAAY,mBAGZ,EAA6B,IAAI,IAYhC,SAAS,CAAoB,CAClC,EACA,EAIA,CACA,GAAI,CAAC,EAAQ,6BACX,MAAO,CAAE,WAAU,eAAgB,CAAM,EAG3C,IAAM,EAAW,EAAc,CAAQ,EACjC,EAAiB,IAAI,IACvB,EAKJ,QAAS,EAAQ,EAAG,EAAQ,EAAS,OAAS,EAAG,IAAS,CACxD,IAAM,EAAQ,EAAS,EAAQ,GAEzB,EAAW,EAAc,KAAK,CAAK,EACzC,GAAI,EAAU,CACZ,IAAc,CAAC,GAAG,CAAQ,EAC1B,EAAU,EAAQ,GAChB,WAAW,EAAS,KAAK,EAAM,MAAM,EAAS,GAAG,MAAM,IACzD,EAAe,IAAI,CAAK,EACxB,SAGF,IAAM,EAAK,EAAc,KAAK,CAAK,EAKnC,GAAI,GAAM,EAAU,MAAM,GAAa,GAAU,EAAM,EACrD,IAAc,CAAC,GAAG,CAAQ,EAC1B,EAAU,EAAQ,GAAK,cAAc,EAAG,KAAK,EAAM,MAAM,EAAG,GAAG,MAAM,IACrE,EAAe,IAAI,CAAK,EAI5B,GAAI,CAAC,EAAW,MAAO,CAAE,WAAU,gBAAe,EAClD,MAAO,CACL,SAAU,EAAkB,EAAW,EAAS,OAAO,EACvD,gBACF,EAYK,SAAS,CAAiB,CAAC,EAAgB,EAA4B,CAO5E,GAAI,IAAU,MAAQ,IAAU,OAAW,OAAO,KAKlD,IAAM,EAAW,EAAa,CAAK,EACnC,GAAI,IAAa,KAAM,OAAO,KAC9B,GAAI,IAAa,OAAQ,MAAO,OAChC,GAAI,IAAa,MACf,MAAM,IAAI,EACR,EACA,KACA,EACA,gFACE,0EACA,8EAEJ,EAMF,GAAI,OAAO,IAAU,SAAU,OAAO,EAEtC,IAAI,EACJ,GAAI,CACF,EAAO,KAAK,UAAU,CAAK,EAC3B,MAAO,EAAO,CAId,MAAM,IAAI,EACR,EACA,KACA,EACA,qDACK,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,MACxD,4EACA,oDACJ,EAMF,GAAI,IAAS,OACX,MAAM,IAAI,EACR,EACA,KACA,EACA,KAAK,OAAO,8FAEd,EAGF,OAAO,ECxMT,IAAM,EAAY,IAAI,QAEtB,SAAS,CAAK,CAAC,EAAiC,CAE9C,OADA,EAAU,IAAI,CAAQ,EACf,EAIT,SAAS,CAAU,CAAC,EAAmC,CACrD,OAAO,OAAO,IAAU,UAAY,IAAU,MAAQ,EAAU,IAAI,CAAK,EA6BpE,SAAS,CAAG,CACjB,KACG,EACU,CAMb,GAAI,CAAC,MAAM,QAAQ,CAAO,GAAK,EAAE,QAAU,GACzC,MAAM,IAAI,EACR,MACA,KACA,MACA,iFACE,iGAEJ,EAGF,IAAM,EAAoB,CAAC,EAE3B,QAAS,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAElC,GADA,EAAM,KAAK,EAAK,EAAQ,EAAE,CAAC,EACvB,EAAI,EAAO,OAAQ,EAAM,KAAK,EAAY,EAAO,EAAE,CAAC,EAG1D,OAAO,EAAM,EAAO,GAAG,CAAK,CAAC,EAwCxB,SAAS,CAAI,CAClB,EACA,EAAkC,KACrB,CACb,GAAI,CAAC,MAAM,QAAQ,CAAM,EACvB,MAAM,IAAI,EACR,OACA,KACA,MACA,iDAAiD,OAAO,IAC1D,EAEF,GAAI,EAAO,SAAW,EAAG,OAAO,EAEhC,IAAM,EAAQ,EAAO,IAAI,CAAW,EAEpC,GAAI,EAAW,CAAS,EAAG,CACzB,IAAM,EAAoB,CAAC,EAC3B,QAAS,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACrC,GAAI,EAAI,EAAG,EAAM,KAAK,CAAS,EAC/B,EAAM,KAAK,EAAM,EAAE,EAErB,OAAO,EAAM,EAAO,GAAG,CAAK,CAAC,EAI/B,OADA,EAAW,CAAS,EACb,EAAM,EAAc,EAAO,CAAS,CAAC,EAW9C,IAAM,EAAO,+BAEb,SAAS,CAAU,CAAC,EAA0B,CAC5C,GAAI,OAAO,IAAc,UAAY,EAAK,KAAK,CAAS,EAAG,OAE3D,MAAM,IAAI,EACR,OACA,KACA,MACA,OAAO,IAAc,SACjB,8GAEG,KAAK,UAAU,CAAS,yCAC3B,0EACA,uBACA,kDACE,IAAc,KAAO,OAAS,OAAO,IAE7C,EAWK,IAAM,EAAqB,EAChC,OAAO,OAAO,CAAE,KAAM,GAAI,QAAS,OAAO,OAAO,CAAC,CAAC,CAAQ,CAAC,CAC9D,EA0CO,SAAS,CAAS,CAAC,EAA8B,CACtD,GAAI,OAAO,IAAY,SACrB,MAAM,IAAI,EACR,YACA,KACA,MACA,kCACE,MAAM,QAAQ,CAAO,EAAI,WAAa,OAAO,iFAE7C,gFAEJ,EAEF,OAAO,EAAM,EAAK,CAAO,CAAC,EAiBrB,SAAS,CAAc,CAC5B,EACA,EACA,EAAY,QACyB,CACrC,GAAI,CAAC,EAAW,CAAQ,EACtB,MAAM,IAAI,EACR,EACA,KACA,EACA,6CACE,IAAa,KAAO,OAAS,OAAO,gFAEpC,wDACJ,EAgBF,IAAM,EAAO,EAAqB,EAAU,CAAO,EAE7C,EAAW,EAAO,EAAK,SAAU,EAAS,CAAE,MAAO,KAAM,WAAU,CAAC,EAC1E,MAAO,CACL,KAAM,EAAS,KAMf,OAAQ,EAAW,EAAS,OAAO,EAAE,MAAS,EAAE,IAAI,CAAC,EAAO,IAC1D,EAAK,eAAe,IAAI,CAAK,EACzB,EAAkB,EAAO,CAAS,EAClC,IAAU,MAAQ,IAAU,OACzB,GAAS,KACV,EAAQ,cAAc,CAAK,CACnC,CACF,EAWF,SAAS,CAAW,CAAC,EAA0B,CAC7C,GAAI,EAAW,CAAK,EAAG,OAAO,EAC9B,OAAO,EAAM,IAAM,CAAK",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "BD44C2696B8FF18E64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
2
|
+
import{a,b,c,d,e,f,g}from"./chunk-xa2k8dm0.js";import"./chunk-6cq83t7e.js";import"./chunk-5sc7j1g0.js";import"./chunk-q7nz3b4q.js";export{g as fromEnv,c as ENV_SESSION,b as ENV_SECRET,a as ENV_KEY,d as ENV_EXPIRATION,e as ENV_CREDENTIAL_SCOPE,f as ENV_ACCOUNT_ID};
|
|
3
3
|
|
|
4
4
|
//# debugId=30E142423ED216F064756E2164756E21
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Xi as q,Yi as L0,Zi as C0}from"./chunk-q6rse2fh.js";import{cj as k0,fj as b}from"./chunk-spmxhsze.js";import{gl as P1}from"./chunk-cf5a958j.js";import{kl as _0}from"./chunk-nadkwh8a.js";import{Dl as Y0}from"./chunk-rdnxkecg.js";import{Ll as lQ}from"./chunk-mpreff3t.js";class t0{static kind="controller";constructor(){}}class v1 extends t0{}function N0(Q){let Z=new Map;if(!Q)return Z;for(let $ of Q.split(";")){let X=$.indexOf("=");if(X===-1)continue;let G=$.slice(0,X).trim();if(!G)continue;Z.set(G,$.slice(X+1).trim())}return Z}function UZ(Q){return N0(Q.headers.get("cookie"))}function p(Q){if(!/^\d+$/.test(Q))return null;let Z=Number(Q);return Number.isSafeInteger(Z)?Z:null}function s0(Q){if(!Q)return null;let Z=Q.trim();if(!/^bytes=/i.test(Z))return null;let X=Z.slice(6).split(",").map((D)=>D.trim()).filter((D)=>D!=="");if(X.length!==1)return null;let G=X[0],H=G.indexOf("-");if(H===-1)return null;let Y=G.slice(0,H),M=G.slice(H+1);if(Y===""){let D=p(M);if(D===null)return null;return{kind:"suffix",suffixLength:D}}let K=p(Y);if(K===null)return null;if(M==="")return{kind:"offset",start:K,end:null};let J=p(M);if(J===null||J<K)return null;return{kind:"offset",start:K,end:J}}function r0(Q,Z){if(!Number.isFinite(Z)||Z<=0)return null;let $,X;if(Q.kind==="suffix"){if(Q.suffixLength<=0)return null;$=Math.max(0,Z-Q.suffixLength),X=Z-1}else{if(Q.start>=Z)return null;if($=Q.start,X=Q.end===null?Z-1:Math.min(Q.end,Z-1),X<$)return null}return{start:$,end:X,length:X-$+1}}function VZ(Q){if(Q.kind==="suffix")return`bytes=-${Q.suffixLength}`;return Q.end===null?`bytes=${Q.start}-`:`bytes=${Q.start}-${Q.end}`}function BZ(Q){if(!Q)return null;let Z=/^bytes\s+(\d+)-(\d+)\/(\d+)$/i.exec(Q.trim());if(!Z)return null;let $=p(Z[1]),X=p(Z[2]),G=p(Z[3]);if($===null||X===null||G===null||X<$)return null;return{start:$,end:X,total:G}}function PZ(Q,Z,$){return`bytes ${Q}-${Z}/${$}`}function a0(Q){return`bytes */${Q}`}class s extends q{errors={};constructor(Q){super("Validation error");this.name="ValidationError",this.errors=Q,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:Q,status:400}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}function h1(Q){let[Z,$]=Q.match(/\d+|\D+/g)??[];if(!Z||!$)return 0;let X=Number.parseInt(Z);switch($){case"B":return X;case"KB":return X*1024;case"MB":return X*1024*1024;case"GB":return X*1024*1024*1024;case"TB":return X*1024*1024*1024*1024;default:return 0}}function m1(Q){switch(Q){case"image":return"image";case"png":return"image/png";case"jpg":return"image/jpeg";case"jpeg":return"image/jpeg";case"ttf":return"font/ttf";case"excel":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"csv":return"text/csv";case"word":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"pdf":return"application/pdf";case"json":return"application/json";default:return Q}}function e0(Q){if(typeof Q==="string"||Array.isArray(Q))return Q.length;return}function w0(Q){return typeof Q==="number"&&!Number.isNaN(Q)}var c1=["required","string","boolean","number","email","password","min","max","gte","lte","file","fileType","fileSize","array","object","in"];class k extends Error{name="InvalidValidationRuleError"}function U0(Q,Z){let $=Z===void 0||Z.trim()===""?Number.NaN:Number(Z);if(Number.isNaN($))throw new k(`Validation rule "${Q}:${Z??""}" needs a number, e.g. "${Q}:3"`);return $}function Q1(Q){let Z=Q.indexOf(":"),$=Z===-1?Q:Q.slice(0,Z),X=Z===-1?void 0:Q.slice(Z+1);switch($){case"required":return(G)=>{if(G instanceof Blob)return G.size>0;if(G===null||G===void 0)return!1;if(typeof G==="string"||Array.isArray(G))return G.length>0;return!0};case"string":return(G)=>typeof G==="string";case"boolean":return(G)=>typeof G==="boolean";case"number":return(G)=>w0(G);case"password":return(G)=>{return typeof G==="string"&&/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(G)};case"min":{let G=U0($,X);return(H)=>{let Y=e0(H);return Y!==void 0&&Y>=G}}case"max":{let G=U0($,X);return(H)=>{let Y=e0(H);return Y!==void 0&&Y<=G}}case"gte":{let G=U0($,X);return(H)=>w0(H)&&H>=G}case"lte":{let G=U0($,X);return(H)=>w0(H)&&H<=G}case"email":return(G)=>{return typeof G==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(G)};case"file":return(G)=>{return G instanceof Blob};case"fileType":{if(!X)throw new k('Validation rule "fileType" needs a type, e.g. "fileType:png" or "fileType:image"');let G=m1(X);return(H)=>H instanceof Blob&&H.type.startsWith(G)}case"fileSize":{let G=h1(X??"");if(G===0&&!/^0+(B|KB|MB|GB|TB)$/.test(X??""))throw new k(`Validation rule "fileSize:${X??""}" needs a whole size in B, KB, MB, GB or TB, e.g. "fileSize:5MB"`);return(H)=>H instanceof Blob&&H.size<=G}case"array":return(G)=>Array.isArray(G);case"object":return(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G)&&!(G instanceof Blob);case"in":{let G=(X??"").split(",").filter((H)=>H!=="");if(G.length===0)throw new k('Validation rule "in" needs a comma-separated list, e.g. "in:draft,published"');return(H)=>typeof H==="string"&&G.includes(H)}default:throw new k(`Unknown validation rule "${Q}". Known rules: ${c1.join(", ")}`)}}function u(Q){if(!Q.definition)throw Error(`gemi/ai: the recursive schema "${Q.name}" was used before its definition returned; \`self\` can be nested into the schema, but not parsed or emitted inside the callback`);return Q.definition}var R0=new WeakMap;function X1(Q){return typeof Q==="object"&&Q!==null&&R0.has(Q)}function V0(Q){let Z=R0.get(Q);if(!Z)throw Error("gemi/ai: expected a schema built with `s`, got a foreign object");return Z}function p1(Q){let Z={defs:{},cells:new Map},$=Q;if(Q.node.kind==="ref"){let G=u(Q.node.cell);$={...G,...Q.description?{description:Q.description}:{},optional:Q.optional,nullable:Q.nullable||G.nullable}}let X=a($,Z);return Object.keys(Z.defs).length>0?{...X,$defs:Z.defs}:X}function a(Q,Z){let $=(Q.optional||Q.nullable)&&Q.node.kind!=="json",X=i1(d1(Q.node,Z),$),G=[Q.description,u1(Q.node)].filter(Boolean).join(" ");if(G&&X.$ref!==void 0)X={anyOf:[X]};return G?{description:G,...X}:X}function u1(Q){let Z=[];if(Q.kind==="string"||Q.kind==="enum"){let $=Q.checks;if($?.format)Z.push(`Format: ${$.format.name}.`);if($?.minLength!==void 0)Z.push(`At least ${$.minLength} characters.`);if($?.maxLength!==void 0)Z.push(`At most ${$.maxLength} characters.`)}else if(Q.kind==="number"){let $=Q.checks;if($?.minimum!==void 0)Z.push(`Minimum ${$.minimum}.`);if($?.exclusiveMinimum!==void 0)Z.push(`Greater than ${$.exclusiveMinimum}.`);if($?.maximum!==void 0)Z.push(`Maximum ${$.maximum}.`);if($?.exclusiveMaximum!==void 0)Z.push(`Less than ${$.exclusiveMaximum}.`)}else if(Q.kind==="array"){let $=Q.checks;if($?.minItems!==void 0)Z.push(`At least ${$.minItems} items.`);if($?.maxItems!==void 0)Z.push(`At most ${$.maxItems} items.`)}return Z.join(" ")}function d1(Q,Z){switch(Q.kind){case"string":return{type:"string"};case"number":return{type:Q.checks?.integer?"integer":"number"};case"boolean":return{type:"boolean"};case"literal":return{type:typeof Q.value,const:Q.value};case"enum":return{type:"string",enum:Q.values};case"array":return{type:"array",items:a(Q.item,Z)};case"object":return{type:"object",properties:Object.fromEntries(Object.entries(Q.shape).map(([$,X])=>[$,a(X,Z)])),required:Object.keys(Q.shape),additionalProperties:!1};case"union":return{anyOf:Q.members.map(($)=>a($,Z))};case"json":return{};case"ref":{let{cell:$}=Q,X=Z.cells.get($.name);if(X&&X!==$)throw Error(`gemi/ai: two different recursive schemas are named "${$.name}" in one schema; give each s.recursive(...) its own name`);if(!X)Z.cells.set($.name,$),Z.defs[$.name]={},Z.defs[$.name]=a(u($),Z);return{$ref:`#/$defs/${$.name}`}}}}function i1(Q,Z){if(!Z)return Q;if(Q.anyOf)return{...Q,anyOf:[...Q.anyOf,{type:"null"}]};if(Q.enum||Q.const!==void 0)return{anyOf:[Q,{type:"null"}]};if(typeof Q.type==="string")return{...Q,type:[Q.type,"null"]};return{anyOf:[Q,{type:"null"}]}}function n1(Q){if(Q===null)return"null";if(Array.isArray(Q))return"array";return typeof Q}function l1(Q,Z){if(typeof Z==="number"&&!Number.isFinite(Z))return String(Z);if(Q.kind==="literal"||Q.kind==="enum"){if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")return JSON.stringify(Z)}return n1(Z)}function G1(Q){let Z=Q.node,$=(()=>{switch(Z.kind){case"number":return Z.checks?.integer?"integer":"number";case"string":case"boolean":return Z.kind;case"literal":return JSON.stringify(Z.value);case"enum":return`one of ${Z.values.map((X)=>JSON.stringify(X)).join(" | ")}`;case"array":return"array";case"object":return"object";case"union":return"one of the variants";case"json":return"a JSON value";case"ref":return G1({...u(Z.cell),optional:!1,nullable:!1})}})();return Q.optional||Q.nullable?`${$} or null`:$}function o1(Q){let Z="";for(let $ of Q)Z+=typeof $==="number"?`[${$}]`:Z?`.${$}`:$;return Z}function t1(Q){let Z=o1(Q);return Z?`${Z}: `:""}function E0(Q){return`${t1(Q.path)}${Q.message}`}function B0(Q,Z){if(Z===null||Z===void 0)return Q.optional||Q.nullable?1:0;let $=Q.node;switch($.kind){case"string":return typeof Z==="string"?1:0;case"number":return typeof Z==="number"?1:0;case"boolean":return typeof Z==="boolean"?1:0;case"literal":return Z===$.value?10:0;case"enum":return typeof Z==="string"&&$.values.includes(Z)?10:0;case"array":return Array.isArray(Z)?1:0;case"object":{if(typeof Z!=="object"||Array.isArray(Z))return 0;let X=Z,G=1;for(let[H,Y]of Object.entries($.shape))G+=B0(Y,X[H]);return G}case"union":return $.members.reduce((X,G)=>Math.max(X,B0(G,Z)),0);case"json":return 1;case"ref":return H1($.cell,Z,()=>1,()=>B0(u($.cell),Z))}}function H1(Q,Z,$,X){if(typeof Z!=="object"||Z===null)return X();if(Q.active.has(Z))return $();Q.active.add(Z);try{return X()}finally{Q.active.delete(Z)}}function v(Q,Z,$,X){if(Q.optional&&(Z===null||Z===void 0))return{drop:!0,value:void 0};if(Q.nullable&&Z===null)return{drop:!1,value:null};return{drop:!1,value:s1(Q,Z,$,X)}}function s1(Q,Z,$,X){let G=Q.node,H=()=>{let Y=Z===void 0?"required":G.kind==="literal"?"const":G.kind==="enum"&&typeof Z==="string"?"enum":"type",M=Y==="const"?{allowedValue:G.value}:Y==="enum"?{allowedValues:G.values}:{};X.push({path:$,code:Y,message:`expected ${G1(Q)}, got ${l1(G,Z)}`,params:M});return};switch(G.kind){case"string":if(typeof Z!=="string")return H();return Z1(G.checks,Z,$,X),Z;case"number":if(typeof Z!=="number"||!Number.isFinite(Z))return H();if(G.checks?.integer&&!Number.isInteger(Z))return H();return a1(G.checks,Z,$,X),Z;case"boolean":return typeof Z==="boolean"?Z:H();case"literal":return Z===G.value?Z:H();case"enum":if(typeof Z!=="string"||!G.values.includes(Z))return H();return Z1(G.checks,Z,$,X),Z;case"array":{if(!Array.isArray(Z))return H();let Y=Z.map((J,D)=>{let U=v(G.item,J,[...$,D],X);return U.drop?void 0:U.value}),{minItems:M,maxItems:K}=G.checks??{};if(M!==void 0&&Z.length<M)X.push({path:$,code:"minItems",message:`expected at least ${M} items, got ${Z.length}`,params:{limit:M}});if(K!==void 0&&Z.length>K)X.push({path:$,code:"maxItems",message:`expected at most ${K} items, got ${Z.length}`,params:{limit:K}});return Y}case"object":{if(typeof Z!=="object"||Z===null||Array.isArray(Z))return H();let Y=Z,M={};for(let[K,J]of Object.entries(G.shape)){let D=v(J,Y[K],[...$,K],X);if(!D.drop)M[K]=D.value}if(G.unknownKeys)for(let K of Object.keys(Y)){if(Object.hasOwn(G.shape,K)||Y[K]===void 0)continue;if(G.unknownKeys==="error"){X.push({path:[...$,K],code:"additionalProperties",message:"unknown key",params:{additionalProperty:K}});continue}Z0(Y[K],[...$,K],X,new Set),Object.defineProperty(M,K,{value:Y[K],enumerable:!0,writable:!0,configurable:!0})}return M}case"union":{let Y;for(let M of G.members){let K=[],J=v(M,Z,$,K);if(K.length===0)return J.drop?void 0:J.value;let D=B0(M,Z);if(!Y||D>Y.score)Y={issues:K,score:D}}X.push({path:$,code:"anyOf",message:`no matching variant; closest: ${Y.issues.map(E0).join("; ")}`,params:{closest:Y.issues}});return}case"json":if(Z===void 0)return H();return Z0(Z,$,X,new Set),Z;case"ref":return H1(G.cell,Z,()=>{X.push({path:$,code:"type",message:"expected a finite tree, got a circular reference",params:{}});return},()=>v(u(G.cell),Z,$,X).value)}}function r1(Q){let Z=0;for(let $ of Q)Z++;return Z}function Z1(Q,Z,$,X){if(!Q)return;let{minLength:G,maxLength:H,format:Y}=Q;if(G!==void 0||H!==void 0){let M=r1(Z);if(G!==void 0&&M<G)X.push({path:$,code:"minLength",message:`expected at least ${G} characters, got ${M}`,params:{limit:G}});if(H!==void 0&&M>H)X.push({path:$,code:"maxLength",message:`expected at most ${H} characters, got ${M}`,params:{limit:H}})}if(Y){let M=!1;try{M=Y.test(Z)===!0}catch{}if(!M)X.push({path:$,code:"format",message:`expected a string in format "${Y.name}"`,params:{format:Y.name}})}}function a1(Q,Z,$,X){if(!Q)return;let G=(H,Y,M,K)=>{if(Y===void 0||M(Y))return;X.push({path:$,code:H,message:`expected ${K} ${Y}, got ${Z}`,params:{limit:Y}})};G("minimum",Q.minimum,(H)=>Z>=H,"at least"),G("exclusiveMinimum",Q.exclusiveMinimum,(H)=>Z>H,"more than"),G("maximum",Q.maximum,(H)=>Z<=H,"at most"),G("exclusiveMaximum",Q.exclusiveMaximum,(H)=>Z<H,"less than")}function Z0(Q,Z,$,X,G=!0){let H=(M)=>{$.push({path:Z,code:"type",message:`expected a JSON value, got ${M}`,params:{}})};switch(typeof Q){case"undefined":case"string":case"boolean":return;case"number":if(!Number.isFinite(Q))H(String(Q));return;case"bigint":return H("a bigint");case"function":return H("a function");case"symbol":return H("a symbol")}if(Q===null)return;let Y=Q;if(X.has(Y))return H("a circular reference");X.add(Y);try{let M=G?Y.toJSON:void 0;if(typeof M==="function"){let K;try{K=M.call(Y)}catch{return H("a toJSON that threw")}if(K===void 0)return H("a toJSON that returns undefined");return Z0(K,Z,$,X,!1)}if(Array.isArray(Q))Q.forEach((K,J)=>Z0(K,[...Z,J],$,X));else for(let[K,J]of Object.entries(Y))Z0(J,[...Z,K],$,X)}finally{X.delete(Y)}}function E(Q){return P0(Q)}function P0(Q){let Z={toJSONSchema:()=>p1(Q),parse($){let X=[],G=v(Q,$,[],X);if(X.length>0)throw Error(X.map(E0).join("; "));return G.drop?void 0:G.value},safeParse($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,errors:X.map(E0)};return{ok:!0,value:G.drop?void 0:G.value}},validate($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,issues:X};return{ok:!0,value:G.drop?void 0:G.value}},describe:($)=>P0({...Q,description:$}),optional:()=>P0({...Q,optional:!0}),nullable:()=>P0({...Q,nullable:!0,optional:!1})};return R0.set(Z,Q),Z}function x(Q){return{node:Q,optional:!1,nullable:!1}}var $1=["strip","error","passthrough"];class Y1 extends Error{problems;constructor(Q){super(`gemi/ai: s.fromJSONSchema cannot model this schema:
|
|
2
|
+
import{Yi as q,Zi as L0,_i as C0}from"./chunk-1ecvjvbg.js";import{dj as k0,gj as b}from"./chunk-nd2vajx0.js";import{hl as P1}from"./chunk-ttcmvam5.js";import{ll as _0}from"./chunk-znnt70rn.js";import{El as Y0}from"./chunk-tns989kw.js";import{Ml as lQ}from"./chunk-q7nz3b4q.js";class t0{static kind="controller";constructor(){}}class v1 extends t0{}function N0(Q){let Z=new Map;if(!Q)return Z;for(let $ of Q.split(";")){let X=$.indexOf("=");if(X===-1)continue;let G=$.slice(0,X).trim();if(!G)continue;Z.set(G,$.slice(X+1).trim())}return Z}function UZ(Q){return N0(Q.headers.get("cookie"))}function p(Q){if(!/^\d+$/.test(Q))return null;let Z=Number(Q);return Number.isSafeInteger(Z)?Z:null}function s0(Q){if(!Q)return null;let Z=Q.trim();if(!/^bytes=/i.test(Z))return null;let X=Z.slice(6).split(",").map((D)=>D.trim()).filter((D)=>D!=="");if(X.length!==1)return null;let G=X[0],H=G.indexOf("-");if(H===-1)return null;let Y=G.slice(0,H),M=G.slice(H+1);if(Y===""){let D=p(M);if(D===null)return null;return{kind:"suffix",suffixLength:D}}let K=p(Y);if(K===null)return null;if(M==="")return{kind:"offset",start:K,end:null};let J=p(M);if(J===null||J<K)return null;return{kind:"offset",start:K,end:J}}function r0(Q,Z){if(!Number.isFinite(Z)||Z<=0)return null;let $,X;if(Q.kind==="suffix"){if(Q.suffixLength<=0)return null;$=Math.max(0,Z-Q.suffixLength),X=Z-1}else{if(Q.start>=Z)return null;if($=Q.start,X=Q.end===null?Z-1:Math.min(Q.end,Z-1),X<$)return null}return{start:$,end:X,length:X-$+1}}function VZ(Q){if(Q.kind==="suffix")return`bytes=-${Q.suffixLength}`;return Q.end===null?`bytes=${Q.start}-`:`bytes=${Q.start}-${Q.end}`}function BZ(Q){if(!Q)return null;let Z=/^bytes\s+(\d+)-(\d+)\/(\d+)$/i.exec(Q.trim());if(!Z)return null;let $=p(Z[1]),X=p(Z[2]),G=p(Z[3]);if($===null||X===null||G===null||X<$)return null;return{start:$,end:X,total:G}}function PZ(Q,Z,$){return`bytes ${Q}-${Z}/${$}`}function a0(Q){return`bytes */${Q}`}class s extends q{errors={};constructor(Q){super("Validation error");this.name="ValidationError",this.errors=Q,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:Q,status:400}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}function h1(Q){let[Z,$]=Q.match(/\d+|\D+/g)??[];if(!Z||!$)return 0;let X=Number.parseInt(Z);switch($){case"B":return X;case"KB":return X*1024;case"MB":return X*1024*1024;case"GB":return X*1024*1024*1024;case"TB":return X*1024*1024*1024*1024;default:return 0}}function m1(Q){switch(Q){case"image":return"image";case"png":return"image/png";case"jpg":return"image/jpeg";case"jpeg":return"image/jpeg";case"ttf":return"font/ttf";case"excel":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"csv":return"text/csv";case"word":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"pdf":return"application/pdf";case"json":return"application/json";default:return Q}}function e0(Q){if(typeof Q==="string"||Array.isArray(Q))return Q.length;return}function w0(Q){return typeof Q==="number"&&!Number.isNaN(Q)}var c1=["required","string","boolean","number","email","password","min","max","gte","lte","file","fileType","fileSize","array","object","in"];class k extends Error{name="InvalidValidationRuleError"}function U0(Q,Z){let $=Z===void 0||Z.trim()===""?Number.NaN:Number(Z);if(Number.isNaN($))throw new k(`Validation rule "${Q}:${Z??""}" needs a number, e.g. "${Q}:3"`);return $}function Q1(Q){let Z=Q.indexOf(":"),$=Z===-1?Q:Q.slice(0,Z),X=Z===-1?void 0:Q.slice(Z+1);switch($){case"required":return(G)=>{if(G instanceof Blob)return G.size>0;if(G===null||G===void 0)return!1;if(typeof G==="string"||Array.isArray(G))return G.length>0;return!0};case"string":return(G)=>typeof G==="string";case"boolean":return(G)=>typeof G==="boolean";case"number":return(G)=>w0(G);case"password":return(G)=>{return typeof G==="string"&&/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(G)};case"min":{let G=U0($,X);return(H)=>{let Y=e0(H);return Y!==void 0&&Y>=G}}case"max":{let G=U0($,X);return(H)=>{let Y=e0(H);return Y!==void 0&&Y<=G}}case"gte":{let G=U0($,X);return(H)=>w0(H)&&H>=G}case"lte":{let G=U0($,X);return(H)=>w0(H)&&H<=G}case"email":return(G)=>{return typeof G==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(G)};case"file":return(G)=>{return G instanceof Blob};case"fileType":{if(!X)throw new k('Validation rule "fileType" needs a type, e.g. "fileType:png" or "fileType:image"');let G=m1(X);return(H)=>H instanceof Blob&&H.type.startsWith(G)}case"fileSize":{let G=h1(X??"");if(G===0&&!/^0+(B|KB|MB|GB|TB)$/.test(X??""))throw new k(`Validation rule "fileSize:${X??""}" needs a whole size in B, KB, MB, GB or TB, e.g. "fileSize:5MB"`);return(H)=>H instanceof Blob&&H.size<=G}case"array":return(G)=>Array.isArray(G);case"object":return(G)=>typeof G==="object"&&G!==null&&!Array.isArray(G)&&!(G instanceof Blob);case"in":{let G=(X??"").split(",").filter((H)=>H!=="");if(G.length===0)throw new k('Validation rule "in" needs a comma-separated list, e.g. "in:draft,published"');return(H)=>typeof H==="string"&&G.includes(H)}default:throw new k(`Unknown validation rule "${Q}". Known rules: ${c1.join(", ")}`)}}function u(Q){if(!Q.definition)throw Error(`gemi/ai: the recursive schema "${Q.name}" was used before its definition returned; \`self\` can be nested into the schema, but not parsed or emitted inside the callback`);return Q.definition}var R0=new WeakMap;function X1(Q){return typeof Q==="object"&&Q!==null&&R0.has(Q)}function V0(Q){let Z=R0.get(Q);if(!Z)throw Error("gemi/ai: expected a schema built with `s`, got a foreign object");return Z}function p1(Q){let Z={defs:{},cells:new Map},$=Q;if(Q.node.kind==="ref"){let G=u(Q.node.cell);$={...G,...Q.description?{description:Q.description}:{},optional:Q.optional,nullable:Q.nullable||G.nullable}}let X=a($,Z);return Object.keys(Z.defs).length>0?{...X,$defs:Z.defs}:X}function a(Q,Z){let $=(Q.optional||Q.nullable)&&Q.node.kind!=="json",X=i1(d1(Q.node,Z),$),G=[Q.description,u1(Q.node)].filter(Boolean).join(" ");if(G&&X.$ref!==void 0)X={anyOf:[X]};return G?{description:G,...X}:X}function u1(Q){let Z=[];if(Q.kind==="string"||Q.kind==="enum"){let $=Q.checks;if($?.format)Z.push(`Format: ${$.format.name}.`);if($?.minLength!==void 0)Z.push(`At least ${$.minLength} characters.`);if($?.maxLength!==void 0)Z.push(`At most ${$.maxLength} characters.`)}else if(Q.kind==="number"){let $=Q.checks;if($?.minimum!==void 0)Z.push(`Minimum ${$.minimum}.`);if($?.exclusiveMinimum!==void 0)Z.push(`Greater than ${$.exclusiveMinimum}.`);if($?.maximum!==void 0)Z.push(`Maximum ${$.maximum}.`);if($?.exclusiveMaximum!==void 0)Z.push(`Less than ${$.exclusiveMaximum}.`)}else if(Q.kind==="array"){let $=Q.checks;if($?.minItems!==void 0)Z.push(`At least ${$.minItems} items.`);if($?.maxItems!==void 0)Z.push(`At most ${$.maxItems} items.`)}return Z.join(" ")}function d1(Q,Z){switch(Q.kind){case"string":return{type:"string"};case"number":return{type:Q.checks?.integer?"integer":"number"};case"boolean":return{type:"boolean"};case"literal":return{type:typeof Q.value,const:Q.value};case"enum":return{type:"string",enum:Q.values};case"array":return{type:"array",items:a(Q.item,Z)};case"object":return{type:"object",properties:Object.fromEntries(Object.entries(Q.shape).map(([$,X])=>[$,a(X,Z)])),required:Object.keys(Q.shape),additionalProperties:!1};case"union":return{anyOf:Q.members.map(($)=>a($,Z))};case"json":return{};case"ref":{let{cell:$}=Q,X=Z.cells.get($.name);if(X&&X!==$)throw Error(`gemi/ai: two different recursive schemas are named "${$.name}" in one schema; give each s.recursive(...) its own name`);if(!X)Z.cells.set($.name,$),Z.defs[$.name]={},Z.defs[$.name]=a(u($),Z);return{$ref:`#/$defs/${$.name}`}}}}function i1(Q,Z){if(!Z)return Q;if(Q.anyOf)return{...Q,anyOf:[...Q.anyOf,{type:"null"}]};if(Q.enum||Q.const!==void 0)return{anyOf:[Q,{type:"null"}]};if(typeof Q.type==="string")return{...Q,type:[Q.type,"null"]};return{anyOf:[Q,{type:"null"}]}}function n1(Q){if(Q===null)return"null";if(Array.isArray(Q))return"array";return typeof Q}function l1(Q,Z){if(typeof Z==="number"&&!Number.isFinite(Z))return String(Z);if(Q.kind==="literal"||Q.kind==="enum"){if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")return JSON.stringify(Z)}return n1(Z)}function G1(Q){let Z=Q.node,$=(()=>{switch(Z.kind){case"number":return Z.checks?.integer?"integer":"number";case"string":case"boolean":return Z.kind;case"literal":return JSON.stringify(Z.value);case"enum":return`one of ${Z.values.map((X)=>JSON.stringify(X)).join(" | ")}`;case"array":return"array";case"object":return"object";case"union":return"one of the variants";case"json":return"a JSON value";case"ref":return G1({...u(Z.cell),optional:!1,nullable:!1})}})();return Q.optional||Q.nullable?`${$} or null`:$}function o1(Q){let Z="";for(let $ of Q)Z+=typeof $==="number"?`[${$}]`:Z?`.${$}`:$;return Z}function t1(Q){let Z=o1(Q);return Z?`${Z}: `:""}function E0(Q){return`${t1(Q.path)}${Q.message}`}function B0(Q,Z){if(Z===null||Z===void 0)return Q.optional||Q.nullable?1:0;let $=Q.node;switch($.kind){case"string":return typeof Z==="string"?1:0;case"number":return typeof Z==="number"?1:0;case"boolean":return typeof Z==="boolean"?1:0;case"literal":return Z===$.value?10:0;case"enum":return typeof Z==="string"&&$.values.includes(Z)?10:0;case"array":return Array.isArray(Z)?1:0;case"object":{if(typeof Z!=="object"||Array.isArray(Z))return 0;let X=Z,G=1;for(let[H,Y]of Object.entries($.shape))G+=B0(Y,X[H]);return G}case"union":return $.members.reduce((X,G)=>Math.max(X,B0(G,Z)),0);case"json":return 1;case"ref":return H1($.cell,Z,()=>1,()=>B0(u($.cell),Z))}}function H1(Q,Z,$,X){if(typeof Z!=="object"||Z===null)return X();if(Q.active.has(Z))return $();Q.active.add(Z);try{return X()}finally{Q.active.delete(Z)}}function v(Q,Z,$,X){if(Q.optional&&(Z===null||Z===void 0))return{drop:!0,value:void 0};if(Q.nullable&&Z===null)return{drop:!1,value:null};return{drop:!1,value:s1(Q,Z,$,X)}}function s1(Q,Z,$,X){let G=Q.node,H=()=>{let Y=Z===void 0?"required":G.kind==="literal"?"const":G.kind==="enum"&&typeof Z==="string"?"enum":"type",M=Y==="const"?{allowedValue:G.value}:Y==="enum"?{allowedValues:G.values}:{};X.push({path:$,code:Y,message:`expected ${G1(Q)}, got ${l1(G,Z)}`,params:M});return};switch(G.kind){case"string":if(typeof Z!=="string")return H();return Z1(G.checks,Z,$,X),Z;case"number":if(typeof Z!=="number"||!Number.isFinite(Z))return H();if(G.checks?.integer&&!Number.isInteger(Z))return H();return a1(G.checks,Z,$,X),Z;case"boolean":return typeof Z==="boolean"?Z:H();case"literal":return Z===G.value?Z:H();case"enum":if(typeof Z!=="string"||!G.values.includes(Z))return H();return Z1(G.checks,Z,$,X),Z;case"array":{if(!Array.isArray(Z))return H();let Y=Z.map((J,D)=>{let U=v(G.item,J,[...$,D],X);return U.drop?void 0:U.value}),{minItems:M,maxItems:K}=G.checks??{};if(M!==void 0&&Z.length<M)X.push({path:$,code:"minItems",message:`expected at least ${M} items, got ${Z.length}`,params:{limit:M}});if(K!==void 0&&Z.length>K)X.push({path:$,code:"maxItems",message:`expected at most ${K} items, got ${Z.length}`,params:{limit:K}});return Y}case"object":{if(typeof Z!=="object"||Z===null||Array.isArray(Z))return H();let Y=Z,M={};for(let[K,J]of Object.entries(G.shape)){let D=v(J,Y[K],[...$,K],X);if(!D.drop)M[K]=D.value}if(G.unknownKeys)for(let K of Object.keys(Y)){if(Object.hasOwn(G.shape,K)||Y[K]===void 0)continue;if(G.unknownKeys==="error"){X.push({path:[...$,K],code:"additionalProperties",message:"unknown key",params:{additionalProperty:K}});continue}Z0(Y[K],[...$,K],X,new Set),Object.defineProperty(M,K,{value:Y[K],enumerable:!0,writable:!0,configurable:!0})}return M}case"union":{let Y;for(let M of G.members){let K=[],J=v(M,Z,$,K);if(K.length===0)return J.drop?void 0:J.value;let D=B0(M,Z);if(!Y||D>Y.score)Y={issues:K,score:D}}X.push({path:$,code:"anyOf",message:`no matching variant; closest: ${Y.issues.map(E0).join("; ")}`,params:{closest:Y.issues}});return}case"json":if(Z===void 0)return H();return Z0(Z,$,X,new Set),Z;case"ref":return H1(G.cell,Z,()=>{X.push({path:$,code:"type",message:"expected a finite tree, got a circular reference",params:{}});return},()=>v(u(G.cell),Z,$,X).value)}}function r1(Q){let Z=0;for(let $ of Q)Z++;return Z}function Z1(Q,Z,$,X){if(!Q)return;let{minLength:G,maxLength:H,format:Y}=Q;if(G!==void 0||H!==void 0){let M=r1(Z);if(G!==void 0&&M<G)X.push({path:$,code:"minLength",message:`expected at least ${G} characters, got ${M}`,params:{limit:G}});if(H!==void 0&&M>H)X.push({path:$,code:"maxLength",message:`expected at most ${H} characters, got ${M}`,params:{limit:H}})}if(Y){let M=!1;try{M=Y.test(Z)===!0}catch{}if(!M)X.push({path:$,code:"format",message:`expected a string in format "${Y.name}"`,params:{format:Y.name}})}}function a1(Q,Z,$,X){if(!Q)return;let G=(H,Y,M,K)=>{if(Y===void 0||M(Y))return;X.push({path:$,code:H,message:`expected ${K} ${Y}, got ${Z}`,params:{limit:Y}})};G("minimum",Q.minimum,(H)=>Z>=H,"at least"),G("exclusiveMinimum",Q.exclusiveMinimum,(H)=>Z>H,"more than"),G("maximum",Q.maximum,(H)=>Z<=H,"at most"),G("exclusiveMaximum",Q.exclusiveMaximum,(H)=>Z<H,"less than")}function Z0(Q,Z,$,X,G=!0){let H=(M)=>{$.push({path:Z,code:"type",message:`expected a JSON value, got ${M}`,params:{}})};switch(typeof Q){case"undefined":case"string":case"boolean":return;case"number":if(!Number.isFinite(Q))H(String(Q));return;case"bigint":return H("a bigint");case"function":return H("a function");case"symbol":return H("a symbol")}if(Q===null)return;let Y=Q;if(X.has(Y))return H("a circular reference");X.add(Y);try{let M=G?Y.toJSON:void 0;if(typeof M==="function"){let K;try{K=M.call(Y)}catch{return H("a toJSON that threw")}if(K===void 0)return H("a toJSON that returns undefined");return Z0(K,Z,$,X,!1)}if(Array.isArray(Q))Q.forEach((K,J)=>Z0(K,[...Z,J],$,X));else for(let[K,J]of Object.entries(Y))Z0(J,[...Z,K],$,X)}finally{X.delete(Y)}}function E(Q){return P0(Q)}function P0(Q){let Z={toJSONSchema:()=>p1(Q),parse($){let X=[],G=v(Q,$,[],X);if(X.length>0)throw Error(X.map(E0).join("; "));return G.drop?void 0:G.value},safeParse($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,errors:X.map(E0)};return{ok:!0,value:G.drop?void 0:G.value}},validate($){let X=[],G=v(Q,$,[],X);if(X.length>0)return{ok:!1,issues:X};return{ok:!0,value:G.drop?void 0:G.value}},describe:($)=>P0({...Q,description:$}),optional:()=>P0({...Q,optional:!0}),nullable:()=>P0({...Q,nullable:!0,optional:!1})};return R0.set(Z,Q),Z}function x(Q){return{node:Q,optional:!1,nullable:!1}}var $1=["strip","error","passthrough"];class Y1 extends Error{problems;constructor(Q){super(`gemi/ai: s.fromJSONSchema cannot model this schema:
|
|
3
3
|
${Q.map((Z)=>`- ${Z}`).join(`
|
|
4
4
|
`)}`);this.name="JSONSchemaError",this.problems=Q}}var e1=new Set(["title","$schema","$id","$comment","examples","default","deprecated","readOnly","writeOnly"]),r={string:["minLength","maxLength","format"],number:["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],integer:["minimum","maximum","exclusiveMinimum","exclusiveMaximum"],boolean:[],object:["properties","required","additionalProperties"],array:["items","minItems","maxItems"]};function z0(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}function j0(Q,Z,$,X){let G=(W,V=$)=>{X.push(V?`${V}: ${W}`:W);return},H=(W)=>$?`${$}.${W}`:W;if(!z0(Q))return G("expected a schema object");let Y=new Set(Z.ignoreKeywords??[]),M=(W)=>e1.has(W)||W.startsWith("x-")||Y.has(W),K=!1,J=Q.type;if(Array.isArray(J)){let W=J.filter((V)=>V!=="null");if(W.length!==1)return G(`type ${JSON.stringify(J)} is not supported; only one type, optionally with "null". Use anyOf for alternatives`,H("type"));K=W.length<J.length,J=W[0]}if(J!==void 0&&(typeof J!=="string"||!(J in r)))return G(`type ${JSON.stringify(J)} is not supported; expected one of ${Object.keys(r).join(", ")}`,H("type"));let D=new Set(["type","description","enum","const","anyOf",...J?r[J]:[]]),U=!1;for(let W of Object.keys(Q)){if(D.has(W)||M(W))continue;U=!0;let V=Object.entries(r).find(([,z])=>z.includes(W));G(V&&V[0]!==J?`"${W}" applies to type ${V[0]}, and this schema is ${J?`type ${J}`:"untyped"}`:`"${W}" is not supported by s.fromJSONSchema`,H(W))}if(U)return;if(Q.description!==void 0&&typeof Q.description!=="string")return G("expected a string",H("description"));let O=Q.description,B=(W)=>({node:W,optional:!1,nullable:K,...O?{description:O}:{}});if(Q.anyOf!==void 0){if(J!==void 0||Q.enum!==void 0||Q.const!==void 0)return G("anyOf cannot be combined with type, enum or const here",H("anyOf"));if(!Array.isArray(Q.anyOf)||Q.anyOf.length===0)return G("expected a non-empty array",H("anyOf"));let W=[],V=!1;if(Q.anyOf.forEach((z,P)=>{if(z0(z)&&z.type==="null"&&Object.keys(z).length===1){K=!0;return}let F=j0(z,Z,H(`anyOf[${P}]`),X);if(F)W.push(F);else V=!0}),V)return;if(W.length===0)return G("anyOf has only null in it",H("anyOf"));if(W.length===1){let z=W[0];return{...z,nullable:z.nullable||K,...O?{description:O}:{}}}return B({kind:"union",members:W})}if(Q.const!==void 0){let W=Q.const;if(typeof W!=="string"&&typeof W!=="number"&&typeof W!=="boolean")return G("only a string, number or boolean const is supported",H("const"));if(J!==void 0&&typeof W!==(J==="integer"?"number":J))return G(`const ${JSON.stringify(W)} is not of type ${J}`,H("const"));return B({kind:"literal",value:W})}let _;if(J==="string"){if(_=QQ(Q,Z,H,X),_===null)return}if(Q.enum!==void 0){if(!Array.isArray(Q.enum)||Q.enum.length===0)return G("expected a non-empty array",H("enum"));let W=Q.enum.filter((P)=>P!==null);if(W.length<Q.enum.length)K=!0;let V=W.find((P)=>!(typeof P==="string"||typeof P==="number"||typeof P==="boolean")||J!==void 0&&typeof P!==(J==="integer"?"number":J));if(V!==void 0||W.length===0)return G(J?`every value must be of type ${J}${W.length===0?", and there must be one":`; ${JSON.stringify(V)} is not`}`:"only strings, numbers and booleans are supported",H("enum"));if(W.every((P)=>typeof P==="string"))return B({kind:"enum",values:[...new Set(W)],..._?{checks:_}:{}});let z=[...new Set(W)];if(z.length===1)return B({kind:"literal",value:z[0]});return B({kind:"union",members:z.map((P)=>x({kind:"literal",value:P}))})}switch(J){case void 0:return G("a schema needs a type, an enum, a const or an anyOf");case"string":return B({kind:"string",..._?{checks:_}:{}});case"number":case"integer":{let W=J==="integer"?{integer:!0}:{},V=!1;for(let z of r.number){let P=Q[z];if(P===void 0)continue;if(typeof P!=="number"||!Number.isFinite(P)){G("expected a number",H(z)),V=!0;continue}W[z]=P}if(V)return;return B({kind:"number",...Object.keys(W).length>0?{checks:W}:{}})}case"boolean":return B({kind:"boolean"});case"array":{if(!z0(Q.items))return G('an array needs "items" to be one schema (tuples are not supported)',H("items"));let W={},V=!1;for(let P of["minItems","maxItems"]){let F=Q[P];if(F===void 0)continue;if(typeof F!=="number"||!Number.isInteger(F)||F<0){G("expected a non-negative integer",H(P)),V=!0;continue}W[P]=F}let z=j0(Q.items,Z,H("items"),X);if(!z||V)return;return B({kind:"array",item:z,...Object.keys(W).length>0?{checks:W}:{}})}case"object":{let W=Q.properties??{};if(!z0(W))return G("expected an object",H("properties"));if(Q.additionalProperties!==void 0&&Q.additionalProperties!==!1)return G("only false is supported; a record with arbitrary keys has no strict-mode form (use s.json())",H("additionalProperties"));let V=Q.required??[];if(!Array.isArray(V)||!V.every((A)=>typeof A==="string"))return G("expected an array of property names",H("required"));let z=V.filter((A)=>!Object.hasOwn(W,A));if(z.length>0)return G(`lists properties the schema doesn't have: ${z.join(", ")}`,H("required"));let P={},F=!1;for(let[A,C]of Object.entries(W)){let R=j0(C,Z,H(`properties.${A}`),X);if(!R){F=!0;continue}P[A]=V.includes(A)?R:{...R,optional:!0}}if(F)return;let I=Z.unknownKeys;return B({kind:"object",shape:P,...I==="error"||I==="passthrough"?{unknownKeys:I}:{}})}}return}function QQ(Q,Z,$,X){let G={},H=!1;for(let Y of["minLength","maxLength"]){let M=Q[Y];if(M===void 0)continue;if(typeof M!=="number"||!Number.isInteger(M)||M<0){X.push(`${$(Y)}: expected a non-negative integer`),H=!0;continue}G[Y]=M}if(Q.format!==void 0){let Y=Q.format,M=typeof Y==="string"?Z.formats?.[Y]:void 0;if(typeof Y!=="string")X.push(`${$("format")}: expected a string`),H=!0;else if(!M||!Object.hasOwn(Z.formats,Y))X.push(`${$("format")}: unknown format ${JSON.stringify(Y)}; pass a check for it in the formats option`),H=!0;else G.format={name:Y,test:ZQ(M)}}if(H)return null;return Object.keys(G).length>0?G:void 0}function ZQ(Q){if(Q===!0)return()=>!0;if(Q instanceof RegExp)return(Z)=>{return Q.lastIndex=0,Q.test(Z)};return Q}var CZ={string:()=>E(x({kind:"string"})),number:()=>E(x({kind:"number"})),boolean:()=>E(x({kind:"boolean"})),literal:(Q)=>E(x({kind:"literal",value:Q})),enum:(Q)=>E(x({kind:"enum",values:Q})),object:(Q)=>E(x({kind:"object",shape:Object.fromEntries(Object.entries(Q).map(([Z,$])=>[Z,V0($)]))})),array:(Q)=>E(x({kind:"array",item:V0(Q)})),union:(Q)=>E(x({kind:"union",members:Q.map(V0)})),json:()=>E(x({kind:"json"})),recursive:XQ,fromJSONSchema:(Q,Z={})=>{let $=[];if(Z.unknownKeys!==void 0&&!$1.includes(Z.unknownKeys))throw Error(`gemi/ai: s.fromJSONSchema's unknownKeys option must be one of ${$1.map((G)=>JSON.stringify(G)).join(", ")}, got ${JSON.stringify(Z.unknownKeys)}`);let X=j0(Q,Z,"",$);if(!X||$.length>0)throw new Y1($.length>0?$:["unreadable schema"]);return E(X)}};function OZ(Q){let Z=R0.get(Q);if(Z)return Q0(Z.node);return e(Q.toJSONSchema())}function e(Q){if(!(Q.$ref!==void 0||Q.type!==void 0||Q.enum!==void 0||Q.const!==void 0||Q.anyOf!==void 0||Q.properties!==void 0||Q.items!==void 0))return!1;for(let $ of Object.values(Q.properties??{}))if(!e($))return!1;if(Q.items&&!e(Q.items))return!1;for(let $ of Q.anyOf??[])if(!e($))return!1;for(let $ of Object.values(Q.$defs??{}))if(!e($))return!1;return!0}function Q0(Q,Z=new Set){switch(Q.kind){case"string":case"number":case"boolean":case"literal":case"enum":return!0;case"object":return Object.values(Q.shape).every(($)=>Q0($.node,Z));case"array":return Q0(Q.item.node,Z);case"union":return Q.members.every(($)=>Q0($.node,Z));case"json":return!1;case"ref":if(Z.has(Q.cell))return!0;return Z.add(Q.cell),Q0(u(Q.cell).node,Z)}}function S0(Q,Z,$=new Set){let X=Q.node;if(X.kind==="union")return X.members.some((G)=>S0(G,Z,$));if(X.kind!=="ref")return!1;if(X.cell===Z)return!0;if($.has(X.cell)||!X.cell.definition)return!1;return $.add(X.cell),S0(X.cell.definition,Z,$)}var $Q=/^[A-Za-z_][A-Za-z0-9_-]{0,63}$/;function XQ(Q,Z){if(typeof Q!=="string"||!$Q.test(Q))throw Error(`gemi/ai: s.recursive needs a name of letters, digits, "_" and "-" (starting with a letter or "_", at most 64), got ${JSON.stringify(Q)}`);let $={name:Q,active:new Set},X=()=>x({kind:"ref",cell:$}),G=V0(Z(E(X())));if(G.optional)throw Error(`gemi/ai: the recursive schema "${Q}" is optional() as a whole; mark the places that use it optional instead`);if(S0(G,$))throw Error(`gemi/ai: the recursive schema "${Q}" refers to itself outside any object or array, so it describes no finite value; nest \`self\` in an s.object(...) field or an s.array(...)`);return $.definition=G,E(X())}function K1(Q){if(typeof Q!=="string")return null;let[Z]=Q.split(";",1),$=Z.trim().toLowerCase();return $===""?null:$}function M1(Q){if(Q===null)return!1;if(Q==="application/json")return!0;let Z=Q.indexOf("/");return Z>0&&Q.endsWith("+json")&&Q.length>Z+1+5}var $0=new WeakMap;function AZ(Q,Z,$,X){$0.set(Q,{clientAddress:Z,...$?{grant:Object.freeze({...$,scopes:Object.freeze([...$.scopes])})}:{},...X?{progress:X}:{}})}function J1(Q){return $0.get(Q)?.progress}function W1(Q){return $0.get(Q)?.grant}function D1(Q){return $0.has(Q)}function TZ(Q){return $0.get(Q)?.clientAddress}var U1=new WeakMap;function NZ(Q,Z){U1.set(Q,Z)}function z1(Q){return U1.get(Q)??null}var x0=new WeakMap;function wZ(Q,Z){let $=x0.get(Q)??[];if(!$.includes(Z))x0.set(Q,[...$,Z])}function EZ(Q){return x0.get(Q)??[]}class d{data;constructor(Q){this.data=Q}get(Q){return this.data[Q]}has(Q){return this.data[Q]!==void 0}toJSON(){return this.data}}function V1(Q){return typeof Q==="object"&&Q!==null&&!(Q instanceof Blob)}function GQ(Q,Z){if(!Z.includes(".")||Object.hasOwn(Q,Z))return[{path:[Z],value:Q[Z]}];let $=[{path:[],value:Q}];for(let X of Z.split(".")){let G=[];for(let{path:H,value:Y}of $){if(X==="*"){if(Array.isArray(Y))Y.forEach((M,K)=>G.push({path:[...H,K],value:M}));else if(V1(Y))for(let[M,K]of Object.entries(Y))G.push({path:[...H,M],value:K});continue}if(Array.isArray(Y)&&/^\d+$/.test(X)){G.push({path:[...H,Number(X)],value:Y[Number(X)]});continue}G.push({path:[...H,X],value:V1(Y)&&Object.hasOwn(Y,X)?Y[X]:void 0})}$=G}return $}function B1(Q){return Q.join(".")}class HQ{kind;rawRequest;headers;cookies;search;schema={};routePath;params;domain;state;constructor(Q,Z,$,X){if(!Q){let K=b.getStore().req;this.params=K.params,this.rawRequest=K.rawRequest,this.kind=K.kind,this.routePath=K.routePath,this.domain=K.domain??null,this.state=K.state??new k0}else this.params=Z,this.rawRequest=Q,this.routePath=X,this.kind=$??"api",this.domain=z1(Q),this.state=new k0;this.headers=this.rawRequest.headers;let G=N0(this.rawRequest.headers.get("Cookie")),H=new URL(this.rawRequest.url),Y=new Map;for(let[K,J]of H.searchParams)if(Y.has(K)){let D=Y.get(K);if(Array.isArray(D))D.push(J),Y.set(K,D);else Y.set(K,[D,J])}else Y.set(K,J);let M=Object.fromEntries(Y.entries());this.search=new d(M),this.cookies=G}locale(){let Q=b.getStore();if(Q.locale)return Q.locale;let Z=_0(P1);return Z.isLocaleAware?Z.detectLocale(Q.req):Q.locale}ctx(){return b.getStore()}isModelOriginated(){return D1(this.rawRequest)}mcpGrant(){return W1(this.rawRequest)??null}reportProgress(Q){let Z=J1(this.rawRequest);if(!Z)return!1;return Z(Q),!0}get signal(){return this.rawRequest.signal}range(){return s0(this.rawRequest.headers.get("Range"))}refine(Q){return{}}async parseBody(){let Q=K1(this.rawRequest.headers.get("Content-Type"));if(M1(Q))return new d(await this.parseJsonBody());if(Q==="application/x-www-form-urlencoded"||Q==="multipart/form-data"){let Z;try{Z=await this.rawRequest.formData()}catch(X){if(X instanceof q)throw X;throw new q("The request body could not be read as a form.")}let $=new Map;for(let[X,G]of Z.entries())if($.has(X)){let H=$.get(X);if(Array.isArray(H))H.push(G);else $.set(X,[H,G])}else $.set(X,G);return new d(Object.fromEntries($.entries()))}return new d({})}async parseJsonBody(){if(!this.rawRequest.body)return{};let Q;try{Q=await this.rawRequest.text()}catch($){if($ instanceof q)throw $;throw new q("The request body could not be read.")}if(Q.trim()==="")return{};let Z;try{Z=JSON.parse(Q)}catch{throw new q("The request body is not valid JSON.")}if(Z===null||typeof Z!=="object")throw new q("The request body must be a JSON object.");return Z}validateInput(Q){if(X1(this.schema))return this.validateWithSchema(Q);let Z=Q.toJSON()??{},$={},X=Object.entries(this.schema).map(([G,H])=>({key:G,rules:Object.entries(H).map(([Y,M])=>({rule:Y,message:M,check:typeof M==="function"?null:this.ruleFor(G,Y)}))}));for(let{key:G,rules:H}of X)for(let{path:Y,value:M}of GQ(Z,G)){let K=this.checkField(M,H);if(K.length>0){let J=$[B1(Y)]??=[];for(let D of K)if(!J.includes(D))J.push(D)}}if(this.addRefinements($,Z),Object.keys($).length>0)throw new s($);return Q}checkField(Q,Z){let $=Z.some(({rule:H})=>H==="required"),X=Q===void 0||Q===null||Q==="",G=[];for(let{rule:H,message:Y,check:M}of Z){let K=Y,J=!1;if(typeof Y==="function")K=Y(Q),J=typeof K>"u";else J=M(Q);if(J)continue;if(X&&!$)continue;if(H==="required")return[String(K)];if(!G.includes(String(K)))G.push(String(K))}return G}validateWithSchema(Q){let Z=this.schema.validate(Q.toJSON()),$={};if("issues"in Z)for(let G of Z.issues){let H=B1(G.path),Y=$[H]??=[];if(!Y.includes(G.message))Y.push(G.message)}let X="value"in Z?new d(Z.value):Q;if(this.addRefinements($,X.toJSON()),Object.keys($).length>0)throw new s($);return X}addRefinements(Q,Z){for(let[$,X]of Object.entries(this.refine(Z)??{})){let G=Q[$]??[];Q[$]=G.includes(X)?G:[...G,X]}}ruleFor(Q,Z){try{return Q1(Z)}catch($){if($ instanceof k)throw new k(`${this.constructor.name}.schema.${Q}: ${$.message}`);throw $}}async input(){return this.validateInput(await this.parseBody())}async safeInput(){let Q=await this.parseBody();try{return{isValid:!0,errors:{},input:this.validateInput(Q)}}catch(Z){if(!(Z instanceof s))throw Z;return{isValid:!1,errors:Z.errors,input:Q}}}}var j1="x-gemi-sign-in";class YQ extends q{error;constructor(Q="Not authorized"){super(Q);this.name="AuthorizationError",this.error=Q,this.payload={api:{status:401,data:{error:C0("authorization",this.error,401)}},view:{}}}}class g0 extends q{static apiStatus=403;error;constructor(Q="Insufficient permissions"){super(Q);this.name="InsufficientPermissionsError",this.error=Q,this.payload={api:{status:g0.apiStatus,data:{error:C0("permission",this.error,g0.apiStatus)}},view:{status:403}}}}class y0 extends q{total;constructor(Q){super("Range not satisfiable");this.total=Q;this.name="RangeNotSatisfiableError",this.payload={api:{status:416,data:{error:L0("range_not_satisfiable","Range not satisfiable",416)},headers:{"Content-Range":a0(Q),"Accept-Ranges":"bytes","Cache-Control":"no-store"}},view:{}}}}class KQ extends q{constructor(Q="Not found"){super(Q);this.name="NotFoundError",this.payload={api:{status:404,data:{error:L0("not_found",Q,404)},headers:{"Cache-Control":"no-store"}},view:{status:404}}}}class h extends q{fileName;constructor(Q){super("File not found");this.fileName=Q;this.name="FileNotFoundError",this.payload={api:{status:404,data:{error:L0("not_found","Not found",404)},headers:{"Cache-Control":"no-store"}},view:{status:404}}}}class MQ extends q{constructor(Q={}){super("Authentication error");this.name="AuthenticationError";let Z=Q.redirectTo??"/auth/sign-in";this.payload={api:{status:401,data:{error:C0("authentication","Authentication error",401)},headers:{[j1]:Z}},viewData:{status:200,data:{},headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"},directive:{kind:"Redirect",path:Z}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:Z}}}}}class X0{static getFacadeAccessor(){throw Error(`Facade [${this.name}] does not implement getFacadeAccessor().`)}static getFacadeRoot(){return _0(this.getFacadeAccessor())}}import{Buffer as JQ}from"buffer";function O0(Q){if(typeof Q!=="string"||/^[\s/.]*$/.test(Q))throw Error(`Refusing to delete by prefix ${JSON.stringify(Q)}: it would match the whole store`)}class G0{async putStream({body:Q,...Z},$={}){$.signal?.throwIfAborted();let X=[],G=Q.getReader();try{for(;;){$.signal?.throwIfAborted();let{done:H,value:Y}=await G.read();if(H)break;X.push(Y)}}catch(H){throw await G.cancel(H).catch(()=>{}),H}return this.put({...Z,body:JQ.concat(X)},$)}async*objects(Q,Z={}){throw Error(`${this.constructor.name} does not implement objects(). Override it to list objects in this backend.`)}async deletePrefix(Q,Z={}){O0(Q);let $=[];for await(let X of this.objects(Q,Z))$.push(X.name);for(let X of $)Z.signal?.throwIfAborted(),await this.delete({name:X,bucket:Z.bucket});return $.length}async delete(Q){throw Error(`${this.constructor.name} does not implement delete(). Override it to remove objects from this backend.`)}async read(Q){let Z=typeof Q==="string"?{name:Q}:Q,$=await this.fetch({name:Z.name,bucket:Z.bucket});if(!$.ok)throw new h(Z.name);let X=$.headers.get("Content-Type")??"application/octet-stream",G=$.headers.get("ETag")??void 0,H=$.headers.get("Last-Modified"),Y=H?new Date(H):void 0;if(Z.range){let J=await $.blob();return{body:J,start:0,end:J.size-1,total:J.size,partial:!1,type:X,etag:G,lastModified:Y,name:Z.name}}let M=Number($.headers.get("Content-Length")),K=Number.isFinite(M)?M:0;return{body:$.body,start:0,end:K-1,total:K,partial:!1,type:X,etag:G,lastModified:Y,name:Z.name}}async size(Q){let Z=typeof Q==="string"?Q:Q.name,$=typeof Q==="string"?void 0:Q.bucket,X=await this.fetch({name:Z,bucket:$});if(!X.ok)throw new h(Z);let G=Number(X.headers.get("Content-Length"));if(Number.isFinite(G))return await X.body?.cancel(),G;return(await X.blob()).size}}function R1(Q,Z){if(!Z)return Q;let $=Q.getReader(),X=!1,G,H=()=>{if(X=!0,G)Z.removeEventListener("abort",G)};return new ReadableStream({start(Y){if(G=()=>{if(X)return;H(),Y.error(Z.reason),$.cancel(Z.reason).catch(()=>{})},Z.aborted)G();else Z.addEventListener("abort",G,{once:!0})},async pull(Y){let M;try{M=await $.read()}catch(K){if(X)return;H(),Y.error(K);return}if(X)return;if(M.done){H(),Y.close();return}Y.enqueue(M.value)},cancel(Y){return H(),$.cancel(Y)}},{highWaterMark:0})}import{mkdir as WQ,open as DQ,readdir as b0,rename as UQ,rmdir as zQ,stat as VQ,unlink as _1}from"fs/promises";import{dirname as BQ,isAbsolute as f0,relative as H0,resolve as i,sep as f}from"path";class v0 extends G0{configured;constructor(Q){super();this.configured=Q}get folderPath(){return this.configured??`${Y0()}/storage`}async put(Q,{signal:Z}={}){Z?.throwIfAborted();let $,X;if(Q instanceof Blob)$=Q,X=`${Bun.randomUUIDv7()}.${Q.type.split("/")[1].split(";")[0]}`;else $=Q.body,X=Q.name;let G=$ instanceof Buffer?$:$ instanceof Blob||$ instanceof File?Buffer.from(await $.arrayBuffer()):"",H=`${this.folderPath}/${X}`;return Z?.throwIfAborted(),await Bun.write(H,G),X}async putStream({name:Q,body:Z},{signal:$}={}){let X=Z.getReader(),G=null;try{if($?.throwIfAborted(),!Q)throw Error("Object name has to be specified");let H=i(this.folderPath),Y=i(H,Q),M=H0(H,Y);if(!M||M===".."||M.startsWith(`..${f}`)||f0(M))throw Error(`Refusing to write "${Q}": it is outside the storage folder`);await WQ(BQ(Y),{recursive:!0}),G=`${Y}.${Bun.randomUUIDv7()}.partial`;let K=await DQ(G,"wx");try{for(;;){$?.throwIfAborted();let{done:J,value:D}=await X.read();if(J)break;for(let U=0;U<D.byteLength;){let{bytesWritten:O}=await K.write(D,U);U+=O}}}finally{await K.close()}return $?.throwIfAborted(),await UQ(G,Y),Q}catch(H){if(await X.cancel(H).catch(()=>{}),G)await _1(G).catch(()=>{});throw H}}async fetch(Q,{signal:Z}={}){Z?.throwIfAborted();let $=process.env.BUCKET_NAME,X;if(typeof Q==="string")X=Q;else $=Q.bucket??$,X=Q.name;if(!X)throw Error("Object name has to be specified");let G=`${this.folderPath}/${X}`,H=Bun.file(G),Y=R1(Bun.file(G).stream(),Z),M=new Date(H.lastModified).toUTCString();return new Response(Y,{headers:{"Content-Type":H.type,"Content-Length":String(H.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":M}})}async read(Q){let Z=typeof Q==="string"?{name:Q}:Q,{name:$,range:X=null}=Z;if(!$)throw Error("Object name has to be specified");let G=Bun.file(`${this.folderPath}/${$}`);if(!await G.exists())throw new h($);let H=G.size,Y=X?r0(X,H):null;if(X&&!Y)throw new y0(H);let M=Y?.start??0,K=Y?Y.end:H-1;return{body:Y?G.slice(M,K+1):G,start:M,end:K,total:H,partial:Boolean(Y),type:G.type||"application/octet-stream",lastModified:new Date(G.lastModified),name:$}}async size(Q){let Z=typeof Q==="string"?Q:Q.name,$=Bun.file(`${this.folderPath}/${Z}`);if(!await $.exists())throw new h(Z);return $.size}async delete(Q){let Z=typeof Q==="string"?Q:Q.name;if(!Z)throw Error("Object name has to be specified");let $=i(this.folderPath),X=i($,Z),G=H0($,X);if(!G||G===".."||G.startsWith(`..${f}`)||f0(G))throw Error(`Refusing to delete "${Z}": it is outside the storage folder`);try{await _1(X)}catch(H){if(H?.code==="ENOENT")return;throw H}}resolvePrefix(Q){let Z=i(this.folderPath),$=Q.lastIndexOf("/"),X=$===-1?"":Q.slice(0,$),G=$===-1?Q:Q.slice($+1),H=i(Z,X),Y=H0(Z,H);if(Y===".."||Y.startsWith(`..${f}`)||f0(Y))throw Error(`Refusing to list "${Q}": it is outside the storage folder`);let M=Y.split(f).join("/");return{root:Z,dir:H,match:M?`${M}/${G}`:G}}async*objects(Q,{signal:Z}={}){Z?.throwIfAborted();let{root:$,dir:X,match:G}=this.resolvePrefix(Q),H=[],Y=async(M)=>{let K;try{K=await b0(M,{withFileTypes:!0})}catch(J){if(J?.code==="ENOENT"||J?.code==="ENOTDIR")return;throw J}for(let J of K){let D=`${M}${f}${J.name}`,U=H0($,D).split(f).join("/");if(J.isDirectory()){if(`${U}/`.startsWith(G)||G.startsWith(`${U}/`))await Y(D)}else if(J.isFile()&&U.startsWith(G))H.push(U)}};await Y(X),H.sort();for(let M of H){Z?.throwIfAborted();let K;try{K=await VQ(`${$}/${M}`)}catch(J){if(J?.code==="ENOENT")continue;throw J}yield{name:M,size:K.size,lastModified:K.mtime}}}async deletePrefix(Q,Z={}){O0(Q);let{root:$,match:X}=this.resolvePrefix(Q);O0(X);let G=await super.deletePrefix(Q,Z);if(G>0)await this.pruneEmptyDirs($,X);return G}async pruneEmptyDirs(Q,Z){let $=[],X=async(G)=>{let H;try{H=await b0(G,{withFileTypes:!0})}catch{return}for(let Y of H){if(!Y.isDirectory())continue;let M=`${G}${f}${Y.name}`,K=H0(Q,M).split(f).join("/");if(`${K}/`.startsWith(Z)||Z.startsWith(`${K}/`)){if(await X(M),`${K}/`.startsWith(Z))$.push(M)}}};await X(Q);for(let G of $)try{await zQ(G)}catch{}}async list(){return await b0(this.folderPath)}}function U8(Q){return Q}function L1(){return{driver:new v0}}class h0{static token="filesystem";driver;constructor(Q={}){this.driver=Q.driver??L1().driver}}class N extends Error{code="safe-fetch";url;constructor(Q,Z,$){super(Q,$);this.name=new.target.name,this.url=Z}}class m extends N{reason;code="invalid-url";constructor(Q,Z,$){super($,Q);this.reason=Z}}class F0 extends N{host;reason;code="blocked-host";constructor(Q,Z,$){super($==="denied"?`Requests to ${Z} are not allowed.`:`${Z} is not on the list of hosts this request may reach.`,Q);this.host=Z;this.reason=$}}class n extends N{host;address;range;code="blocked-address";constructor(Q,Z,$,X){super(Z===$?`${$} is not a public address (${X}).`:`${Z} resolves to ${$}, which is not a public address (${X}).`,Q);this.host=Z;this.address=$;this.range=X}}class I0 extends N{host;code="dns";constructor(Q,Z,$){super(`Couldn't resolve ${Z}.`,Q,{cause:$});this.host=Z}}class A0 extends N{phase;ms;code="timeout";constructor(Q,Z,$){super(Z==="connect"?`Couldn't connect within ${$} ms.`:`The request didn't finish within ${$} ms.`,Q);this.phase=Z;this.ms=$}}class T0 extends N{limit;code="too-large";constructor(Q,Z){super(`The response is larger than ${Z} bytes.`,Q);this.limit=Z}}class K0 extends N{contentType;allowed;code="content-type";constructor(Q,Z,$){super(`The response is ${Z??"of no content type"}, not ${$.join(" or ")}.`,Q);this.contentType=Z;this.allowed=$}}class m0 extends N{limit;code="too-many-redirects";constructor(Q,Z){super(`More than ${Z} redirects.`,Q);this.limit=Z}}class l extends N{code="network";constructor(Q,Z){super(`The request failed: ${Z instanceof Error?Z.message:String(Z)}`,Q,{cause:Z})}}class c0 extends N{status;code="http-status";constructor(Q,Z){super(`The server answered ${Z}.`,Q);this.status=Z}}function PQ(Q){if(Q==="")return null;let Z=Q.split(".");if(Z.length>1&&Z[Z.length-1]==="")Z.pop();if(Z.length===0||Z.length>4)return null;let $=[];for(let H of Z){let Y=jQ(H);if(Y===null)return null;$.push(Y)}let X=$.pop();for(let H of $)if(H>255)return null;if(X>=256**(4-$.length))return null;let G=X;return $.forEach((H,Y)=>{G+=H*256**(3-Y)}),new Uint8Array([Math.floor(G/16777216)&255,Math.floor(G/65536)&255,Math.floor(G/256)&255,G&255])}function jQ(Q){if(Q==="")return null;let Z=Q,$=10;if(/^0x/i.test(Z)){if(Z=Z.slice(2),$=16,Z==="")return 0}else if(Z.length>1&&Z.startsWith("0"))Z=Z.slice(1),$=8;if(!($===16?/^[0-9a-f]+$/i:$===8?/^[0-7]+$/:/^[0-9]+$/).test(Z))return null;let G=parseInt(Z,$);return Number.isSafeInteger(G)?G:null}function C1(Q){let Z=Q;if(Z.startsWith("[")&&Z.endsWith("]"))Z=Z.slice(1,-1);let $=Z.indexOf("%");if($!==-1)Z=Z.slice(0,$);if(!Z.includes(":"))return null;let X=Z.split("::");if(X.length>2)return null;let G=(J,D)=>{if(J==="")return[];let U=[],O=J.split(":");for(let B=0;B<O.length;B++){let _=O[B];if(D&&B===O.length-1&&_.includes(".")){if(!/^\d{1,3}(\.\d{1,3}){3}$/.test(_))return null;let W=_.split(".").map(Number);if(W.some((V)=>V>255))return null;U.push(W[0]<<8|W[1],W[2]<<8|W[3]);continue}if(!/^[0-9a-f]{1,4}$/i.test(_))return null;U.push(parseInt(_,16))}return U},H=G(X[0],X.length===1),Y=X.length===2?G(X[1],!0):[];if(!H||!Y)return null;let M;if(X.length===2){let J=8-H.length-Y.length;if(J<1)return null;M=[...H,...Array.from({length:J},()=>0),...Y]}else M=H;if(M.length!==8)return null;let K=new Uint8Array(16);return M.forEach((J,D)=>{K[D*2]=J>>8,K[D*2+1]=J&255}),K}function M0(Q){let Z=C1(Q);if(Z)return{family:6,bytes:Z};let $=PQ(Q);if($)return{family:4,bytes:$};return null}function c(Q){if(Q.family===6&&RQ(Q.bytes))return{family:4,bytes:Q.bytes.slice(12)};return Q}function RQ(Q){for(let Z=0;Z<10;Z++)if(Q[Z]!==0)return!1;return Q[10]===255&&Q[11]===255}function J0(Q){if(Q.family===4)return Array.from(Q.bytes).join(".");let Z=[];for(let $=0;$<16;$+=2)Z.push((Q.bytes[$]<<8|Q.bytes[$+1]).toString(16));return Z.join(":")}function o(Q){let Z=Q.lastIndexOf("/"),$=Z===-1?Q:Q.slice(0,Z),X=/^[0-9.]+$/.test($)?_Q($):C1($);if(!X)return null;let G=c(X.length===4?{family:4,bytes:X}:{family:6,bytes:X}),H=G.family===4?32:128,Y=H;if(Z!==-1){let M=Q.slice(Z+1);if(!/^\d{1,3}$/.test(M))return null;if(Y=Number(M),X.length===16&&G.family===4)Y-=96;if(Y<0||Y>H)return null}return{family:G.family,bytes:G.bytes,prefix:Y}}function _Q(Q){return/^\d{1,3}(\.\d{1,3}){3}$/.test(Q)&&Q.split(".").every((Z)=>Number(Z)<=255)?new Uint8Array(Q.split(".").map(Number)):null}function g(Q,Z){let $=c(Q);if($.family!==Z.family)return!1;let X=Z.prefix;for(let G=0;X>0;G++){let H=Math.min(8,X),Y=255<<8-H&255;if(($.bytes[G]&Y)!==(Z.bytes[G]&Y))return!1;X-=H}return!0}var L=(Q,Z)=>({cidr:o(Q),kind:Z,text:Q}),LQ=[L("0.0.0.0/8","unspecified"),L("10.0.0.0/8","private"),L("100.64.0.0/10","shared"),L("127.0.0.0/8","loopback"),L("169.254.169.254/32","metadata"),L("169.254.0.0/16","link-local"),L("168.63.129.16/32","metadata"),L("172.16.0.0/12","private"),L("192.0.0.0/24","reserved"),L("192.0.2.0/24","documentation"),L("192.88.99.0/24","reserved"),L("192.168.0.0/16","private"),L("198.18.0.0/15","benchmarking"),L("198.51.100.0/24","documentation"),L("203.0.113.0/24","documentation"),L("224.0.0.0/4","multicast"),L("255.255.255.255/32","broadcast"),L("240.0.0.0/4","reserved")],CQ=[L("::/128","unspecified"),L("::1/128","loopback"),L("64:ff9b:1::/48","private"),L("::/8","reserved"),L("100::/64","reserved"),L("2001:db8::/32","documentation"),L("2001::/23","reserved"),L("3fff::/20","documentation"),L("fd00:ec2::254/128","metadata"),L("fc00::/7","unique-local"),L("fe80::/10","link-local"),L("fec0::/10","private"),L("ff00::/8","multicast")],OQ=o("64:ff9b::/96"),FQ=o("2002::/16"),IQ=o("2000::/3");function q0(Q){let Z=typeof Q==="string"?M0(Q):Q;if(!Z)return{kind:"reserved",range:"not an IP address"};let $=c(Z);if($.family===4){let G=LQ.find((H)=>g($,H.cidr));return G?{kind:G.kind,range:G.text}:null}if(g($,OQ))return q0({family:4,bytes:$.bytes.slice(12)});if(g($,FQ))return q0({family:4,bytes:$.bytes.slice(2,6)});let X=CQ.find((G)=>g($,G.cidr));if(X)return{kind:X.kind,range:X.text};return g($,IQ)?null:{kind:"reserved",range:"outside 2000::/3"}}function O1(Q,Z){let $=c(Q),X=c(Z);return $.family===X.family&&$.bytes.every((G,H)=>G===X.bytes[H])}import{lookup as AQ}from"dns/promises";import*as TQ from"http";import*as qQ from"https";import*as t from"zlib";class p0 extends Response{#Q;#Z;address;constructor(Q,Z,$){super(Q,Z);this.#Q=$.url,this.#Z=$.redirected,this.address=$.address}get url(){return this.#Q}get redirected(){return this.#Z}}var W0={timeout:30000,connectTimeout:1e4,maxSize:10485760,maxRedirects:5,ports:[80,443]},NQ=new Set([301,302,303,307,308]),wQ=new Set([101,103,204,205,304]),EQ=["host","connection","content-length","transfer-encoding","keep-alive","upgrade"],SQ=["authorization","cookie","proxy-authorization"];async function A1(Q,Z={}){let $=xQ(Z),X=Z.signal;X?.throwIfAborted();let G=new AbortController,H=G.signal,Y=String(Q),M=(U)=>{if(!H.aborted)G.abort(U)},K=setTimeout(()=>M(new A0(Y,"total",$.timeout)),$.timeout),J=()=>M(X.reason);X?.addEventListener("abort",J,{once:!0});let D=()=>{clearTimeout(K),X?.removeEventListener("abort",J)};try{let U=I1(Y,$),O=(Z.method??"GET").toUpperCase(),B=new Headers(Z.headers);for(let W of EQ)B.delete(W);if(!B.has("accept"))B.set("accept","*/*");if(!B.has("user-agent"))B.set("user-agent","gemi");if(!B.has("accept-encoding"))B.set("accept-encoding","gzip, deflate, br");let _=await bQ(O,Z.body,B);for(let W=0;;W++){Y=U.href;let{request:V,response:z,address:P}=await fQ(U,O,B,_,$,H),F=z.statusCode??0,I=z.headers.location;if(NQ.has(F)&&I&&Z.redirect!=="manual"){if(V.destroy(),W>=$.maxRedirects)throw new m0(U.href,$.maxRedirects);let A;try{A=new URL(I,U)}catch{throw new m(I,"malformed",`The redirect to "${I}" is not a URL.`)}if(F===303?O!=="HEAD":(F===301||F===302)&&O==="POST"){O="GET",_=null;let C=[];B.forEach((R,j)=>{if(j.startsWith("content-"))C.push(j)});for(let R of C)B.delete(R)}if(A.origin!==U.origin)for(let C of SQ)B.delete(C);U=I1(A.href,$);continue}return vQ({url:U,hop:W,method:O,request:V,response:z,address:P,policy:$,signal:H,release:D})}}catch(U){throw D(),H.aborted?H.reason:U}}function xQ(Q){let Z=(X,G)=>{let H={hosts:[],ranges:[]};for(let Y of X){let M=Y.includes("/")||Y.includes(":")||/^[\d.]+$/.test(Y),K=M?o(Y):null;if(K)H.ranges.push(K);else if(!M&&/^(\*\.)?[a-z0-9-]+(\.[a-z0-9-]+)*\.?$/i.test(Y))H.hosts.push(T1(Y));else throw TypeError(`safeFetch: "${Y}" in ${G} is not a host name or an IP range.`)}return H},$=Q.allowPrivate;return{timeout:Q.timeout??W0.timeout,connectTimeout:Q.connectTimeout??W0.connectTimeout,maxSize:Q.maxSize??W0.maxSize,maxRedirects:Q.maxRedirects??W0.maxRedirects,ports:Q.ports??W0.ports,allow:Q.allow&&Q.allow.length>0?Z(Q.allow,"allow"):null,deny:Z(Q.deny??[],"deny"),allowPrivate:$===!0?!0:Z($||[],"allowPrivate").ranges,contentTypes:Q.contentTypes?.length?Q.contentTypes:null,resolve:Q.resolve??kQ}}async function kQ(Q){return(await AQ(Q,{all:!0,verbatim:!0})).map(($)=>$.address)}function T1(Q){return Q.toLowerCase().replace(/\.$/,"")}function F1(Q,Z){return Z.some(($)=>$.startsWith("*.")?Q.endsWith($.slice(1)):Q===$)}function I1(Q,Z){let $;try{$=new URL(Q)}catch{throw new m(Q,"malformed",`"${Q}" is not a URL.`)}if($.protocol!=="http:"&&$.protocol!=="https:")throw new m($.href,"scheme",`Only http and https URLs can be fetched, not ${$.protocol.slice(0,-1)}.`);if($.username||$.password)throw new m($.href,"credentials","The URL has a username or password in it.");let X=q1($);if(Z.ports!=="any"&&!Z.ports.includes(X))throw new m($.href,"port",`Port ${X} is not allowed.`);return $}function q1(Q){return Q.port?Number(Q.port):Q.protocol==="https:"?443:80}async function gQ(Q,Z,$){let X=T1(Q.hostname.replace(/^\[(.*)\]$/,"$1")),G=M0(X),H=G!==null&&(X.includes(":")||/^\d+\.\d+\.\d+\.\d+$/.test(X));if(!H&&F1(X,Z.deny.hosts))throw new F0(Q.href,X,"denied");let Y=!H&&Z.allow!==null&&F1(X,Z.allow.hosts);if(Z.allow&&!Y&&Z.allow.ranges.length===0)throw new F0(Q.href,X,"not-allowed");let M;if(H)M=[G];else{let K;try{K=await yQ(Z.resolve(X),$)}catch(J){if($.aborted)throw $.reason;throw new I0(Q.href,X,J)}if(M=K.map((J)=>M0(J)).filter((J)=>J!==null),M.length===0)throw new I0(Q.href,X)}for(let K of M){let J=J0(K);if(Z.deny.ranges.some((U)=>g(K,U)))throw new n(Q.href,X,J,"denied");if(Z.allow&&!Y&&!Z.allow.ranges.some((U)=>g(K,U)))throw new n(Q.href,X,J,"not-allowed");let D=q0(K);if(D&&Z.allowPrivate!==!0&&!Z.allowPrivate.some((U)=>g(K,U)))throw new n(Q.href,X,J,D.kind)}return{host:X,addresses:M,isLiteral:H}}function yQ(Q,Z){if(Z.aborted)return Promise.reject(Z.reason);return new Promise(($,X)=>{let G=()=>X(Z.reason);Z.addEventListener("abort",G,{once:!0}),Q.then((H)=>{Z.removeEventListener("abort",G),$(H)},(H)=>{Z.removeEventListener("abort",G),X(H)})})}async function bQ(Q,Z,$){if(Z===void 0||Z===null)return null;if(Q==="GET"||Q==="HEAD")throw TypeError(`safeFetch: a ${Q} request can't have a body.`);let X=new Request("http://body.invalid/",{method:"POST",body:Z}),G=X.headers.get("content-type");if(G&&!$.has("content-type"))$.set("content-type",G);return new Uint8Array(await X.arrayBuffer())}async function fQ(Q,Z,$,X,G,H){let Y=new AbortController,M=setTimeout(()=>Y.abort(new A0(Q.href,"connect",G.connectTimeout)),G.connectTimeout),K=AbortSignal.any([H,Y.signal]);try{let{host:J,addresses:D,isLiteral:U}=await gQ(Q,G,K),O=Q.protocol==="https:",B={};if($.forEach((_,W)=>{B[W]=_}),X)B["content-length"]=String(X.byteLength);return await new Promise((_,W)=>{let V={method:Z,host:J,port:q1(Q),path:`${Q.pathname}${Q.search}`,headers:B,agent:!1,lookup:(C,R,j)=>{let w=R?.family,T=D.filter((D0)=>!w||D0.family===w);if(T.length===0)j(Object.assign(Error(`No IPv${w} address for ${J}`),{code:"ENOTFOUND"}));else if(R?.all)j(null,T.map((D0)=>({address:J0(D0),family:D0.family})));else j(null,J0(T[0]),T[0].family)}};if(O&&!U)V.servername=J;let z=(O?qQ:TQ).request(V),P=null,F=(C)=>{K.removeEventListener("abort",I),z.destroy(),W(C)},I=()=>F(K.aborted?K.reason:H.reason);K.addEventListener("abort",I,{once:!0});let A=(C)=>{let R=C?.remoteAddress;if(!R||P!==null)return!0;let j=M0(R);if(!j||!D.some((w)=>O1(w,j)))return F(new n(Q.href,J,R,"not-allowed")),!1;return P=J0(c(j)),!0};z.once("socket",(C)=>{let R=()=>{if(A(C)&&!O)clearTimeout(M)};if(C.connecting)C.once("connect",R);else R();if(O)C.once("secureConnect",()=>clearTimeout(M))}),z.once("response",(C)=>{if(clearTimeout(M),C.on("error",()=>{}),!A(C.socket))return;K.removeEventListener("abort",I),_({request:z,response:C,address:P})}),z.on("error",(C)=>{if(K.aborted)return F(K.reason);F(C instanceof N?C:new l(Q.href,C))}),z.end(X??void 0)})}finally{clearTimeout(M)}}function vQ({url:Q,hop:Z,method:$,request:X,response:G,address:H,policy:Y,signal:M,release:K}){let J=G.statusCode??0;if(J<200||J>599)throw X.destroy(),new l(Q.href,Error(`Unexpected status ${J}`));let D=new Headers,U=G.rawHeaders;for(let R=0;R<U.length;R+=2)D.append(U[R],U[R+1]);if(Y.contentTypes){let R=D.get("content-type")?.split(";")[0].trim().toLowerCase()??null;if(!R||!Y.contentTypes.some((j)=>hQ(R,j)))throw X.destroy(),new K0(Q.href,R,Y.contentTypes)}let O={url:Q.href,redirected:Z>0,address:H},B={status:J,statusText:G.statusMessage??"",headers:D};if($==="HEAD"||wQ.has(J))return X.destroy(),K(),new p0(null,B,O);let _=D.get("content-encoding")?.trim().toLowerCase(),W=_==="gzip"||_==="x-gzip"?t.createGunzip():_==="deflate"?t.createInflate():_==="br"?t.createBrotliDecompress():null,V=Number(D.get("content-length"));if(!W&&Number.isFinite(V)&&V>Y.maxSize)throw X.destroy(),new T0(Q.href,Y.maxSize);if(W)D.delete("content-encoding"),D.delete("content-length");let z=W?G.pipe(W):G,P=0,F=!1,I=()=>{},A=()=>{F=!0,M.removeEventListener("abort",I),K()},C=new ReadableStream({start(R){let j=(T)=>{if(F)return;if(A(),T===void 0)R.close();else X.destroy(),W?.destroy(),R.error(T)};if(I=()=>j(M.reason),M.addEventListener("abort",I,{once:!0}),M.aborted)return I();z.on("data",(T)=>{if(F)return;if(P+=T.byteLength,P>Y.maxSize)return j(new T0(Q.href,Y.maxSize));if(R.enqueue(new Uint8Array(T)),(R.desiredSize??1)<=0)z.pause()}),z.once("end",()=>j());let w=(T)=>j(T instanceof N?T:new l(Q.href,T));if(z.on("error",w),W)G.on("error",w);G.once("aborted",()=>j(new l(Q.href,Error("The response was cut off."))))},pull(){z.resume()},cancel(){if(F)return;A(),X.destroy(),W?.destroy()}});return new p0(C,B,O)}function hQ(Q,Z){let $=Z.toLowerCase();return $.endsWith("/*")?Q.startsWith($.slice(0,-1)):Q===$}function w1(Q){return pQ(Q)??dQ(Q)??iQ(Q)}var u0=4096,mQ={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/avif":"avif","image/heic":"heic","image/heif":"heif","image/bmp":"bmp","image/tiff":"tiff","image/x-icon":"ico","image/svg+xml":"svg","audio/mpeg":"mp3","audio/aac":"aac","audio/mp4":"m4a","audio/ogg":"ogg","audio/flac":"flac","audio/wav":"wav","video/mp4":"mp4","video/quicktime":"mov","video/webm":"webm","video/x-matroska":"mkv","video/x-msvideo":"avi","font/woff":"woff","font/woff2":"woff2","font/ttf":"ttf","font/otf":"otf","application/pdf":"pdf","application/zip":"zip","application/gzip":"gz","application/xml":"xml","text/html":"html","text/plain":"txt","application/octet-stream":"bin"};function E1(Q){return mQ[Q]??"bin"}function S(Q,Z,$=0){if(Q.length<$+Z.length)return!1;return Z.every((X,G)=>Q[$+G]===X)}function y(Q,Z,$){return String.fromCharCode(...Q.subarray(Z,$))}var cQ={avif:"image/avif",avis:"image/avif",heic:"image/heic",heix:"image/heic",hevc:"image/heic",hevx:"image/heic",heim:"image/heic",heis:"image/heic",mif1:"image/heif",msf1:"image/heif","qt ":"video/quicktime","M4A ":"audio/mp4","M4B ":"audio/mp4"};function pQ(Q){if(S(Q,[137,80,78,71,13,10,26,10]))return"image/png";if(S(Q,[255,216,255]))return"image/jpeg";if(Q.length>=6&&(y(Q,0,6)==="GIF87a"||y(Q,0,6)==="GIF89a"))return"image/gif";if(Q.length>=12&&y(Q,0,4)==="RIFF"){let Z=y(Q,8,12);if(Z==="WEBP")return"image/webp";if(Z==="WAVE")return"audio/wav";if(Z==="AVI ")return"video/x-msvideo"}if(Q.length>=12&&y(Q,4,8)==="ftyp"){let Z=y(Q,8,12);return cQ[Z]??"video/mp4"}if(S(Q,[73,73,42,0])||S(Q,[77,77,0,42]))return"image/tiff";if(S(Q,[66,77])&&S(Q,[0,0,0,0],6))return"image/bmp";if(S(Q,[0,0,1,0])&&Q.length>=6&&Q[4]>0)return"image/x-icon";if(S(Q,[37,80,68,70,45]))return"application/pdf";if(S(Q,[80,75,3,4]))return"application/zip";if(S(Q,[31,139]))return"application/gzip";if(S(Q,[26,69,223,163]))return y(Q,0,Math.min(Q.length,64)).includes("webm")?"video/webm":"video/x-matroska";if(Q.length>=4){let Z=y(Q,0,4);if(Z==="OggS")return"audio/ogg";if(Z==="fLaC")return"audio/flac";if(Z==="wOFF")return"font/woff";if(Z==="wOF2")return"font/woff2";if(Z==="OTTO")return"font/otf"}if(S(Q,[0,1,0,0,0]))return"font/ttf";if(Q.length>=3&&y(Q,0,3)==="ID3")return"audio/mpeg";if(Q.length>=2&&Q[0]===255){if((Q[1]&246)===240)return"audio/aac";if((Q[1]&224)===224&&(Q[1]&6)!==0)return"audio/mpeg"}return null}var uQ=["!doctype html","html","head","script","iframe","h1","div","font","table","a","style","title","b","body","br","p","!--"];function dQ(Q){let Z=new TextDecoder("utf-8",{fatal:!1}).decode(Q);if(Z.charCodeAt(0)===65279)Z=Z.slice(1);if(Z=Z.trimStart(),!Z.startsWith("<"))return null;let $=Z.toLowerCase(),X=$;for(;;){X=X.trimStart();let G=/^(<\?[\s\S]*?\?>|<!--[\s\S]*?-->|<!doctype[^>]*>)/.exec(X);if(!G)break;X=X.slice(G[0].length)}if(/^<svg[\s>/]/.test(X))return"image/svg+xml";for(let G of uQ){if(!$.startsWith(`<${G}`))continue;if(/^[\s>]/.test($.charAt(G.length+1)))return"text/html"}if(/^<(html|head|body)[\s>]/.test(X))return"text/html";if($.startsWith("<?xml"))return"application/xml";return null}function iQ(Q){if(Q.length===0)return"application/octet-stream";for(let Z of Q)if(Z<32&&Z!==9&&Z!==10&&Z!==12&&Z!==13&&Z!==27)return"application/octet-stream";try{return new TextDecoder("utf-8",{fatal:!0}).decode(Q,{stream:!0}),"text/plain"}catch{return"application/octet-stream"}}var nQ=new Set(["text/html","application/xhtml+xml","image/svg+xml","text/xml","application/xml","text/xsl","application/xslt+xml"]);function N1(Q){let Z=Q.split(";")[0].trim().toLowerCase();return nQ.has(Z)||Z.endsWith("+xml")}function S1(Q,Z){let $=Q.split(";")[0].trim().toLowerCase();return Z.some((X)=>{let G=X.split(";")[0].trim().toLowerCase();if(G==="*/*"||G==="*")return!N1($);if(G.endsWith("/*"))return $.startsWith(G.slice(0,-1))&&!N1($);return $===G})}import{Buffer as tQ}from"buffer";async function x1(Q){try{return(await import("sharp")).default}catch(Z){throw Error(`${Q} requires the 'sharp' package. Install it with \`bun add sharp\`.`,{cause:Z})}}async function k1(Q,Z,$={}){let{name:X,directory:G,bucket:H,maxSize:Y,timeout:M,contentTypes:K,signal:J}=$;if(X!==void 0&&G!==void 0)throw TypeError("Storage.putFromUrl(): pass `name` or `directory`, not both.");if(X!==void 0&&!X)throw TypeError("Storage.putFromUrl(): `name` is empty.");let D=await A1(Z,{...$.fetch,method:"GET",redirect:"follow",contentTypes:void 0,signal:J,timeout:M,maxSize:Y});if(!D.ok)throw await D.body?.cancel().catch(()=>{}),new c0(D.url,D.status);let U=(D.body??new Response(new Uint8Array).body).getReader(),O=async(j)=>{throw await U.cancel(j).catch(()=>{}),j},B=[],_=0,W=!1;while(_<u0){let{done:j,value:w}=await U.read();if(j){W=!0;break}B.push(w),_+=w.byteLength}let V=oQ(B,_),z=w1(V.subarray(0,Math.min(_,u0))),P=K?.length?K:["*/*"];if(!S1(z,P))await O(new K0(D.url,z,P));let F=X??[(G??"").replace(/\/+$/,""),`${Bun.randomUUIDv7()}.${E1(z)}`].filter(Boolean).join("/"),I=_,A=new ReadableStream({start(j){if(_>0)j.enqueue(V);if(W)j.close()},async pull(j){let{done:w,value:T}=await U.read();if(w){j.close();return}I+=T.byteLength,j.enqueue(T)},cancel(j){return U.cancel(j)}}),C={name:F,bucket:H,body:A,contentType:z},R;try{R=Q.putStream?await Q.putStream(C,{signal:J}):await G0.prototype.putStream.call(Q,C,{signal:J})}catch(j){throw await O(j),j}return{name:R,contentType:z,size:I,url:D.url}}function oQ(Q,Z){if(Q.length===1)return Q[0];let $=new Uint8Array(Z),X=0;for(let G of Q)$.set(G,X),X+=G.byteLength;return $}class sQ extends X0{static getFacadeAccessor(){return h0}static async put(Q,Z={}){return this.getFacadeRoot().driver.put(Q,Z)}static async putFromUrl(Q,Z={}){return k1(this.getFacadeRoot().driver,Q,Z)}static async metadata(Q){let Z=tQ.from(await Q.arrayBuffer()),$=await x1("Storage.metadata()");try{return await $(Z).metadata()}catch{return{}}}static async fetch(Q,Z={}){return Z.signal?.throwIfAborted(),this.getFacadeRoot().driver.fetch(Q,Z)}static async read(Q,Z={}){let $=typeof Q==="string"?{name:Q}:{...Q},X="range"in Z?Z.range??null:$.range!==void 0?$.range:b.getStore()?.rangeRequest??null;return this.getFacadeRoot().driver.read({...$,range:X})}static list(Q){return this.getFacadeRoot().driver.list(Q)}static objects(Q,Z={}){return this.getFacadeRoot().driver.objects(Q,Z)}static async deletePrefix(Q,Z={}){return this.getFacadeRoot().driver.deletePrefix(Q,Z)}static async delete(Q){return this.getFacadeRoot().driver.delete(Q)}}import{mkdir as i0,readdir as QZ,access as ZZ}from"fs/promises";var d0=["debug","info","notice","warning","error","critical","alert","emergency"],rQ=d0.indexOf("warning");function y1(Q){if(!Q)return-1;if(Q===!0)return 0;let Z=d0.indexOf(Q);return Z===-1?0:Z}function aQ(){let Q=new WeakSet;return function(Z,$){if(typeof $==="bigint")return $.toString();if($ instanceof Error){let X={name:$.name,message:$.message,stack:$.stack};for(let G of Object.keys($))X[G]=$[G];if($.cause!==void 0)X.cause=$.cause;return X}if($!==null&&typeof $==="object"){if(Q.has($))return"[Circular]";Q.add($)}return $}}function g1(Q){try{return JSON.stringify(Q,aQ())}catch{return'"[Unserializable]"'}}function eQ(Q,Z){if(Z==="json")return g1({...Q.metadata,timestamp:Q.timestamp,level:Q.level,message:Q.message});let $=Object.keys(Q.metadata).length>0;return`${Q.timestamp} ${Q.level.toUpperCase()} ${Q.message}${$?` ${g1(Q.metadata)}`:""}`}function b1(Q,Z){let $=d0.indexOf(Q.level);if(Z.threshold===-1||$<Z.threshold)return;try{let X=eQ(Q,Z.format)+`
|
|
5
5
|
`;if($>=rQ)process.stderr.write(X);else process.stdout.write(X)}catch{}}async function n0(Q){try{return await ZZ(Q),!0}catch{return!1}}class l0{config;static token="log";writer;isReady=!1;flushTimeout;fileSize=0;writerSize=0;isCreatingFile=!1;bootPromise=null;currentLogFilePath;get logsDirPath(){return`${Y0()}/storage/logs`}consoleThreshold;constructor(Q){this.config=Q;this.consoleThreshold=y1(Q.console)}boot(){if(!this.bootPromise)this.bootPromise=this.createStorage().catch((Q)=>{console.error("Log storage unavailable, file logging disabled",Q)}).then(()=>{this.isReady=!0});return this.bootPromise}async createStorage(){let Q=`${Y0()}/storage`;if(!await n0(Q))await i0(Q);if(!await n0(this.logsDirPath))await i0(this.logsDirPath);await this.newLogFile()}async newLogFile(){if(!await n0(this.logsDirPath))await i0(this.logsDirPath);if(this.isCreatingFile=!0,this.currentLogFilePath){this.writer.flush(),this.writer.end(),this.writer=null;let $=new File([await Bun.file(this.currentLogFilePath).arrayBuffer()],this.currentLogFilePath.split("/").pop(),{type:"text/plain"});this.config.onLogFileClosed($),this.fileSize=0,this.writerSize=0}let Z=(await QZ(this.logsDirPath)).sort().reverse()[0];if(Z){let $=Bun.file(`${this.logsDirPath}/${Z}`);if($.size<this.config.maxFileSize)this.currentLogFilePath=`${this.logsDirPath}/${Z}`,this.writer=$.writer(),this.writer.write(await $.text()),this.writer.write(`
|
|
@@ -10,6 +10,6 @@ data: ${JSON.stringify(Q.event)}
|
|
|
10
10
|
`}var HZ=5000,YZ=`: keepalive
|
|
11
11
|
|
|
12
12
|
`;function KZ(Q,Z=HZ){let $=null,X=!1,G=()=>{if(X)return;if($!==null)clearTimeout($);$=setTimeout(()=>{if($=null,X)return;try{Q.enqueue(o0.encode(YZ))}catch{H();return}G()},Z)},H=()=>{if(X=!0,$!==null)clearTimeout($);$=null};return G(),{touch:G,stop:H}}function MZ(){return{"Content-Type":"text/event-stream","Cache-Control":"no-store, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"}}function n8(Q,Z=200){let $=Q[Symbol.asyncIterator](),X=-1,G,H=new ReadableStream({start(Y){G=KZ(Y)},async pull(Y){try{let M=await $.next();if(M.done){G.stop(),Y.close();return}X=M.value.seq,Y.enqueue(o0.encode(f1(M.value))),G.touch()}catch(M){let K={type:"error",error:WZ(M)};G.stop(),Y.enqueue(o0.encode(f1({seq:X+1,event:K}))),Y.close()}},cancel(Y){G.stop(),$.return?.(Y)}});return new Response(H,{status:Z,headers:MZ()})}var JZ=new Set(["frame_cursor_evicted","live_run_not_found"]);function WZ(Q){let Z=Q&&typeof Q==="object"?Q.code:void 0;if(Q instanceof Error&&typeof Z==="string"&&JZ.has(Z))return{code:"unknown",message:Q.message,retryable:!1};return console.error("[gemi/ai] agent stream failed",Q),{code:"unknown",message:"The run's stream failed.",retryable:!1}}
|
|
13
|
-
export{t0 as Lh,v1 as Mh,UZ as Nh,K1 as Oh,AZ as Ph,W1 as Qh,TZ as Rh,s0 as Sh,r0 as Th,VZ as Uh,BZ as Vh,PZ as Wh,a0 as Xh,NZ as Yh,z1 as Zh,wZ as _h,EZ as $h,s as ai,k as bi,X1 as ci,Y1 as di,CZ as ei,OZ as fi,HQ as gi,
|
|
13
|
+
export{t0 as Lh,v1 as Mh,UZ as Nh,K1 as Oh,AZ as Ph,W1 as Qh,TZ as Rh,s0 as Sh,r0 as Th,VZ as Uh,BZ as Vh,PZ as Wh,a0 as Xh,NZ as Yh,z1 as Zh,wZ as _h,EZ as $h,s as ai,k as bi,X1 as ci,Y1 as di,CZ as ei,OZ as fi,HQ as gi,j1 as hi,YQ as ii,g0 as ji,y0 as ki,KQ as li,h as mi,MQ as ni,X0 as oi,x1 as pi,O0 as qi,G0 as ri,R1 as si,v0 as ti,U8 as ui,L1 as vi,h0 as wi,N as xi,m as yi,F0 as zi,n as Ai,I0 as Bi,A0 as Ci,T0 as Di,K0 as Ei,m0 as Fi,l as Gi,c0 as Hi,M0 as Ii,q0 as Ji,p0 as Ki,A1 as Li,w1 as Mi,N1 as Ni,sQ as Oi,l0 as Pi,$Z as Qi,XZ as Ri,YZ as Si,KZ as Ti,MZ as Ui,n8 as Vi};
|
|
14
14
|
|
|
15
|
-
//# debugId=
|
|
15
|
+
//# debugId=96CD7842CC949BD864756E2164756E21
|
|
@@ -34,6 +34,6 @@
|
|
|
34
34
|
"import type { AgentError, AgentStreamFrame } from \"../types\";\n\nconst encoder = new TextEncoder();\n\n/**\n * One frame, one SSE event.\n *\n * `id:` carries the frame's `seq`, which is what makes the browser's own\n * `Last-Event-ID` the right cursor on reconnect — the transport asks the\n * question the run already knows how to answer, and the client never has to\n * track a position of its own.\n */\nexport function encodeFrame(frame: AgentStreamFrame): string {\n return `id: ${frame.seq}\\ndata: ${JSON.stringify(frame.event)}\\n\\n`;\n}\n\n/**\n * How long a connection may sit idle before a comment line goes out.\n *\n * The nearest ceiling is not a proxy but our own server: Bun's `idleTimeout`\n * counts socket silence, a streaming body included, and gemi runs at its\n * 10-second default unless `SERVER_IDLE_TIMEOUT` says otherwise. A comment\n * line every 25 seconds was measured to lose the connection at 12; every 5\n * keeps it open, with room for a write that lands late. Azure App Service's\n * front end, at about 230 seconds, is the far ceiling, and 5 clears it by the\n * same margin. A thousand quiet streams cost two hundred thirteen-byte writes\n * a second, which is nothing. Both encoders read this one value, so the two\n * cannot drift apart.\n */\nexport const SSE_KEEPALIVE_INTERVAL_MS = 5_000;\n\n/**\n * The comment line itself. A line starting with `:` is a comment under the SSE\n * spec: every parser on our side skips it, and so does the browser's own\n * `EventSource`.\n */\nexport const SSE_KEEPALIVE = \": keepalive\\n\\n\";\n\n/**\n * Writes a keepalive whenever the stream has been silent for the interval.\n *\n * Armed on creation because the silence before the first frame is real\n * silence too — a model thinking is the common case. `touch()` after every\n * frame is what makes it measure silence rather than elapsed time; `stop()`\n * on close or cancel is what keeps a finished stream from holding a timer.\n *\n * The write is guarded because a cancel can land between the timer firing and\n * the enqueue, and a closed controller throws. There is nothing to do about\n * that except stop. `arm` checks `stopped` too, so a `touch()` that arrives\n * after `stop()` cannot hand a finished stream a timer for one more interval.\n */\nexport function sseKeepalive(\n controller: ReadableStreamDefaultController<Uint8Array>,\n intervalMs = SSE_KEEPALIVE_INTERVAL_MS,\n): { touch(): void; stop(): void } {\n let timer: ReturnType<typeof setTimeout> | null = null;\n let stopped = false;\n\n const arm = () => {\n if (stopped) return;\n if (timer !== null) clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n if (stopped) return;\n try {\n controller.enqueue(encoder.encode(SSE_KEEPALIVE));\n } catch {\n stop();\n return;\n }\n arm();\n }, intervalMs);\n };\n\n const stop = () => {\n stopped = true;\n if (timer !== null) clearTimeout(timer);\n timer = null;\n };\n\n arm();\n return { touch: arm, stop };\n}\n\nexport function sseHeaders(): Record<string, string> {\n return {\n \"Content-Type\": \"text/event-stream\",\n // `no-transform` as well as `no-store`: a proxy that gzips or rechunks the\n // body is a proxy that buffers it, and a buffered token stream arrives all\n // at once, which is the same as not streaming at all.\n \"Cache-Control\": \"no-store, no-transform\",\n Connection: \"keep-alive\",\n // nginx's own name for the same thing.\n \"X-Accel-Buffering\": \"no\",\n };\n}\n\n/**\n * Encodes an async iterable of frames as an SSE response.\n *\n * Pulls one frame per `pull` rather than looping inside `start`: a `start` that\n * awaits the whole run does not resolve until the run is over, and the stream\n * is not readable until it does — which would turn every streamed answer into a\n * single delivery at the end.\n */\nexport function sseResponse(frames: AsyncIterable<AgentStreamFrame>, status = 200): Response {\n const iterator = frames[Symbol.asyncIterator]();\n let lastSeq = -1;\n let keepalive!: ReturnType<typeof sseKeepalive>;\n\n const body = new ReadableStream<Uint8Array>({\n start(controller) {\n keepalive = sseKeepalive(controller);\n },\n async pull(controller) {\n try {\n const next = await iterator.next();\n if (next.done) {\n keepalive.stop();\n controller.close();\n return;\n }\n lastSeq = next.value.seq;\n controller.enqueue(encoder.encode(encodeFrame(next.value)));\n keepalive.touch();\n } catch (err) {\n // Past the headers there is no status left to fail with, so the reason\n // goes out as the last event. Closing silently would be\n // indistinguishable from a run that finished, which is the one thing a\n // reattaching client must not be told by mistake.\n const event = { type: \"error\", error: toAgentError(err) } as const;\n keepalive.stop();\n controller.enqueue(encoder.encode(encodeFrame({ seq: lastSeq + 1, event })));\n controller.close();\n }\n },\n cancel(reason) {\n // The client went away. Let the generator unwind so its `finally` runs\n // and it stops waiting on frames nobody will read.\n keepalive.stop();\n void iterator.return?.(reason);\n },\n });\n\n return new Response(body, { status, headers: sseHeaders() });\n}\n\n// `unknown` rather than a new code: `AgentErrorCode` is the wire contract and\n// belongs to the model's failures, not to the transport's.\n//\n// Only the two failures the live-run buffer raises keep their message: gemi\n// wrote them, and they name the cursor, which is what a client can act on.\n// Anything else is a store or a bug talking (a Redis error carries its host),\n// so the client gets a fixed sentence and the log gets the rest (#446).\nconst TRANSPORT_CODES = new Set([\"frame_cursor_evicted\", \"live_run_not_found\"]);\n\nfunction toAgentError(err: unknown): AgentError {\n const code = err && typeof err === \"object\" ? (err as { code?: unknown }).code : undefined;\n if (err instanceof Error && typeof code === \"string\" && TRANSPORT_CODES.has(code)) {\n return { code: \"unknown\", message: err.message, retryable: false };\n }\n console.error(\"[gemi/ai] agent stream failed\", err);\n return { code: \"unknown\", message: \"The run's stream failed.\", retryable: false };\n}\n"
|
|
35
35
|
],
|
|
36
36
|
"mappings": ";mTAEO,AAAM,JAAW,CACf,AAAO,OAEd,WAAW,EAAG,EAChB,CAIO,MAAe,WAA2B,EAAW,CAM5D,CCFO,SAAS,EAAiB,CAAC,EAAwD,CACxF,IAAM,EAAU,IAAI,IACpB,GAAI,CAAC,EACH,OAAO,EAET,QAAW,KAAQ,EAAO,MAAM,GAAG,EAAG,CACpC,IAAM,EAAK,EAAK,QAAQ,GAAG,EAC3B,GAAI,IAAO,GAAI,SACf,IAAM,EAAO,EAAK,MAAM,EAAG,CAAE,EAAE,KAAK,EACpC,GAAI,CAAC,EAAM,SACX,EAAQ,IAAI,EAAM,EAAK,MAAM,EAAK,CAAC,EAAE,KAAK,CAAC,EAE7C,OAAO,EAGF,SAAS,EAAU,CAAC,EAAmC,CAC5D,OAAO,GAAkB,EAAI,QAAQ,IAAI,QAAQ,CAAC,ECTpD,SAAS,CAAY,CAAC,EAA4B,CAGhD,GAAI,CAAC,QAAQ,KAAK,CAAG,EACnB,OAAO,KAET,IAAM,EAAQ,OAAO,CAAG,EACxB,OAAO,OAAO,cAAc,CAAK,EAAI,EAAQ,KAcxC,SAAS,EAAgB,CAC9B,EACkB,CAClB,GAAI,CAAC,EACH,OAAO,KAGT,IAAM,EAAU,EAAO,KAAK,EAC5B,GAAI,CAAC,WAAW,KAAK,CAAO,EAC1B,OAAO,KAUT,IAAM,EAPQ,EACX,MAAM,CAAe,EACrB,MAAM,GAAG,EACT,IAAI,CAAC,IAAS,EAAK,KAAK,CAAC,EAIN,OAAO,CAAC,IAAS,IAAS,EAAE,EAClD,GAAI,EAAQ,SAAW,EACrB,OAAO,KAGT,IAAM,EAAO,EAAQ,GACf,EAAY,EAAK,QAAQ,GAAG,EAClC,GAAI,IAAc,GAChB,OAAO,KAGT,IAAM,EAAW,EAAK,MAAM,EAAG,CAAS,EAClC,EAAS,EAAK,MAAM,EAAY,CAAC,EAEvC,GAAI,IAAa,GAAI,CAEnB,IAAM,EAAe,EAAa,CAAM,EACxC,GAAI,IAAiB,KACnB,OAAO,KAKT,MAAO,CAAE,KAAM,SAAU,cAAa,EAGxC,IAAM,EAAQ,EAAa,CAAQ,EACnC,GAAI,IAAU,KACZ,OAAO,KAGT,GAAI,IAAW,GACb,MAAO,CAAE,KAAM,SAAU,QAAO,IAAK,IAAK,EAG5C,IAAM,EAAM,EAAa,CAAM,EAC/B,GAAI,IAAQ,MAAQ,EAAM,EACxB,OAAO,KAGT,MAAO,CAAE,KAAM,SAAU,QAAO,KAAI,EAS/B,SAAS,EAAY,CAC1B,EACA,EACsB,CAGtB,GAAI,CAAC,OAAO,SAAS,CAAK,GAAK,GAAS,EACtC,OAAO,KAGT,IAAI,EACA,EAEJ,GAAI,EAAM,OAAS,SAAU,CAC3B,GAAI,EAAM,cAAgB,EACxB,OAAO,KAET,EAAQ,KAAK,IAAI,EAAG,EAAQ,EAAM,YAAY,EAC9C,EAAM,EAAQ,EACT,KACL,GAAI,EAAM,OAAS,EACjB,OAAO,KAMT,GAJA,EAAQ,EAAM,MAGd,EAAM,EAAM,MAAQ,KAAO,EAAQ,EAAI,KAAK,IAAI,EAAM,IAAK,EAAQ,CAAC,EAChE,EAAM,EACR,OAAO,KAIX,MAAO,CAAE,QAAO,MAAK,OAAQ,EAAM,EAAQ,CAAE,EAIxC,SAAS,EAAkB,CAAC,EAA0B,CAC3D,GAAI,EAAM,OAAS,SACjB,MAAO,UAAU,EAAM,eAEzB,OAAO,EAAM,MAAQ,KACjB,SAAS,EAAM,SACf,SAAS,EAAM,SAAS,EAAM,MAU7B,SAAS,EAAiB,CAC/B,EACqB,CACrB,GAAI,CAAC,EACH,OAAO,KAET,IAAM,EAAQ,gCAAgC,KAAK,EAAM,KAAK,CAAC,EAC/D,GAAI,CAAC,EACH,OAAO,KAET,IAAM,EAAQ,EAAa,EAAM,EAAE,EAC7B,EAAM,EAAa,EAAM,EAAE,EAC3B,EAAQ,EAAa,EAAM,EAAE,EACnC,GAAI,IAAU,MAAQ,IAAQ,MAAQ,IAAU,MAAQ,EAAM,EAC5D,OAAO,KAET,MAAO,CAAE,QAAO,MAAK,OAAM,EAGtB,SAAS,EAAkB,CAChC,EACA,EACA,EACQ,CACR,MAAO,SAAS,KAAS,KAAO,IAI3B,SAAS,EAA6B,CAAC,EAAuB,CACnE,MAAO,WAAW,IC7Kb,MAAM,UAAwB,CAAoB,CACvD,OAAmC,CAAC,EACpC,WAAW,CAAC,EAAkC,CAC5C,MAAM,kBAAkB,EACxB,KAAK,KAAO,kBACZ,KAAK,OAAS,EACd,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CACJ,MAAO,CACL,KAAM,mBACN,SAAU,EACV,OAAQ,GACV,CACF,EACA,QAAS,CACP,eAAgB,kBAClB,CACF,EACA,KAAM,CACJ,OAAQ,GACV,CACF,EAEJ,CCnBA,SAAS,EAAmB,CAAC,EAAc,CACzC,IAAO,EAAQ,GAAQ,EAAK,MAAM,UAAU,GAAK,CAAC,EAClD,GAAI,CAAC,GAAU,CAAC,EACd,MAAO,GAET,IAAM,EAAW,OAAO,SAAS,CAAM,EACvC,OAAQ,OACD,IACH,OAAO,MACJ,KACH,OAAO,EAAW,SACf,KACH,OAAO,EAAW,KAAO,SACtB,KACH,OAAO,EAAW,KAAO,KAAO,SAC7B,KACH,OAAO,EAAW,KAAO,KAAO,KAAO,aAEvC,MAAO,IAMb,SAAS,EAAmB,CAAC,EAAc,CACzC,OAAQ,OACD,QACH,MAAO,YACJ,MACH,MAAO,gBACJ,MACH,MAAO,iBACJ,OACH,MAAO,iBACJ,MACH,MAAO,eACJ,QACH,MAAO,wEACJ,MACH,MAAO,eACJ,OACH,MAAO,8EACJ,MACH,MAAO,sBACJ,OACH,MAAO,2BAEP,OAAO,GAMb,SAAS,EAAQ,CAAC,EAAgC,CAChD,GAAI,OAAO,IAAU,UAAY,MAAM,QAAQ,CAAK,EAAG,OAAO,EAAM,OACpE,OAGF,SAAS,EAAQ,CAAC,EAA6B,CAC7C,OAAO,OAAO,IAAU,UAAY,CAAC,OAAO,MAAM,CAAK,EAMlD,IAAM,GAAQ,CACnB,WACA,SACA,UACA,SACA,QACA,WACA,MACA,MACA,MACA,MACA,OACA,WACA,WACA,QACA,SACA,IACF,EAOO,MAAM,UAAmC,KAAM,CACpD,KAAO,4BACT,CAIA,SAAS,EAAY,CAAC,EAAc,EAAmC,CACrE,IAAM,EAAI,IAAU,QAAa,EAAM,KAAK,IAAM,GAAK,OAAO,IAAM,OAAO,CAAK,EAChF,GAAI,OAAO,MAAM,CAAC,EAChB,MAAM,IAAI,EACR,oBAAoB,KAAQ,GAAS,6BAA6B,MACpE,EAEF,OAAO,EAGF,SAAS,EAAQ,CAAC,EAAkB,CAEzC,IAAM,EAAQ,EAAS,QAAQ,GAAG,EAC5B,EAAO,IAAU,GAAK,EAAW,EAAS,MAAM,EAAG,CAAK,EACxD,EAAQ,IAAU,GAAK,OAAY,EAAS,MAAM,EAAQ,CAAC,EACjE,OAAQ,OAoBD,WACH,MAAO,CAAC,IAAe,CACrB,GAAI,aAAiB,KACnB,OAAO,EAAM,KAAO,EAEtB,GAAI,IAAU,MAAQ,IAAU,OAC9B,MAAO,GAET,GAAI,OAAO,IAAU,UAAY,MAAM,QAAQ,CAAK,EAClD,OAAO,EAAM,OAAS,EAExB,MAAO,QAQN,SACH,MAAO,CAAC,IAAe,OAAO,IAAU,aACrC,UACH,MAAO,CAAC,IAAe,OAAO,IAAU,cACrC,SACH,MAAO,CAAC,IAAe,GAAS,CAAK,MAMlC,WACH,MAAO,CAAC,IAAe,CAMrB,OAAO,OAAO,IAAU,UADF,0DAC4B,KAAK,CAAK,OAgB3D,MAAO,CACV,IAAM,EAAM,GAAa,EAAM,CAAK,EACpC,MAAO,CAAC,IAAe,CACrB,IAAM,EAAS,GAAS,CAAK,EAC7B,OAAO,IAAW,QAAa,GAAU,EAE7C,KACK,MAAO,CACV,IAAM,EAAM,GAAa,EAAM,CAAK,EACpC,MAAO,CAAC,IAAe,CACrB,IAAM,EAAS,GAAS,CAAK,EAC7B,OAAO,IAAW,QAAa,GAAU,EAE7C,KAEK,MAAO,CACV,IAAM,EAAQ,GAAa,EAAM,CAAK,EACtC,MAAO,CAAC,IAAe,GAAS,CAAK,GAAK,GAAS,CACrD,KACK,MAAO,CACV,IAAM,EAAQ,GAAa,EAAM,CAAK,EACtC,MAAO,CAAC,IAAe,GAAS,CAAK,GAAK,GAAS,CACrD,KACK,QACH,MAAO,CAAC,IAAe,CAErB,OAAO,OAAO,IAAU,UADL,6BAC4B,KAAK,CAAK,OAExD,OACH,MAAO,CAAC,IAAe,CACrB,OAAO,aAAiB,UAEvB,WAAY,CACf,GAAI,CAAC,EACH,MAAM,IAAI,EACR,kFACF,EAEF,IAAM,EAAa,GAAoB,CAAK,EAC5C,MAAO,CAAC,IAAe,aAAiB,MAAQ,EAAM,KAAK,WAAW,CAAU,CAClF,KACK,WAAY,CAIf,IAAM,EAAe,GAAoB,GAAS,EAAE,EACpD,GAAI,IAAiB,GAAK,CAAC,sBAAsB,KAAK,GAAS,EAAE,EAC/D,MAAM,IAAI,EACR,6BAA6B,GAAS,oEACxC,EAEF,MAAO,CAAC,IAAe,aAAiB,MAAQ,EAAM,MAAQ,CAChE,KAMK,QACH,MAAO,CAAC,IAAe,MAAM,QAAQ,CAAK,MACvC,SACH,MAAO,CAAC,IACN,OAAO,IAAU,UACjB,IAAU,MACV,CAAC,MAAM,QAAQ,CAAK,GACpB,EAAE,aAAiB,UAKlB,KAAM,CACT,IAAM,GAAW,GAAS,IAAI,MAAM,GAAG,EAAE,OAAO,CAAC,IAAS,IAAS,EAAE,EACrE,GAAI,EAAQ,SAAW,EACrB,MAAM,IAAI,EACR,8EACF,EAEF,MAAO,CAAC,IAAe,OAAO,IAAU,UAAY,EAAQ,SAAS,CAAK,CAC5E,SAQE,MAAM,IAAI,EACR,4BAA4B,oBAA2B,GAAM,KAAK,IAAI,GACxE,GCpBN,SAAS,CAAM,CAAC,EAAiC,CAC/C,GAAI,CAAC,EAAK,WACR,MAAU,MACR,kCAAkC,EAAK,sIACzC,EAEF,OAAO,EAAK,WAwBd,IAAM,GAAc,IAAI,QAMjB,SAAS,EAAQ,CAAC,EAAiD,CACxE,OAAO,OAAO,IAAU,UAAY,IAAU,MAAQ,GAAY,IAAI,CAAK,EAG7E,SAAS,EAAY,CAAC,EAA+B,CACnD,IAAM,EAAa,GAAY,IAAI,CAAM,EACzC,GAAI,CAAC,EACH,MAAU,MAAM,iEAAiE,EAEnF,OAAO,EAyBT,SAAS,EAAQ,CAAC,EAAoC,CACpD,IAAM,EAAuB,CAAE,KAAM,CAAC,EAAG,MAAO,IAAI,GAAM,EACtD,EAAO,EACX,GAAI,EAAW,KAAK,OAAS,MAAO,CAClC,IAAM,EAAO,EAAO,EAAW,KAAK,IAAI,EACxC,EAAO,IACF,KACC,EAAW,YAAc,CAAE,YAAa,EAAW,WAAY,EAAI,CAAC,EACxE,SAAU,EAAW,SACrB,SAAU,EAAW,UAAY,EAAK,QACxC,EAEF,IAAM,EAAS,EAAK,EAAM,CAAO,EACjC,OAAO,OAAO,KAAK,EAAQ,IAAI,EAAE,OAAS,EAAI,IAAK,EAAQ,MAAO,EAAQ,IAAK,EAAI,EAGrF,SAAS,CAAI,CAAC,EAAwB,EAAkC,CAItE,IAAM,GAAS,EAAW,UAAY,EAAW,WAAa,EAAW,KAAK,OAAS,OACnF,EAAO,GAAU,GAAS,EAAW,KAAM,CAAO,EAAG,CAAK,EACxD,EAAc,CAAC,EAAW,YAAa,GAAK,EAAW,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAG5F,GAAI,GAAe,EAAK,OAAS,OAAW,EAAO,CAAE,MAAO,CAAC,CAAI,CAAE,EACnE,OAAO,EAAc,CAAE,iBAAgB,CAAK,EAAI,EAOlD,SAAS,EAAI,CAAC,EAA0B,CACtC,IAAM,EAAiB,CAAC,EACxB,GAAI,EAAK,OAAS,UAAY,EAAK,OAAS,OAAQ,CAClD,IAAM,EAAS,EAAK,OACpB,GAAI,GAAQ,OAAQ,EAAK,KAAK,WAAW,EAAO,OAAO,OAAO,EAC9D,GAAI,GAAQ,YAAc,OAAW,EAAK,KAAK,YAAY,EAAO,uBAAuB,EACzF,GAAI,GAAQ,YAAc,OAAW,EAAK,KAAK,WAAW,EAAO,uBAAuB,EACnF,QAAI,EAAK,OAAS,SAAU,CACjC,IAAM,EAAS,EAAK,OACpB,GAAI,GAAQ,UAAY,OAAW,EAAK,KAAK,WAAW,EAAO,UAAU,EACzE,GAAI,GAAQ,mBAAqB,OAC/B,EAAK,KAAK,gBAAgB,EAAO,mBAAmB,EAEtD,GAAI,GAAQ,UAAY,OAAW,EAAK,KAAK,WAAW,EAAO,UAAU,EACzE,GAAI,GAAQ,mBAAqB,OAAW,EAAK,KAAK,aAAa,EAAO,mBAAmB,EACxF,QAAI,EAAK,OAAS,QAAS,CAChC,IAAM,EAAS,EAAK,OACpB,GAAI,GAAQ,WAAa,OAAW,EAAK,KAAK,YAAY,EAAO,iBAAiB,EAClF,GAAI,GAAQ,WAAa,OAAW,EAAK,KAAK,WAAW,EAAO,iBAAiB,EAGnF,OAAO,EAAK,KAAK,GAAG,EAGtB,SAAS,EAAQ,CAAC,EAAkB,EAAkC,CACpE,OAAQ,EAAK,UACN,SACH,MAAO,CAAE,KAAM,QAAS,MACrB,SAEH,MAAO,CAAE,KAAM,EAAK,QAAQ,QAAU,UAAY,QAAS,MACxD,UACH,MAAO,CAAE,KAAM,SAAU,MAItB,UACH,MAAO,CAAE,KAAM,OAAO,EAAK,MAAO,MAAO,EAAK,KAAM,MACjD,OACH,MAAO,CAAE,KAAM,SAAU,KAAM,EAAK,MAAO,MACxC,QACH,MAAO,CAAE,KAAM,QAAS,MAAO,EAAK,EAAK,KAAM,CAAO,CAAE,MACrD,SACH,MAAO,CACL,KAAM,SACN,WAAY,OAAO,YACjB,OAAO,QAAQ,EAAK,KAAK,EAAE,IAAI,EAAE,EAAK,KAAW,CAAC,EAAK,EAAK,EAAO,CAAO,CAAC,CAAC,CAC9E,EAIA,SAAU,OAAO,KAAK,EAAK,KAAK,EAChC,qBAAsB,EACxB,MACG,QACH,MAAO,CAAE,MAAO,EAAK,QAAQ,IAAI,CAAC,IAAW,EAAK,EAAQ,CAAO,CAAC,CAAE,MAKjE,OACH,MAAO,CAAC,MACL,MAAO,CACV,IAAQ,QAAS,EACX,EAAQ,EAAQ,MAAM,IAAI,EAAK,IAAI,EACzC,GAAI,GAAS,IAAU,EACrB,MAAU,MACR,uDAAuD,EAAK,8DAC9D,EAEF,GAAI,CAAC,EAGH,EAAQ,MAAM,IAAI,EAAK,KAAM,CAAI,EACjC,EAAQ,KAAK,EAAK,MAAQ,CAAC,EAC3B,EAAQ,KAAK,EAAK,MAAQ,EAAK,EAAO,CAAI,EAAG,CAAO,EAEtD,MAAO,CAAE,KAAM,WAAW,EAAK,MAAO,CACxC,GAQJ,SAAS,EAAS,CAAC,EAAkB,EAAyB,CAC5D,GAAI,CAAC,EAAI,OAAO,EAGhB,GAAI,EAAK,MAAO,MAAO,IAAK,EAAM,MAAO,CAAC,GAAG,EAAK,MAAO,CAAE,KAAM,MAAO,CAAC,CAAE,EAI3E,GAAI,EAAK,MAAQ,EAAK,QAAU,OAAW,MAAO,CAAE,MAAO,CAAC,EAAM,CAAE,KAAM,MAAO,CAAC,CAAE,EACpF,GAAI,OAAO,EAAK,OAAS,SAAU,MAAO,IAAK,EAAM,KAAM,CAAC,EAAK,KAAM,MAAM,CAAE,EAC/E,MAAO,CAAE,MAAO,CAAC,EAAM,CAAE,KAAM,MAAO,CAAC,CAAE,EAK3C,SAAS,EAAQ,CAAC,EAAwB,CACxC,GAAI,IAAU,KAAM,MAAO,OAC3B,GAAI,MAAM,QAAQ,CAAK,EAAG,MAAO,QACjC,OAAO,OAAO,EAQhB,SAAS,EAAG,CAAC,EAAkB,EAAwB,CACrD,GAAI,OAAO,IAAU,UAAY,CAAC,OAAO,SAAS,CAAK,EAAG,OAAO,OAAO,CAAK,EAC7E,GAAI,EAAK,OAAS,WAAa,EAAK,OAAS,QAG3C,GADE,OAAO,IAAU,UAAY,OAAO,IAAU,UAAY,OAAO,IAAU,UAC9D,OAAO,KAAK,UAAU,CAAK,EAE5C,OAAO,GAAS,CAAK,EAGvB,SAAS,EAAM,CAAC,EAAgC,CAC9C,IAAM,EAAO,EAAW,KAClB,GAAQ,IAAM,CAClB,OAAQ,EAAK,UACN,SACH,OAAO,EAAK,QAAQ,QAAU,UAAY,aACvC,aACA,UACH,OAAO,EAAK,SACT,UACH,OAAO,KAAK,UAAU,EAAK,KAAK,MAC7B,OACH,MAAO,UAAU,EAAK,OAAO,IAAI,CAAC,IAAM,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,KAAK,QAClE,QACH,MAAO,YACJ,SACH,MAAO,aACJ,QACH,MAAO,0BACJ,OACH,MAAO,mBACJ,MACH,OAAO,GAAO,IAAK,EAAO,EAAK,IAAI,EAAG,SAAU,GAAO,SAAU,EAAM,CAAC,KAE3E,EACH,OAAO,EAAW,UAAY,EAAW,SAAW,GAAG,YAAiB,EAI1E,SAAS,EAAU,CAAC,EAAoB,CACtC,IAAI,EAAM,GACV,QAAW,KAAW,EACpB,GAAO,OAAO,IAAY,SAAW,IAAI,KAAa,EAAM,IAAI,IAAY,EAE9E,OAAO,EAIT,SAAS,EAAE,CAAC,EAAoB,CAC9B,IAAM,EAAO,GAAW,CAAI,EAC5B,OAAO,EAAO,GAAG,MAAW,GAI9B,SAAS,EAAM,CAAC,EAA4B,CAC1C,MAAO,GAAG,GAAG,EAAM,IAAI,IAAI,EAAM,UASnC,SAAS,EAAK,CAAC,EAAwB,EAAwB,CAC7D,GAAI,IAAU,MAAQ,IAAU,OAC9B,OAAO,EAAW,UAAY,EAAW,SAAW,EAAI,EAE1D,IAAM,EAAO,EAAW,KACxB,OAAQ,EAAK,UACN,SACH,OAAO,OAAO,IAAU,SAAW,EAAI,MACpC,SACH,OAAO,OAAO,IAAU,SAAW,EAAI,MACpC,UACH,OAAO,OAAO,IAAU,UAAY,EAAI,MACrC,UACH,OAAO,IAAU,EAAK,MAAQ,GAAK,MAChC,OACH,OAAO,OAAO,IAAU,UAAY,EAAK,OAAO,SAAS,CAAK,EAAI,GAAK,MACpE,QACH,OAAO,MAAM,QAAQ,CAAK,EAAI,EAAI,MAC/B,SAAU,CACb,GAAI,OAAO,IAAU,UAAY,MAAM,QAAQ,CAAK,EAAG,MAAO,GAC9D,IAAM,EAAS,EACX,EAAQ,EACZ,QAAY,EAAK,KAAU,OAAO,QAAQ,EAAK,KAAK,EAClD,GAAS,GAAM,EAAO,EAAO,EAAI,EAEnC,OAAO,CACT,KACK,QACH,OAAO,EAAK,QAAQ,OAAO,CAAC,EAAM,IAAW,KAAK,IAAI,EAAM,GAAM,EAAQ,CAAK,CAAC,EAAG,CAAC,MASjF,OACH,MAAO,OACJ,MACH,OAAO,GACL,EAAK,KACL,EACA,IAAM,EACN,IAAM,GAAM,EAAO,EAAK,IAAI,EAAG,CAAK,CACtC,GAWN,SAAS,EAAU,CAAC,EAAqB,EAAgB,EAAgB,EAAkB,CACzF,GAAI,OAAO,IAAU,UAAY,IAAU,KAAM,OAAO,EAAK,EAC7D,GAAI,EAAK,OAAO,IAAI,CAAK,EAAG,OAAO,EAAM,EACzC,EAAK,OAAO,IAAI,CAAK,EACrB,GAAI,CACF,OAAO,EAAK,SACZ,CACA,EAAK,OAAO,OAAO,CAAK,GAO5B,SAAS,CAAI,CAAC,EAAwB,EAAgB,EAAY,EAAgC,CAOhG,GAAI,EAAW,WAAa,IAAU,MAAQ,IAAU,QACtD,MAAO,CAAE,KAAM,GAAM,MAAO,MAAU,EAExC,GAAI,EAAW,UAAY,IAAU,KAAM,MAAO,CAAE,KAAM,GAAO,MAAO,IAAK,EAC7E,MAAO,CAAE,KAAM,GAAO,MAAO,GAAS,EAAY,EAAO,EAAM,CAAM,CAAE,EAGzE,SAAS,EAAQ,CACf,EACA,EACA,EACA,EACS,CACT,IAAM,EAAO,EAAW,KAClB,EAAO,IAAM,CACjB,IAAM,EACJ,IAAU,OACN,WACA,EAAK,OAAS,UACZ,QACA,EAAK,OAAS,QAAU,OAAO,IAAU,SACvC,OACA,OACJ,EACJ,IAAS,QACL,CAAE,aAAe,EAA4B,KAAM,EACnD,IAAS,OACP,CAAE,cAAgB,EAAuC,MAAO,EAChE,CAAC,EACT,EAAO,KAAK,CACV,OACA,OACA,QAAS,YAAY,GAAO,CAAU,UAAU,GAAI,EAAM,CAAK,IAC/D,QACF,CAAC,EACD,QAGF,OAAQ,EAAK,UACN,SACH,GAAI,OAAO,IAAU,SAAU,OAAO,EAAK,EAE3C,OADA,GAAY,EAAK,OAAQ,EAAO,EAAM,CAAM,EACrC,MACJ,SAGH,GAAI,OAAO,IAAU,UAAY,CAAC,OAAO,SAAS,CAAK,EAAG,OAAO,EAAK,EACtE,GAAI,EAAK,QAAQ,SAAW,CAAC,OAAO,UAAU,CAAK,EAAG,OAAO,EAAK,EAElE,OADA,GAAY,EAAK,OAAQ,EAAO,EAAM,CAAM,EACrC,MACJ,UACH,OAAO,OAAO,IAAU,UAAY,EAAQ,EAAK,MAC9C,UACH,OAAO,IAAU,EAAK,MAAQ,EAAQ,EAAK,MACxC,OACH,GAAI,OAAO,IAAU,UAAY,CAAC,EAAK,OAAO,SAAS,CAAK,EAAG,OAAO,EAAK,EAE3E,OADA,GAAY,EAAK,OAAQ,EAAO,EAAM,CAAM,EACrC,MACJ,QAAS,CACZ,GAAI,CAAC,MAAM,QAAQ,CAAK,EAAG,OAAO,EAAK,EACvC,IAAM,EAAQ,EAAM,IAAI,CAAC,EAAM,IAAU,CACvC,IAAM,EAAU,EAAK,EAAK,KAAM,EAAM,CAAC,GAAG,EAAM,CAAK,EAAG,CAAM,EAC9D,OAAO,EAAQ,KAAO,OAAY,EAAQ,MAC3C,GACO,WAAU,YAAa,EAAK,QAAU,CAAC,EAC/C,GAAI,IAAa,QAAa,EAAM,OAAS,EAC3C,EAAO,KAAK,CACV,OACA,KAAM,WACN,QAAS,qBAAqB,gBAAuB,EAAM,SAC3D,OAAQ,CAAE,MAAO,CAAS,CAC5B,CAAC,EAEH,GAAI,IAAa,QAAa,EAAM,OAAS,EAC3C,EAAO,KAAK,CACV,OACA,KAAM,WACN,QAAS,oBAAoB,gBAAuB,EAAM,SAC1D,OAAQ,CAAE,MAAO,CAAS,CAC5B,CAAC,EAEH,OAAO,CACT,KACK,SAAU,CACb,GAAI,OAAO,IAAU,UAAY,IAAU,MAAQ,MAAM,QAAQ,CAAK,EAAG,OAAO,EAAK,EACrF,IAAM,EAAS,EACT,EAAkC,CAAC,EACzC,QAAY,EAAK,KAAU,OAAO,QAAQ,EAAK,KAAK,EAAG,CACrD,IAAM,EAAU,EAAK,EAAO,EAAO,GAAM,CAAC,GAAG,EAAM,CAAG,EAAG,CAAM,EAC/D,GAAI,CAAC,EAAQ,KAAM,EAAO,GAAO,EAAQ,MAY3C,GAAI,EAAK,YACP,QAAW,KAAO,OAAO,KAAK,CAAM,EAAG,CAGrC,GAAI,OAAO,OAAO,EAAK,MAAO,CAAG,GAAK,EAAO,KAAS,OAAW,SACjE,GAAI,EAAK,cAAgB,QAAS,CAChC,EAAO,KAAK,CACV,KAAM,CAAC,GAAG,EAAM,CAAG,EACnB,KAAM,uBACN,QAAS,cACT,OAAQ,CAAE,mBAAoB,CAAI,CACpC,CAAC,EACD,SAMF,GAAU,EAAO,GAAM,CAAC,GAAG,EAAM,CAAG,EAAG,EAAQ,IAAI,GAAK,EACxD,OAAO,eAAe,EAAQ,EAAK,CACjC,MAAO,EAAO,GACd,WAAY,GACZ,SAAU,GACV,aAAc,EAChB,CAAC,EAGL,OAAO,CACT,KACK,QAAS,CACZ,IAAI,EACJ,QAAW,KAAU,EAAK,QAAS,CACjC,IAAM,EAAyB,CAAC,EAC1B,EAAU,EAAK,EAAQ,EAAO,EAAM,CAAO,EACjD,GAAI,EAAQ,SAAW,EAAG,OAAO,EAAQ,KAAO,OAAY,EAAQ,MACpE,IAAM,EAAS,GAAM,EAAQ,CAAK,EAClC,GAAI,CAAC,GAAQ,EAAS,EAAK,MAAO,EAAO,CAAE,OAAQ,EAAS,MAAO,CAAO,EAK5E,EAAO,KAAK,CACV,OACA,KAAM,QACN,QAAS,iCAAiC,EAAM,OAAO,IAAI,EAAM,EAAE,KAAK,IAAI,IAC5E,OAAQ,CAAE,QAAS,EAAM,MAAO,CAClC,CAAC,EACD,MACF,KAMK,OACH,GAAI,IAAU,OAAW,OAAO,EAAK,EAErC,OADA,GAAU,EAAO,EAAM,EAAQ,IAAI,GAAK,EACjC,MAGJ,MACH,OAAO,GACL,EAAK,KACL,EACA,IAAM,CACJ,EAAO,KAAK,CACV,OACA,KAAM,OACN,QAAS,mDACT,OAAQ,CAAC,CACX,CAAC,EACD,QAEF,IAAM,EAAK,EAAO,EAAK,IAAI,EAAG,EAAO,EAAM,CAAM,EAAE,KACrD,GAQN,SAAS,EAAM,CAAC,EAAuB,CACrC,IAAI,EAAQ,EACZ,QAAW,KAAK,EAAO,IACvB,OAAO,EAGT,SAAS,EAAW,CAClB,EACA,EACA,EACA,EACM,CACN,GAAI,CAAC,EAAQ,OACb,IAAQ,YAAW,YAAW,UAAW,EACzC,GAAI,IAAc,QAAa,IAAc,OAAW,CACtD,IAAM,EAAO,GAAO,CAAK,EACzB,GAAI,IAAc,QAAa,EAAO,EACpC,EAAO,KAAK,CACV,OACA,KAAM,YACN,QAAS,qBAAqB,qBAA6B,IAC3D,OAAQ,CAAE,MAAO,CAAU,CAC7B,CAAC,EAEH,GAAI,IAAc,QAAa,EAAO,EACpC,EAAO,KAAK,CACV,OACA,KAAM,YACN,QAAS,oBAAoB,qBAA6B,IAC1D,OAAQ,CAAE,MAAO,CAAU,CAC7B,CAAC,EAGL,GAAI,EAAQ,CACV,IAAI,EAAK,GACT,GAAI,CACF,EAAK,EAAO,KAAK,CAAK,IAAM,GAC5B,KAAM,EAGR,GAAI,CAAC,EACH,EAAO,KAAK,CACV,OACA,KAAM,SACN,QAAS,gCAAgC,EAAO,QAChD,OAAQ,CAAE,OAAQ,EAAO,IAAK,CAChC,CAAC,GAKP,SAAS,EAAW,CAClB,EACA,EACA,EACA,EACM,CACN,GAAI,CAAC,EAAQ,OACb,IAAM,EAAQ,CACZ,EACA,EACA,EACA,IACG,CACH,GAAI,IAAU,QAAa,EAAO,CAAK,EAAG,OAC1C,EAAO,KAAK,CACV,OACA,OACA,QAAS,YAAY,KAAS,UAAc,IAC5C,OAAQ,CAAE,OAAM,CAClB,CAAC,GAEH,EAAM,UAAW,EAAO,QAAS,CAAC,IAAU,GAAS,EAAO,UAAU,EACtE,EAAM,mBAAoB,EAAO,iBAAkB,CAAC,IAAU,EAAQ,EAAO,WAAW,EACxF,EAAM,UAAW,EAAO,QAAS,CAAC,IAAU,GAAS,EAAO,SAAS,EACrE,EAAM,mBAAoB,EAAO,iBAAkB,CAAC,IAAU,EAAQ,EAAO,WAAW,EAqB1F,SAAS,EAAS,CAChB,EACA,EACA,EACA,EAIA,EAAc,GACR,CACN,IAAM,EAAS,CAAC,IAAiB,CAC/B,EAAO,KAAK,CAAE,OAAM,KAAM,OAAQ,QAAS,8BAA8B,IAAQ,OAAQ,CAAC,CAAE,CAAC,GAG/F,OAAQ,OAAO,OACR,gBACA,aACA,UACH,WACG,SACH,GAAI,CAAC,OAAO,SAAS,CAAK,EAAG,EAAO,OAAO,CAAK,CAAC,EACjD,WACG,SACH,OAAO,EAAO,UAAU,MACrB,WACH,OAAO,EAAO,YAAY,MACvB,SACH,OAAO,EAAO,UAAU,EAG5B,GAAI,IAAU,KAAM,OACpB,IAAM,EAAS,EAQf,GAAI,EAAK,IAAI,CAAM,EAAG,OAAO,EAAO,sBAAsB,EAC1D,EAAK,IAAI,CAAM,EACf,GAAI,CAQF,IAAM,EAAS,EAAe,EAAgC,OAAS,OACvE,GAAI,OAAO,IAAW,WAAY,CAChC,IAAI,EACJ,GAAI,CACF,EAAY,EAAqC,KAAK,CAAM,EAC5D,KAAM,CACN,OAAO,EAAO,qBAAqB,EAKrC,GAAI,IAAa,OAAW,OAAO,EAAO,iCAAiC,EAC3E,OAAO,GAAU,EAAU,EAAM,EAAQ,EAAM,EAAK,EAEtD,GAAI,MAAM,QAAQ,CAAK,EACrB,EAAM,QAAQ,CAAC,EAAM,IAAU,GAAU,EAAM,CAAC,GAAG,EAAM,CAAK,EAAG,EAAQ,CAAI,CAAC,EAE9E,aAAY,EAAK,KAAU,OAAO,QAAQ,CAAM,EAC9C,GAAU,EAAO,CAAC,GAAG,EAAM,CAAG,EAAG,EAAQ,CAAI,SAGjD,CAKA,EAAK,OAAO,CAAM,GAYtB,SAAS,CAAO,CAAC,EAA0C,CACzD,OAAO,GAAM,CAAU,EAWzB,SAAS,EAAK,CAAC,EAAuC,CACpD,IAAM,EAAyB,CAC7B,aAAc,IAAM,GAAS,CAAU,EACvC,KAAK,CAAC,EAAO,CACX,IAAM,EAAwB,CAAC,EACzB,EAAS,EAAK,EAAY,EAAO,CAAC,EAAG,CAAM,EACjD,GAAI,EAAO,OAAS,EAAG,MAAU,MAAM,EAAO,IAAI,EAAM,EAAE,KAAK,IAAI,CAAC,EACpE,OAAO,EAAO,KAAO,OAAY,EAAO,OAE1C,SAAS,CAAC,EAAO,CACf,IAAM,EAAwB,CAAC,EACzB,EAAS,EAAK,EAAY,EAAO,CAAC,EAAG,CAAM,EACjD,GAAI,EAAO,OAAS,EAAG,MAAO,CAAE,GAAI,GAAO,OAAQ,EAAO,IAAI,EAAM,CAAE,EACtE,MAAO,CAAE,GAAI,GAAM,MAAO,EAAO,KAAO,OAAY,EAAO,KAAM,GAEnE,QAAQ,CAAC,EAAO,CACd,IAAM,EAAwB,CAAC,EACzB,EAAS,EAAK,EAAY,EAAO,CAAC,EAAG,CAAM,EACjD,GAAI,EAAO,OAAS,EAAG,MAAO,CAAE,GAAI,GAAO,QAAO,EAClD,MAAO,CAAE,GAAI,GAAM,MAAO,EAAO,KAAO,OAAY,EAAO,KAAM,GAEnE,SAAU,CAAC,IAAgB,GAAM,IAAK,EAAY,aAAY,CAAC,EAC/D,SAAU,IAAM,GAAM,IAAK,EAAY,SAAU,EAAK,CAAC,EAKvD,SAAU,IAAM,GAAM,IAAK,EAAY,SAAU,GAAM,SAAU,EAAM,CAAC,CAC1E,EAEA,OADA,GAAY,IAAI,EAAS,CAAU,EAC5B,EAGT,SAAS,CAAI,CAAC,EAA8B,CAC1C,MAAO,CAAE,OAAM,SAAU,GAAO,SAAU,EAAM,EA2ClD,IAAM,GAAe,CAAC,QAAS,QAAS,aAAa,EAQ9C,MAAM,WAAwB,KAAM,CAChC,SACT,WAAW,CAAC,EAAoB,CAC9B,MACE;AAAA,EAAwD,EAAS,IAAI,CAAC,IAAM,KAAK,GAAG,EAAE,KAAK;AAAA,CAAI,GACjG,EACA,KAAK,KAAO,kBACZ,KAAK,SAAW,EAEpB,CAEA,IAAM,GAAc,IAAI,IAAI,CAC1B,QACA,UACA,MACA,WACA,WACA,UACA,aACA,WACA,WACF,CAAC,EAGK,EAA8C,CAClD,OAAQ,CAAC,YAAa,YAAa,QAAQ,EAC3C,OAAQ,CAAC,UAAW,UAAW,mBAAoB,kBAAkB,EACrE,QAAS,CAAC,UAAW,UAAW,mBAAoB,kBAAkB,EACtE,QAAS,CAAC,EACV,OAAQ,CAAC,aAAc,WAAY,sBAAsB,EACzD,MAAO,CAAC,QAAS,WAAY,UAAU,CACzC,EAEA,SAAS,EAAa,CAAC,EAAkD,CACvE,OAAO,OAAO,IAAU,UAAY,IAAU,MAAQ,CAAC,MAAM,QAAQ,CAAK,EAQ5E,SAAS,EAAQ,CACf,EACA,EACA,EACA,EACwB,CACxB,IAAM,EAAU,CAAC,EAAiB,EAAK,IAAU,CAC/C,EAAS,KAAK,EAAK,GAAG,MAAO,IAAY,CAAO,EAChD,QAEI,EAAQ,CAAC,IAAiB,EAAQ,GAAG,KAAS,IAAQ,EAC5D,GAAI,CAAC,GAAc,CAAM,EAAG,OAAO,EAAQ,0BAA0B,EAErE,IAAM,EAAU,IAAI,IAAI,EAAQ,gBAAkB,CAAC,CAAC,EAC9C,EAAO,CAAC,IAAgB,GAAY,IAAI,CAAG,GAAK,EAAI,WAAW,IAAI,GAAK,EAAQ,IAAI,CAAG,EAIzF,EAAW,GACX,EAAO,EAAO,KAClB,GAAI,MAAM,QAAQ,CAAI,EAAG,CACvB,IAAM,EAAO,EAAK,OAAO,CAAC,IAAM,IAAM,MAAM,EAC5C,GAAI,EAAK,SAAW,EAClB,OAAO,EACL,QAAQ,KAAK,UAAU,CAAI,wFAC3B,EAAM,MAAM,CACd,EAEF,EAAW,EAAK,OAAS,EAAK,OAC9B,EAAO,EAAK,GAEd,GAAI,IAAS,SAAc,OAAO,IAAS,UAAY,EAAE,KAAQ,IAC/D,OAAO,EACL,QAAQ,KAAK,UAAU,CAAI,uCAAuC,OAAO,KAAK,CAAQ,EAAE,KAAK,IAAI,IACjG,EAAM,MAAM,CACd,EAGF,IAAM,EAAU,IAAI,IAAI,CACtB,OACA,cACA,OACA,QACA,QACA,GAAI,EAAO,EAAS,GAAkB,CAAC,CACzC,CAAC,EACG,EAAU,GACd,QAAW,KAAO,OAAO,KAAK,CAAM,EAAG,CACrC,GAAI,EAAQ,IAAI,CAAG,GAAK,EAAK,CAAG,EAAG,SACnC,EAAU,GACV,IAAM,EAAQ,OAAO,QAAQ,CAAQ,EAAE,KAAK,GAAI,KAAU,EAAK,SAAS,CAAG,CAAC,EAC5E,EACE,GAAS,EAAM,KAAO,EAClB,IAAI,sBAAwB,EAAM,0BAA0B,EAAO,QAAQ,IAAS,YACpF,IAAI,0CACR,EAAM,CAAG,CACX,EAEF,GAAI,EAAS,OAEb,GAAI,EAAO,cAAgB,QAAa,OAAO,EAAO,cAAgB,SACpE,OAAO,EAAQ,oBAAqB,EAAM,aAAa,CAAC,EAE1D,IAAM,EAAc,EAAO,YACrB,EAAS,CAAC,KAAkC,CAChD,OACA,SAAU,GACV,cACI,EAAc,CAAE,aAAY,EAAI,CAAC,CACvC,GAEA,GAAI,EAAO,QAAU,OAAW,CAC9B,GAAI,IAAS,QAAa,EAAO,OAAS,QAAa,EAAO,QAAU,OACtE,OAAO,EAAQ,yDAA0D,EAAM,OAAO,CAAC,EAEzF,GAAI,CAAC,MAAM,QAAQ,EAAO,KAAK,GAAK,EAAO,MAAM,SAAW,EAC1D,OAAO,EAAQ,6BAA8B,EAAM,OAAO,CAAC,EAE7D,IAAM,EAAwB,CAAC,EAC3B,EAAS,GAUb,GATA,EAAO,MAAM,QAAQ,CAAC,EAAQ,IAAU,CACtC,GAAI,GAAc,CAAM,GAAK,EAAO,OAAS,QAAU,OAAO,KAAK,CAAM,EAAE,SAAW,EAAG,CACvF,EAAW,GACX,OAEF,IAAM,EAAO,GAAS,EAAQ,EAAS,EAAM,SAAS,IAAQ,EAAG,CAAQ,EACzE,GAAI,EAAM,EAAQ,KAAK,CAAI,EACtB,OAAS,GACf,EACG,EAAQ,OACZ,GAAI,EAAQ,SAAW,EAAG,OAAO,EAAQ,4BAA6B,EAAM,OAAO,CAAC,EACpF,GAAI,EAAQ,SAAW,EAAG,CACxB,IAAM,EAAO,EAAQ,GACrB,MAAO,IACF,EACH,SAAU,EAAK,UAAY,KACvB,EAAc,CAAE,aAAY,EAAI,CAAC,CACvC,EAEF,OAAO,EAAO,CAAE,KAAM,QAAS,SAAQ,CAAC,EAG1C,GAAI,EAAO,QAAU,OAAW,CAC9B,IAAM,EAAQ,EAAO,MACrB,GAAI,OAAO,IAAU,UAAY,OAAO,IAAU,UAAY,OAAO,IAAU,UAC7E,OAAO,EAAQ,sDAAuD,EAAM,OAAO,CAAC,EAEtF,GAAI,IAAS,QAAa,OAAO,KAAW,IAAS,UAAY,SAAW,GAC1E,OAAO,EAAQ,SAAS,KAAK,UAAU,CAAK,oBAAoB,IAAQ,EAAM,OAAO,CAAC,EAExF,OAAO,EAAO,CAAE,KAAM,UAAW,OAAM,CAAC,EAG1C,IAAI,EACJ,GAAI,IAAS,UAEX,GADA,EAAe,GAAiB,EAAQ,EAAS,EAAO,CAAQ,EAC5D,IAAiB,KAAM,OAG7B,GAAI,EAAO,OAAS,OAAW,CAC7B,GAAI,CAAC,MAAM,QAAQ,EAAO,IAAI,GAAK,EAAO,KAAK,SAAW,EACxD,OAAO,EAAQ,6BAA8B,EAAM,MAAM,CAAC,EAE5D,IAAM,EAAS,EAAO,KAAK,OAAO,CAAC,IAAU,IAAU,IAAI,EAC3D,GAAI,EAAO,OAAS,EAAO,KAAK,OAAQ,EAAW,GACnD,IAAM,EAAM,EAAO,KACjB,CAAC,IACC,EAAE,OAAO,IAAU,UAAY,OAAO,IAAU,UAAY,OAAO,IAAU,YAC5E,IAAS,QAAa,OAAO,KAAW,IAAS,UAAY,SAAW,EAC7E,EACA,GAAI,IAAQ,QAAa,EAAO,SAAW,EACzC,OAAO,EACL,EACI,+BAA+B,IAAO,EAAO,SAAW,EAAI,0BAA4B,KAAK,KAAK,UAAU,CAAG,aAC/G,mDACJ,EAAM,MAAM,CACd,EAEF,GAAI,EAAO,MAAM,CAAC,IAAU,OAAO,IAAU,QAAQ,EACnD,OAAO,EAAO,CACZ,KAAM,OACN,OAAQ,CAAC,GAAG,IAAI,IAAI,CAAkB,CAAC,KACnC,EAAe,CAAE,OAAQ,CAAa,EAAI,CAAC,CACjD,CAAC,EAEH,IAAM,EAAW,CAAC,GAAG,IAAI,IAAI,CAAuC,CAAC,EACrE,GAAI,EAAS,SAAW,EAAG,OAAO,EAAO,CAAE,KAAM,UAAW,MAAO,EAAS,EAAI,CAAC,EACjF,OAAO,EAAO,CACZ,KAAM,QACN,QAAS,EAAS,IAAI,CAAC,IAAU,EAAK,CAAE,KAAM,UAAW,OAAM,CAAC,CAAC,CACnE,CAAC,EAGH,OAAQ,OACD,QACH,OAAO,EAAQ,qDAAqD,MACjE,SACH,OAAO,EAAO,CAAE,KAAM,YAAc,EAAe,CAAE,OAAQ,CAAa,EAAI,CAAC,CAAG,CAAC,MAChF,aACA,UAAW,CACd,IAAM,EAAuB,IAAS,UAAY,CAAE,QAAS,EAAK,EAAI,CAAC,EACnE,EAAS,GACb,QAAW,KAAO,EAAS,OAAS,CAClC,IAAM,EAAQ,EAAO,GACrB,GAAI,IAAU,OAAW,SACzB,GAAI,OAAO,IAAU,UAAY,CAAC,OAAO,SAAS,CAAK,EAAG,CACxD,EAAQ,oBAAqB,EAAM,CAAG,CAAC,EACvC,EAAS,GACT,SAEF,EAAO,GAAoB,EAE7B,GAAI,EAAQ,OACZ,OAAO,EAAO,CAAE,KAAM,YAAc,OAAO,KAAK,CAAM,EAAE,OAAS,EAAI,CAAE,QAAO,EAAI,CAAC,CAAG,CAAC,CACzF,KACK,UACH,OAAO,EAAO,CAAE,KAAM,SAAU,CAAC,MAC9B,QAAS,CACZ,GAAI,CAAC,GAAc,EAAO,KAAK,EAC7B,OAAO,EACL,qEACA,EAAM,OAAO,CACf,EAEF,IAAM,EAAsB,CAAC,EACzB,EAAS,GACb,QAAW,IAAO,CAAC,WAAY,UAAU,EAAY,CACnD,IAAM,EAAQ,EAAO,GACrB,GAAI,IAAU,OAAW,SACzB,GAAI,OAAO,IAAU,UAAY,CAAC,OAAO,UAAU,CAAK,GAAK,EAAQ,EAAG,CACtE,EAAQ,kCAAmC,EAAM,CAAG,CAAC,EACrD,EAAS,GACT,SAEF,EAAO,GAAO,EAEhB,IAAM,EAAO,GAAS,EAAO,MAAO,EAAS,EAAM,OAAO,EAAG,CAAQ,EACrE,GAAI,CAAC,GAAQ,EAAQ,OACrB,OAAO,EAAO,CAAE,KAAM,QAAS,UAAU,OAAO,KAAK,CAAM,EAAE,OAAS,EAAI,CAAE,QAAO,EAAI,CAAC,CAAG,CAAC,CAC9F,KACK,SAAU,CACb,IAAM,EAAa,EAAO,YAAc,CAAC,EACzC,GAAI,CAAC,GAAc,CAAU,EAAG,OAAO,EAAQ,qBAAsB,EAAM,YAAY,CAAC,EACxF,GAAI,EAAO,uBAAyB,QAAa,EAAO,uBAAyB,GAC/E,OAAO,EACL,+FACA,EAAM,sBAAsB,CAC9B,EAEF,IAAM,EAAW,EAAO,UAAY,CAAC,EACrC,GAAI,CAAC,MAAM,QAAQ,CAAQ,GAAK,CAAC,EAAS,MAAM,CAAC,IAAQ,OAAO,IAAQ,QAAQ,EAC9E,OAAO,EAAQ,sCAAuC,EAAM,UAAU,CAAC,EAEzE,IAAM,EAAU,EAAS,OAAO,CAAC,IAAQ,CAAC,OAAO,OAAO,EAAY,CAAG,CAAC,EACxE,GAAI,EAAQ,OAAS,EACnB,OAAO,EACL,6CAA6C,EAAQ,KAAK,IAAI,IAC9D,EAAM,UAAU,CAClB,EAEF,IAAM,EAAoC,CAAC,EACvC,EAAS,GACb,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAU,EAAG,CACrD,IAAM,EAAO,GAAS,EAAO,EAAS,EAAM,cAAc,GAAK,EAAG,CAAQ,EAC1E,GAAI,CAAC,EAAM,CACT,EAAS,GACT,SAIF,EAAM,GAAO,EAAS,SAAS,CAAG,EAAI,EAAO,IAAK,EAAM,SAAU,EAAK,EAEzE,GAAI,EAAQ,OACZ,IAAM,EAAc,EAAQ,YAC5B,OAAO,EAAO,CACZ,KAAM,SACN,WACI,IAAgB,SAAW,IAAgB,cAAgB,CAAE,aAAY,EAAI,CAAC,CACpF,CAAC,CACH,EAEF,OAIF,SAAS,EAAgB,CACvB,EACA,EACA,EACA,EACiC,CACjC,IAAM,EAAuB,CAAC,EAC1B,EAAS,GACb,QAAW,IAAO,CAAC,YAAa,WAAW,EAAY,CACrD,IAAM,EAAQ,EAAO,GACrB,GAAI,IAAU,OAAW,SACzB,GAAI,OAAO,IAAU,UAAY,CAAC,OAAO,UAAU,CAAK,GAAK,EAAQ,EAAG,CACtE,EAAS,KAAK,GAAG,EAAM,CAAG,oCAAoC,EAC9D,EAAS,GACT,SAEF,EAAO,GAAO,EAEhB,GAAI,EAAO,SAAW,OAAW,CAC/B,IAAM,EAAO,EAAO,OACd,EAAS,OAAO,IAAS,SAAW,EAAQ,UAAU,GAAQ,OACpE,GAAI,OAAO,IAAS,SAClB,EAAS,KAAK,GAAG,EAAM,QAAQ,sBAAsB,EACrD,EAAS,GACJ,QAAI,CAAC,GAAU,CAAC,OAAO,OAAO,EAAQ,QAAU,CAAI,EACzD,EAAS,KACP,GAAG,EAAM,QAAQ,qBAAqB,KAAK,UAAU,CAAI,8CAC3D,EACA,EAAS,GAET,OAAO,OAAS,CAAE,OAAM,KAAM,GAAW,CAAM,CAAE,EAGrD,GAAI,EAAQ,OAAO,KACnB,OAAO,OAAO,KAAK,CAAM,EAAE,OAAS,EAAI,EAAS,OAGnD,SAAS,EAAU,CAAC,EAAsD,CACxE,GAAI,IAAW,GAAM,MAAO,IAAM,GAClC,GAAI,aAAkB,OAGpB,MAAO,CAAC,IAAU,CAEhB,OADA,EAAO,UAAY,EACZ,EAAO,KAAK,CAAK,GAG5B,OAAO,EAGF,IAAM,GAmIT,CACF,OAAQ,IAAM,EAAa,EAAK,CAAE,KAAM,QAAS,CAAC,CAAC,EACnD,OAAQ,IAAM,EAAa,EAAK,CAAE,KAAM,QAAS,CAAC,CAAC,EACnD,QAAS,IAAM,EAAc,EAAK,CAAE,KAAM,SAAU,CAAC,CAAC,EACtD,QAAS,CAAC,IAAU,EAAmB,EAAK,CAAE,KAAM,UAAW,OAAM,CAAC,CAAC,EACvE,KAAM,CAAC,IAAW,EAA8B,EAAK,CAAE,KAAM,OAAQ,QAAO,CAAC,CAAC,EAC9E,OAAQ,CAAC,IACP,EACE,EAAK,CACH,KAAM,SACN,MAAO,OAAO,YACZ,OAAO,QAAQ,CAAK,EAAE,IAAI,EAAE,EAAK,KAAW,CAAC,EAAK,GAAa,CAAK,CAAC,CAAC,CACxE,CACF,CAAC,CACH,EACF,MAAO,CAAC,IAAS,EAA2B,EAAK,CAAE,KAAM,QAAS,KAAM,GAAa,CAAI,CAAE,CAAC,CAAC,EAK7F,MAAO,CAAC,IACN,EACE,EAAK,CAAE,KAAM,QAAS,QAAS,EAAQ,IAAI,EAAY,CAAE,CAAC,CAC5D,EACF,KAAM,IAAS,EAAQ,EAAK,CAAE,KAAM,MAAO,CAAC,CAAC,EAC7C,aACA,eAAgB,CAAI,EAAiB,EAAiC,CAAC,IAAM,CAC3E,IAAM,EAAqB,CAAC,EAC5B,GACE,EAAQ,cAAgB,QACxB,CAAE,GAAoC,SAAS,EAAQ,WAAW,EAElE,MAAU,MACR,iEAAiE,GAAa,IAAI,CAAC,IAAM,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,IAAI,UAAU,KAAK,UAAU,EAAQ,WAAW,GACnK,EAEF,IAAM,EAAa,GAAS,EAAQ,EAAS,GAAI,CAAQ,EACzD,GAAI,CAAC,GAAc,EAAS,OAAS,EACnC,MAAM,IAAI,GAAgB,EAAS,OAAS,EAAI,EAAW,CAAC,mBAAmB,CAAC,EAElF,OAAO,EAAQ,CAAU,EAE7B,EAcO,SAAS,EAAc,CAAC,EAA4B,CACzD,IAAM,EAAa,GAAY,IAAI,CAAM,EACzC,GAAI,EAAY,OAAO,GAAW,EAAW,IAAI,EAejD,OAAO,EAAiB,EAAO,aAAa,CAAC,EAW/C,SAAS,CAAgB,CAAC,EAA6B,CAWrD,GAAI,EAPF,EAAO,OAAS,QAChB,EAAO,OAAS,QAChB,EAAO,OAAS,QAChB,EAAO,QAAU,QACjB,EAAO,QAAU,QACjB,EAAO,aAAe,QACtB,EAAO,QAAU,QACD,MAAO,GAEzB,QAAW,KAAS,OAAO,OAAO,EAAO,YAAc,CAAC,CAAC,EACvD,GAAI,CAAC,EAAiB,CAAK,EAAG,MAAO,GAEvC,GAAI,EAAO,OAAS,CAAC,EAAiB,EAAO,KAAK,EAAG,MAAO,GAC5D,QAAW,KAAU,EAAO,OAAS,CAAC,EACpC,GAAI,CAAC,EAAiB,CAAM,EAAG,MAAO,GAIxC,QAAW,KAAc,OAAO,OAAO,EAAO,OAAS,CAAC,CAAC,EACvD,GAAI,CAAC,EAAiB,CAAU,EAAG,MAAO,GAE5C,MAAO,GAYT,SAAS,EAAU,CAAC,EAAkB,EAAO,IAAI,IAA+B,CAC9E,OAAQ,EAAK,UACN,aACA,aACA,cACA,cACA,OACH,MAAO,OACJ,SACH,OAAO,OAAO,OAAO,EAAK,KAAK,EAAE,MAAM,CAAC,IAAU,GAAW,EAAM,KAAM,CAAI,CAAC,MAC3E,QACH,OAAO,GAAW,EAAK,KAAK,KAAM,CAAI,MACnC,QACH,OAAO,EAAK,QAAQ,MAAM,CAAC,IAAW,GAAW,EAAO,KAAM,CAAI,CAAC,MAChE,OACH,MAAO,OACJ,MACH,GAAI,EAAK,IAAI,EAAK,IAAI,EAAG,MAAO,GAEhC,OADA,EAAK,IAAI,EAAK,IAAI,EACX,GAAW,EAAO,EAAK,IAAI,EAAE,KAAM,CAAI,GAWpD,SAAS,EAAgB,CACvB,EACA,EACA,EAAO,IAAI,IACF,CACT,IAAM,EAAO,EAAW,KACxB,GAAI,EAAK,OAAS,QAChB,OAAO,EAAK,QAAQ,KAAK,CAAC,IAAW,GAAiB,EAAQ,EAAM,CAAI,CAAC,EAE3E,GAAI,EAAK,OAAS,MAAO,MAAO,GAChC,GAAI,EAAK,OAAS,EAAM,MAAO,GAC/B,GAAI,EAAK,IAAI,EAAK,IAAI,GAAK,CAAC,EAAK,KAAK,WAAY,MAAO,GAEzD,OADA,EAAK,IAAI,EAAK,IAAI,EACX,GAAiB,EAAK,KAAK,WAAY,EAAM,CAAI,EAG1D,IAAM,GAAiB,iCAEvB,SAAS,EAAY,CACnB,EACA,EACkB,CAClB,GAAI,OAAO,IAAS,UAAY,CAAC,GAAe,KAAK,CAAI,EACvD,MAAU,MACR,sHAAsH,KAAK,UAAU,CAAI,GAC3I,EAEF,IAAM,EAAsB,CAAE,OAAM,OAAQ,IAAI,GAAM,EAChD,EAAY,IAAkB,EAAK,CAAE,KAAM,MAAO,MAAK,CAAC,EACxD,EAAO,GAAa,EAAO,EAAQ,EAAU,CAAC,CAAC,CAAC,EACtD,GAAI,EAAK,SACP,MAAU,MACR,kCAAkC,2EACpC,EAEF,GAAI,GAAiB,EAAM,CAAI,EAC7B,MAAU,MACR,kCAAkC,8IACpC,EAGF,OADA,EAAK,WAAa,EACX,EAAQ,EAAU,CAAC,ECltDrB,SAAS,EAAS,CAAC,EAAkD,CAC1E,GAAI,OAAO,IAAW,SAAU,OAAO,KACvC,IAAO,GAAQ,EAAO,MAAM,IAAK,CAAC,EAC5B,EAAa,EAAK,KAAK,EAAE,YAAY,EAC3C,OAAO,IAAe,GAAK,KAAO,EAQ7B,SAAS,EAAe,CAAC,EAA8B,CAC5D,GAAI,IAAS,KAAM,MAAO,GAC1B,GAAI,IAAS,mBAAoB,MAAO,GACxC,IAAM,EAAQ,EAAK,QAAQ,GAAG,EAC9B,OAAO,EAAQ,GAAK,EAAK,SAAS,OAAO,GAAK,EAAK,OAAS,EAAQ,EAAI,ECD1E,IAAM,GAAa,IAAI,QAuChB,SAAS,EAAmB,CACjC,EACA,EACA,EACA,EACA,CACA,GAAW,IAAI,EAAK,CAClB,mBACI,EAAQ,CAAE,MAAO,OAAO,OAAO,IAAK,EAAO,OAAQ,OAAO,OAAO,CAAC,GAAG,EAAM,MAAM,CAAC,CAAE,CAAC,CAAE,EAAI,CAAC,KAC5F,EAAW,CAAE,UAAS,EAAI,CAAC,CACjC,CAAC,EAOI,SAAS,EAAkB,CAAC,EAAwC,CACzE,OAAO,GAAW,IAAI,CAAG,GAAG,SAIvB,SAAS,EAAe,CAAC,EAAoC,CAClE,OAAO,GAAW,IAAI,CAAG,GAAG,MAGvB,SAAS,EAAiB,CAAC,EAAuB,CACvD,OAAO,GAAW,IAAI,CAAG,EAgBpB,SAAS,EAAuB,CAAC,EAAkC,CACxE,OAAO,GAAW,IAAI,CAAG,GAAG,cCnG9B,IAAM,GAAU,IAAI,QAEb,SAAS,EAAgB,CAAC,EAAc,EAAwB,CACrE,GAAQ,IAAI,EAAK,CAAM,EAIlB,SAAS,EAAa,CAAC,EAAqC,CACjE,OAAO,GAAQ,IAAI,CAAG,GAAK,KAM7B,IAAM,GAAW,IAAI,QAEd,SAAS,EAAoB,CAAC,EAAc,EAAgB,CACjE,IAAM,EAAU,GAAS,IAAI,CAAG,GAAK,CAAC,EACtC,GAAI,CAAC,EAAQ,SAAS,CAAM,EAC1B,GAAS,IAAI,EAAK,CAAC,GAAG,EAAS,CAAM,CAAC,EAKnC,SAAS,EAAoB,CAAC,EAAiC,CACpE,OAAO,GAAS,IAAI,CAAG,GAAK,CAAC,ECX/B,MAAM,CAAS,CACO,KAApB,WAAW,CAAS,EAAS,CAAT,YAEb,GAAsB,CAAC,EAAc,CAC1C,OAAO,KAAK,KAAK,GAGZ,GAAG,CAAC,EAAc,CACvB,OAAO,KAAK,KAAK,KAAS,OAGrB,MAAM,EAAM,CACjB,OAAO,KAAK,KAEhB,CAwDA,SAAS,EAAW,CAAC,EAAkD,CACrE,OAAO,OAAO,IAAU,UAAY,IAAU,MAAQ,EAAE,aAAiB,MAc3E,SAAS,EAAW,CAAC,EAAY,EAAwD,CACvF,GAAI,CAAC,EAAI,SAAS,GAAG,GAAK,OAAO,OAAO,EAAM,CAAG,EAC/C,MAAO,CAAC,CAAE,KAAM,CAAC,CAAG,EAAG,MAAO,EAAK,EAAK,CAAC,EAE3C,IAAI,EAAmD,CAAC,CAAE,KAAM,CAAC,EAAG,MAAO,CAAK,CAAC,EACjF,QAAW,KAAW,EAAI,MAAM,GAAG,EAAG,CACpC,IAAM,EAAqB,CAAC,EAC5B,QAAa,OAAM,WAAW,EAAO,CACnC,GAAI,IAAY,IAAK,CACnB,GAAI,MAAM,QAAQ,CAAK,EACrB,EAAM,QAAQ,CAAC,EAAM,IAAU,EAAK,KAAK,CAAE,KAAM,CAAC,GAAG,EAAM,CAAK,EAAG,MAAO,CAAK,CAAC,CAAC,EAC5E,QAAI,GAAY,CAAK,EAC1B,QAAY,EAAG,KAAS,OAAO,QAAQ,CAAK,EAC1C,EAAK,KAAK,CAAE,KAAM,CAAC,GAAG,EAAM,CAAC,EAAG,MAAO,CAAK,CAAC,EAEjD,SAEF,GAAI,MAAM,QAAQ,CAAK,GAAK,QAAQ,KAAK,CAAO,EAAG,CACjD,EAAK,KAAK,CAAE,KAAM,CAAC,GAAG,EAAM,OAAO,CAAO,CAAC,EAAG,MAAO,EAAM,OAAO,CAAO,EAAG,CAAC,EAC7E,SAEF,EAAK,KAAK,CACR,KAAM,CAAC,GAAG,EAAM,CAAO,EACvB,MAAO,GAAY,CAAK,GAAK,OAAO,OAAO,EAAO,CAAO,EAAI,EAAM,GAAW,MAChF,CAAC,EAEH,EAAQ,EAEV,OAAO,EAKT,SAAS,EAAQ,CAAC,EAA6B,CAC7C,OAAO,EAAK,KAAK,GAAG,EAMf,MAAM,EAAoF,CAC/F,KACA,WACA,QACA,QACA,OAMA,OAAc,CAAC,EACf,UACA,OAQA,OAaS,MAET,WAAW,CAAC,EAAe,EAAc,EAAwB,EAAoB,CACnF,GAAI,CAAC,EAAK,CACR,IAAM,EAAO,EAAe,SAAS,EAAE,IACvC,KAAK,OAAS,EAAK,OACnB,KAAK,WAAa,EAAK,WACvB,KAAK,KAAO,EAAK,KACjB,KAAK,UAAY,EAAK,UACtB,KAAK,OAAS,EAAK,QAAU,KAC7B,KAAK,MAAQ,EAAK,OAAS,IAAI,GAE/B,UAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,UAAY,EACjB,KAAK,KAAO,GAAQ,MACpB,KAAK,OAAS,GAAc,CAAG,EAC/B,KAAK,MAAQ,IAAI,GAGnB,KAAK,QAAU,KAAK,WAAW,QAE/B,IAAM,EAAU,GAAkB,KAAK,WAAW,QAAQ,IAAI,QAAQ,CAAC,EACjE,EAAM,IAAI,IAAI,KAAK,WAAW,GAAG,EACjC,EAAM,IAAI,IAChB,QAAY,EAAK,KAAU,EAAI,aAC7B,GAAI,EAAI,IAAI,CAAG,EAAG,CAChB,IAAM,EAAe,EAAI,IAAI,CAAG,EAChC,GAAI,MAAM,QAAQ,CAAY,EAC5B,EAAa,KAAK,CAAK,EACvB,EAAI,IAAI,EAAK,CAAY,EAEzB,OAAI,IAAI,EAAK,CAAC,EAAc,CAAK,CAAC,EAGpC,OAAI,IAAI,EAAK,CAAK,EAGtB,IAAM,EAAU,OAAO,YAAY,EAAI,QAAQ,CAAC,EAChD,KAAK,OAAS,IAAI,EAAM,CAAO,EAC/B,KAAK,QAAU,EASjB,MAAM,EAAG,CACP,IAAM,EAAM,EAAe,SAAS,EACpC,GAAI,EAAI,OACN,OAAO,EAAI,OAEb,IAAM,EAAa,GAAI,EAAU,EACjC,OAAO,EAAW,cAAgB,EAAW,aAAa,EAAI,GAAG,EAAI,EAAI,OAG3E,GAAG,EAAG,CACJ,OAAO,EAAe,SAAS,EAUjC,iBAAiB,EAAY,CAC3B,OAAO,GAAkB,KAAK,UAAU,EAc1C,QAAQ,EAAoB,CAC1B,OAAO,GAAgB,KAAK,UAAU,GAAK,KAoB7C,cAAc,CAAC,EAAiC,CAC9C,IAAM,EAAO,GAAmB,KAAK,UAAU,EAC/C,GAAI,CAAC,EAAM,MAAO,GAElB,OADA,EAAK,CAAM,EACJ,MAiBL,OAAM,EAAgB,CACxB,OAAO,KAAK,WAAW,OAQzB,KAAK,EAAG,CACN,OAAO,GAAiB,KAAK,WAAW,QAAQ,IAAI,OAAO,CAAC,EAG9D,MAAM,CAAC,EAAkB,CACvB,MAAO,CAAC,OAaI,UAAS,EAAG,CACxB,IAAM,EAAO,GAAU,KAAK,WAAW,QAAQ,IAAI,cAAc,CAAC,EAElE,GAAI,GAAgB,CAAI,EACtB,OAAO,IAAI,EAAU,MAAM,KAAK,cAAc,CAAO,EAGvD,GAAI,IAAS,qCAAuC,IAAS,sBAAuB,CAClF,IAAI,EACJ,GAAI,CACF,EAAO,MAAM,KAAK,WAAW,SAAS,EACtC,MAAO,EAAK,CAEZ,GAAI,aAAe,EAAqB,MAAM,EAC9C,MAAM,IAAI,EAAoB,+CAA+C,EAE/E,IAAM,EAAY,IAAI,IACtB,QAAY,EAAK,KAAU,EAAK,QAAQ,EACtC,GAAI,EAAU,IAAI,CAAG,EAAG,CACtB,IAAM,EAAe,EAAU,IAAI,CAAG,EACtC,GAAI,MAAM,QAAQ,CAAY,EAC5B,EAAa,KAAK,CAAK,EAEvB,OAAU,IAAI,EAAK,CAAC,EAAc,CAAK,CAAC,EAG1C,OAAU,IAAI,EAAK,CAAK,EAG5B,OAAO,IAAI,EAAS,OAAO,YAAY,EAAU,QAAQ,CAAC,CAAM,EAGlE,OAAO,IAAI,EAAS,CAAC,CAAM,OAGf,cAAa,EAAkB,CAC3C,GAAI,CAAC,KAAK,WAAW,KACnB,MAAO,CAAC,EAEV,IAAI,EACJ,GAAI,CACF,EAAO,MAAM,KAAK,WAAW,KAAK,EAClC,MAAO,EAAK,CACZ,GAAI,aAAe,EAAqB,MAAM,EAC9C,MAAM,IAAI,EAAoB,qCAAqC,EAErE,GAAI,EAAK,KAAK,IAAM,GAClB,MAAO,CAAC,EAEV,IAAI,EACJ,GAAI,CACF,EAAS,KAAK,MAAM,CAAI,EACxB,KAAM,CACN,MAAM,IAAI,EAAoB,qCAAqC,EAIrE,GAAI,IAAW,MAAQ,OAAO,IAAW,SACvC,MAAM,IAAI,EAAoB,yCAAyC,EAEzE,OAAO,EAGD,aAAa,CAAC,EAA2B,CAC/C,GAAI,GAAS,KAAK,MAAM,EACtB,OAAO,KAAK,mBAAmB,CAAK,EAEtC,IAAM,EAAQ,EAAM,OAAO,GAAK,CAAC,EAC3B,EAAmC,CAAC,EACpC,EAAS,OAAO,QAAQ,KAAK,MAAiD,EAAE,IACpF,EAAE,EAAK,MAAY,CACjB,MAKA,MAAO,OAAO,QAAQ,CAAK,EAAE,IAAI,EAAE,EAAM,MAAc,CACrD,OACA,UACA,MAAO,OAAO,IAAY,WAAa,KAAO,KAAK,QAAQ,EAAK,CAAI,CACtE,EAAE,CACJ,EACF,EAEA,QAAa,MAAK,WAAW,EAC3B,QAAa,OAAM,WAAW,GAAY,EAAM,CAAG,EAAG,CACpD,IAAM,EAAW,KAAK,WAAW,EAAO,CAAK,EAC7C,GAAI,EAAS,OAAS,EAAG,CAGvB,IAAM,EAAY,EAAO,GAAS,CAAI,KAAO,CAAC,EAC9C,QAAW,KAAW,EACpB,GAAI,CAAC,EAAS,SAAS,CAAO,EAAG,EAAS,KAAK,CAAO,GAO9D,GADA,KAAK,eAAe,EAAQ,CAAI,EAC5B,OAAO,KAAK,CAAM,EAAE,OAAS,EAC/B,MAAM,IAAI,EAAgB,CAAM,EAGlC,OAAO,EAGD,UAAU,CAChB,EACA,EACU,CACV,IAAM,EAAa,EAAM,KAAK,EAAG,UAAW,IAAS,UAAU,EAIzD,EAAW,IAAU,QAAa,IAAU,MAAQ,IAAU,GAC9D,EAAqB,CAAC,EAE5B,QAAa,OAAM,UAAS,WAAW,EAAO,CAC5C,IAAI,EAAW,EACX,EAAW,GACf,GAAI,OAAO,IAAY,WACrB,EAAW,EAAQ,CAAK,EACxB,EAAW,OAAO,EAAa,IAE/B,OAAW,EAAO,CAAK,EAGzB,GAAI,EACF,SAGF,GAAI,GAAY,CAAC,EACf,SAGF,GAAI,IAAS,WAIX,MAAO,CAAC,OAAO,CAAQ,CAAC,EAK1B,GAAI,CAAC,EAAS,SAAS,OAAO,CAAQ,CAAC,EACrC,EAAS,KAAK,OAAO,CAAQ,CAAC,EAGlC,OAAO,EAUD,kBAAkB,CAAC,EAA2B,CACpD,IAAM,EAAS,KAAK,OAAO,SAAS,EAAM,OAAO,CAAC,EAG5C,EAAmC,CAAC,EAG1C,GAAI,WAAY,EACd,QAAW,KAAS,EAAO,OAAQ,CACjC,IAAM,EAAM,GAAS,EAAM,IAAI,EACzB,EAAY,EAAO,KAAS,CAAC,EACnC,GAAI,CAAC,EAAS,SAAS,EAAM,OAAO,EAAG,EAAS,KAAK,EAAM,OAAO,EAGtE,IAAM,EAAS,UAAW,EAAS,IAAI,EAAS,EAAO,KAAU,EAAI,EAErE,GADA,KAAK,eAAe,EAAQ,EAAO,OAAO,CAAC,EACvC,OAAO,KAAK,CAAM,EAAE,OAAS,EAC/B,MAAM,IAAI,EAAgB,CAAM,EAElC,OAAO,EAGD,cAAc,CAAC,EAAkC,EAAe,CACtE,QAAY,EAAK,KAAU,OAAO,QAAQ,KAAK,OAAO,CAAI,GAAK,CAAC,CAAC,EAAG,CAClE,IAAM,EAAW,EAAO,IAAQ,CAAC,EAEjC,EAAO,GAAO,EAAS,SAAS,CAAe,EAAI,EAAW,CAAC,GAAG,EAAU,CAAe,GAIvF,OAAO,CAAC,EAAa,EAAc,CACzC,GAAI,CACF,OAAO,GAAS,CAAI,EACpB,MAAO,EAAK,CACZ,GAAI,aAAe,EACjB,MAAM,IAAI,EACR,GAAG,KAAK,YAAY,eAAe,MAAQ,EAAI,SACjD,EAEF,MAAM,QAIJ,MAAK,EAAsB,CAC/B,OAAO,KAAK,cAAc,MAAM,KAAK,UAAU,CAAC,OAG5C,UAAS,EAIZ,CACD,IAAM,EAAQ,MAAM,KAAK,UAAU,EACnC,GAAI,CACF,MAAO,CACL,QAAS,GACT,OAAQ,CAAC,EACT,MAAO,KAAK,cAAc,CAAK,CACjC,EACA,MAAO,EAAK,CACZ,GAAI,EAAE,aAAe,GACnB,MAAM,EAER,MAAO,CACL,QAAS,GACT,OAAQ,EAAI,OACZ,OACF,GAGN,CCriBO,IAAM,GAAiB,iBCRvB,MAAM,WAA2B,CAAoB,CAClD,MACR,WAAW,CAAC,EAAgB,iBAAkB,CAC5C,MAAM,CAAK,EACX,KAAK,KAAO,qBACZ,KAAK,MAAQ,EACb,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CAAE,MAAO,GAAiB,gBAAiB,KAAK,MAAO,GAAG,CAAE,CACpE,EACA,KAAM,CAAC,CACT,EAEJ,CAUO,MAAM,WAAqC,CAAoB,OAe7D,WAAuB,IAEtB,MACR,WAAW,CAAC,EAAgB,2BAA4B,CACtD,MAAM,CAAK,EACX,KAAK,KAAO,+BACZ,KAAK,MAAQ,EACb,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,GAA6B,UACrC,KAAM,CACJ,MAAO,GAAiB,aAAc,KAAK,MAAO,GAA6B,SAAS,CAC1F,CACF,EAGA,KAAM,CAAE,OAAQ,GAAI,CACtB,EAEJ,CAUO,MAAM,WAAiC,CAAoB,CAC7C,MAAnB,WAAW,CAAQ,EAAe,CAChC,MAAM,uBAAuB,EADZ,aAEjB,KAAK,KAAO,2BACZ,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CAAE,MAAO,GAAQ,wBAAyB,wBAAyB,GAAG,CAAE,EAC9E,QAAS,CACP,gBAAiB,GAA8B,CAAK,EACpD,gBAAiB,QAIjB,gBAAiB,UACnB,CACF,EACA,KAAM,CAAC,CACT,EAEJ,CAYO,MAAM,WAAsB,CAAoB,CACrD,WAAW,CAAC,EAAkB,YAAa,CACzC,MAAM,CAAO,EACb,KAAK,KAAO,gBACZ,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CAAE,MAAO,GAAQ,YAAa,EAAS,GAAG,CAAE,EAGlD,QAAS,CAAE,gBAAiB,UAAW,CACzC,EACA,KAAM,CAAE,OAAQ,GAAI,CACtB,EAEJ,CAEO,MAAM,UAA0B,CAAoB,CACtC,SAAnB,WAAW,CAAQ,EAAkB,CACnC,MAAM,gBAAgB,EADL,gBAEjB,KAAK,KAAO,oBACZ,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CAAE,MAAO,GAAQ,YAAa,YAAa,GAAG,CAAE,EACtD,QAAS,CAAE,gBAAiB,UAAW,CACzC,EAGA,KAAM,CAAE,OAAQ,GAAI,CACtB,EAEJ,CAYO,MAAM,WAA4B,CAAoB,CAC3D,WAAW,CAAC,EAAmC,CAAC,EAAG,CACjD,MAAM,sBAAsB,EAC5B,KAAK,KAAO,sBACZ,IAAM,EAAW,EAAQ,YAAc,gBACvC,KAAK,QAAU,CACb,IAAK,CACH,OAAQ,IACR,KAAM,CAAE,MAAO,GAAiB,iBAAkB,uBAAwB,GAAG,CAAE,EAI/E,QAAS,EAAG,IAAiB,CAAS,CACxC,EACA,SAAU,CACR,OAAQ,IACR,KAAM,CAAC,EAKP,QAAS,CACP,gBAAiB,yDACnB,EACA,UAAW,CAAE,KAAM,WAAY,KAAM,CAAS,CAChD,EACA,KAAM,CACJ,OAAQ,IACR,QAAS,CACP,gBACE,0DACF,SAAU,CACZ,CACF,CACF,EAEJ,CChKO,MAAe,EAAO,OACpB,kBAAiB,EAAsB,CAC5C,MAAU,MACR,WAAW,KAAK,+CAClB,QAGK,cAAgB,EAEjB,CACJ,OAAO,GAAI,KAAK,kBAAkB,CAAC,EAEvC,CCpCA,iBAAS,gBA0BF,SAAS,EAAqB,CAAC,EAAsB,CAC1D,GAAI,OAAO,IAAW,UAAY,YAAY,KAAK,CAAM,EACvD,MAAU,MACR,gCAAgC,KAAK,UAAU,CAAM,mCACvD,EAIG,MAAe,EAAgD,MAmB9D,UAAS,EACX,UAAS,GACX,EAA0B,CAAC,EACV,CACjB,EAAQ,QAAQ,eAAe,EAC/B,IAAM,EAAuB,CAAC,EACxB,EAAS,EAAK,UAAU,EAC9B,GAAI,CACF,OAAS,CACP,EAAQ,QAAQ,eAAe,EAC/B,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EAAM,MACV,EAAO,KAAK,CAAK,GAEnB,MAAO,EAAO,CAEd,MADA,MAAM,EAAO,OAAO,CAAK,EAAE,MAAM,IAAM,EAAE,EACnC,EAER,OAAO,KAAK,IAAI,IAAK,EAAQ,KAAM,GAAO,OAAO,CAAM,CAAE,EAAG,CAAO,QAiB9D,OAAO,CACZ,EACA,EAA+B,CAAC,EACH,CAC7B,MAAU,MACR,GAAG,KAAK,YAAY,iFACtB,OAWI,aAAY,CAChB,EACA,EAA+B,CAAC,EACf,CACjB,GAAsB,CAAM,EAE5B,IAAM,EAAkB,CAAC,EACzB,cAAiB,KAAU,KAAK,QAAQ,EAAQ,CAAO,EACrD,EAAM,KAAK,EAAO,IAAI,EAExB,QAAW,KAAQ,EACjB,EAAQ,QAAQ,eAAe,EAC/B,MAAM,KAAK,OAAO,CAAE,OAAM,OAAQ,EAAQ,MAAO,CAAC,EAEpD,OAAO,EAAM,YAYT,OAAM,CAAC,EAAmD,CAC9D,MAAU,MACR,GAAG,KAAK,YAAY,oFACtB,OAYI,KAAI,CAAC,EAAqD,CAC9D,IAAM,EAAS,OAAO,IAAU,SAAW,CAAE,KAAM,CAAM,EAAI,EACvD,EAAW,MAAM,KAAK,MAAM,CAChC,KAAM,EAAO,KACb,OAAQ,EAAO,MACjB,CAAC,EAED,GAAI,CAAC,EAAS,GACZ,MAAM,IAAI,EAAkB,EAAO,IAAI,EAGzC,IAAM,EACJ,EAAS,QAAQ,IAAI,cAAc,GAAK,2BACpC,EAAO,EAAS,QAAQ,IAAI,MAAM,GAAK,OACvC,EAAqB,EAAS,QAAQ,IAAI,eAAe,EACzD,EAAe,EACjB,IAAI,KAAK,CAAkB,EAC3B,OAEJ,GAAI,EAAO,MAAO,CAChB,IAAM,EAAO,MAAM,EAAS,KAAK,EACjC,MAAO,CACL,KAAM,EACN,MAAO,EACP,IAAK,EAAK,KAAO,EACjB,MAAO,EAAK,KAGZ,QAAS,GACT,OACA,OACA,eACA,KAAM,EAAO,IACf,EAGF,IAAM,EAAgB,OAAO,EAAS,QAAQ,IAAI,gBAAgB,CAAC,EAC7D,EAAQ,OAAO,SAAS,CAAa,EAAI,EAAgB,EAE/D,MAAO,CACL,KAAM,EAAS,KACf,MAAO,EACP,IAAK,EAAQ,EACb,QACA,QAAS,GACT,OACA,OACA,eACA,KAAM,EAAO,IACf,OAQI,KAAI,CAAC,EAAkD,CAC3D,IAAM,EAAO,OAAO,IAAW,SAAW,EAAS,EAAO,KACpD,EAAS,OAAO,IAAW,SAAW,OAAY,EAAO,OACzD,EAAW,MAAM,KAAK,MAAM,CAAE,OAAM,QAAO,CAAC,EAClD,GAAI,CAAC,EAAS,GACZ,MAAM,IAAI,EAAkB,CAAI,EAElC,IAAM,EAAgB,OAAO,EAAS,QAAQ,IAAI,gBAAgB,CAAC,EACnE,GAAI,OAAO,SAAS,CAAa,EAE/B,OADA,MAAM,EAAS,MAAM,OAAO,EACrB,EAET,OAAQ,MAAM,EAAS,KAAK,GAAG,KAEnC,CC3MO,SAAS,EAAa,CAC3B,EACA,EAC4B,CAC5B,GAAI,CAAC,EACH,OAAO,EAGT,IAAM,EAAS,EAAK,UAAU,EAC1B,EAAU,GACV,EAEE,EAAS,IAAM,CAEnB,GADA,EAAU,GACN,EACF,EAAO,oBAAoB,QAAS,CAAO,GAI/C,OAAO,IAAI,eACT,CACE,KAAK,CAAC,EAAY,CAOhB,GANA,EAAU,IAAM,CACd,GAAI,EAAS,OACb,EAAO,EACP,EAAW,MAAM,EAAO,MAAM,EAC9B,EAAO,OAAO,EAAO,MAAM,EAAE,MAAM,IAAM,EAAE,GAEzC,EAAO,QACT,EAAQ,EAER,OAAO,iBAAiB,QAAS,EAAS,CAAE,KAAM,EAAK,CAAC,QAGtD,KAAI,CAAC,EAAY,CACrB,IAAI,EACJ,GAAI,CACF,EAAQ,MAAM,EAAO,KAAK,EAC1B,MAAO,EAAK,CACZ,GAAI,EAAS,OACb,EAAO,EACP,EAAW,MAAM,CAAG,EACpB,OAIF,GAAI,EAAS,OACb,GAAI,EAAM,KAAM,CACd,EAAO,EACP,EAAW,MAAM,EACjB,OAEF,EAAW,QAAQ,EAAM,KAAK,GAEhC,MAAM,CAAC,EAAQ,CAEb,OADA,EAAO,EACA,EAAO,OAAO,CAAM,EAE/B,EAEA,CAAE,cAAe,CAAE,CACrB,EC7DF,gBAAS,WAAO,cAAM,aAAS,YAAQ,WAAO,aAAM,qBACpD,kBAAS,iBAAS,eAAY,cAAU,SAAS,aAK1C,MAAM,WAAyB,EAAkB,CACrC,WAEjB,WAAW,CAAC,EAAqB,CAC/B,MAAM,EACN,KAAK,WAAa,KAwBR,WAAU,EAAW,CAC/B,OAAO,KAAK,YAAc,GAAG,GAAY,iBAGrC,IAAG,CAAC,GAAgC,UAA2B,CAAC,EAAG,CACvE,GAAQ,eAAe,EAEvB,IAAI,EACA,EAEJ,GAAI,aAAkB,KACpB,EAAO,EACP,EAAO,GAAG,IAAI,aAAa,KAAK,EAAO,KAAK,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,KAErE,OAAO,EAAO,KACd,EAAO,EAAO,KAGhB,IAAM,EACJ,aAAgB,OACZ,EACA,aAAgB,MAAQ,aAAgB,KACtC,OAAO,KAAK,MAAM,EAAK,YAAY,CAAC,EACpC,GAEF,EAAO,GAAG,KAAK,cAAc,IAOnC,OAHA,GAAQ,eAAe,EACvB,MAAM,IAAI,MAAM,EAAM,CAAa,EAE5B,OASH,UAAS,EACX,OAAM,SACN,UAA2B,CAAC,EACb,CACjB,IAAM,EAAS,EAAK,UAAU,EAC1B,EAAyB,KAC7B,GAAI,CAEF,GADA,GAAQ,eAAe,EACnB,CAAC,EACH,MAAU,MAAM,iCAAiC,EAEnD,IAAM,EAAO,EAAQ,KAAK,UAAU,EAC9B,EAAO,EAAQ,EAAM,CAAI,EACzB,EAAM,GAAS,EAAM,CAAI,EAC/B,GAAI,CAAC,GAAO,IAAQ,MAAQ,EAAI,WAAW,KAAK,GAAK,GAAK,GAAW,CAAG,EACtE,MAAU,MAAM,sBAAsB,sCAAyC,EAGjF,MAAM,GAAM,GAAQ,CAAI,EAAG,CAAE,UAAW,EAAK,CAAC,EAC9C,EAAU,GAAG,KAAQ,IAAI,aAAa,YACtC,IAAM,EAAO,MAAM,GAAK,EAAS,IAAI,EACrC,GAAI,CACF,OAAS,CACP,GAAQ,eAAe,EACvB,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EAAM,MAEV,QAAS,EAAS,EAAG,EAAS,EAAM,YAAc,CAChD,IAAQ,gBAAiB,MAAM,EAAK,MAAM,EAAO,CAAM,EACvD,GAAU,WAGd,CACA,MAAM,EAAK,MAAM,EAInB,OAFA,GAAQ,eAAe,EACvB,MAAM,GAAO,EAAS,CAAI,EACnB,EACP,MAAO,EAAO,CAId,GADA,MAAM,EAAO,OAAO,CAAK,EAAE,MAAM,IAAM,EAAE,EACrC,EAAS,MAAM,GAAO,CAAO,EAAE,MAAM,IAAM,EAAE,EACjD,MAAM,QAIJ,MAAK,CACT,GACE,UAA6B,CAAC,EAChC,CACA,GAAQ,eAAe,EAEvB,IAAI,EAAS,QAAQ,IAAI,YACrB,EAEJ,GAAI,OAAO,IAAW,SACpB,EAAO,EAEP,OAAS,EAAO,QAAU,EAC1B,EAAO,EAAO,KAGhB,GAAI,CAAC,EACH,MAAU,MAAM,iCAAiC,EAGnD,IAAM,EAAO,GAAG,KAAK,cAAc,IAC7B,EAAO,IAAI,KAAK,CAAI,EAGpB,EAAS,GAAc,IAAI,KAAK,CAAI,EAAE,OAAO,EAAG,CAAM,EACtD,EAAO,IAAI,KAAK,EAAK,YAAY,EAAE,YAAY,EAErD,OAAO,IAAI,SAAS,EAAQ,CAC1B,QAAS,CACP,eAAgB,EAAK,KACrB,iBAAkB,OAAO,EAAK,IAAI,EAClC,gBAAiB,0CAEjB,gBAAiB,CACnB,CACF,CAAC,OAGG,KAAI,CAAC,EAAqD,CAC9D,IAAM,EAAS,OAAO,IAAU,SAAW,CAAE,KAAM,CAAM,EAAI,GACrD,OAAM,QAAQ,MAAS,EAE/B,GAAI,CAAC,EACH,MAAU,MAAM,iCAAiC,EAGnD,IAAM,EAAO,IAAI,KAAK,GAAG,KAAK,cAAc,GAAM,EAKlD,GAAI,CAAE,MAAM,EAAK,OAAO,EACtB,MAAM,IAAI,EAAkB,CAAI,EAGlC,IAAM,EAAQ,EAAK,KACb,EAAW,EAAQ,GAAa,EAAO,CAAK,EAAI,KAEtD,GAAI,GAAS,CAAC,EACZ,MAAM,IAAI,GAAyB,CAAK,EAG1C,IAAM,EAAQ,GAAU,OAAS,EAC3B,EAAM,EAAW,EAAS,IAAM,EAAQ,EAE9C,MAAO,CAGL,KAAM,EAAW,EAAK,MAAM,EAAO,EAAM,CAAC,EAAI,EAC9C,QACA,MACA,QACA,QAAS,QAAQ,CAAQ,EACzB,KAAM,EAAK,MAAQ,2BACnB,aAAc,IAAI,KAAK,EAAK,YAAY,EACxC,MACF,OAGI,KAAI,CAAC,EAAiC,CAC1C,IAAM,EAAO,OAAO,IAAW,SAAW,EAAS,EAAO,KACpD,EAAO,IAAI,KAAK,GAAG,KAAK,cAAc,GAAM,EAClD,GAAI,CAAE,MAAM,EAAK,OAAO,EACtB,MAAM,IAAI,EAAkB,CAAI,EAElC,OAAO,EAAK,UAGR,OAAM,CAAC,EAAmC,CAC9C,IAAM,EAAO,OAAO,IAAW,SAAW,EAAS,EAAO,KAE1D,GAAI,CAAC,EACH,MAAU,MAAM,iCAAiC,EAKnD,IAAM,EAAO,EAAQ,KAAK,UAAU,EAC9B,EAAO,EAAQ,EAAM,CAAI,EACzB,EAAM,GAAS,EAAM,CAAI,EAC/B,GAAI,CAAC,GAAO,IAAQ,MAAQ,EAAI,WAAW,KAAK,GAAK,GAAK,GAAW,CAAG,EACtE,MAAU,MAAM,uBAAuB,sCAAyC,EAGlF,GAAI,CACF,MAAM,GAAO,CAAI,EACjB,MAAO,EAAU,CAEjB,GAAI,GAAK,OAAS,SAChB,OAEF,MAAM,GAUF,aAAa,CAAC,EAAgB,CACpC,IAAM,EAAO,EAAQ,KAAK,UAAU,EAC9B,EAAQ,EAAO,YAAY,GAAG,EAC9B,EAAU,IAAU,GAAK,GAAK,EAAO,MAAM,EAAG,CAAK,EACnD,EAAW,IAAU,GAAK,EAAS,EAAO,MAAM,EAAQ,CAAC,EACzD,EAAM,EAAQ,EAAM,CAAO,EAC3B,EAAM,GAAS,EAAM,CAAG,EAC9B,GAAI,IAAQ,MAAQ,EAAI,WAAW,KAAK,GAAK,GAAK,GAAW,CAAG,EAC9D,MAAU,MAAM,qBAAqB,sCAA2C,EAElF,IAAM,EAAS,EAAI,MAAM,CAAG,EAAE,KAAK,GAAG,EACtC,MAAO,CAAE,OAAM,MAAK,MAAO,EAAS,GAAG,KAAU,IAAa,CAAS,QASlE,OAAO,CACZ,GACE,UAA+B,CAAC,EACL,CAC7B,GAAQ,eAAe,EACvB,IAAQ,OAAM,MAAK,SAAU,KAAK,cAAc,CAAM,EAEhD,EAAkB,CAAC,EACnB,EAAO,MAAO,IAAmC,CACrD,IAAI,EACJ,GAAI,CACF,EAAU,MAAM,GAAQ,EAAS,CAAE,cAAe,EAAK,CAAC,EACxD,MAAO,EAAU,CACjB,GAAI,GAAK,OAAS,UAAY,GAAK,OAAS,UAAW,OACvD,MAAM,EAER,QAAW,KAAS,EAAS,CAC3B,IAAM,EAAO,GAAG,IAAU,IAAM,EAAM,OAChC,EAAO,GAAS,EAAM,CAAI,EAAE,MAAM,CAAG,EAAE,KAAK,GAAG,EACrD,GAAI,EAAM,YAAY,GAGpB,GAAI,GAAG,KAAQ,WAAW,CAAK,GAAK,EAAM,WAAW,GAAG,IAAO,EAC7D,MAAM,EAAK,CAAI,EAEZ,QAAI,EAAM,OAAO,GAAK,EAAK,WAAW,CAAK,EAChD,EAAM,KAAK,CAAI,IAIrB,MAAM,EAAK,CAAG,EACd,EAAM,KAAK,EAEX,QAAW,KAAQ,EAAO,CACxB,GAAQ,eAAe,EACvB,IAAI,EACJ,GAAI,CACF,EAAO,MAAM,GAAK,GAAG,KAAQ,GAAM,EACnC,MAAO,EAAU,CAEjB,GAAI,GAAK,OAAS,SAAU,SAC5B,MAAM,EAER,KAAM,CAAE,OAAM,KAAM,EAAK,KAAM,aAAc,EAAK,KAAM,QAQtD,aAAY,CAChB,EACA,EAA+B,CAAC,EACf,CACjB,GAAsB,CAAM,EAC5B,IAAQ,OAAM,SAAU,KAAK,cAAc,CAAM,EAEjD,GAAsB,CAAK,EAE3B,IAAM,EAAU,MAAM,MAAM,aAAa,EAAQ,CAAO,EAExD,GAAI,EAAU,EACZ,MAAM,KAAK,eAAe,EAAM,CAAK,EAEvC,OAAO,OAGK,eAAc,CAAC,EAAc,EAAe,CAGxD,IAAM,EAAiB,CAAC,EAClB,EAAU,MAAO,IAAmC,CACxD,IAAI,EACJ,GAAI,CACF,EAAU,MAAM,GAAQ,EAAS,CAAE,cAAe,EAAK,CAAC,EACxD,KAAM,CACN,OAEF,QAAW,KAAS,EAAS,CAC3B,GAAI,CAAC,EAAM,YAAY,EAAG,SAC1B,IAAM,EAAO,GAAG,IAAU,IAAM,EAAM,OAChC,EAAO,GAAS,EAAM,CAAI,EAAE,MAAM,CAAG,EAAE,KAAK,GAAG,EACrD,GAAI,GAAG,KAAQ,WAAW,CAAK,GAAK,EAAM,WAAW,GAAG,IAAO,GAE7D,GADA,MAAM,EAAQ,CAAI,EACd,GAAG,KAAQ,WAAW,CAAK,EAAG,EAAK,KAAK,CAAI,KAItD,MAAM,EAAQ,CAAI,EAElB,QAAW,KAAO,EAChB,GAAI,CACF,MAAM,GAAM,CAAG,EACf,KAAM,QAON,KAAI,EAAG,CAGX,OAFc,MAAM,GAAQ,KAAK,UAAU,EAI/C,CCxXO,SAAS,EAAsB,CACpC,EACkB,CAClB,OAAO,EAGF,SAAS,EAAwB,EAA+B,CACrE,MAAO,CACL,OAAQ,IAAI,EACd,ECdK,MAAM,EAAkB,OACtB,OAAQ,aAEN,OAET,WAAW,CAAC,EAA2B,CAAC,EAAG,CACzC,KAAK,OAAS,EAAO,QAAU,GAAyB,EAAE,OAE9D,CCHO,MAAM,UAAuB,KAAM,CAC/B,KAAe,aAEf,IAET,WAAW,CAAC,EAAiB,EAAa,EAA+B,CACvE,MAAM,EAAS,CAAO,EACtB,KAAK,KAAO,WAAW,KACvB,KAAK,IAAM,EAEf,CAKO,MAAM,UAAwB,CAAe,CAIvC,OAHO,KAAO,cACzB,WAAW,CACT,EACS,EACT,EACA,CACA,MAAM,EAAS,CAAG,EAHT,cAKb,CAGO,MAAM,WAAyB,CAAe,CAIxC,KACA,OAJO,KAAO,eACzB,WAAW,CACT,EACS,EACA,EACT,CACA,MACE,IAAW,SACP,eAAe,qBACf,GAAG,wDACP,CACF,EARS,YACA,cASb,CAMO,MAAM,UAA4B,CAAe,CAI3C,KACA,QACA,MALO,KAAO,kBACzB,WAAW,CACT,EACS,EACA,EACA,EACT,CACA,MACE,IAAS,EACL,GAAG,8BAAoC,MACvC,GAAG,iBAAoB,qCAA2C,MACtE,CACF,EATS,YACA,eACA,aASb,CAGO,MAAM,WAAiB,CAAe,CAIhC,KAHO,KAAO,MACzB,WAAW,CACT,EACS,EACT,EACA,CACA,MAAM,oBAAoB,KAAS,EAAK,CAAE,OAAM,CAAC,EAHxC,YAKb,CAGO,MAAM,WAAqB,CAAe,CAIpC,MACA,GAJO,KAAO,UACzB,WAAW,CACT,EACS,EACA,EACT,CACA,MACE,IAAU,UACN,2BAA2B,QAC3B,oCAAoC,QACxC,CACF,EARS,aACA,UASb,CAGO,MAAM,WAAsB,CAAe,CAIrC,MAHO,KAAO,YACzB,WAAW,CACT,EACS,EACT,CACA,MAAM,+BAA+B,WAAgB,CAAG,EAF/C,aAIb,CAGO,MAAM,WAAyB,CAAe,CAIxC,YACA,QAJO,KAAO,eACzB,WAAW,CACT,EACS,EACA,EACT,CACA,MACE,mBAAmB,GAAe,6BAA6B,EAAQ,KAAK,MAAM,KAClF,CACF,EANS,mBACA,eAOb,CAGO,MAAM,WAA8B,CAAe,CAI7C,MAHO,KAAO,qBACzB,WAAW,CACT,EACS,EACT,CACA,MAAM,aAAa,eAAoB,CAAG,EAFjC,aAIb,CAGO,MAAM,UAAqB,CAAe,CAC7B,KAAO,UACzB,WAAW,CAAC,EAAa,EAAgB,CACvC,MACE,uBAAuB,aAAiB,MAAQ,EAAM,QAAU,OAAO,CAAK,IAC5E,EACA,CAAE,OAAM,CACV,EAEJ,CAOO,MAAM,WAAwB,CAAe,CAIvC,OAHO,KAAO,cACzB,WAAW,CACT,EACS,EACT,CACA,MAAM,uBAAuB,KAAW,CAAG,EAFlC,cAIb,CC/HO,SAAS,EAAS,CAAC,EAAkC,CAC1D,GAAI,IAAU,GAAI,OAAO,KACzB,IAAM,EAAQ,EAAM,MAAM,GAAG,EAE7B,GAAI,EAAM,OAAS,GAAK,EAAM,EAAM,OAAS,KAAO,GAAI,EAAM,IAAI,EAClE,GAAI,EAAM,SAAW,GAAK,EAAM,OAAS,EAAG,OAAO,KACnD,IAAM,EAAoB,CAAC,EAC3B,QAAW,KAAQ,EAAO,CACxB,IAAM,EAAQ,GAAc,CAAI,EAChC,GAAI,IAAU,KAAM,OAAO,KAC3B,EAAQ,KAAK,CAAK,EAEpB,IAAM,EAAO,EAAQ,IAAI,EACzB,QAAW,KAAS,EAAS,GAAI,EAAQ,IAAK,OAAO,KACrD,GAAI,GAAQ,MAAQ,EAAI,EAAQ,QAAS,OAAO,KAChD,IAAI,EAAQ,EAIZ,OAHA,EAAQ,QAAQ,CAAC,EAAO,IAAU,CAChC,GAAS,EAAQ,MAAQ,EAAI,GAC9B,EACM,IAAI,WAAW,CACpB,KAAK,MAAM,EAAQ,QAAO,EAAI,IAC9B,KAAK,MAAM,EAAQ,KAAO,EAAI,IAC9B,KAAK,MAAM,EAAQ,GAAM,EAAI,IAC7B,EAAQ,GACV,CAAC,EAGH,SAAS,EAAa,CAAC,EAA6B,CAClD,GAAI,IAAS,GAAI,OAAO,KACxB,IAAI,EAAS,EACT,EAAQ,GACZ,GAAI,OAAO,KAAK,CAAM,GAGpB,GAFA,EAAS,EAAO,MAAM,CAAC,EACvB,EAAQ,GACJ,IAAW,GAAI,MAAO,GACrB,QAAI,EAAO,OAAS,GAAK,EAAO,WAAW,GAAG,EACnD,EAAS,EAAO,MAAM,CAAC,EACvB,EAAQ,EAIV,GAAI,EADF,IAAU,GAAK,eAAiB,IAAU,EAAI,WAAa,YAChD,KAAK,CAAM,EAAG,OAAO,KAClC,IAAM,EAAQ,SAAS,EAAQ,CAAK,EACpC,OAAO,OAAO,cAAc,CAAK,EAAI,EAAQ,KAOxC,SAAS,EAAS,CAAC,EAAkC,CAC1D,IAAI,EAAO,EACX,GAAI,EAAK,WAAW,GAAG,GAAK,EAAK,SAAS,GAAG,EAAG,EAAO,EAAK,MAAM,EAAG,EAAE,EACvE,IAAM,EAAO,EAAK,QAAQ,GAAG,EAC7B,GAAI,IAAS,GAAI,EAAO,EAAK,MAAM,EAAG,CAAI,EAC1C,GAAI,CAAC,EAAK,SAAS,GAAG,EAAG,OAAO,KAEhC,IAAM,EAAS,EAAK,MAAM,IAAI,EAC9B,GAAI,EAAO,OAAS,EAAG,OAAO,KAC9B,IAAM,EAAc,CAAC,EAAc,IAAuC,CACxE,GAAI,IAAS,GAAI,MAAO,CAAC,EACzB,IAAM,EAAmB,CAAC,EACpB,EAAS,EAAK,MAAM,GAAG,EAC7B,QAAS,EAAQ,EAAG,EAAQ,EAAO,OAAQ,IAAS,CAClD,IAAM,EAAQ,EAAO,GACrB,GAAI,GAAY,IAAU,EAAO,OAAS,GAAK,EAAM,SAAS,GAAG,EAAG,CAClE,GAAI,CAAC,0BAA0B,KAAK,CAAK,EAAG,OAAO,KACnD,IAAM,EAAK,EAAM,MAAM,GAAG,EAAE,IAAI,MAAM,EACtC,GAAI,EAAG,KAAK,CAAC,IAAS,EAAO,GAAG,EAAG,OAAO,KAC1C,EAAO,KAAM,EAAG,IAAM,EAAK,EAAG,GAAK,EAAG,IAAM,EAAK,EAAG,EAAE,EACtD,SAEF,GAAI,CAAC,mBAAmB,KAAK,CAAK,EAAG,OAAO,KAC5C,EAAO,KAAK,SAAS,EAAO,EAAE,CAAC,EAEjC,OAAO,GAEH,EAAO,EAAY,EAAO,GAAI,EAAO,SAAW,CAAC,EACjD,EAAO,EAAO,SAAW,EAAI,EAAY,EAAO,GAAI,EAAI,EAAI,CAAC,EACnE,GAAI,CAAC,GAAQ,CAAC,EAAM,OAAO,KAC3B,IAAI,EACJ,GAAI,EAAO,SAAW,EAAG,CACvB,IAAM,EAAU,EAAI,EAAK,OAAS,EAAK,OACvC,GAAI,EAAU,EAAG,OAAO,KACxB,EAAS,CAAC,GAAG,EAAM,GAAG,MAAM,KAAK,CAAE,OAAQ,CAAQ,EAAG,IAAM,CAAC,EAAG,GAAG,CAAI,EAEvE,OAAS,EAEX,GAAI,EAAO,SAAW,EAAG,OAAO,KAChC,IAAM,EAAQ,IAAI,WAAW,EAAE,EAK/B,OAJA,EAAO,QAAQ,CAAC,EAAO,IAAU,CAC/B,EAAM,EAAQ,GAAK,GAAS,EAC5B,EAAM,EAAQ,EAAI,GAAK,EAAQ,IAChC,EACM,EAIF,SAAS,EAAY,CAAC,EAAqC,CAChE,IAAM,EAAK,GAAU,CAAK,EAC1B,GAAI,EAAI,MAAO,CAAE,OAAQ,EAAG,MAAO,CAAG,EACtC,IAAM,EAAK,GAAU,CAAK,EAC1B,GAAI,EAAI,MAAO,CAAE,OAAQ,EAAG,MAAO,CAAG,EACtC,OAAO,KAOF,SAAS,CAAK,CAAC,EAAuC,CAC3D,GAAI,EAAQ,SAAW,GAAK,GAAS,EAAQ,KAAK,EAChD,MAAO,CAAE,OAAQ,EAAG,MAAO,EAAQ,MAAM,MAAM,EAAE,CAAE,EAErD,OAAO,EAGT,SAAS,EAAQ,CAAC,EAAmB,CACnC,QAAS,EAAQ,EAAG,EAAQ,GAAI,IAAS,GAAI,EAAM,KAAW,EAAG,MAAO,GACxE,OAAO,EAAM,MAAQ,KAAQ,EAAM,MAAQ,IAGtC,SAAS,EAAa,CAAC,EAAgC,CAC5D,GAAI,EAAQ,SAAW,EAAG,OAAO,MAAM,KAAK,EAAQ,KAAK,EAAE,KAAK,GAAG,EACnE,IAAM,EAAmB,CAAC,EAC1B,QAAS,EAAQ,EAAG,EAAQ,GAAI,GAAS,EACvC,EAAO,MACH,EAAQ,MAAM,IAAU,EAAK,EAAQ,MAAM,EAAQ,IAAI,SAAS,EAAE,CACtE,EAEF,OAAO,EAAO,KAAK,GAAG,EAMjB,SAAS,CAAS,CAAC,EAA4B,CACpD,IAAM,EAAQ,EAAM,YAAY,GAAG,EAC7B,EAAc,IAAU,GAAK,EAAQ,EAAM,MAAM,EAAG,CAAK,EAEzD,EAAU,YAAY,KAAK,CAAW,EACxC,GAAW,CAAW,EACtB,GAAU,CAAW,EACzB,GAAI,CAAC,EAAS,OAAO,KACrB,IAAM,EAAS,EACb,EAAQ,SAAW,EACf,CAAE,OAAQ,EAAG,MAAO,CAAQ,EAC5B,CAAE,OAAQ,EAAG,MAAO,CAAQ,CAClC,EACM,EAAM,EAAO,SAAW,EAAI,GAAK,IACnC,EAAS,EACb,GAAI,IAAU,GAAI,CAChB,IAAM,EAAa,EAAM,MAAM,EAAQ,CAAC,EACxC,GAAI,CAAC,YAAY,KAAK,CAAU,EAAG,OAAO,KAG1C,GAFA,EAAS,OAAO,CAAU,EAEtB,EAAQ,SAAW,IAAM,EAAO,SAAW,EAAG,GAAU,GAC5D,GAAI,EAAS,GAAK,EAAS,EAAK,OAAO,KAEzC,MAAO,CAAE,OAAQ,EAAO,OAAQ,MAAO,EAAO,MAAO,QAAO,EAG9D,SAAS,EAAU,CAAC,EAAc,CAChC,MAAO,0BAA0B,KAAK,CAAI,GACxC,EAAK,MAAM,GAAG,EAAE,MAAM,CAAC,IAAS,OAAO,CAAI,GAAK,GAAG,EACjD,IAAI,WAAW,EAAK,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,EAC1C,KAGC,SAAS,CAAM,CAAC,EAAwB,EAAqB,CAClE,IAAM,EAAQ,EAAM,CAAO,EAC3B,GAAI,EAAM,SAAW,EAAK,OAAQ,MAAO,GACzC,IAAI,EAAY,EAAK,OACrB,QAAS,EAAQ,EAAG,EAAY,EAAG,IAAS,CAC1C,IAAM,EAAO,KAAK,IAAI,EAAG,CAAS,EAC5B,EAAQ,KAAS,EAAI,EAAS,IACpC,IAAK,EAAM,MAAM,GAAS,MAAW,EAAK,MAAM,GAAS,GACvD,MAAO,GACT,GAAa,EAEf,MAAO,GAGT,IAAM,EAAQ,CAAC,EAAc,KAAwB,CACnD,KAAM,EAAU,CAAI,EACpB,OACA,KAAM,CACR,GAKM,GAAc,CAClB,EAAM,YAAa,aAAa,EAChC,EAAM,aAAc,SAAS,EAC7B,EAAM,gBAAiB,QAAQ,EAC/B,EAAM,cAAe,UAAU,EAC/B,EAAM,qBAAsB,UAAU,EACtC,EAAM,iBAAkB,YAAY,EACpC,EAAM,mBAAoB,UAAU,EACpC,EAAM,gBAAiB,SAAS,EAChC,EAAM,eAAgB,UAAU,EAChC,EAAM,eAAgB,eAAe,EACrC,EAAM,iBAAkB,UAAU,EAClC,EAAM,iBAAkB,SAAS,EACjC,EAAM,gBAAiB,cAAc,EACrC,EAAM,kBAAmB,eAAe,EACxC,EAAM,iBAAkB,eAAe,EACvC,EAAM,cAAe,WAAW,EAChC,EAAM,qBAAsB,WAAW,EACvC,EAAM,cAAe,UAAU,CACjC,EAEM,GAAc,CAClB,EAAM,SAAU,aAAa,EAC7B,EAAM,UAAW,UAAU,EAC3B,EAAM,iBAAkB,SAAS,EAEjC,EAAM,OAAQ,UAAU,EACxB,EAAM,WAAY,UAAU,EAC5B,EAAM,gBAAiB,eAAe,EAEtC,EAAM,YAAa,UAAU,EAC7B,EAAM,YAAa,eAAe,EAClC,EAAM,oBAAqB,UAAU,EACrC,EAAM,WAAY,cAAc,EAChC,EAAM,YAAa,YAAY,EAC/B,EAAM,YAAa,SAAS,EAC5B,EAAM,WAAY,WAAW,CAC/B,EAEM,GAAQ,EAAU,cAAc,EAChC,GAAc,EAAU,WAAW,EACnC,GAAiB,EAAU,UAAU,EASpC,SAAS,EAAe,CAC7B,EACuB,CACvB,IAAM,EAAS,OAAO,IAAU,SAAW,GAAa,CAAK,EAAI,EACjE,GAAI,CAAC,EAAQ,MAAO,CAAE,KAAM,WAAY,MAAO,mBAAoB,EACnE,IAAM,EAAU,EAAM,CAAM,EAC5B,GAAI,EAAQ,SAAW,EAAG,CACxB,IAAM,EAAQ,GAAY,KAAK,CAAC,IAAU,EAAO,EAAS,EAAM,IAAI,CAAC,EACrE,OAAO,EAAQ,CAAE,KAAM,EAAM,KAAM,MAAO,EAAM,IAAK,EAAI,KAE3D,GAAI,EAAO,EAAS,EAAK,EACvB,OAAO,GAAgB,CAAE,OAAQ,EAAG,MAAO,EAAQ,MAAM,MAAM,EAAE,CAAE,CAAC,EAEtE,GAAI,EAAO,EAAS,EAAW,EAC7B,OAAO,GAAgB,CAAE,OAAQ,EAAG,MAAO,EAAQ,MAAM,MAAM,EAAG,CAAC,CAAE,CAAC,EAExE,IAAM,EAAQ,GAAY,KAAK,CAAC,IAAU,EAAO,EAAS,EAAM,IAAI,CAAC,EACrE,GAAI,EAAO,MAAO,CAAE,KAAM,EAAM,KAAM,MAAO,EAAM,IAAK,EAExD,OAAO,EAAO,EAAS,EAAc,EACjC,KACA,CAAE,KAAM,WAAY,MAAO,kBAAmB,EAI7C,SAAS,EAAW,CAAC,EAAkB,EAAkB,CAC9D,IAAM,EAAO,EAAM,CAAC,EACd,EAAQ,EAAM,CAAC,EACrB,OACE,EAAK,SAAW,EAAM,QACtB,EAAK,MAAM,MAAM,CAAC,EAAM,IAAU,IAAS,EAAM,MAAM,EAAM,ECpTjE,iBAAS,sBACT,wBACA,yBAGA,uBAkFO,MAAM,WAAqB,QAAS,CAChC,GACA,GAKA,QAET,WAAW,CACT,EACA,EACA,EACA,CACA,MAAM,EAAM,CAAI,EAChB,KAAK,GAAO,EAAK,IACjB,KAAK,GAAc,EAAK,WACxB,KAAK,QAAU,EAAK,WAGT,IAAG,EAAG,CACjB,OAAO,KAAK,MAGD,WAAU,EAAG,CACxB,OAAO,KAAK,GAEhB,CAEA,IAAM,GAAW,CACf,QAAS,MACT,eAAgB,IAChB,QAAS,SACT,aAAc,EACd,MAAO,CAAC,GAAI,GAAG,CACjB,EAEM,GAAY,IAAI,IAAI,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,EAC7C,GAAY,IAAI,IAAI,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,EAE7C,GAAoB,CACxB,OACA,aACA,iBACA,oBACA,aACA,SACF,EAEM,GAAqB,CAAC,gBAAiB,SAAU,qBAAqB,EA2B5E,eAAsB,EAAS,CAC7B,EACA,EAA4B,CAAC,EACN,CACvB,IAAM,EAAS,GAAc,CAAO,EAC9B,EAAQ,EAAQ,OACtB,GAAO,eAAe,EAEtB,IAAM,EAAa,IAAI,gBACjB,EAAS,EAAW,OACtB,EAAa,OAAO,CAAK,EACvB,EAAY,CAAC,IAAoB,CACrC,GAAI,CAAC,EAAO,QAAS,EAAW,MAAM,CAAM,GAExC,EAAa,WACjB,IAAM,EAAU,IAAI,GAAa,EAAY,QAAS,EAAO,OAAO,CAAC,EACrE,EAAO,OACT,EACM,EAAe,IAAM,EAAU,EAAO,MAAM,EAClD,GAAO,iBAAiB,QAAS,EAAc,CAAE,KAAM,EAAK,CAAC,EAC7D,IAAM,EAAU,IAAM,CACpB,aAAa,CAAU,EACvB,GAAO,oBAAoB,QAAS,CAAY,GAGlD,GAAI,CACF,IAAI,EAAM,GAAS,EAAY,CAAM,EACjC,GAAU,EAAQ,QAAU,OAAO,YAAY,EAC7C,EAAU,IAAI,QAAQ,EAAQ,OAAO,EAC3C,QAAW,KAAQ,GAAmB,EAAQ,OAAO,CAAI,EACzD,GAAI,CAAC,EAAQ,IAAI,QAAQ,EAAG,EAAQ,IAAI,SAAU,KAAK,EAEvD,GAAI,CAAC,EAAQ,IAAI,YAAY,EAAG,EAAQ,IAAI,aAAc,MAAM,EAChE,GAAI,CAAC,EAAQ,IAAI,iBAAiB,EAChC,EAAQ,IAAI,kBAAmB,mBAAmB,EACpD,IAAI,EAAO,MAAM,GAAS,EAAQ,EAAQ,KAAM,CAAO,EAEvD,QAAS,EAAM,GAAK,IAAO,CACzB,EAAa,EAAI,KACjB,IAAQ,UAAS,WAAU,WAAY,MAAM,GAC3C,EACA,EACA,EACA,EACA,EACA,CACF,EACM,EAAS,EAAS,YAAc,EAChC,EAAW,EAAS,QAAQ,SAElC,GAAI,GAAU,IAAI,CAAM,GAAK,GAAY,EAAQ,WAAa,SAAU,CAEtE,GADA,EAAQ,QAAQ,EACZ,GAAO,EAAO,aAChB,MAAM,IAAI,GAAsB,EAAI,KAAM,EAAO,YAAY,EAE/D,IAAI,EACJ,GAAI,CACF,EAAO,IAAI,IAAI,EAAU,CAAG,EAC5B,KAAM,CACN,MAAM,IAAI,EACR,EACA,YACA,oBAAoB,kBACtB,EAEF,GACE,IAAW,IACP,IAAW,QACV,IAAW,KAAO,IAAW,MAAQ,IAAW,OACrD,CACA,EAAS,MACT,EAAO,KACP,IAAM,EAAwB,CAAC,EAC/B,EAAQ,QAAQ,CAAC,EAAG,IAAS,CAC3B,GAAI,EAAK,WAAW,UAAU,EAAG,EAAY,KAAK,CAAI,EACvD,EACD,QAAW,KAAQ,EAAa,EAAQ,OAAO,CAAI,EAErD,GAAI,EAAK,SAAW,EAAI,OACtB,QAAW,KAAQ,GAAoB,EAAQ,OAAO,CAAI,EAC5D,EAAM,GAAS,EAAK,KAAM,CAAM,EAChC,SAGF,OAAO,GAAW,CAChB,MACA,MACA,SACA,UACA,WACA,UACA,SACA,SACA,SACF,CAAC,GAEH,MAAO,EAAO,CAEd,MADA,EAAQ,EACF,EAAO,QAAU,EAAO,OAAS,GAI3C,SAAS,EAAa,CAAC,EAAmC,CACxD,IAAM,EAAQ,CAAC,EAAyB,IAA0B,CAChE,IAAM,EAAgB,CAAE,MAAO,CAAC,EAAG,OAAQ,CAAC,CAAE,EAC9C,QAAW,KAAS,EAAM,CAGxB,IAAM,EACJ,EAAM,SAAS,GAAG,GAAK,EAAM,SAAS,GAAG,GAAK,WAAW,KAAK,CAAK,EAC/D,EAAO,EAAc,EAAU,CAAK,EAAI,KAC9C,GAAI,EAAM,EAAO,OAAO,KAAK,CAAI,EAC5B,QACH,CAAC,GACD,yCAAyC,KAAK,CAAK,EAEnD,EAAO,MAAM,KAAK,GAAc,CAAK,CAAC,EAEtC,WAAU,UACR,eAAe,SAAa,sCAC9B,EAGJ,OAAO,GAEH,EAAe,EAAQ,aAC7B,MAAO,CACL,QAAS,EAAQ,SAAW,GAAS,QACrC,eAAgB,EAAQ,gBAAkB,GAAS,eACnD,QAAS,EAAQ,SAAW,GAAS,QACrC,aAAc,EAAQ,cAAgB,GAAS,aAC/C,MAAO,EAAQ,OAAS,GAAS,MACjC,MACE,EAAQ,OAAS,EAAQ,MAAM,OAAS,EACpC,EAAM,EAAQ,MAAO,OAAO,EAC5B,KACN,KAAM,EAAM,EAAQ,MAAQ,CAAC,EAAG,MAAM,EACtC,aACE,IAAiB,GACb,GACA,EAAM,GAAgB,CAAC,EAAG,cAAc,EAAE,OAChD,aAAc,EAAQ,cAAc,OAAS,EAAQ,aAAe,KACpE,QAAS,EAAQ,SAAW,EAC9B,EAGF,eAAe,EAAa,CAAC,EAAkB,CAE7C,OADgB,MAAM,GAAU,EAAU,CAAE,IAAK,GAAM,SAAU,EAAK,CAAC,GACxD,IAAI,CAAC,IAAW,EAAO,OAAO,EAG/C,SAAS,EAAa,CAAC,EAAc,CACnC,OAAO,EAAK,YAAY,EAAE,QAAQ,MAAO,EAAE,EAG7C,SAAS,EAAW,CAAC,EAAc,EAAoB,CACrD,OAAO,EAAS,KAAK,CAAC,IACpB,EAAQ,WAAW,IAAI,EACnB,EAAK,SAAS,EAAQ,MAAM,CAAC,CAAC,EAC9B,IAAS,CACf,EAGF,SAAS,EAAQ,CAAC,EAAc,EAAqB,CACnD,IAAI,EACJ,GAAI,CACF,EAAM,IAAI,IAAI,CAAI,EAClB,KAAM,CACN,MAAM,IAAI,EAAgB,EAAM,YAAa,IAAI,kBAAqB,EAExE,GAAI,EAAI,WAAa,SAAW,EAAI,WAAa,SAC/C,MAAM,IAAI,EACR,EAAI,KACJ,SACA,gDAAgD,EAAI,SAAS,MAAM,EAAG,EAAE,IAC1E,EAEF,GAAI,EAAI,UAAY,EAAI,SACtB,MAAM,IAAI,EACR,EAAI,KACJ,cACA,2CACF,EAEF,IAAM,EAAO,GAAc,CAAG,EAC9B,GAAI,EAAO,QAAU,OAAS,CAAC,EAAO,MAAM,SAAS,CAAI,EACvD,MAAM,IAAI,EAAgB,EAAI,KAAM,OAAQ,QAAQ,mBAAsB,EAE5E,OAAO,EAGT,SAAS,EAAa,CAAC,EAAU,CAC/B,OAAO,EAAI,KAAO,OAAO,EAAI,IAAI,EAAI,EAAI,WAAa,SAAW,IAAM,GAIzE,eAAe,EAAG,CAAC,EAAU,EAAgB,EAAqB,CAGhE,IAAM,EAAO,GAAc,EAAI,SAAS,QAAQ,aAAc,IAAI,CAAC,EAC7D,EAAU,GAAa,CAAI,EAG3B,EACJ,IAAY,OACX,EAAK,SAAS,GAAG,GAAK,uBAAuB,KAAK,CAAI,GAEzD,GAAI,CAAC,GAAa,GAAY,EAAM,EAAO,KAAK,KAAK,EACnD,MAAM,IAAI,GAAiB,EAAI,KAAM,EAAM,QAAQ,EAErD,IAAM,EACJ,CAAC,GACD,EAAO,QAAU,MACjB,GAAY,EAAM,EAAO,MAAM,KAAK,EACtC,GAAI,EAAO,OAAS,CAAC,GAAiB,EAAO,MAAM,OAAO,SAAW,EACnE,MAAM,IAAI,GAAiB,EAAI,KAAM,EAAM,aAAa,EAG1D,IAAI,EACJ,GAAI,EACF,EAAY,CAAC,CAAO,EACf,KACL,IAAI,EACJ,GAAI,CACF,EAAU,MAAM,GAAU,EAAO,QAAQ,CAAI,EAAG,CAAM,EACtD,MAAO,EAAO,CACd,GAAI,EAAO,QAAS,MAAM,EAAO,OACjC,MAAM,IAAI,GAAS,EAAI,KAAM,EAAM,CAAK,EAK1C,GAHA,EAAY,EACT,IAAI,CAAC,IAAW,GAAa,CAAM,CAAC,EACpC,OAAO,CAAC,IAAW,IAAW,IAAI,EACjC,EAAU,SAAW,EAAG,MAAM,IAAI,GAAS,EAAI,KAAM,CAAI,EAI/D,QAAW,KAAW,EAAW,CAC/B,IAAM,EAAO,GAAc,CAAO,EAClC,GAAI,EAAO,KAAK,OAAO,KAAK,CAAC,IAAU,EAAO,EAAS,CAAK,CAAC,EAC3D,MAAM,IAAI,EAAoB,EAAI,KAAM,EAAM,EAAM,QAAQ,EAE9D,GACE,EAAO,OACP,CAAC,GACD,CAAC,EAAO,MAAM,OAAO,KAAK,CAAC,IAAU,EAAO,EAAS,CAAK,CAAC,EAE3D,MAAM,IAAI,EAAoB,EAAI,KAAM,EAAM,EAAM,aAAa,EAEnE,IAAM,EAAU,GAAgB,CAAO,EACvC,GACE,GACA,EAAO,eAAiB,IACxB,CAAC,EAAO,aAAa,KAAK,CAAC,IAAU,EAAO,EAAS,CAAK,CAAC,EAE3D,MAAM,IAAI,EAAoB,EAAI,KAAM,EAAM,EAAM,EAAQ,IAAI,EAGpE,MAAO,CAAE,OAAM,YAAW,WAAU,EAGtC,SAAS,EAAY,CAAC,EAAqB,EAAiC,CAC1E,GAAI,EAAO,QAAS,OAAO,QAAQ,OAAO,EAAO,MAAM,EACvD,OAAO,IAAI,QAAW,CAAC,EAAS,IAAW,CACzC,IAAM,EAAU,IAAM,EAAO,EAAO,MAAM,EAC1C,EAAO,iBAAiB,QAAS,EAAS,CAAE,KAAM,EAAK,CAAC,EACxD,EAAQ,KACN,CAAC,IAAU,CACT,EAAO,oBAAoB,QAAS,CAAO,EAC3C,EAAQ,CAAK,GAEf,CAAC,IAAU,CACT,EAAO,oBAAoB,QAAS,CAAO,EAC3C,EAAO,CAAK,EAEhB,EACD,EAGH,eAAe,EAAQ,CACrB,EACA,EACA,EACA,CACA,GAAI,IAAS,QAAa,IAAS,KAAM,OAAO,KAChD,GAAI,IAAW,OAAS,IAAW,OACjC,MAAU,UAAU,gBAAgB,8BAAmC,EAIzE,IAAM,EAAU,IAAI,QAAQ,uBAAwB,CAAE,OAAQ,OAAQ,MAAK,CAAC,EACtE,EAAO,EAAQ,QAAQ,IAAI,cAAc,EAC/C,GAAI,GAAQ,CAAC,EAAQ,IAAI,cAAc,EAAG,EAAQ,IAAI,eAAgB,CAAI,EAC1E,OAAO,IAAI,WAAW,MAAM,EAAQ,YAAY,CAAC,EAUnD,eAAe,EAAI,CACjB,EACA,EACA,EACA,EACA,EACA,EACe,CACf,IAAM,EAAoB,IAAI,gBACxB,EAAe,WACnB,IACE,EAAkB,MAChB,IAAI,GAAa,EAAI,KAAM,UAAW,EAAO,cAAc,CAC7D,EACF,EAAO,cACT,EACM,EAAgB,YAAY,IAAI,CAAC,EAAQ,EAAkB,MAAM,CAAC,EACxE,GAAI,CACF,IAAQ,OAAM,YAAW,aAAc,MAAM,GAC3C,EACA,EACA,CACF,EACM,EAAS,EAAI,WAAa,SAC1B,EAAmC,CAAC,EAI1C,GAHA,EAAQ,QAAQ,CAAC,EAAO,IAAS,CAC/B,EAAS,GAAQ,EAClB,EACG,EAAM,EAAS,kBAAoB,OAAO,EAAK,UAAU,EAE7D,OAAO,MAAM,IAAI,QAAc,CAAC,EAAS,IAAW,CAClD,IAAM,EAAgC,CACpC,SACA,OACA,KAAM,GAAc,CAAG,EACvB,KAAM,GAAG,EAAI,WAAW,EAAI,SAC5B,QAAS,EAGT,MAAO,GAEP,OAAS,CACP,EACA,EACA,IACG,CACH,IAAM,EAAS,GAAe,OACxB,EAAa,EAAU,OAC3B,CAAC,KAAY,CAAC,GAAU,GAAQ,SAAW,CAC7C,EACA,GAAI,EAAW,SAAW,EACxB,EACE,OAAO,OAAW,MAAM,SAAS,iBAAsB,GAAM,EAAG,CAC9D,KAAM,WACR,CAAC,CACH,EACK,QAAI,GAAe,IACxB,EACE,KACA,EAAW,IAAI,CAAC,MAAa,CAC3B,QAAS,GAAc,EAAO,EAC9B,OAAQ,GAAQ,MAClB,EAAE,CACJ,EAEA,OAAS,KAAM,GAAc,EAAW,EAAE,EAAG,EAAW,GAAG,MAAM,EAGvE,EACA,GAAI,GAAU,CAAC,EAAW,EAAQ,WAAa,EAE/C,IAAM,GAAW,EAAS,GAAQ,IAAM,QAAQ,CAAO,EACnD,EAA6B,KAC3B,EAAO,CAAC,IAAmB,CAC/B,EAAc,oBAAoB,QAAS,CAAO,EAClD,EAAQ,QAAQ,EAChB,EAAO,CAAK,GAER,EAAU,IACd,EAAK,EAAc,QAAU,EAAc,OAAS,EAAO,MAAM,EACnE,EAAc,iBAAiB,QAAS,EAAS,CAAE,KAAM,EAAK,CAAC,EAM/D,IAAM,EAAS,CAAC,IAAsC,CACpD,IAAM,EAAW,GAAQ,cACzB,GAAI,CAAC,GAAY,IAAgB,KAAM,MAAO,GAC9C,IAAM,EAAS,GAAa,CAAQ,EACpC,GACE,CAAC,GACD,CAAC,EAAU,KAAK,CAAC,IAAY,GAAY,EAAS,CAAM,CAAC,EAKzD,OAHA,EACE,IAAI,EAAoB,EAAI,KAAM,EAAM,EAAU,aAAa,CACjE,EACO,GAGT,OADA,EAAc,GAAc,EAAM,CAAM,CAAC,EAClC,IAGT,EAAQ,KAAK,SAAU,CAAC,IAAmB,CACzC,IAAM,EAAY,IAAM,CACtB,GAAI,EAAO,CAAM,GAAK,CAAC,EAAQ,aAAa,CAAY,GAE1D,GAAI,EAAO,WAAY,EAAO,KAAK,UAAW,CAAS,EAClD,OAAU,EACf,GAAI,EACF,EAAO,KAAK,gBAAiB,IAAM,aAAa,CAAY,CAAC,EAChE,EACD,EAAQ,KAAK,WAAY,CAAC,IAAa,CAIrC,GAHA,aAAa,CAAY,EAEzB,EAAS,GAAG,QAAS,IAAM,EAAE,EACzB,CAAC,EAAO,EAAS,MAAM,EAAG,OAC9B,EAAc,oBAAoB,QAAS,CAAO,EAElD,EAAQ,CAAE,UAAS,WAAU,QAAS,CAAY,CAAC,EACpD,EAED,EAAQ,GAAG,QAAS,CAAC,IAAU,CAC7B,GAAI,EAAc,QAAS,OAAO,EAAK,EAAc,MAAM,EAC3D,EACE,aAAiB,EACb,EACA,IAAI,EAAa,EAAI,KAAM,CAAK,CACtC,EACD,EACD,EAAQ,IAAI,GAAQ,MAAS,EAC9B,SACD,CACA,aAAa,CAAY,GAI7B,SAAS,EAAU,EACjB,MACA,MACA,SACA,UACA,WACA,UACA,SACA,SACA,WAWe,CACf,IAAM,EAAS,EAAS,YAAc,EACtC,GAAI,EAAS,KAAO,EAAS,IAE3B,MADA,EAAQ,QAAQ,EACV,IAAI,EAAa,EAAI,KAAU,MAAM,qBAAqB,GAAQ,CAAC,EAG3E,IAAM,EAAU,IAAI,QACd,EAAM,EAAS,WACrB,QAAS,EAAQ,EAAG,EAAQ,EAAI,OAAQ,GAAS,EAC/C,EAAQ,OAAO,EAAI,GAAQ,EAAI,EAAQ,EAAE,EAE3C,GAAI,EAAO,aAAc,CACvB,IAAM,EACJ,EAAQ,IAAI,cAAc,GAAG,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,YAAY,GAAK,KACrE,GACE,CAAC,GACD,CAAC,EAAO,aAAa,KAAK,CAAC,IAAY,GAAiB,EAAM,CAAO,CAAC,EAGtE,MADA,EAAQ,QAAQ,EACV,IAAI,GAAiB,EAAI,KAAM,EAAM,EAAO,YAAY,EAIlE,IAAM,EAAO,CAAE,IAAK,EAAI,KAAM,WAAY,EAAM,EAAG,SAAQ,EACrD,EAAO,CAAE,SAAQ,WAAY,EAAS,eAAiB,GAAI,SAAQ,EACzE,GAAI,IAAW,QAAU,GAAU,IAAI,CAAM,EAG3C,OAFA,EAAQ,QAAQ,EAChB,EAAQ,EACD,IAAI,GAAa,KAAM,EAAM,CAAI,EAG1C,IAAM,EAAW,EAAQ,IAAI,kBAAkB,GAAG,KAAK,EAAE,YAAY,EAC/D,EACJ,IAAa,QAAU,IAAa,SAC3B,eAAa,EAClB,IAAa,UACN,gBAAc,EACnB,IAAa,KACN,yBAAuB,EAC5B,KACJ,EAAW,OAAO,EAAQ,IAAI,gBAAgB,CAAC,EACrD,GAAI,CAAC,GAAW,OAAO,SAAS,CAAQ,GAAK,EAAW,EAAO,QAE7D,MADA,EAAQ,QAAQ,EACV,IAAI,GAAc,EAAI,KAAM,EAAO,OAAO,EAElD,GAAI,EACF,EAAQ,OAAO,kBAAkB,EACjC,EAAQ,OAAO,gBAAgB,EAGjC,IAAM,EAAmB,EAAU,EAAS,KAAK,CAAO,EAAI,EACxD,EAAW,EACX,EAAW,GACX,EAAU,IAAM,GACd,EAAS,IAAM,CACnB,EAAW,GACX,EAAO,oBAAoB,QAAS,CAAO,EAC3C,EAAQ,GAEJ,EAAS,IAAI,eAA2B,CAC5C,KAAK,CAAC,EAAY,CAChB,IAAM,EAAS,CAAC,IAAoB,CAClC,GAAI,EAAU,OAEd,GADA,EAAO,EACH,IAAU,OACZ,EAAW,MAAM,EAEjB,OAAQ,QAAQ,EAChB,GAAS,QAAQ,EACjB,EAAW,MAAM,CAAK,GAK1B,GAFA,EAAU,IAAM,EAAO,EAAO,MAAM,EACpC,EAAO,iBAAiB,QAAS,EAAS,CAAE,KAAM,EAAK,CAAC,EACpD,EAAO,QAAS,OAAO,EAAQ,EAEnC,EAAO,GAAG,OAAQ,CAAC,IAAkB,CACnC,GAAI,EAAU,OAEd,GADA,GAAY,EAAM,WACd,EAAW,EAAO,QACpB,OAAO,EAAO,IAAI,GAAc,EAAI,KAAM,EAAO,OAAO,CAAC,EAE3D,GADA,EAAW,QAAQ,IAAI,WAAW,CAAK,CAAC,GACnC,EAAW,aAAe,IAAM,EAAG,EAAO,MAAM,EACtD,EACD,EAAO,KAAK,MAAO,IAAM,EAAO,CAAC,EACjC,IAAM,EAAU,CAAC,IACf,EACE,aAAiB,EACb,EACA,IAAI,EAAa,EAAI,KAAM,CAAK,CACtC,EAEF,GADA,EAAO,GAAG,QAAS,CAAO,EACtB,EAAS,EAAS,GAAG,QAAS,CAAO,EACzC,EAAS,KAAK,UAAW,IACvB,EACE,IAAI,EAAa,EAAI,KAAU,MAAM,2BAA2B,CAAC,CACnE,CACF,GAEF,IAAI,EAAG,CACL,EAAO,OAAO,GAEhB,MAAM,EAAG,CACP,GAAI,EAAU,OACd,EAAO,EACP,EAAQ,QAAQ,EAChB,GAAS,QAAQ,EAErB,CAAC,EACD,OAAO,IAAI,GAAa,EAAQ,EAAM,CAAI,EAG5C,SAAS,EAAgB,CAAC,EAAc,EAAiB,CACvD,IAAM,EAAU,EAAQ,YAAY,EACpC,OAAO,EAAQ,SAAS,IAAI,EACxB,EAAK,WAAW,EAAQ,MAAM,EAAG,EAAE,CAAC,EACpC,IAAS,ECrtBR,SAAS,EAAgB,CAAC,EAA2B,CAC1D,OAAO,GAAW,CAAK,GAAK,GAAW,CAAK,GAAK,GAAa,CAAK,EAI9D,IAAM,GAAc,KAErB,GAAqC,CACzC,YAAa,MACb,aAAc,MACd,YAAa,MACb,aAAc,OACd,aAAc,OACd,aAAc,OACd,aAAc,OACd,YAAa,MACb,aAAc,OACd,eAAgB,MAChB,gBAAiB,MACjB,aAAc,MACd,YAAa,MACb,YAAa,MACb,YAAa,MACb,aAAc,OACd,YAAa,MACb,YAAa,MACb,kBAAmB,MACnB,aAAc,OACd,mBAAoB,MACpB,kBAAmB,MACnB,YAAa,OACb,aAAc,QACd,WAAY,MACZ,WAAY,MACZ,kBAAmB,MACnB,kBAAmB,MACnB,mBAAoB,KACpB,kBAAmB,MACnB,YAAa,OACb,aAAc,MACd,2BAA4B,KAC9B,EAGO,SAAS,EAAY,CAAC,EAA6B,CACxD,OAAO,GAAW,IAAgB,MAGpC,SAAS,CAAU,CAAC,EAAmB,EAA8B,EAAS,EAAG,CAC/E,GAAI,EAAM,OAAS,EAAS,EAAU,OAAQ,MAAO,GACrD,OAAO,EAAU,MAAM,CAAC,EAAM,IAAU,EAAM,EAAS,KAAW,CAAI,EAGxE,SAAS,CAAK,CAAC,EAAmB,EAAe,EAAa,CAC5D,OAAO,OAAO,aAAa,GAAG,EAAM,SAAS,EAAO,CAAG,CAAC,EAG1D,IAAM,GAAsC,CAC1C,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,KAAM,aACN,OAAQ,kBACR,OAAQ,YACR,OAAQ,WACV,EAEA,SAAS,EAAU,CAAC,EAA8B,CAChD,GAAI,EAAW,EAAG,CAAC,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EAAG,MAAO,YAC5E,GAAI,EAAW,EAAG,CAAC,IAAM,IAAM,GAAI,CAAC,EAAG,MAAO,aAC9C,GAAI,EAAE,QAAU,IAAM,EAAM,EAAG,EAAG,CAAC,IAAM,UAAY,EAAM,EAAG,EAAG,CAAC,IAAM,UACtE,MAAO,YAET,GAAI,EAAE,QAAU,IAAM,EAAM,EAAG,EAAG,CAAC,IAAM,OAAQ,CAC/C,IAAM,EAAO,EAAM,EAAG,EAAG,EAAE,EAC3B,GAAI,IAAS,OAAQ,MAAO,aAC5B,GAAI,IAAS,OAAQ,MAAO,YAC5B,GAAI,IAAS,OAAQ,MAAO,kBAE9B,GAAI,EAAE,QAAU,IAAM,EAAM,EAAG,EAAG,CAAC,IAAM,OAAQ,CAC/C,IAAM,EAAQ,EAAM,EAAG,EAAG,EAAE,EAC5B,OAAO,GAAY,IAAU,YAE/B,GAAI,EAAW,EAAG,CAAC,GAAM,GAAM,GAAM,CAAI,CAAC,GAAK,EAAW,EAAG,CAAC,GAAM,GAAM,EAAM,EAAI,CAAC,EACnF,MAAO,aAGT,GAAI,EAAW,EAAG,CAAC,GAAM,EAAI,CAAC,GAAK,EAAW,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,MAAO,YAC1E,GAAI,EAAW,EAAG,CAAC,EAAM,EAAM,EAAM,CAAI,CAAC,GAAK,EAAE,QAAU,GAAK,EAAE,GAAM,EACtE,MAAO,eAET,GAAI,EAAW,EAAG,CAAC,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EAAG,MAAO,kBAC1D,GAAI,EAAW,EAAG,CAAC,GAAM,GAAM,EAAM,CAAI,CAAC,EAAG,MAAO,kBACpD,GAAI,EAAW,EAAG,CAAC,GAAM,GAAI,CAAC,EAAG,MAAO,mBACxC,GAAI,EAAW,EAAG,CAAC,GAAM,GAAM,IAAM,GAAI,CAAC,EACxC,OAAO,EAAM,EAAG,EAAG,KAAK,IAAI,EAAE,OAAQ,EAAE,CAAC,EAAE,SAAS,MAAM,EACtD,aACA,mBAEN,GAAI,EAAE,QAAU,EAAG,CACjB,IAAM,EAAQ,EAAM,EAAG,EAAG,CAAC,EAC3B,GAAI,IAAU,OAAQ,MAAO,YAC7B,GAAI,IAAU,OAAQ,MAAO,aAC7B,GAAI,IAAU,OAAQ,MAAO,YAC7B,GAAI,IAAU,OAAQ,MAAO,aAC7B,GAAI,IAAU,OAAQ,MAAO,WAE/B,GAAI,EAAW,EAAG,CAAC,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,EAAG,MAAO,WAC1D,GAAI,EAAE,QAAU,GAAK,EAAM,EAAG,EAAG,CAAC,IAAM,MAAO,MAAO,aACtD,GAAI,EAAE,QAAU,GAAK,EAAE,KAAO,IAAM,CAElC,IAAK,EAAE,GAAM,OAAU,IAAM,MAAO,YACpC,IAAK,EAAE,GAAM,OAAU,MAAS,EAAE,GAAM,KAAU,EAAG,MAAO,aAE9D,OAAO,KAIT,IAAM,GAAY,CAChB,gBACA,OACA,OACA,SACA,SACA,KACA,MACA,OACA,QACA,IACA,QACA,QACA,IACA,OACA,KACA,IACA,KACF,EAEA,SAAS,EAAU,CAAC,EAA8B,CAChD,IAAI,EAAO,IAAI,YAAY,QAAS,CAAE,MAAO,EAAM,CAAC,EAAE,OAAO,CAAC,EAC9D,GAAI,EAAK,WAAW,CAAC,IAAM,MAAQ,EAAO,EAAK,MAAM,CAAC,EAEtD,GADA,EAAO,EAAK,UAAU,EAClB,CAAC,EAAK,WAAW,GAAG,EAAG,OAAO,KAClC,IAAM,EAAQ,EAAK,YAAY,EAI3B,EAAO,EACX,OAAS,CACP,EAAO,EAAK,UAAU,EACtB,IAAM,EAAO,oDAAoD,KAAK,CAAI,EAC1E,GAAI,CAAC,EAAM,MACX,EAAO,EAAK,MAAM,EAAK,GAAG,MAAM,EAElC,GAAI,cAAc,KAAK,CAAI,EAAG,MAAO,gBAErC,QAAW,KAAO,GAAW,CAC3B,GAAI,CAAC,EAAM,WAAW,IAAI,GAAK,EAAG,SAElC,GAAI,SAAS,KAAK,EAAM,OAAO,EAAI,OAAS,CAAC,CAAC,EAAG,MAAO,YAI1D,GAAI,0BAA0B,KAAK,CAAI,EAAG,MAAO,YACjD,GAAI,EAAM,WAAW,OAAO,EAAG,MAAO,kBACtC,OAAO,KAGT,SAAS,EAAY,CAAC,EAAuB,CAC3C,GAAI,EAAE,SAAW,EAAG,MAAO,2BAC3B,QAAW,KAAQ,EAGjB,GAAI,EAAO,IAAQ,IAAS,GAAQ,IAAS,IAAQ,IAAS,IAAQ,IAAS,IAAQ,IAAS,GAC9F,MAAO,2BAGX,GAAI,CAIF,OADA,IAAI,YAAY,QAAS,CAAE,MAAO,EAAK,CAAC,EAAE,OAAO,EAAG,CAAE,OAAQ,EAAK,CAAC,EAC7D,aACP,KAAM,CACN,MAAO,4BAQX,IAAM,GAAe,IAAI,IAAI,CAC3B,YACA,wBACA,gBACA,WACA,kBACA,WACA,sBACF,CAAC,EAOM,SAAS,EAAmB,CAAC,EAAuB,CACzD,IAAM,EAAU,EAAK,MAAM,GAAG,EAAE,GAAI,KAAK,EAAE,YAAY,EACvD,OAAO,GAAa,IAAI,CAAO,GAAK,EAAQ,SAAS,MAAM,EAStD,SAAS,EAAoB,CAAC,EAAc,EAAqC,CACtF,IAAM,EAAU,EAAK,MAAM,GAAG,EAAE,GAAI,KAAK,EAAE,YAAY,EACvD,OAAO,EAAQ,KAAK,CAAC,IAAU,CAC7B,IAAM,EAAU,EAAM,MAAM,GAAG,EAAE,GAAI,KAAK,EAAE,YAAY,EACxD,GAAI,IAAY,OAAS,IAAY,IAAK,MAAO,CAAC,GAAoB,CAAO,EAC7E,GAAI,EAAQ,SAAS,IAAI,EACvB,OAAO,EAAQ,WAAW,EAAQ,MAAM,EAAG,EAAE,CAAC,GAAK,CAAC,GAAoB,CAAO,EAEjF,OAAO,IAAY,EACpB,ECnPH,iBAAS,gBCkBT,eAAsB,EAAS,CAAC,EAAgD,CAC9E,GAAI,CAEF,OAAQ,KAAa,kBAAU,QAC/B,MAAO,EAAO,CACd,MAAU,MACR,GAAG,qEACH,CAAE,MAAO,CAAM,CACjB,GCmDJ,eAAsB,EAAU,CAC9B,EACA,EACA,EAA6B,CAAC,EACH,CAC3B,IAAQ,OAAM,YAAW,SAAQ,UAAS,UAAS,eAAc,UAC/D,EACF,GAAI,IAAS,QAAa,IAAc,OACtC,MAAU,UACR,6DACF,EAEF,GAAI,IAAS,QAAa,CAAC,EACzB,MAAU,UAAU,wCAAwC,EAG9D,IAAM,EAAW,MAAM,GAAU,EAAK,IACjC,EAAQ,MACX,OAAQ,MACR,SAAU,SAEV,aAAc,OACd,SACA,UACA,SACF,CAAC,EAED,GAAI,CAAC,EAAS,GAEZ,MADA,MAAM,EAAS,MAAM,OAAO,EAAE,MAAM,IAAM,EAAE,EACtC,IAAI,GAAgB,EAAS,IAAK,EAAS,MAAM,EAGzD,IAAM,GAAU,EAAS,MAAQ,IAAI,SAAS,IAAI,UAAY,EAAE,MAAO,UAAU,EAC3E,EAAO,MAAO,IAAmC,CAErD,MADA,MAAM,EAAO,OAAO,CAAK,EAAE,MAAM,IAAM,EAAE,EACnC,GAKF,EAAqB,CAAC,EACxB,EAAW,EACX,EAAQ,GACZ,MAAO,EAAW,GAAa,CAC7B,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EAAM,CACR,EAAQ,GACR,MAEF,EAAK,KAAK,CAAK,EACf,GAAY,EAAM,WAEpB,IAAM,EAAY,GAAO,EAAM,CAAQ,EACjC,EAAc,GAClB,EAAU,SAAS,EAAG,KAAK,IAAI,EAAU,EAAW,CAAC,CACvD,EAIM,EAAU,GAAc,OAAS,EAAe,CAAC,KAAK,EAC5D,GAAI,CAAC,GAAqB,EAAa,CAAO,EAC5C,MAAM,EAAK,IAAI,GAAiB,EAAS,IAAK,EAAa,CAAO,CAAC,EAGrE,IAAM,EACJ,GACA,EACG,GAAa,IAAI,QAAQ,OAAQ,EAAE,EACpC,GAAG,IAAI,aAAa,KAAK,GAAa,CAAW,GACnD,EACG,OAAO,OAAO,EACd,KAAK,GAAG,EAET,EAAO,EACL,EAAO,IAAI,eAA2B,CAC1C,KAAK,CAAC,EAAY,CAChB,GAAI,EAAW,EAAG,EAAW,QAAQ,CAAS,EAC9C,GAAI,EAAO,EAAW,MAAM,QAExB,KAAI,CAAC,EAAY,CACrB,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EAAM,CACR,EAAW,MAAM,EACjB,OAEF,GAAQ,EAAM,WACd,EAAW,QAAQ,CAAK,GAE1B,MAAM,CAAC,EAAQ,CACb,OAAO,EAAO,OAAO,CAAM,EAE/B,CAAC,EAEK,EAA0B,CAC9B,KAAM,EACN,SACA,OACA,aACF,EACI,EACJ,GAAI,CACF,EAAS,EAAO,UACZ,MAAM,EAAO,UAAU,EAAQ,CAAE,QAAO,CAAC,EAGzC,MAAM,GAAkB,UAAU,UAAU,KAAK,EAAQ,EAAQ,CAC/D,QACF,CAAC,EACL,MAAO,EAAO,CAId,MADA,MAAM,EAAK,CAAK,EACV,EAGR,MAAO,CAAE,KAAM,EAAQ,cAAa,OAAM,IAAK,EAAS,GAAI,EAG9D,SAAS,EAAM,CAAC,EAAsB,EAAgB,CACpD,GAAI,EAAO,SAAW,EAAG,OAAO,EAAO,GACvC,IAAM,EAAQ,IAAI,WAAW,CAAM,EAC/B,EAAS,EACb,QAAW,KAAS,EAClB,EAAM,IAAI,EAAO,CAAM,EACvB,GAAU,EAAM,WAElB,OAAO,EFhLF,MAAM,WAAgB,EAAO,OAC3B,kBAAiB,EAAG,CACzB,OAAO,eAOI,IAAG,CAAC,EAA8B,EAA0B,CAAC,EAAG,CAC3E,OAAO,KAAK,cAAc,EAAE,OAAO,IAAI,EAAQ,CAAO,cA8B3C,WAAU,CACrB,EACA,EAA6B,CAAC,EACH,CAC3B,OAAO,GAAW,KAAK,cAAc,EAAE,OAAQ,EAAK,CAAO,cAGhD,SAAQ,CAAC,EAA8C,CAClE,IAAM,EAAS,GAAO,KAAK,MAAM,EAAI,YAAY,CAAC,EAI5C,EAAQ,MAAM,GAAU,oBAAoB,EAClD,GAAI,CACF,OAAO,MAAM,EAAM,CAAM,EAAE,SAAS,EACpC,KAAM,CACN,MAAO,CAAC,eAUC,MAAK,CAChB,EACA,EAA4B,CAAC,EAC7B,CAIA,OADA,EAAQ,QAAQ,eAAe,EACxB,KAAK,cAAc,EAAE,OAAO,MAAM,EAAQ,CAAO,cAY7C,KAAI,CACf,EACA,EAAwC,CAAC,EACpB,CACrB,IAAM,EACJ,OAAO,IAAW,SAAW,CAAE,KAAM,CAAO,EAAI,IAAK,CAAO,EAExD,EACJ,UAAW,EACN,EAAQ,OAAS,KAClB,EAAK,QAAU,OACb,EAAK,MACJ,EAAe,SAAS,GAAG,cAAgB,KAEpD,OAAO,KAAK,cAAc,EAAE,OAAO,KAAK,IACnC,EACH,OACF,CAAC,QAKI,KAAI,CAAC,EAAgB,CAC1B,OAAO,KAAK,cAAc,EAAE,OAAO,KAAK,CAAM,QAiBzC,QAAO,CACZ,EACA,EAA8B,CAAC,EACF,CAC7B,OAAO,KAAK,cAAc,EAAE,OAAO,QAAQ,EAAQ,CAAO,cAQ/C,aAAY,CACvB,EACA,EAA+B,CAAC,EACf,CACjB,OAAO,KAAK,cAAc,EAAE,OAAO,aAAa,EAAQ,CAAO,cAOpD,OAAM,CAAC,EAAkD,CACpE,OAAO,KAAK,cAAc,EAAE,OAAO,OAAO,CAAM,EAEpD,CGpLA,gBAAS,cAAO,aAAS,qBCEzB,IAAM,GAAqB,CACzB,QACA,OACA,SACA,UACA,QACA,WACA,QACA,WACF,EAEM,GAAc,GAAO,QAAQ,SAAS,EAOrC,SAAS,EAAgB,CAAC,EAAwC,CACvE,GAAI,CAAC,EACH,MAAO,GAET,GAAI,IAAW,GACb,MAAO,GAET,IAAM,EAAQ,GAAO,QAAQ,CAAM,EACnC,OAAO,IAAU,GAAK,EAAI,EAgB5B,SAAS,EAAgB,EAAG,CAC1B,IAAM,EAAO,IAAI,QACjB,OAAO,QAAS,CAAgB,EAAc,EAAgB,CAC5D,GAAI,OAAO,IAAU,SACnB,OAAO,EAAM,SAAS,EAExB,GAAI,aAAiB,MAAO,CAC1B,IAAM,EAA+B,CACnC,KAAM,EAAM,KACZ,QAAS,EAAM,QACf,MAAO,EAAM,KACf,EACA,QAAW,KAAO,OAAO,KAAK,CAAK,EACjC,EAAI,GAAQ,EAAc,GAE5B,GAAI,EAAM,QAAU,OAClB,EAAI,MAAQ,EAAM,MAEpB,OAAO,EAET,GAAI,IAAU,MAAQ,OAAO,IAAU,SAAU,CAC/C,GAAI,EAAK,IAAI,CAAK,EAChB,MAAO,aAET,EAAK,IAAI,CAAK,EAEhB,OAAO,GAIX,SAAS,EAAS,CAAC,EAAgB,CACjC,GAAI,CACF,OAAO,KAAK,UAAU,EAAO,GAAiB,CAAC,EAC/C,KAAM,CACN,MAAO,sBAIJ,SAAS,EAAiB,CAC/B,EACA,EACQ,CACR,GAAI,IAAW,OAGb,OAAO,GAAU,IACZ,EAAK,SACR,UAAW,EAAK,UAChB,MAAO,EAAK,MACZ,QAAS,EAAK,OAChB,CAAC,EAEH,IAAM,EAAc,OAAO,KAAK,EAAK,QAAQ,EAAE,OAAS,EACxD,MAAO,GAAG,EAAK,aAAa,EAAK,MAAM,YAAY,KAAK,EAAK,UAC3D,EAAc,IAAI,GAAU,EAAK,QAAQ,IAAM,KAQ5C,SAAS,EAAgB,CAC9B,EACA,EACA,CACA,IAAM,EAAQ,GAAO,QAAQ,EAAK,KAAK,EACvC,GAAI,EAAQ,YAAc,IAAM,EAAQ,EAAQ,UAC9C,OAEF,GAAI,CACF,IAAM,EAAO,GAAkB,EAAM,EAAQ,MAAM,EAAI;AAAA,EACvD,GAAI,GAAS,GACX,QAAQ,OAAO,MAAM,CAAI,EAEzB,aAAQ,OAAO,MAAM,CAAI,EAE3B,KAAM,GDvHV,eAAe,EAAM,CAAC,EAAgC,CACpD,GAAI,CAEF,OADA,MAAM,GAAO,CAAI,EACV,GACP,KAAM,CACN,MAAO,IASJ,MAAM,EAAW,CA4BH,aA3BZ,OAAQ,MAEf,OACA,QAAmB,GAEX,aACA,SAAmB,EACnB,WAAqB,EACrB,eAA0B,GAC1B,YAAoC,KACrC,sBAWK,YAAW,EAAW,CAChC,MAAO,GAAG,GAAY,iBAGP,iBAEjB,WAAW,CAAQ,EAA6B,CAA7B,cACjB,KAAK,iBAAmB,GAAiB,EAAO,OAAO,EAQzD,IAAI,EAAkB,CACpB,GAAI,CAAC,KAAK,YACR,KAAK,YAAc,KAAK,cAAc,EACnC,MAAM,CAAC,IAAQ,CAId,QAAQ,MAAM,iDAAkD,CAAG,EACpE,EACA,KAAK,IAAM,CACV,KAAK,QAAU,GAChB,EAEL,OAAO,KAAK,iBAGA,cAAa,EAAG,CAC5B,IAAM,EAAiB,GAAG,GAAY,YACtC,GAAI,CAAE,MAAM,GAAO,CAAc,EAC/B,MAAM,GAAM,CAAc,EAE5B,GAAI,CAAE,MAAM,GAAO,KAAK,WAAW,EACjC,MAAM,GAAM,KAAK,WAAW,EAE9B,MAAM,KAAK,WAAW,OAGlB,WAAU,EAAG,CACjB,GAAI,CAAE,MAAM,GAAO,KAAK,WAAW,EACjC,MAAM,GAAM,KAAK,WAAW,EAG9B,GADA,KAAK,eAAiB,GAClB,KAAK,mBAAoB,CAC3B,KAAK,OAAO,MAAM,EAClB,KAAK,OAAO,IAAI,EAChB,KAAK,OAAS,KACd,IAAM,EAAO,IAAI,KACf,CAAC,MAAM,IAAI,KAAK,KAAK,kBAAkB,EAAE,YAAY,CAAC,EACtD,KAAK,mBAAmB,MAAM,GAAG,EAAE,IAAI,EACvC,CAAE,KAAM,YAAa,CACvB,EACA,KAAK,OAAO,gBAAgB,CAAI,EAChC,KAAK,SAAW,EAChB,KAAK,WAAa,EAKpB,IAAM,GAFW,MAAM,GAAQ,KAAK,WAAW,GAElB,KAAK,EAAE,QAAQ,EAAE,GAE9C,GAAI,EAAa,CACf,IAAM,EAAQ,IAAI,KAAK,GAAG,KAAK,eAAe,GAAa,EAC3D,GAAI,EAAM,KAAO,KAAK,OAAO,YAC3B,KAAK,mBAAqB,GAAG,KAAK,eAAe,IAEjD,KAAK,OAAS,EAAM,OAAO,EAC3B,KAAK,OAAO,MAAM,MAAM,EAAM,KAAK,CAAC,EACpC,KAAK,OAAO,MAAM;AAAA,CAAI,EACtB,KAAK,OAAO,MAAM,EAClB,KAAK,SAAW,EAAM,KAI1B,GAAI,CAAC,KAAK,OAAQ,CAChB,IAAM,EACJ,GAAG,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,YAAY,QAAQ,WAAW,IAAK,GAAG,EACjE,KAAK,mBAAqB,GAAG,KAAK,eAAe,IACjD,IAAM,EAAO,IAAI,KAAK,GAAG,KAAK,eAAe,GAAa,EAC1D,KAAK,OAAS,EAAK,OAAO,EAC1B,KAAK,SAAW,EAChB,KAAK,WAAa,EAEpB,KAAK,eAAiB,QAGlB,IAAG,CACP,EACA,EACA,EAAgC,CAAC,EACjC,CACA,GAAI,CAAC,KAAK,QACR,MAAM,KAAK,KAAK,EAGlB,IAAM,EAAS,EAAe,SAAS,EACnC,EAAkB,CAAC,EAInB,EAAyB,CAAC,EAC9B,GAAI,EACF,EAAyB,CACvB,OAAQ,EAAO,IAAI,WAAW,OAC9B,KAAM,IAAI,IAAI,EAAO,IAAI,WAAW,GAAG,EAAE,QAC3C,EACA,EAAkB,CAChB,IAAK,EAAO,IAAI,WAAW,IAC3B,OAAQ,EAAO,IAAI,WAAW,OAC9B,QAAS,EAAO,IAAI,WAAW,QAC/B,KAAM,EAAO,IAAI,WAAW,IAC9B,EAGF,IAAM,EAAsB,CAC1B,UAAW,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,YAAY,EAC5C,IAAK,iBACL,QACA,UACA,SAAU,IAAK,KAAoB,CAAS,CAC9C,EAEA,GAAI,KAAK,mBAAqB,GAC5B,GACE,CACE,UAAW,EAAU,UACrB,QACA,UACA,SAAU,IAAK,KAA2B,CAAS,CACrD,EACA,CAAE,UAAW,KAAK,iBAAkB,OAAQ,KAAK,OAAO,aAAc,CACxE,EAGF,IAAI,EAAM,GACV,GAAI,CACF,EAAM,KAAK,UAAU,CAAS,EAC9B,MAAO,EAAK,CACZ,QAAQ,IAAI,2BAA4B,CAAG,EAS7C,GAAI,CACF,IAAM,EAAU,KAAK,OAAO,aAAa,CAAS,EAClD,GAAI,aAAmB,QACrB,EAAQ,MAAM,CAAC,IAAQ,QAAQ,MAAM,wBAAyB,CAAG,CAAC,EAEpE,MAAO,EAAK,CACZ,QAAQ,MAAM,wBAAyB,CAAG,EAM5C,GAAI,CAAC,KAAK,OACR,OAGF,KAAK,YAAc,EAAI,OACvB,KAAK,UAAY,EAAI,OAErB,GAAI,CACF,KAAK,OAAO,MAAM,CAAG,EACrB,KAAK,OAAO,MAAM;AAAA,CAAI,EACtB,KAAK,SAAS,EACd,MAAO,EAAK,CACZ,QAAQ,MAAM,oBAAqB,CAAG,QAKpC,SAAQ,EAAG,CACf,GAAI,KAAK,SAAW,KAAK,OAAO,aAC9B,GAAI,CAAC,KAAK,eACR,MAAM,KAAK,WAAW,EAG1B,GAAI,KAAK,WAAa,KAAK,OAAO,YAAc,EAC9C,MAAM,KAAK,OAAO,MAAM,EACxB,KAAK,WAAa,EAClB,MAAM,KAAK,WAAW,EAEtB,kBAAa,KAAK,YAAY,EAC9B,KAAK,aAAe,WAAW,SAAY,CACzC,MAAM,KAAK,OAAO,MAAM,EACxB,KAAK,WAAa,GACjB,GAAG,EAGZ,CE1OO,MAAM,WAAY,EAAO,OACvB,kBAAiB,EAAG,CACzB,OAAO,SAGF,MAAK,CAAC,EAAiB,EAAgC,CAC5D,KAAK,cAAc,EAAE,IAAI,QAAS,EAAS,CAAQ,QAG9C,KAAI,CAAC,EAAiB,EAAgC,CAC3D,KAAK,cAAc,EAAE,IAAI,OAAQ,EAAS,CAAQ,QAG7C,OAAM,CAAC,EAAiB,EAAgC,CAC7D,KAAK,cAAc,EAAE,IAAI,SAAU,EAAS,CAAQ,QAG/C,QAAO,CAAC,EAAiB,EAAgC,CAC9D,KAAK,cAAc,EAAE,IAAI,UAAW,EAAS,CAAQ,QAGhD,MAAK,CAAC,EAAiB,EAAgC,CAC5D,KAAK,cAAc,EAAE,IAAI,QAAS,EAAS,CAAQ,QAG9C,SAAQ,CAAC,EAAiB,EAAgC,CAC/D,KAAK,cAAc,EAAE,IAAI,WAAY,EAAS,CAAQ,QAGjD,MAAK,CAAC,EAAiB,EAAgC,CAC5D,KAAK,cAAc,EAAE,IAAI,QAAS,EAAS,CAAQ,QAG9C,UAAS,CAAC,EAAiB,EAAgC,CAChE,KAAK,cAAc,EAAE,IAAI,YAAa,EAAS,CAAQ,EAE3D,CCPO,MAAM,EAAa,CAYL,aAXZ,OAAQ,QAEP,SAA+B,KAG/B,gBAAiC,KAEjC,UAA2B,KAE3B,aAlBmB,IAoB3B,WAAW,CAAQ,EAAsB,CAAC,EAAG,CAA1B,iBAoBf,OAAM,EAAgB,CACxB,GAAI,KAAK,WAAa,KAAM,OAAO,KAAK,MAAM,EAE9C,IAAM,EAAS,KAAK,SACpB,GAAI,KAAK,OAAO,EAAQ,KAAK,IAAI,CAAC,EAAG,CACnC,KAAK,SAAW,KAChB,GAAI,CACF,EAAO,MAAM,EACb,KAAM,EACR,OAAO,KAAK,MAAM,EAEpB,OAAO,KAWL,OAAM,CAAC,EAAqB,CAC9B,KAAK,SAAW,EAChB,KAAK,gBAAkB,KACvB,KAAK,UAAY,KACjB,KAAK,aAlEoB,IAyE3B,KAAK,EAAS,CACZ,IAAM,EAAS,KAAK,SACpB,KAAK,SAAW,KAChB,KAAK,gBAAkB,KACvB,KAAK,UAAY,KACjB,KAAK,aA9EoB,IA+EzB,GAAQ,MAAM,EAGR,KAAK,EAAgB,CAC3B,IAAM,EAAS,IAAK,GAAuB,GACzC,KAAK,OAAO,IACZ,KAAK,OAAO,OACd,EAOA,GANA,KAAK,SAAW,EAChB,KAAK,UAAY,KACjB,KAAK,gBAAkB,KAInB,OAAO,EAAO,UAAY,WAAY,CACxC,KAAK,gBAAkB,KAAK,IAAI,EAChC,IAAI,EACJ,GAAI,CACF,EAAa,QAAQ,QAAQ,EAAO,QAAQ,CAAC,EAC7C,MAAO,EAAO,CACd,EAAa,QAAQ,OAAO,CAAK,EAEnC,EAAW,KACT,IAAM,CACJ,GAAI,KAAK,WAAa,EAAQ,OAC9B,KAAK,gBAAkB,KACvB,KAAK,aAzGc,KA2GrB,IAAM,CAIJ,GAAI,KAAK,WAAa,EAAQ,OAC9B,KAAK,gBAAkB,KAE3B,EAEF,OAAO,EAGD,MAAM,CAAC,EAAqB,EAAsB,CACxD,GAAI,EAAO,YAAc,IAAS,OAAO,EAAO,UAAY,WAE1D,OADA,KAAK,UAAY,KACV,GAGT,GAAI,KAAK,kBAAoB,KAAM,CACjC,IAAM,GACH,KAAK,OAAO,SAAS,mBAzHQ,KAFb,KA6HnB,GAAI,EAAM,KAAK,gBAAkB,EAAO,MAAO,GAE/C,KAAK,gBAAkB,KAIzB,GADA,KAAK,YAAc,EACf,EAAM,KAAK,UAAY,KAAK,aAAc,MAAO,GAGrD,OADA,KAAK,aAAe,KAAK,IAAI,KAAK,aAAe,EAvIxB,GAuI+C,EACjE,GAEX,CAEA,SAAS,EAAsB,EAA2B,CACxD,IAAM,EAAQ,WAAmB,KAAK,YAItC,GAAI,OAAO,IAAS,WAClB,MAAU,MACR,wJACF,EAGF,OAAO,EC/KT,IAAM,GAAU,IAAI,YAUb,SAAS,EAAW,CAAC,EAAiC,CAC3D,MAAO,OAAO,EAAM;AAAA,QAAc,KAAK,UAAU,EAAM,KAAK;AAAA;AAAA,EAgBvD,IAAM,GAA4B,KAO5B,GAAgB;AAAA;AAAA,EAetB,SAAS,EAAY,CAC1B,EACA,EAAa,GACoB,CACjC,IAAI,EAA8C,KAC9C,EAAU,GAER,EAAM,IAAM,CAChB,GAAI,EAAS,OACb,GAAI,IAAU,KAAM,aAAa,CAAK,EACtC,EAAQ,WAAW,IAAM,CAEvB,GADA,EAAQ,KACJ,EAAS,OACb,GAAI,CACF,EAAW,QAAQ,GAAQ,OAAO,EAAa,CAAC,EAChD,KAAM,CACN,EAAK,EACL,OAEF,EAAI,GACH,CAAU,GAGT,EAAO,IAAM,CAEjB,GADA,EAAU,GACN,IAAU,KAAM,aAAa,CAAK,EACtC,EAAQ,MAIV,OADA,EAAI,EACG,CAAE,MAAO,EAAK,MAAK,EAGrB,SAAS,EAAU,EAA2B,CACnD,MAAO,CACL,eAAgB,oBAIhB,gBAAiB,yBACjB,WAAY,aAEZ,oBAAqB,IACvB,EAWK,SAAS,EAAW,CAAC,EAAyC,EAAS,IAAe,CAC3F,IAAM,EAAW,EAAO,OAAO,eAAe,EAC1C,EAAU,GACV,EAEE,EAAO,IAAI,eAA2B,CAC1C,KAAK,CAAC,EAAY,CAChB,EAAY,GAAa,CAAU,QAE/B,KAAI,CAAC,EAAY,CACrB,GAAI,CACF,IAAM,EAAO,MAAM,EAAS,KAAK,EACjC,GAAI,EAAK,KAAM,CACb,EAAU,KAAK,EACf,EAAW,MAAM,EACjB,OAEF,EAAU,EAAK,MAAM,IACrB,EAAW,QAAQ,GAAQ,OAAO,GAAY,EAAK,KAAK,CAAC,CAAC,EAC1D,EAAU,MAAM,EAChB,MAAO,EAAK,CAKZ,IAAM,EAAQ,CAAE,KAAM,QAAS,MAAO,GAAa,CAAG,CAAE,EACxD,EAAU,KAAK,EACf,EAAW,QAAQ,GAAQ,OAAO,GAAY,CAAE,IAAK,EAAU,EAAG,OAAM,CAAC,CAAC,CAAC,EAC3E,EAAW,MAAM,IAGrB,MAAM,CAAC,EAAQ,CAGb,EAAU,KAAK,EACV,EAAS,SAAS,CAAM,EAEjC,CAAC,EAED,OAAO,IAAI,SAAS,EAAM,CAAE,SAAQ,QAAS,GAAW,CAAE,CAAC,EAU7D,IAAM,GAAkB,IAAI,IAAI,CAAC,uBAAwB,oBAAoB,CAAC,EAE9E,SAAS,EAAY,CAAC,EAA0B,CAC9C,IAAM,EAAO,GAAO,OAAO,IAAQ,SAAY,EAA2B,KAAO,OACjF,GAAI,aAAe,OAAS,OAAO,IAAS,UAAY,GAAgB,IAAI,CAAI,EAC9E,MAAO,CAAE,KAAM,UAAW,QAAS,EAAI,QAAS,UAAW,EAAM,EAGnE,OADA,QAAQ,MAAM,gCAAiC,CAAG,EAC3C,CAAE,KAAM,UAAW,QAAS,2BAA4B,UAAW,EAAM",
|
|
37
|
-
"debugId": "
|
|
37
|
+
"debugId": "96CD7842CC949BD864756E2164756E21",
|
|
38
38
|
"names": []
|
|
39
39
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
class j{deliver=null;hooks;get started(){return this.deliver!==null}publish(b,g){this.deliver?.(b,g)}start(b,g){this.deliver=b,this.hooks=g}revoke(b){this.hooks?.onRevoke?.(b)}close(){this.deliver=null,this.hooks=void 0}}
|
|
3
|
-
export{j as
|
|
3
|
+
export{j as ck};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=0819681ABFA44DCF64756E2164756E21
|