veloce-ts 0.4.12 → 0.4.14

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.
@@ -1,3 +1,3 @@
1
- var M=Object.create;var{getPrototypeOf:O,defineProperty:F,getOwnPropertyNames:I,getOwnPropertyDescriptor:P}=Object,J=Object.prototype.hasOwnProperty;function K(q){return this[q]}var Q,S,f=(q,x,z)=>{var A=q!=null&&typeof q==="object";if(A){var B=x?Q??=new WeakMap:S??=new WeakMap,D=B.get(q);if(D)return D}z=q!=null?M(O(q)):{};let C=x||!q||!q.__esModule?F(z,"default",{value:q,enumerable:!0}):z;for(let E of I(q))if(!J.call(C,E))F(C,E,{get:K.bind(q,E),enumerable:!0});if(A)B.set(q,C);return C},U=(q)=>{var x=(H??=new WeakMap).get(q),z;if(x)return x;if(x=F({},"__esModule",{value:!0}),q&&typeof q==="object"||typeof q==="function"){for(var A of I(q))if(!J.call(x,A))F(x,A,{get:K.bind(q,A),enumerable:!(z=P(q,A))||z.enumerable})}return H.set(q,x),x},H,j=(q,x)=>()=>(x||q((x={exports:{}}).exports,x),x.exports);var V=(q)=>q;function W(q,x){this[q]=V.bind(null,x)}var X=(q,x)=>{for(var z in x)F(q,z,{get:x[z],enumerable:!0,configurable:!0,set:W.bind(x,z)})};var y=(q,x)=>()=>(q&&(x=q(q=0)),x);var $={};X($,{HonoAdapter:()=>L});module.exports=U($);class L{hono;name="hono";runtime;constructor(q){this.hono=q;this.runtime=Z()}listen(q,x){switch(this.runtime){case"bun":return this.listenBun(q,x);case"deno":return this.listenDeno(q,x);case"node":return this.listenNode(q,x);case"workerd":throw Error("Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().");default:throw Error(`Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`)}}getHandler(){return this.hono.fetch}getRuntime(){return this.runtime}listenBun(q,x){let z=Bun.serve({port:q,fetch:this.hono.fetch,websocket:{open(A){let{manager:B,metadata:D}=A.data??{};if(!B||!D)return;let C=B.handleConnectionBun(A,D);A.data._connection=C},message(A,B){let{manager:D,metadata:C,_connection:E}=A.data??{};if(!D||!C||!E)return;D.handleMessageBun(B,E,C)},close(A,B,D){let{manager:C,metadata:E,_connection:G}=A.data??{};if(!C||!E||!G)return;C.handleDisconnectBun(G,E)},error(A,B){console.error("[WS] Bun WebSocket error:",B)}}});if(x)x();return{port:q,close:async()=>{z.stop()},...z}}listenDeno(q,x){let z=new AbortController;return Deno.serve({port:q,signal:z.signal,onListen:x},this.hono.fetch),{port:q,close:async()=>{z.abort()}}}listenNode(q,x){try{let{serve:z}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})(),A=z({fetch:this.hono.fetch,port:q},x);return{port:q,close:async()=>{return new Promise((B)=>{A.close(()=>B())})},...A}}catch(z){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var Z=()=>{if(typeof Bun<"u")return"bun";if(typeof Deno<"u")return"deno";if(typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers")return"workerd";if(typeof process<"u"&&process.versions&&process.versions.node)return"node";return"unknown"};Y();
1
+ var P=Object.create;var{getPrototypeOf:Q,defineProperty:H,getOwnPropertyNames:K,getOwnPropertyDescriptor:U}=Object,L=Object.prototype.hasOwnProperty;function M(x){return this[x]}var V,W,N=(x,z,A)=>{var C=x!=null&&typeof x==="object";if(C){var B=z?V??=new WeakMap:W??=new WeakMap,D=B.get(x);if(D)return D}A=x!=null?P(Q(x)):{};let E=z||!x||!x.__esModule?H(A,"default",{value:x,enumerable:!0}):A;for(let F of K(x))if(!L.call(E,F))H(E,F,{get:M.bind(x,F),enumerable:!0});if(C)B.set(x,E);return E},X=(x)=>{var z=(J??=new WeakMap).get(x),A;if(z)return z;if(z=H({},"__esModule",{value:!0}),x&&typeof x==="object"||typeof x==="function"){for(var C of K(x))if(!L.call(z,C))H(z,C,{get:M.bind(x,C),enumerable:!(A=U(x,C))||A.enumerable})}return J.set(x,z),z},J,R=(x,z)=>()=>(z||x((z={exports:{}}).exports,z),z.exports);var Y=(x)=>x;function Z(x,z){this[x]=Y.bind(null,z)}var $=(x,z)=>{for(var A in z)H(x,A,{get:z[A],enumerable:!0,configurable:!0,set:Z.bind(z,A)})};var T=(x,z)=>()=>(x&&(z=x(x=0)),z);var y={};$(y,{HonoAdapter:()=>O});module.exports=X(y);class O{hono;name="hono";runtime;constructor(x){this.hono=x;this.runtime=j()}listen(x,z){switch(this.runtime){case"bun":return this.listenBun(x,z);case"deno":return this.listenDeno(x,z);case"node":return this.listenNode(x,z);case"workerd":throw Error("Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().");default:throw Error(`Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`)}}getHandler(){return this.hono.fetch}getRuntime(){return this.runtime}listenBun(x,z){let A=this.hono,C=Bun.serve({port:x,fetch(B,D){return A.fetch(B,{upgrade:D.upgrade.bind(D)})},websocket:{open(B){let{manager:D,metadata:E}=B.data??{};if(!D||!E)return;let F=D.handleConnectionBun(B,E);B.data._connection=F},message(B,D){let{manager:E,metadata:F,_connection:G}=B.data??{};if(!E||!F||!G)return;E.handleMessageBun(D,G,F)},close(B,D,E){let{manager:F,metadata:G,_connection:I}=B.data??{};if(!F||!G||!I)return;F.handleDisconnectBun(I,G)},error(B,D){console.error("[WS] Bun WebSocket error:",D)}}});if(z)z();return{port:x,close:async()=>{C.stop()},...C}}listenDeno(x,z){let A=new AbortController;return Deno.serve({port:x,signal:A.signal,onListen:z},this.hono.fetch),{port:x,close:async()=>{A.abort()}}}listenNode(x,z){try{let{serve:A}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})(),C=A({fetch:this.hono.fetch,port:x},z);return{port:x,close:async()=>{return new Promise((B)=>{C.close(()=>B())})},...C}}catch(A){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var j=()=>{if(typeof Bun<"u")return"bun";if(typeof Deno<"u")return"deno";if(typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers")return"workerd";if(typeof process<"u"&&process.versions&&process.versions.node)return"node";return"unknown"};f();
2
2
 
3
- //# debugId=2765CC0FDB32F1D264756E2164756E21
3
+ //# debugId=9203F829BE4C257264756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["..\\..\\src\\adapters\\hono.ts"],
4
4
  "sourcesContent": [
5
- "/**\r\n * @module veloce-ts/adapters/hono\r\n * @description {@link HonoAdapter}: detecta runtime (Bun/Node/Deno/Workers) y expone `listen` sobre la instancia Hono.\r\n */\r\nimport type { Hono } from 'hono';\r\nimport type { Adapter, ServerInstance } from './base';\r\n\r\n// Type declarations for runtime globals\r\ndeclare const Deno: any;\r\ndeclare const Bun: any;\r\n\r\n/**\r\n * Runtime detection utilities\r\n */\r\nconst detectRuntime = (): 'bun' | 'deno' | 'node' | 'workerd' | 'unknown' => {\r\n // Check for Bun\r\n if (typeof Bun !== 'undefined') {\r\n return 'bun';\r\n }\r\n\r\n // Check for Deno\r\n if (typeof Deno !== 'undefined') {\r\n return 'deno';\r\n }\r\n\r\n // Check for Cloudflare Workers\r\n if (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') {\r\n return 'workerd';\r\n }\r\n\r\n // Check for Node.js\r\n if (typeof process !== 'undefined' && process.versions && process.versions.node) {\r\n return 'node';\r\n }\r\n\r\n return 'unknown';\r\n};\r\n\r\n/**\r\n * HonoAdapter - Adapts Hono.js to work across multiple runtimes\r\n * Automatically detects the runtime and uses the appropriate server implementation\r\n */\r\nexport class HonoAdapter implements Adapter {\r\n name = 'hono';\r\n private runtime: ReturnType<typeof detectRuntime>;\r\n\r\n constructor(private hono: Hono) {\r\n this.runtime = detectRuntime();\r\n }\r\n\r\n /**\r\n * Start the server on the specified port\r\n * Automatically uses the appropriate server for the detected runtime\r\n */\r\n listen(port: number, callback?: () => void): ServerInstance {\r\n switch (this.runtime) {\r\n case 'bun':\r\n return this.listenBun(port, callback);\r\n \r\n case 'deno':\r\n return this.listenDeno(port, callback);\r\n \r\n case 'node':\r\n return this.listenNode(port, callback);\r\n \r\n case 'workerd':\r\n throw new Error(\r\n 'Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().'\r\n );\r\n \r\n default:\r\n throw new Error(\r\n `Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Get the Hono fetch handler\r\n * This can be used directly in serverless environments or for custom server setups\r\n */\r\n getHandler() {\r\n return this.hono.fetch;\r\n }\r\n\r\n /**\r\n * Get the detected runtime\r\n */\r\n getRuntime(): string {\r\n return this.runtime;\r\n }\r\n\r\n /**\r\n * Start server using Bun's native server\r\n */\r\n private listenBun(port: number, callback?: () => void): ServerInstance {\r\n const server = Bun.serve({\r\n port,\r\n fetch: this.hono.fetch,\r\n // EN: WebSocket handlers required by Bun. The manager and metadata are\r\n // passed via ws.data (set during the HTTP upgrade in WebSocketPlugin).\r\n // ES: Handlers WebSocket requeridos por Bun. El manager y metadata se\r\n // pasan vía ws.data (seteado durante el upgrade HTTP en WebSocketPlugin).\r\n websocket: {\r\n open(ws: any) {\r\n const { manager, metadata } = ws.data ?? {};\r\n if (!manager || !metadata) return;\r\n // Create the connection wrapper and store it on ws.data for message/close\r\n const connection = manager.handleConnectionBun(ws, metadata);\r\n ws.data._connection = connection;\r\n },\r\n message(ws: any, message: string | Buffer) {\r\n const { manager, metadata, _connection } = ws.data ?? {};\r\n if (!manager || !metadata || !_connection) return;\r\n manager.handleMessageBun(message, _connection, metadata);\r\n },\r\n close(ws: any, code: number, reason: string) {\r\n const { manager, metadata, _connection } = ws.data ?? {};\r\n if (!manager || !metadata || !_connection) return;\r\n manager.handleDisconnectBun(_connection, metadata);\r\n },\r\n error(ws: any, error: Error) {\r\n console.error('[WS] Bun WebSocket error:', error);\r\n },\r\n },\r\n });\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n\r\n return {\r\n port,\r\n close: async () => {\r\n server.stop();\r\n },\r\n ...server\r\n };\r\n }\r\n\r\n /**\r\n * Start server using Deno's native server\r\n */\r\n private listenDeno(port: number, callback?: () => void): ServerInstance {\r\n // Deno.serve returns a promise, so we handle it appropriately\r\n const ac = new AbortController();\r\n \r\n Deno.serve(\r\n {\r\n port,\r\n signal: ac.signal,\r\n onListen: callback\r\n },\r\n this.hono.fetch\r\n );\r\n\r\n // Return an object with a close method for consistency\r\n return {\r\n port,\r\n close: async () => {\r\n ac.abort();\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Start server using Node.js adapter\r\n * Requires @hono/node-server package\r\n */\r\n private listenNode(port: number, callback?: () => void): ServerInstance {\r\n try {\r\n // Dynamically import @hono/node-server\r\n // This is a peer dependency that users need to install for Node.js support\r\n const { serve } = require('@hono/node-server');\r\n \r\n const server = serve(\r\n {\r\n fetch: this.hono.fetch,\r\n port,\r\n },\r\n callback\r\n );\r\n\r\n return {\r\n port,\r\n close: async () => {\r\n return new Promise<void>((resolve) => {\r\n server.close(() => resolve());\r\n });\r\n },\r\n ...server\r\n };\r\n } catch (error) {\r\n throw new Error(\r\n 'Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server'\r\n );\r\n }\r\n }\r\n}\r\n"
5
+ "/**\r\n * @module veloce-ts/adapters/hono\r\n * @description {@link HonoAdapter}: detecta runtime (Bun/Node/Deno/Workers) y expone `listen` sobre la instancia Hono.\r\n */\r\nimport type { Hono } from 'hono';\r\nimport type { Adapter, ServerInstance } from './base';\r\n\r\n// Type declarations for runtime globals\r\ndeclare const Deno: any;\r\ndeclare const Bun: any;\r\n\r\n/**\r\n * Runtime detection utilities\r\n */\r\nconst detectRuntime = (): 'bun' | 'deno' | 'node' | 'workerd' | 'unknown' => {\r\n // Check for Bun\r\n if (typeof Bun !== 'undefined') {\r\n return 'bun';\r\n }\r\n\r\n // Check for Deno\r\n if (typeof Deno !== 'undefined') {\r\n return 'deno';\r\n }\r\n\r\n // Check for Cloudflare Workers\r\n if (typeof navigator !== 'undefined' && navigator.userAgent === 'Cloudflare-Workers') {\r\n return 'workerd';\r\n }\r\n\r\n // Check for Node.js\r\n if (typeof process !== 'undefined' && process.versions && process.versions.node) {\r\n return 'node';\r\n }\r\n\r\n return 'unknown';\r\n};\r\n\r\n/**\r\n * HonoAdapter - Adapts Hono.js to work across multiple runtimes\r\n * Automatically detects the runtime and uses the appropriate server implementation\r\n */\r\nexport class HonoAdapter implements Adapter {\r\n name = 'hono';\r\n private runtime: ReturnType<typeof detectRuntime>;\r\n\r\n constructor(private hono: Hono) {\r\n this.runtime = detectRuntime();\r\n }\r\n\r\n /**\r\n * Start the server on the specified port\r\n * Automatically uses the appropriate server for the detected runtime\r\n */\r\n listen(port: number, callback?: () => void): ServerInstance {\r\n switch (this.runtime) {\r\n case 'bun':\r\n return this.listenBun(port, callback);\r\n \r\n case 'deno':\r\n return this.listenDeno(port, callback);\r\n \r\n case 'node':\r\n return this.listenNode(port, callback);\r\n \r\n case 'workerd':\r\n throw new Error(\r\n 'Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().'\r\n );\r\n \r\n default:\r\n throw new Error(\r\n `Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Get the Hono fetch handler\r\n * This can be used directly in serverless environments or for custom server setups\r\n */\r\n getHandler() {\r\n return this.hono.fetch;\r\n }\r\n\r\n /**\r\n * Get the detected runtime\r\n */\r\n getRuntime(): string {\r\n return this.runtime;\r\n }\r\n\r\n /**\r\n * Start server using Bun's native server\r\n * Passes the Bun server instance as `env` to Hono so WebSocketPlugin\r\n * can call server.upgrade() from within route handlers.\r\n */\r\n private listenBun(port: number, callback?: () => void): ServerInstance {\r\n const hono = this.hono;\r\n const server = Bun.serve({\r\n port,\r\n fetch(req: Request, bunServer: any) {\r\n // Pass the Bun server as `env` so c.env.upgrade() works in handlers\r\n return hono.fetch(req, { upgrade: bunServer.upgrade.bind(bunServer) });\r\n },\r\n websocket: {\r\n open(ws: any) {\r\n const { manager, metadata } = ws.data ?? {};\r\n if (!manager || !metadata) return;\r\n const connection = manager.handleConnectionBun(ws, metadata);\r\n ws.data._connection = connection;\r\n },\r\n message(ws: any, message: string | Buffer) {\r\n const { manager, metadata, _connection } = ws.data ?? {};\r\n if (!manager || !metadata || !_connection) return;\r\n manager.handleMessageBun(message, _connection, metadata);\r\n },\r\n close(ws: any, code: number, reason: string) {\r\n const { manager, metadata, _connection } = ws.data ?? {};\r\n if (!manager || !metadata || !_connection) return;\r\n manager.handleDisconnectBun(_connection, metadata);\r\n },\r\n error(ws: any, error: Error) {\r\n console.error('[WS] Bun WebSocket error:', error);\r\n },\r\n },\r\n });\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n\r\n return {\r\n port,\r\n close: async () => {\r\n server.stop();\r\n },\r\n ...server\r\n };\r\n }\r\n\r\n /**\r\n * Start server using Deno's native server\r\n */\r\n private listenDeno(port: number, callback?: () => void): ServerInstance {\r\n // Deno.serve returns a promise, so we handle it appropriately\r\n const ac = new AbortController();\r\n \r\n Deno.serve(\r\n {\r\n port,\r\n signal: ac.signal,\r\n onListen: callback\r\n },\r\n this.hono.fetch\r\n );\r\n\r\n // Return an object with a close method for consistency\r\n return {\r\n port,\r\n close: async () => {\r\n ac.abort();\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Start server using Node.js adapter\r\n * Requires @hono/node-server package\r\n */\r\n private listenNode(port: number, callback?: () => void): ServerInstance {\r\n try {\r\n // Dynamically import @hono/node-server\r\n // This is a peer dependency that users need to install for Node.js support\r\n const { serve } = require('@hono/node-server');\r\n \r\n const server = serve(\r\n {\r\n fetch: this.hono.fetch,\r\n port,\r\n },\r\n callback\r\n );\r\n\r\n return {\r\n port,\r\n close: async () => {\r\n return new Promise<void>((resolve) => {\r\n server.close(() => resolve());\r\n });\r\n },\r\n ...server\r\n };\r\n } catch (error) {\r\n throw new Error(\r\n 'Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server'\r\n );\r\n }\r\n }\r\n}\r\n"
6
6
  ],
7
- "mappings": "ihCA0CO,MAAM,CAA+B,CAItB,KAHpB,KAAO,OACC,QAER,WAAW,CAAS,EAAY,CAAZ,YAClB,KAAK,QAAU,EAAc,EAO/B,MAAM,CAAC,EAAc,EAAuC,CAC1D,OAAQ,KAAK,aACN,MACH,OAAO,KAAK,UAAU,EAAM,CAAQ,MAEjC,OACH,OAAO,KAAK,WAAW,EAAM,CAAQ,MAElC,OACH,OAAO,KAAK,WAAW,EAAM,CAAQ,MAElC,UACH,MAAU,MACR,4GACF,UAGA,MAAU,MACR,wBAAwB,KAAK,0EAC/B,GAQN,UAAU,EAAG,CACX,OAAO,KAAK,KAAK,MAMnB,UAAU,EAAW,CACnB,OAAO,KAAK,QAMN,SAAS,CAAC,EAAc,EAAuC,CACrE,IAAM,EAAS,IAAI,MAAM,CACvB,OACA,MAAO,KAAK,KAAK,MAKjB,UAAW,CACT,IAAI,CAAC,EAAS,CACZ,IAAQ,UAAS,YAAa,EAAG,MAAQ,CAAC,EAC1C,GAAI,CAAC,GAAW,CAAC,EAAU,OAE3B,IAAM,EAAa,EAAQ,oBAAoB,EAAI,CAAQ,EAC3D,EAAG,KAAK,YAAc,GAExB,OAAO,CAAC,EAAS,EAA0B,CACzC,IAAQ,UAAS,WAAU,eAAgB,EAAG,MAAQ,CAAC,EACvD,GAAI,CAAC,GAAW,CAAC,GAAY,CAAC,EAAa,OAC3C,EAAQ,iBAAiB,EAAS,EAAa,CAAQ,GAEzD,KAAK,CAAC,EAAS,EAAc,EAAgB,CAC3C,IAAQ,UAAS,WAAU,eAAgB,EAAG,MAAQ,CAAC,EACvD,GAAI,CAAC,GAAW,CAAC,GAAY,CAAC,EAAa,OAC3C,EAAQ,oBAAoB,EAAa,CAAQ,GAEnD,KAAK,CAAC,EAAS,EAAc,CAC3B,QAAQ,MAAM,4BAA6B,CAAK,EAEpD,CACF,CAAC,EAED,GAAI,EACF,EAAS,EAGX,MAAO,CACL,OACA,MAAO,SAAY,CACjB,EAAO,KAAK,MAEX,CACL,EAMM,UAAU,CAAC,EAAc,EAAuC,CAEtE,IAAM,EAAK,IAAI,gBAYf,OAVA,KAAK,MACH,CACE,OACA,OAAQ,EAAG,OACX,SAAU,CACZ,EACA,KAAK,KAAK,KACZ,EAGO,CACL,OACA,MAAO,SAAY,CACjB,EAAG,MAAM,EAEb,EAOM,UAAU,CAAC,EAAc,EAAuC,CACtE,GAAI,CAGF,IAAQ,kFAEF,EAAS,EACb,CACE,MAAO,KAAK,KAAK,MACjB,MACF,EACA,CACF,EAEA,MAAO,CACL,OACA,MAAO,SAAY,CACjB,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,EAAO,MAAM,IAAM,EAAQ,CAAC,EAC7B,MAEA,CACL,EACA,MAAO,EAAO,CACd,MAAU,MACR,oGACF,GAGN,KAxLM,EAAgB,IAAuD,CAE3E,GAAI,OAAO,IAAQ,IACjB,MAAO,MAIT,GAAI,OAAO,KAAS,IAClB,MAAO,OAIT,GAAI,OAAO,UAAc,KAAe,UAAU,YAAc,qBAC9D,MAAO,UAIT,GAAI,OAAO,QAAY,KAAe,QAAQ,UAAY,QAAQ,SAAS,KACzE,MAAO,OAGT,MAAO",
8
- "debugId": "2765CC0FDB32F1D264756E2164756E21",
7
+ "mappings": "ihCA0CO,MAAM,CAA+B,CAItB,KAHpB,KAAO,OACC,QAER,WAAW,CAAS,EAAY,CAAZ,YAClB,KAAK,QAAU,EAAc,EAO/B,MAAM,CAAC,EAAc,EAAuC,CAC1D,OAAQ,KAAK,aACN,MACH,OAAO,KAAK,UAAU,EAAM,CAAQ,MAEjC,OACH,OAAO,KAAK,WAAW,EAAM,CAAQ,MAElC,OACH,OAAO,KAAK,WAAW,EAAM,CAAQ,MAElC,UACH,MAAU,MACR,4GACF,UAGA,MAAU,MACR,wBAAwB,KAAK,0EAC/B,GAQN,UAAU,EAAG,CACX,OAAO,KAAK,KAAK,MAMnB,UAAU,EAAW,CACnB,OAAO,KAAK,QAQN,SAAS,CAAC,EAAc,EAAuC,CACrE,IAAM,EAAO,KAAK,KACZ,EAAS,IAAI,MAAM,CACvB,OACA,KAAK,CAAC,EAAc,EAAgB,CAElC,OAAO,EAAK,MAAM,EAAK,CAAE,QAAS,EAAU,QAAQ,KAAK,CAAS,CAAE,CAAC,GAEvE,UAAW,CACT,IAAI,CAAC,EAAS,CACZ,IAAQ,UAAS,YAAa,EAAG,MAAQ,CAAC,EAC1C,GAAI,CAAC,GAAW,CAAC,EAAU,OAC3B,IAAM,EAAa,EAAQ,oBAAoB,EAAI,CAAQ,EAC3D,EAAG,KAAK,YAAc,GAExB,OAAO,CAAC,EAAS,EAA0B,CACzC,IAAQ,UAAS,WAAU,eAAgB,EAAG,MAAQ,CAAC,EACvD,GAAI,CAAC,GAAW,CAAC,GAAY,CAAC,EAAa,OAC3C,EAAQ,iBAAiB,EAAS,EAAa,CAAQ,GAEzD,KAAK,CAAC,EAAS,EAAc,EAAgB,CAC3C,IAAQ,UAAS,WAAU,eAAgB,EAAG,MAAQ,CAAC,EACvD,GAAI,CAAC,GAAW,CAAC,GAAY,CAAC,EAAa,OAC3C,EAAQ,oBAAoB,EAAa,CAAQ,GAEnD,KAAK,CAAC,EAAS,EAAc,CAC3B,QAAQ,MAAM,4BAA6B,CAAK,EAEpD,CACF,CAAC,EAED,GAAI,EACF,EAAS,EAGX,MAAO,CACL,OACA,MAAO,SAAY,CACjB,EAAO,KAAK,MAEX,CACL,EAMM,UAAU,CAAC,EAAc,EAAuC,CAEtE,IAAM,EAAK,IAAI,gBAYf,OAVA,KAAK,MACH,CACE,OACA,OAAQ,EAAG,OACX,SAAU,CACZ,EACA,KAAK,KAAK,KACZ,EAGO,CACL,OACA,MAAO,SAAY,CACjB,EAAG,MAAM,EAEb,EAOM,UAAU,CAAC,EAAc,EAAuC,CACtE,GAAI,CAGF,IAAQ,kFAEF,EAAS,EACb,CACE,MAAO,KAAK,KAAK,MACjB,MACF,EACA,CACF,EAEA,MAAO,CACL,OACA,MAAO,SAAY,CACjB,OAAO,IAAI,QAAc,CAAC,IAAY,CACpC,EAAO,MAAM,IAAM,EAAQ,CAAC,EAC7B,MAEA,CACL,EACA,MAAO,EAAO,CACd,MAAU,MACR,oGACF,GAGN,KAzLM,EAAgB,IAAuD,CAE3E,GAAI,OAAO,IAAQ,IACjB,MAAO,MAIT,GAAI,OAAO,KAAS,IAClB,MAAO,OAIT,GAAI,OAAO,UAAc,KAAe,UAAU,YAAc,qBAC9D,MAAO,UAIT,GAAI,OAAO,QAAY,KAAe,QAAQ,UAAY,QAAQ,SAAS,KACzE,MAAO,OAGT,MAAO",
8
+ "debugId": "9203F829BE4C257264756E2164756E21",
9
9
  "names": []
10
10
  }