@candypoets/nipworker 0.88.1 → 0.89.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/NarrowTypes.js +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/pkg/cache.d.ts +2 -2
- package/dist/cache/pkg/cache_bg.wasm.d.ts +2 -2
- package/dist/connections/index.d.ts +5 -0
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +2 -2
- package/dist/connections/index.js.map +1 -1
- package/dist/connections/pkg/connections.d.ts +4 -4
- package/dist/connections/pkg/connections_bg.wasm.d.ts +4 -4
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +26 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index2.js +1 -1
- package/dist/index2.js.map +1 -1
- package/dist/proxy/index.d.ts +2 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/index.js +1 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/proxy/relayProxyServer.d.ts +108 -0
- package/dist/proxy/relayProxyServer.d.ts.map +1 -0
- package/dist/proxy/server.d.ts +2 -0
- package/dist/proxy/server.d.ts.map +1 -0
- package/dist/proxy/server.js +1 -0
- package/dist/proxy/server.js.map +1 -0
- package/dist/proxy/vite.d.ts +45 -0
- package/dist/proxy/vite.d.ts.map +1 -0
- package/dist/proxy/vite.js +2 -0
- package/dist/proxy/vite.js.map +1 -0
- package/dist/relayProxyServer.js +1 -0
- package/dist/relayProxyServer.js.map +1 -0
- package/dist/signer-response.js +1 -0
- package/dist/signer-response.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils.js +4 -4
- package/dist/utils.js.map +1 -1
- package/dist/worker-message.js +1 -0
- package/dist/worker-message.js.map +1 -0
- package/package.json +44 -8
package/dist/index2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":["../src/generated/nostr/fb/buffer-full.ts","../src/generated/nostr/fb/string-vec.ts","../src/generated/nostr/fb/nostr-event.ts","../src/generated/nostr/fb/kind0-parsed.ts","../src/generated/nostr/fb/relay-info.ts","../src/generated/nostr/fb/kind10002-parsed.ts","../src/generated/nostr/fb/mint-info.ts","../src/generated/nostr/fb/kind10019-parsed.ts","../src/generated/nostr/fb/cashu-data.ts","../src/generated/nostr/fb/code-data.ts","../src/generated/nostr/fb/hashtag-data.ts","../src/generated/nostr/fb/image-data.ts","../src/generated/nostr/fb/link-preview-data.ts","../src/generated/nostr/fb/video-data.ts","../src/generated/nostr/fb/media-item.ts","../src/generated/nostr/fb/media-group-data.ts","../src/generated/nostr/fb/nostr-data.ts","../src/generated/nostr/fb/content-data.ts","../src/generated/nostr/fb/content-block.ts","../src/generated/nostr/fb/event-pointer.ts","../src/generated/nostr/fb/profile-pointer.ts","../src/generated/nostr/fb/kind1111-parsed.ts","../src/generated/nostr/fb/live-activity-ref.ts","../src/generated/nostr/fb/live-chat-participant.ts","../src/generated/nostr/fb/live-chat-thread-ref.ts","../src/generated/nostr/fb/kind1311-parsed.ts","../src/generated/nostr/fb/kind17375-parsed.ts","../src/generated/nostr/fb/emoji.ts","../src/generated/nostr/fb/reaction-type.ts","../src/generated/nostr/fb/kind17-parsed.ts","../src/generated/nostr/fb/kind1-parsed.ts","../src/generated/nostr/fb/imeta-tag.ts","../src/generated/nostr/fb/kind20-parsed.ts","../src/generated/nostr/fb/video-variant.ts","../src/generated/nostr/fb/kind22-parsed.ts","../src/generated/nostr/fb/kind30023-parsed.ts","../src/generated/nostr/fb/contact.ts","../src/generated/nostr/fb/kind3-parsed.ts","../src/generated/nostr/fb/kind4-parsed.ts","../src/generated/nostr/fb/kind6-parsed.ts","../src/generated/nostr/fb/kind7374-parsed.ts","../src/generated/nostr/fb/dleqproof.ts","../src/generated/nostr/fb/htlcwitness.ts","../src/generated/nostr/fb/p2-pkwitness.ts","../src/generated/nostr/fb/witness-string.ts","../src/generated/nostr/fb/witness.ts","../src/generated/nostr/fb/proof.ts","../src/generated/nostr/fb/kind7375-parsed.ts","../src/generated/nostr/fb/history-tag.ts","../src/generated/nostr/fb/kind7376-parsed.ts","../src/generated/nostr/fb/kind7-parsed.ts","../src/generated/nostr/fb/kind9321-parsed.ts","../src/generated/nostr/fb/zap-request.ts","../src/generated/nostr/fb/kind9735-parsed.ts","../src/generated/nostr/fb/coordinate.ts","../src/generated/nostr/fb/list-parsed.ts","../src/generated/nostr/fb/pre-participant.ts","../src/generated/nostr/fb/pre-ref-event.ts","../src/generated/nostr/fb/pre-generic-parsed.ts","../src/generated/nostr/fb/parsed-data.ts","../src/generated/nostr/fb/request.ts","../src/generated/nostr/fb/parsed-event.ts","../src/generated/nostr/fb/cache-request.ts","../src/generated/nostr/fb/connection-status.ts","../src/generated/nostr/fb/count-response.ts","../src/generated/nostr/fb/eoce.ts","../src/generated/nostr/fb/pubkey.ts","../src/generated/nostr/fb/raw.ts","../src/generated/nostr/fb/signed-event.ts","../src/generated/nostr/fb/mint-proofs.ts","../src/generated/nostr/fb/valid-proofs.ts","../src/generated/nostr/fb/message.ts","../src/generated/nostr/fb/message-type.ts","../src/generated/nostr/fb/worker-message.ts","../src/generated/nostr/fb/cache-input.ts","../src/generated/nostr/fb/cache-input-message.ts","../src/generated/nostr/fb/cache-response.ts","../src/generated/nostr/fb/counter-pipe-config.ts","../src/generated/nostr/fb/get-public-key.ts","../src/generated/nostr/fb/kind-filter-pipe-config.ts","../src/generated/nostr/fb/template.ts","../src/generated/nostr/fb/publish.ts","../src/generated/nostr/fb/private-key.ts","../src/generated/nostr/fb/signer-type.ts","../src/generated/nostr/fb/set-signer.ts","../src/generated/nostr/fb/sign-event.ts","../src/generated/nostr/fb/mute-filter-pipe-config.ts","../src/generated/nostr/fb/npub-limiter-pipe-config.ts","../src/generated/nostr/fb/parse-pipe-config.ts","../src/generated/nostr/fb/proof-verification-pipe-config.ts","../src/generated/nostr/fb/save-to-db-pipe-config.ts","../src/generated/nostr/fb/serialize-events-pipe-config.ts","../src/generated/nostr/fb/pipe-config.ts","../src/generated/nostr/fb/pipe.ts","../src/generated/nostr/fb/pipeline-config.ts","../src/generated/nostr/fb/subscription-config.ts","../src/generated/nostr/fb/subscribe.ts","../src/generated/nostr/fb/unsubscribe.ts","../src/generated/nostr/fb/main-content.ts","../src/generated/nostr/fb/main-message.ts","../src/generated/nostr/fb/parsed-data-union.ts","../src/generated/nostr/fb/signer-op.ts","../src/generated/nostr/fb/signer-request.ts","../src/generated/nostr/fb/signer-response.ts","../src/generated/nostr/fb/subscribe-kind.ts","../src/lib/ArrayBufferReader.ts","../src/lib/NostrUtils.ts","../src/index.ts"],"sourcesContent":["import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class BufferFull implements flatbuffers.IUnpackableObject<BufferFullT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):BufferFull {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsBufferFull(bb:flatbuffers.ByteBuffer, obj?:BufferFull):BufferFull {\n return (obj || new BufferFull()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsBufferFull(bb:flatbuffers.ByteBuffer, obj?:BufferFull):BufferFull {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new BufferFull()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ndroppedEvents():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nstatic startBufferFull(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addDroppedEvents(builder:flatbuffers.Builder, droppedEvents:number) {\n builder.addFieldInt16(0, droppedEvents, 0);\n}\n\nstatic endBufferFull(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createBufferFull(builder:flatbuffers.Builder, droppedEvents:number):flatbuffers.Offset {\n BufferFull.startBufferFull(builder);\n BufferFull.addDroppedEvents(builder, droppedEvents);\n return BufferFull.endBufferFull(builder);\n}\n\nunpack(): BufferFullT {\n return new BufferFullT(\n this.droppedEvents()\n );\n}\n\n\nunpackTo(_o: BufferFullT): void {\n _o.droppedEvents = this.droppedEvents();\n}\n}\n\nexport class BufferFullT implements flatbuffers.IGeneratedObject {\nconstructor(\n public droppedEvents: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return BufferFull.createBufferFull(builder,\n this.droppedEvents\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class StringVec implements flatbuffers.IUnpackableObject<StringVecT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):StringVec {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsStringVec(bb:flatbuffers.ByteBuffer, obj?:StringVec):StringVec {\n return (obj || new StringVec()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsStringVec(bb:flatbuffers.ByteBuffer, obj?:StringVec):StringVec {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new StringVec()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nitems(index: number): ByteString\nitems(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nitems(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nitemsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startStringVec(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addItems(builder:flatbuffers.Builder, itemsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, itemsOffset, 0);\n}\n\nstatic createItemsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startItemsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endStringVec(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createStringVec(builder:flatbuffers.Builder, itemsOffset:flatbuffers.Offset):flatbuffers.Offset {\n StringVec.startStringVec(builder);\n StringVec.addItems(builder, itemsOffset);\n return StringVec.endStringVec(builder);\n}\n\nunpack(): StringVecT {\n return new StringVecT(\n this.bb!.createScalarList<string>(this.items.bind(this), this.itemsLength())\n );\n}\n\n\nunpackTo(_o: StringVecT): void {\n _o.items = this.bb!.createScalarList<string>(this.items.bind(this), this.itemsLength());\n}\n}\n\nexport class StringVecT implements flatbuffers.IGeneratedObject {\nconstructor(\n public items: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const items = StringVec.createItemsVector(builder, builder.createObjectOffsetList(this.items));\n\n return StringVec.createStringVec(builder,\n items\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { StringVec, StringVecT } from '../../nostr/fb/string-vec.js';\n\n\nexport class NostrEvent implements flatbuffers.IUnpackableObject<NostrEventT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):NostrEvent {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsNostrEvent(bb:flatbuffers.ByteBuffer, obj?:NostrEvent):NostrEvent {\n return (obj || new NostrEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsNostrEvent(bb:flatbuffers.ByteBuffer, obj?:NostrEvent):NostrEvent {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new NostrEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntags(index: number, obj?:StringVec):StringVec|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new StringVec()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ncreatedAt():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nsig(): ByteString|null\nsig(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsig(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startNostrEvent(builder:flatbuffers.Builder) {\n builder.startObject(7);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(2, kind, 0);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, contentOffset, 0);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addCreatedAt(builder:flatbuffers.Builder, createdAt:number) {\n builder.addFieldInt32(5, createdAt, 0);\n}\n\nstatic addSig(builder:flatbuffers.Builder, sigOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, sigOffset, 0);\n}\n\nstatic endNostrEvent(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n builder.requiredField(offset, 6) // pubkey\n builder.requiredField(offset, 10) // content\n builder.requiredField(offset, 12) // tags\n builder.requiredField(offset, 16) // sig\n return offset;\n}\n\nstatic createNostrEvent(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, pubkeyOffset:flatbuffers.Offset, kind:number, contentOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset, createdAt:number, sigOffset:flatbuffers.Offset):flatbuffers.Offset {\n NostrEvent.startNostrEvent(builder);\n NostrEvent.addId(builder, idOffset);\n NostrEvent.addPubkey(builder, pubkeyOffset);\n NostrEvent.addKind(builder, kind);\n NostrEvent.addContent(builder, contentOffset);\n NostrEvent.addTags(builder, tagsOffset);\n NostrEvent.addCreatedAt(builder, createdAt);\n NostrEvent.addSig(builder, sigOffset);\n return NostrEvent.endNostrEvent(builder);\n}\n\nunpack(): NostrEventT {\n return new NostrEventT(\n this.id(),\n this.pubkey(),\n this.kind(),\n this.content(),\n this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength()),\n this.createdAt(),\n this.sig()\n );\n}\n\n\nunpackTo(_o: NostrEventT): void {\n _o.id = this.id();\n _o.pubkey = this.pubkey();\n _o.kind = this.kind();\n _o.content = this.content();\n _o.tags = this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength());\n _o.createdAt = this.createdAt();\n _o.sig = this.sig();\n}\n}\n\nexport class NostrEventT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public pubkey: ByteString|Uint8Array|null = null,\n public kind: number = 0,\n public content: ByteString|Uint8Array|null = null,\n public tags: (StringVecT)[] = [],\n public createdAt: number = 0,\n public sig: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const tags = NostrEvent.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n const sig = (this.sig !== null ? builder.createString(this.sig!) : 0);\n\n return NostrEvent.createNostrEvent(builder,\n id,\n pubkey,\n this.kind,\n content,\n tags,\n this.createdAt,\n sig\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Kind0Parsed implements flatbuffers.IUnpackableObject<Kind0ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind0Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind0Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind0Parsed):Kind0Parsed {\n return (obj || new Kind0Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind0Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind0Parsed):Kind0Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind0Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nname(): ByteString|null\nname(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nname(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndisplayName(): ByteString|null\ndisplayName(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndisplayName(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npicture(): ByteString|null\npicture(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npicture(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nbanner(): ByteString|null\nbanner(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nbanner(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nabout(): ByteString|null\nabout(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nabout(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nwebsite(): ByteString|null\nwebsite(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nwebsite(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nnip05(): ByteString|null\nnip05(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nnip05(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nlud06(): ByteString|null\nlud06(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nlud06(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nlud16(): ByteString|null\nlud16(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nlud16(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ngithub(): ByteString|null\ngithub(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ngithub(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 24);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntwitter(): ByteString|null\ntwitter(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntwitter(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 26);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmastodon(): ByteString|null\nmastodon(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmastodon(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 28);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nnostr(): ByteString|null\nnostr(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nnostr(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 30);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndisplayNameAlt(): ByteString|null\ndisplayNameAlt(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndisplayNameAlt(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 32);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nusername(): ByteString|null\nusername(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nusername(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 34);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nbio(): ByteString|null\nbio(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nbio(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 36);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nimage(): ByteString|null\nimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 38);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\navatar(): ByteString|null\navatar(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\navatar(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 40);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nbackground(): ByteString|null\nbackground(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nbackground(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 42);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKind0Parsed(builder:flatbuffers.Builder) {\n builder.startObject(20);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeyOffset, 0);\n}\n\nstatic addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, nameOffset, 0);\n}\n\nstatic addDisplayName(builder:flatbuffers.Builder, displayNameOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, displayNameOffset, 0);\n}\n\nstatic addPicture(builder:flatbuffers.Builder, pictureOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, pictureOffset, 0);\n}\n\nstatic addBanner(builder:flatbuffers.Builder, bannerOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, bannerOffset, 0);\n}\n\nstatic addAbout(builder:flatbuffers.Builder, aboutOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, aboutOffset, 0);\n}\n\nstatic addWebsite(builder:flatbuffers.Builder, websiteOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, websiteOffset, 0);\n}\n\nstatic addNip05(builder:flatbuffers.Builder, nip05Offset:flatbuffers.Offset) {\n builder.addFieldOffset(7, nip05Offset, 0);\n}\n\nstatic addLud06(builder:flatbuffers.Builder, lud06Offset:flatbuffers.Offset) {\n builder.addFieldOffset(8, lud06Offset, 0);\n}\n\nstatic addLud16(builder:flatbuffers.Builder, lud16Offset:flatbuffers.Offset) {\n builder.addFieldOffset(9, lud16Offset, 0);\n}\n\nstatic addGithub(builder:flatbuffers.Builder, githubOffset:flatbuffers.Offset) {\n builder.addFieldOffset(10, githubOffset, 0);\n}\n\nstatic addTwitter(builder:flatbuffers.Builder, twitterOffset:flatbuffers.Offset) {\n builder.addFieldOffset(11, twitterOffset, 0);\n}\n\nstatic addMastodon(builder:flatbuffers.Builder, mastodonOffset:flatbuffers.Offset) {\n builder.addFieldOffset(12, mastodonOffset, 0);\n}\n\nstatic addNostr(builder:flatbuffers.Builder, nostrOffset:flatbuffers.Offset) {\n builder.addFieldOffset(13, nostrOffset, 0);\n}\n\nstatic addDisplayNameAlt(builder:flatbuffers.Builder, displayNameAltOffset:flatbuffers.Offset) {\n builder.addFieldOffset(14, displayNameAltOffset, 0);\n}\n\nstatic addUsername(builder:flatbuffers.Builder, usernameOffset:flatbuffers.Offset) {\n builder.addFieldOffset(15, usernameOffset, 0);\n}\n\nstatic addBio(builder:flatbuffers.Builder, bioOffset:flatbuffers.Offset) {\n builder.addFieldOffset(16, bioOffset, 0);\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(17, imageOffset, 0);\n}\n\nstatic addAvatar(builder:flatbuffers.Builder, avatarOffset:flatbuffers.Offset) {\n builder.addFieldOffset(18, avatarOffset, 0);\n}\n\nstatic addBackground(builder:flatbuffers.Builder, backgroundOffset:flatbuffers.Offset) {\n builder.addFieldOffset(19, backgroundOffset, 0);\n}\n\nstatic endKind0Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createKind0Parsed(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset, nameOffset:flatbuffers.Offset, displayNameOffset:flatbuffers.Offset, pictureOffset:flatbuffers.Offset, bannerOffset:flatbuffers.Offset, aboutOffset:flatbuffers.Offset, websiteOffset:flatbuffers.Offset, nip05Offset:flatbuffers.Offset, lud06Offset:flatbuffers.Offset, lud16Offset:flatbuffers.Offset, githubOffset:flatbuffers.Offset, twitterOffset:flatbuffers.Offset, mastodonOffset:flatbuffers.Offset, nostrOffset:flatbuffers.Offset, displayNameAltOffset:flatbuffers.Offset, usernameOffset:flatbuffers.Offset, bioOffset:flatbuffers.Offset, imageOffset:flatbuffers.Offset, avatarOffset:flatbuffers.Offset, backgroundOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind0Parsed.startKind0Parsed(builder);\n Kind0Parsed.addPubkey(builder, pubkeyOffset);\n Kind0Parsed.addName(builder, nameOffset);\n Kind0Parsed.addDisplayName(builder, displayNameOffset);\n Kind0Parsed.addPicture(builder, pictureOffset);\n Kind0Parsed.addBanner(builder, bannerOffset);\n Kind0Parsed.addAbout(builder, aboutOffset);\n Kind0Parsed.addWebsite(builder, websiteOffset);\n Kind0Parsed.addNip05(builder, nip05Offset);\n Kind0Parsed.addLud06(builder, lud06Offset);\n Kind0Parsed.addLud16(builder, lud16Offset);\n Kind0Parsed.addGithub(builder, githubOffset);\n Kind0Parsed.addTwitter(builder, twitterOffset);\n Kind0Parsed.addMastodon(builder, mastodonOffset);\n Kind0Parsed.addNostr(builder, nostrOffset);\n Kind0Parsed.addDisplayNameAlt(builder, displayNameAltOffset);\n Kind0Parsed.addUsername(builder, usernameOffset);\n Kind0Parsed.addBio(builder, bioOffset);\n Kind0Parsed.addImage(builder, imageOffset);\n Kind0Parsed.addAvatar(builder, avatarOffset);\n Kind0Parsed.addBackground(builder, backgroundOffset);\n return Kind0Parsed.endKind0Parsed(builder);\n}\n\nunpack(): Kind0ParsedT {\n return new Kind0ParsedT(\n this.pubkey(),\n this.name(),\n this.displayName(),\n this.picture(),\n this.banner(),\n this.about(),\n this.website(),\n this.nip05(),\n this.lud06(),\n this.lud16(),\n this.github(),\n this.twitter(),\n this.mastodon(),\n this.nostr(),\n this.displayNameAlt(),\n this.username(),\n this.bio(),\n this.image(),\n this.avatar(),\n this.background()\n );\n}\n\n\nunpackTo(_o: Kind0ParsedT): void {\n _o.pubkey = this.pubkey();\n _o.name = this.name();\n _o.displayName = this.displayName();\n _o.picture = this.picture();\n _o.banner = this.banner();\n _o.about = this.about();\n _o.website = this.website();\n _o.nip05 = this.nip05();\n _o.lud06 = this.lud06();\n _o.lud16 = this.lud16();\n _o.github = this.github();\n _o.twitter = this.twitter();\n _o.mastodon = this.mastodon();\n _o.nostr = this.nostr();\n _o.displayNameAlt = this.displayNameAlt();\n _o.username = this.username();\n _o.bio = this.bio();\n _o.image = this.image();\n _o.avatar = this.avatar();\n _o.background = this.background();\n}\n}\n\nexport class Kind0ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkey: ByteString|Uint8Array|null = null,\n public name: ByteString|Uint8Array|null = null,\n public displayName: ByteString|Uint8Array|null = null,\n public picture: ByteString|Uint8Array|null = null,\n public banner: ByteString|Uint8Array|null = null,\n public about: ByteString|Uint8Array|null = null,\n public website: ByteString|Uint8Array|null = null,\n public nip05: ByteString|Uint8Array|null = null,\n public lud06: ByteString|Uint8Array|null = null,\n public lud16: ByteString|Uint8Array|null = null,\n public github: ByteString|Uint8Array|null = null,\n public twitter: ByteString|Uint8Array|null = null,\n public mastodon: ByteString|Uint8Array|null = null,\n public nostr: ByteString|Uint8Array|null = null,\n public displayNameAlt: ByteString|Uint8Array|null = null,\n public username: ByteString|Uint8Array|null = null,\n public bio: ByteString|Uint8Array|null = null,\n public image: ByteString|Uint8Array|null = null,\n public avatar: ByteString|Uint8Array|null = null,\n public background: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const name = (this.name !== null ? builder.createString(this.name!) : 0);\n const displayName = (this.displayName !== null ? builder.createString(this.displayName!) : 0);\n const picture = (this.picture !== null ? builder.createString(this.picture!) : 0);\n const banner = (this.banner !== null ? builder.createString(this.banner!) : 0);\n const about = (this.about !== null ? builder.createString(this.about!) : 0);\n const website = (this.website !== null ? builder.createString(this.website!) : 0);\n const nip05 = (this.nip05 !== null ? builder.createString(this.nip05!) : 0);\n const lud06 = (this.lud06 !== null ? builder.createString(this.lud06!) : 0);\n const lud16 = (this.lud16 !== null ? builder.createString(this.lud16!) : 0);\n const github = (this.github !== null ? builder.createString(this.github!) : 0);\n const twitter = (this.twitter !== null ? builder.createString(this.twitter!) : 0);\n const mastodon = (this.mastodon !== null ? builder.createString(this.mastodon!) : 0);\n const nostr = (this.nostr !== null ? builder.createString(this.nostr!) : 0);\n const displayNameAlt = (this.displayNameAlt !== null ? builder.createString(this.displayNameAlt!) : 0);\n const username = (this.username !== null ? builder.createString(this.username!) : 0);\n const bio = (this.bio !== null ? builder.createString(this.bio!) : 0);\n const image = (this.image !== null ? builder.createString(this.image!) : 0);\n const avatar = (this.avatar !== null ? builder.createString(this.avatar!) : 0);\n const background = (this.background !== null ? builder.createString(this.background!) : 0);\n\n return Kind0Parsed.createKind0Parsed(builder,\n pubkey,\n name,\n displayName,\n picture,\n banner,\n about,\n website,\n nip05,\n lud06,\n lud16,\n github,\n twitter,\n mastodon,\n nostr,\n displayNameAlt,\n username,\n bio,\n image,\n avatar,\n background\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class RelayInfo implements flatbuffers.IUnpackableObject<RelayInfoT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):RelayInfo {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsRelayInfo(bb:flatbuffers.ByteBuffer, obj?:RelayInfo):RelayInfo {\n return (obj || new RelayInfo()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsRelayInfo(bb:flatbuffers.ByteBuffer, obj?:RelayInfo):RelayInfo {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new RelayInfo()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nread():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nwrite():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startRelayInfo(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addRead(builder:flatbuffers.Builder, read:boolean) {\n builder.addFieldInt8(1, +read, +false);\n}\n\nstatic addWrite(builder:flatbuffers.Builder, write:boolean) {\n builder.addFieldInt8(2, +write, +false);\n}\n\nstatic endRelayInfo(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n return offset;\n}\n\nstatic createRelayInfo(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, read:boolean, write:boolean):flatbuffers.Offset {\n RelayInfo.startRelayInfo(builder);\n RelayInfo.addUrl(builder, urlOffset);\n RelayInfo.addRead(builder, read);\n RelayInfo.addWrite(builder, write);\n return RelayInfo.endRelayInfo(builder);\n}\n\nunpack(): RelayInfoT {\n return new RelayInfoT(\n this.url(),\n this.read(),\n this.write()\n );\n}\n\n\nunpackTo(_o: RelayInfoT): void {\n _o.url = this.url();\n _o.read = this.read();\n _o.write = this.write();\n}\n}\n\nexport class RelayInfoT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public read: boolean = false,\n public write: boolean = false\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n\n return RelayInfo.createRelayInfo(builder,\n url,\n this.read,\n this.write\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { RelayInfo, RelayInfoT } from '../../nostr/fb/relay-info.js';\n\n\nexport class Kind10002Parsed implements flatbuffers.IUnpackableObject<Kind10002ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind10002Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind10002Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind10002Parsed):Kind10002Parsed {\n return (obj || new Kind10002Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind10002Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind10002Parsed):Kind10002Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind10002Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nrelays(index: number, obj?:RelayInfo):RelayInfo|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new RelayInfo()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind10002Parsed(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind10002Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // relays\n return offset;\n}\n\nstatic createKind10002Parsed(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind10002Parsed.startKind10002Parsed(builder);\n Kind10002Parsed.addRelays(builder, relaysOffset);\n return Kind10002Parsed.endKind10002Parsed(builder);\n}\n\nunpack(): Kind10002ParsedT {\n return new Kind10002ParsedT(\n this.bb!.createObjList<RelayInfo, RelayInfoT>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: Kind10002ParsedT): void {\n _o.relays = this.bb!.createObjList<RelayInfo, RelayInfoT>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class Kind10002ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public relays: (RelayInfoT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const relays = Kind10002Parsed.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n return Kind10002Parsed.createKind10002Parsed(builder,\n relays\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class MintInfo implements flatbuffers.IUnpackableObject<MintInfoT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MintInfo {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMintInfo(bb:flatbuffers.ByteBuffer, obj?:MintInfo):MintInfo {\n return (obj || new MintInfo()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMintInfo(bb:flatbuffers.ByteBuffer, obj?:MintInfo):MintInfo {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MintInfo()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nbaseUnits(index: number): ByteString\nbaseUnits(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nbaseUnits(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nbaseUnitsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startMintInfo(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addBaseUnits(builder:flatbuffers.Builder, baseUnitsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, baseUnitsOffset, 0);\n}\n\nstatic createBaseUnitsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startBaseUnitsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endMintInfo(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n builder.requiredField(offset, 6) // base_units\n return offset;\n}\n\nstatic createMintInfo(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, baseUnitsOffset:flatbuffers.Offset):flatbuffers.Offset {\n MintInfo.startMintInfo(builder);\n MintInfo.addUrl(builder, urlOffset);\n MintInfo.addBaseUnits(builder, baseUnitsOffset);\n return MintInfo.endMintInfo(builder);\n}\n\nunpack(): MintInfoT {\n return new MintInfoT(\n this.url(),\n this.bb!.createScalarList<string>(this.baseUnits.bind(this), this.baseUnitsLength())\n );\n}\n\n\nunpackTo(_o: MintInfoT): void {\n _o.url = this.url();\n _o.baseUnits = this.bb!.createScalarList<string>(this.baseUnits.bind(this), this.baseUnitsLength());\n}\n}\n\nexport class MintInfoT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public baseUnits: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const baseUnits = MintInfo.createBaseUnitsVector(builder, builder.createObjectOffsetList(this.baseUnits));\n\n return MintInfo.createMintInfo(builder,\n url,\n baseUnits\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { MintInfo, MintInfoT } from '../../nostr/fb/mint-info.js';\n\n\nexport class Kind10019Parsed implements flatbuffers.IUnpackableObject<Kind10019ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind10019Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind10019Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind10019Parsed):Kind10019Parsed {\n return (obj || new Kind10019Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind10019Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind10019Parsed):Kind10019Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind10019Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntrustedMints(index: number, obj?:MintInfo):MintInfo|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new MintInfo()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntrustedMintsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\np2pkPubkey(): ByteString|null\np2pkPubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\np2pkPubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nreadRelays(index: number): ByteString\nreadRelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nreadRelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nreadRelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind10019Parsed(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addTrustedMints(builder:flatbuffers.Builder, trustedMintsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, trustedMintsOffset, 0);\n}\n\nstatic createTrustedMintsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTrustedMintsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addP2pkPubkey(builder:flatbuffers.Builder, p2pkPubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, p2pkPubkeyOffset, 0);\n}\n\nstatic addReadRelays(builder:flatbuffers.Builder, readRelaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, readRelaysOffset, 0);\n}\n\nstatic createReadRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startReadRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind10019Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createKind10019Parsed(builder:flatbuffers.Builder, trustedMintsOffset:flatbuffers.Offset, p2pkPubkeyOffset:flatbuffers.Offset, readRelaysOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind10019Parsed.startKind10019Parsed(builder);\n Kind10019Parsed.addTrustedMints(builder, trustedMintsOffset);\n Kind10019Parsed.addP2pkPubkey(builder, p2pkPubkeyOffset);\n Kind10019Parsed.addReadRelays(builder, readRelaysOffset);\n return Kind10019Parsed.endKind10019Parsed(builder);\n}\n\nunpack(): Kind10019ParsedT {\n return new Kind10019ParsedT(\n this.bb!.createObjList<MintInfo, MintInfoT>(this.trustedMints.bind(this), this.trustedMintsLength()),\n this.p2pkPubkey(),\n this.bb!.createScalarList<string>(this.readRelays.bind(this), this.readRelaysLength())\n );\n}\n\n\nunpackTo(_o: Kind10019ParsedT): void {\n _o.trustedMints = this.bb!.createObjList<MintInfo, MintInfoT>(this.trustedMints.bind(this), this.trustedMintsLength());\n _o.p2pkPubkey = this.p2pkPubkey();\n _o.readRelays = this.bb!.createScalarList<string>(this.readRelays.bind(this), this.readRelaysLength());\n}\n}\n\nexport class Kind10019ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public trustedMints: (MintInfoT)[] = [],\n public p2pkPubkey: ByteString|Uint8Array|null = null,\n public readRelays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const trustedMints = Kind10019Parsed.createTrustedMintsVector(builder, builder.createObjectOffsetList(this.trustedMints));\n const p2pkPubkey = (this.p2pkPubkey !== null ? builder.createString(this.p2pkPubkey!) : 0);\n const readRelays = Kind10019Parsed.createReadRelaysVector(builder, builder.createObjectOffsetList(this.readRelays));\n\n return Kind10019Parsed.createKind10019Parsed(builder,\n trustedMints,\n p2pkPubkey,\n readRelays\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CashuData implements flatbuffers.IUnpackableObject<CashuDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CashuData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCashuData(bb:flatbuffers.ByteBuffer, obj?:CashuData):CashuData {\n return (obj || new CashuData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCashuData(bb:flatbuffers.ByteBuffer, obj?:CashuData):CashuData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CashuData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntoken(): ByteString|null\ntoken(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntoken(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startCashuData(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addToken(builder:flatbuffers.Builder, tokenOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, tokenOffset, 0);\n}\n\nstatic endCashuData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // token\n return offset;\n}\n\nstatic createCashuData(builder:flatbuffers.Builder, tokenOffset:flatbuffers.Offset):flatbuffers.Offset {\n CashuData.startCashuData(builder);\n CashuData.addToken(builder, tokenOffset);\n return CashuData.endCashuData(builder);\n}\n\nunpack(): CashuDataT {\n return new CashuDataT(\n this.token()\n );\n}\n\n\nunpackTo(_o: CashuDataT): void {\n _o.token = this.token();\n}\n}\n\nexport class CashuDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public token: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const token = (this.token !== null ? builder.createString(this.token!) : 0);\n\n return CashuData.createCashuData(builder,\n token\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CodeData implements flatbuffers.IUnpackableObject<CodeDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CodeData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCodeData(bb:flatbuffers.ByteBuffer, obj?:CodeData):CodeData {\n return (obj || new CodeData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCodeData(bb:flatbuffers.ByteBuffer, obj?:CodeData):CodeData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CodeData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nlanguage(): ByteString|null\nlanguage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nlanguage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ncode(): ByteString|null\ncode(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncode(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startCodeData(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addLanguage(builder:flatbuffers.Builder, languageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, languageOffset, 0);\n}\n\nstatic addCode(builder:flatbuffers.Builder, codeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, codeOffset, 0);\n}\n\nstatic endCodeData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // code\n return offset;\n}\n\nstatic createCodeData(builder:flatbuffers.Builder, languageOffset:flatbuffers.Offset, codeOffset:flatbuffers.Offset):flatbuffers.Offset {\n CodeData.startCodeData(builder);\n CodeData.addLanguage(builder, languageOffset);\n CodeData.addCode(builder, codeOffset);\n return CodeData.endCodeData(builder);\n}\n\nunpack(): CodeDataT {\n return new CodeDataT(\n this.language(),\n this.code()\n );\n}\n\n\nunpackTo(_o: CodeDataT): void {\n _o.language = this.language();\n _o.code = this.code();\n}\n}\n\nexport class CodeDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public language: ByteString|Uint8Array|null = null,\n public code: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const language = (this.language !== null ? builder.createString(this.language!) : 0);\n const code = (this.code !== null ? builder.createString(this.code!) : 0);\n\n return CodeData.createCodeData(builder,\n language,\n code\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class HashtagData implements flatbuffers.IUnpackableObject<HashtagDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):HashtagData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsHashtagData(bb:flatbuffers.ByteBuffer, obj?:HashtagData):HashtagData {\n return (obj || new HashtagData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsHashtagData(bb:flatbuffers.ByteBuffer, obj?:HashtagData):HashtagData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new HashtagData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntag(): ByteString|null\ntag(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntag(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startHashtagData(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addTag(builder:flatbuffers.Builder, tagOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, tagOffset, 0);\n}\n\nstatic endHashtagData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // tag\n return offset;\n}\n\nstatic createHashtagData(builder:flatbuffers.Builder, tagOffset:flatbuffers.Offset):flatbuffers.Offset {\n HashtagData.startHashtagData(builder);\n HashtagData.addTag(builder, tagOffset);\n return HashtagData.endHashtagData(builder);\n}\n\nunpack(): HashtagDataT {\n return new HashtagDataT(\n this.tag()\n );\n}\n\n\nunpackTo(_o: HashtagDataT): void {\n _o.tag = this.tag();\n}\n}\n\nexport class HashtagDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public tag: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const tag = (this.tag !== null ? builder.createString(this.tag!) : 0);\n\n return HashtagData.createHashtagData(builder,\n tag\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ImageData implements flatbuffers.IUnpackableObject<ImageDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ImageData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsImageData(bb:flatbuffers.ByteBuffer, obj?:ImageData):ImageData {\n return (obj || new ImageData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsImageData(bb:flatbuffers.ByteBuffer, obj?:ImageData):ImageData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ImageData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nalt(): ByteString|null\nalt(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nalt(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndim(): ByteString|null\ndim(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndim(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startImageData(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addAlt(builder:flatbuffers.Builder, altOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, altOffset, 0);\n}\n\nstatic addDim(builder:flatbuffers.Builder, dimOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, dimOffset, 0);\n}\n\nstatic endImageData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n return offset;\n}\n\nstatic createImageData(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, altOffset:flatbuffers.Offset, dimOffset:flatbuffers.Offset):flatbuffers.Offset {\n ImageData.startImageData(builder);\n ImageData.addUrl(builder, urlOffset);\n ImageData.addAlt(builder, altOffset);\n ImageData.addDim(builder, dimOffset);\n return ImageData.endImageData(builder);\n}\n\nunpack(): ImageDataT {\n return new ImageDataT(\n this.url(),\n this.alt(),\n this.dim()\n );\n}\n\n\nunpackTo(_o: ImageDataT): void {\n _o.url = this.url();\n _o.alt = this.alt();\n _o.dim = this.dim();\n}\n}\n\nexport class ImageDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public alt: ByteString|Uint8Array|null = null,\n public dim: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const alt = (this.alt !== null ? builder.createString(this.alt!) : 0);\n const dim = (this.dim !== null ? builder.createString(this.dim!) : 0);\n\n return ImageData.createImageData(builder,\n url,\n alt,\n dim\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class LinkPreviewData implements flatbuffers.IUnpackableObject<LinkPreviewDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):LinkPreviewData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsLinkPreviewData(bb:flatbuffers.ByteBuffer, obj?:LinkPreviewData):LinkPreviewData {\n return (obj || new LinkPreviewData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsLinkPreviewData(bb:flatbuffers.ByteBuffer, obj?:LinkPreviewData):LinkPreviewData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new LinkPreviewData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntitle(): ByteString|null\ntitle(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntitle(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndescription(): ByteString|null\ndescription(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndescription(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nimage(): ByteString|null\nimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startLinkPreviewData(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, titleOffset, 0);\n}\n\nstatic addDescription(builder:flatbuffers.Builder, descriptionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, descriptionOffset, 0);\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, imageOffset, 0);\n}\n\nstatic endLinkPreviewData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n return offset;\n}\n\nstatic createLinkPreviewData(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, titleOffset:flatbuffers.Offset, descriptionOffset:flatbuffers.Offset, imageOffset:flatbuffers.Offset):flatbuffers.Offset {\n LinkPreviewData.startLinkPreviewData(builder);\n LinkPreviewData.addUrl(builder, urlOffset);\n LinkPreviewData.addTitle(builder, titleOffset);\n LinkPreviewData.addDescription(builder, descriptionOffset);\n LinkPreviewData.addImage(builder, imageOffset);\n return LinkPreviewData.endLinkPreviewData(builder);\n}\n\nunpack(): LinkPreviewDataT {\n return new LinkPreviewDataT(\n this.url(),\n this.title(),\n this.description(),\n this.image()\n );\n}\n\n\nunpackTo(_o: LinkPreviewDataT): void {\n _o.url = this.url();\n _o.title = this.title();\n _o.description = this.description();\n _o.image = this.image();\n}\n}\n\nexport class LinkPreviewDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public title: ByteString|Uint8Array|null = null,\n public description: ByteString|Uint8Array|null = null,\n public image: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const title = (this.title !== null ? builder.createString(this.title!) : 0);\n const description = (this.description !== null ? builder.createString(this.description!) : 0);\n const image = (this.image !== null ? builder.createString(this.image!) : 0);\n\n return LinkPreviewData.createLinkPreviewData(builder,\n url,\n title,\n description,\n image\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class VideoData implements flatbuffers.IUnpackableObject<VideoDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):VideoData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsVideoData(bb:flatbuffers.ByteBuffer, obj?:VideoData):VideoData {\n return (obj || new VideoData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsVideoData(bb:flatbuffers.ByteBuffer, obj?:VideoData):VideoData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new VideoData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nthumbnail(): ByteString|null\nthumbnail(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nthumbnail(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startVideoData(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addThumbnail(builder:flatbuffers.Builder, thumbnailOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, thumbnailOffset, 0);\n}\n\nstatic endVideoData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n return offset;\n}\n\nstatic createVideoData(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, thumbnailOffset:flatbuffers.Offset):flatbuffers.Offset {\n VideoData.startVideoData(builder);\n VideoData.addUrl(builder, urlOffset);\n VideoData.addThumbnail(builder, thumbnailOffset);\n return VideoData.endVideoData(builder);\n}\n\nunpack(): VideoDataT {\n return new VideoDataT(\n this.url(),\n this.thumbnail()\n );\n}\n\n\nunpackTo(_o: VideoDataT): void {\n _o.url = this.url();\n _o.thumbnail = this.thumbnail();\n}\n}\n\nexport class VideoDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public thumbnail: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const thumbnail = (this.thumbnail !== null ? builder.createString(this.thumbnail!) : 0);\n\n return VideoData.createVideoData(builder,\n url,\n thumbnail\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ImageData, ImageDataT } from '../../nostr/fb/image-data.js';\nimport { VideoData, VideoDataT } from '../../nostr/fb/video-data.js';\n\n\nexport class MediaItem implements flatbuffers.IUnpackableObject<MediaItemT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MediaItem {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMediaItem(bb:flatbuffers.ByteBuffer, obj?:MediaItem):MediaItem {\n return (obj || new MediaItem()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMediaItem(bb:flatbuffers.ByteBuffer, obj?:MediaItem):MediaItem {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MediaItem()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nimage(obj?:ImageData):ImageData|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new ImageData()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nvideo(obj?:VideoData):VideoData|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new VideoData()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startMediaItem(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, imageOffset, 0);\n}\n\nstatic addVideo(builder:flatbuffers.Builder, videoOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, videoOffset, 0);\n}\n\nstatic endMediaItem(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\n\nunpack(): MediaItemT {\n return new MediaItemT(\n (this.image() !== null ? this.image()!.unpack() : null),\n (this.video() !== null ? this.video()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: MediaItemT): void {\n _o.image = (this.image() !== null ? this.image()!.unpack() : null);\n _o.video = (this.video() !== null ? this.video()!.unpack() : null);\n}\n}\n\nexport class MediaItemT implements flatbuffers.IGeneratedObject {\nconstructor(\n public image: ImageDataT|null = null,\n public video: VideoDataT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const image = (this.image !== null ? this.image!.pack(builder) : 0);\n const video = (this.video !== null ? this.video!.pack(builder) : 0);\n\n MediaItem.startMediaItem(builder);\n MediaItem.addImage(builder, image);\n MediaItem.addVideo(builder, video);\n\n return MediaItem.endMediaItem(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { MediaItem, MediaItemT } from '../../nostr/fb/media-item.js';\n\n\nexport class MediaGroupData implements flatbuffers.IUnpackableObject<MediaGroupDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MediaGroupData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMediaGroupData(bb:flatbuffers.ByteBuffer, obj?:MediaGroupData):MediaGroupData {\n return (obj || new MediaGroupData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMediaGroupData(bb:flatbuffers.ByteBuffer, obj?:MediaGroupData):MediaGroupData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MediaGroupData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nitems(index: number, obj?:MediaItem):MediaItem|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new MediaItem()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nitemsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startMediaGroupData(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addItems(builder:flatbuffers.Builder, itemsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, itemsOffset, 0);\n}\n\nstatic createItemsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startItemsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endMediaGroupData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createMediaGroupData(builder:flatbuffers.Builder, itemsOffset:flatbuffers.Offset):flatbuffers.Offset {\n MediaGroupData.startMediaGroupData(builder);\n MediaGroupData.addItems(builder, itemsOffset);\n return MediaGroupData.endMediaGroupData(builder);\n}\n\nunpack(): MediaGroupDataT {\n return new MediaGroupDataT(\n this.bb!.createObjList<MediaItem, MediaItemT>(this.items.bind(this), this.itemsLength())\n );\n}\n\n\nunpackTo(_o: MediaGroupDataT): void {\n _o.items = this.bb!.createObjList<MediaItem, MediaItemT>(this.items.bind(this), this.itemsLength());\n}\n}\n\nexport class MediaGroupDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public items: (MediaItemT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const items = MediaGroupData.createItemsVector(builder, builder.createObjectOffsetList(this.items));\n\n return MediaGroupData.createMediaGroupData(builder,\n items\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class NostrData implements flatbuffers.IUnpackableObject<NostrDataT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):NostrData {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsNostrData(bb:flatbuffers.ByteBuffer, obj?:NostrData):NostrData {\n return (obj || new NostrData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsNostrData(bb:flatbuffers.ByteBuffer, obj?:NostrData):NostrData {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new NostrData()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nentity(): ByteString|null\nentity(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nentity(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nauthor(): ByteString|null\nauthor(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nauthor(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nkind():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nstatic startNostrData(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addEntity(builder:flatbuffers.Builder, entityOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, entityOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAuthor(builder:flatbuffers.Builder, authorOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, authorOffset, 0);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:bigint) {\n builder.addFieldInt64(4, kind, BigInt('0'));\n}\n\nstatic endNostrData(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n builder.requiredField(offset, 6) // entity\n return offset;\n}\n\nstatic createNostrData(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, entityOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset, authorOffset:flatbuffers.Offset, kind:bigint):flatbuffers.Offset {\n NostrData.startNostrData(builder);\n NostrData.addId(builder, idOffset);\n NostrData.addEntity(builder, entityOffset);\n NostrData.addRelays(builder, relaysOffset);\n NostrData.addAuthor(builder, authorOffset);\n NostrData.addKind(builder, kind);\n return NostrData.endNostrData(builder);\n}\n\nunpack(): NostrDataT {\n return new NostrDataT(\n this.id(),\n this.entity(),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength()),\n this.author(),\n this.kind()\n );\n}\n\n\nunpackTo(_o: NostrDataT): void {\n _o.id = this.id();\n _o.entity = this.entity();\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n _o.author = this.author();\n _o.kind = this.kind();\n}\n}\n\nexport class NostrDataT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public entity: ByteString|Uint8Array|null = null,\n public relays: (string)[] = [],\n public author: ByteString|Uint8Array|null = null,\n public kind: bigint = BigInt('0')\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const entity = (this.entity !== null ? builder.createString(this.entity!) : 0);\n const relays = NostrData.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n const author = (this.author !== null ? builder.createString(this.author!) : 0);\n\n return NostrData.createNostrData(builder,\n id,\n entity,\n relays,\n author,\n this.kind\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { CashuData, CashuDataT } from '../../nostr/fb/cashu-data.js';\nimport { CodeData, CodeDataT } from '../../nostr/fb/code-data.js';\nimport { HashtagData, HashtagDataT } from '../../nostr/fb/hashtag-data.js';\nimport { ImageData, ImageDataT } from '../../nostr/fb/image-data.js';\nimport { LinkPreviewData, LinkPreviewDataT } from '../../nostr/fb/link-preview-data.js';\nimport { MediaGroupData, MediaGroupDataT } from '../../nostr/fb/media-group-data.js';\nimport { NostrData, NostrDataT } from '../../nostr/fb/nostr-data.js';\nimport { VideoData, VideoDataT } from '../../nostr/fb/video-data.js';\n\n\nexport enum ContentData {\n NONE = 0,\n CodeData = 1,\n HashtagData = 2,\n CashuData = 3,\n ImageData = 4,\n VideoData = 5,\n MediaGroupData = 6,\n NostrData = 7,\n LinkPreviewData = 8\n}\n\nexport function unionToContentData(\n type: ContentData,\n accessor: (obj:CashuData|CodeData|HashtagData|ImageData|LinkPreviewData|MediaGroupData|NostrData|VideoData) => CashuData|CodeData|HashtagData|ImageData|LinkPreviewData|MediaGroupData|NostrData|VideoData|null\n): CashuData|CodeData|HashtagData|ImageData|LinkPreviewData|MediaGroupData|NostrData|VideoData|null {\n switch(ContentData[type]) {\n case 'NONE': return null; \n case 'CodeData': return accessor(new CodeData())! as CodeData;\n case 'HashtagData': return accessor(new HashtagData())! as HashtagData;\n case 'CashuData': return accessor(new CashuData())! as CashuData;\n case 'ImageData': return accessor(new ImageData())! as ImageData;\n case 'VideoData': return accessor(new VideoData())! as VideoData;\n case 'MediaGroupData': return accessor(new MediaGroupData())! as MediaGroupData;\n case 'NostrData': return accessor(new NostrData())! as NostrData;\n case 'LinkPreviewData': return accessor(new LinkPreviewData())! as LinkPreviewData;\n default: return null;\n }\n}\n\nexport function unionListToContentData(\n type: ContentData, \n accessor: (index: number, obj:CashuData|CodeData|HashtagData|ImageData|LinkPreviewData|MediaGroupData|NostrData|VideoData) => CashuData|CodeData|HashtagData|ImageData|LinkPreviewData|MediaGroupData|NostrData|VideoData|null, \n index: number\n): CashuData|CodeData|HashtagData|ImageData|LinkPreviewData|MediaGroupData|NostrData|VideoData|null {\n switch(ContentData[type]) {\n case 'NONE': return null; \n case 'CodeData': return accessor(index, new CodeData())! as CodeData;\n case 'HashtagData': return accessor(index, new HashtagData())! as HashtagData;\n case 'CashuData': return accessor(index, new CashuData())! as CashuData;\n case 'ImageData': return accessor(index, new ImageData())! as ImageData;\n case 'VideoData': return accessor(index, new VideoData())! as VideoData;\n case 'MediaGroupData': return accessor(index, new MediaGroupData())! as MediaGroupData;\n case 'NostrData': return accessor(index, new NostrData())! as NostrData;\n case 'LinkPreviewData': return accessor(index, new LinkPreviewData())! as LinkPreviewData;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { CashuData, CashuDataT } from '../../nostr/fb/cashu-data.js';\nimport { CodeData, CodeDataT } from '../../nostr/fb/code-data.js';\nimport { ContentData, unionToContentData, unionListToContentData } from '../../nostr/fb/content-data.js';\nimport { HashtagData, HashtagDataT } from '../../nostr/fb/hashtag-data.js';\nimport { ImageData, ImageDataT } from '../../nostr/fb/image-data.js';\nimport { LinkPreviewData, LinkPreviewDataT } from '../../nostr/fb/link-preview-data.js';\nimport { MediaGroupData, MediaGroupDataT } from '../../nostr/fb/media-group-data.js';\nimport { NostrData, NostrDataT } from '../../nostr/fb/nostr-data.js';\nimport { VideoData, VideoDataT } from '../../nostr/fb/video-data.js';\n\n\nexport class ContentBlock implements flatbuffers.IUnpackableObject<ContentBlockT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ContentBlock {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsContentBlock(bb:flatbuffers.ByteBuffer, obj?:ContentBlock):ContentBlock {\n return (obj || new ContentBlock()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsContentBlock(bb:flatbuffers.ByteBuffer, obj?:ContentBlock):ContentBlock {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ContentBlock()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntype(): ByteString|null\ntype(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntype(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntext(): ByteString|null\ntext(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntext(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndataType():ContentData {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : ContentData.NONE;\n}\n\ndata<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startContentBlock(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addType(builder:flatbuffers.Builder, typeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, typeOffset, 0);\n}\n\nstatic addText(builder:flatbuffers.Builder, textOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, textOffset, 0);\n}\n\nstatic addDataType(builder:flatbuffers.Builder, dataType:ContentData) {\n builder.addFieldInt8(2, dataType, ContentData.NONE);\n}\n\nstatic addData(builder:flatbuffers.Builder, dataOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, dataOffset, 0);\n}\n\nstatic endContentBlock(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // type\n builder.requiredField(offset, 6) // text\n return offset;\n}\n\nstatic createContentBlock(builder:flatbuffers.Builder, typeOffset:flatbuffers.Offset, textOffset:flatbuffers.Offset, dataType:ContentData, dataOffset:flatbuffers.Offset):flatbuffers.Offset {\n ContentBlock.startContentBlock(builder);\n ContentBlock.addType(builder, typeOffset);\n ContentBlock.addText(builder, textOffset);\n ContentBlock.addDataType(builder, dataType);\n ContentBlock.addData(builder, dataOffset);\n return ContentBlock.endContentBlock(builder);\n}\n\nunpack(): ContentBlockT {\n return new ContentBlockT(\n this.type(),\n this.text(),\n this.dataType(),\n (() => {\n const temp = unionToContentData(this.dataType(), this.data.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: ContentBlockT): void {\n _o.type = this.type();\n _o.text = this.text();\n _o.dataType = this.dataType();\n _o.data = (() => {\n const temp = unionToContentData(this.dataType(), this.data.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class ContentBlockT implements flatbuffers.IGeneratedObject {\nconstructor(\n public type: ByteString|Uint8Array|null = null,\n public text: ByteString|Uint8Array|null = null,\n public dataType: ContentData = ContentData.NONE,\n public data: CashuDataT|CodeDataT|HashtagDataT|ImageDataT|LinkPreviewDataT|MediaGroupDataT|NostrDataT|VideoDataT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const type = (this.type !== null ? builder.createString(this.type!) : 0);\n const text = (this.text !== null ? builder.createString(this.text!) : 0);\n const data = builder.createObjectOffset(this.data);\n\n return ContentBlock.createContentBlock(builder,\n type,\n text,\n this.dataType,\n data\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class EventPointer implements flatbuffers.IUnpackableObject<EventPointerT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):EventPointer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsEventPointer(bb:flatbuffers.ByteBuffer, obj?:EventPointer):EventPointer {\n return (obj || new EventPointer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsEventPointer(bb:flatbuffers.ByteBuffer, obj?:EventPointer):EventPointer {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new EventPointer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nauthor(): ByteString|null\nauthor(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nauthor(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nkind():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nstatic startEventPointer(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAuthor(builder:flatbuffers.Builder, authorOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, authorOffset, 0);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:bigint) {\n builder.addFieldInt64(3, kind, BigInt('0'));\n}\n\nstatic endEventPointer(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n return offset;\n}\n\nstatic createEventPointer(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset, authorOffset:flatbuffers.Offset, kind:bigint):flatbuffers.Offset {\n EventPointer.startEventPointer(builder);\n EventPointer.addId(builder, idOffset);\n EventPointer.addRelays(builder, relaysOffset);\n EventPointer.addAuthor(builder, authorOffset);\n EventPointer.addKind(builder, kind);\n return EventPointer.endEventPointer(builder);\n}\n\nunpack(): EventPointerT {\n return new EventPointerT(\n this.id(),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength()),\n this.author(),\n this.kind()\n );\n}\n\n\nunpackTo(_o: EventPointerT): void {\n _o.id = this.id();\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n _o.author = this.author();\n _o.kind = this.kind();\n}\n}\n\nexport class EventPointerT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public relays: (string)[] = [],\n public author: ByteString|Uint8Array|null = null,\n public kind: bigint = BigInt('0')\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const relays = EventPointer.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n const author = (this.author !== null ? builder.createString(this.author!) : 0);\n\n return EventPointer.createEventPointer(builder,\n id,\n relays,\n author,\n this.kind\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ProfilePointer implements flatbuffers.IUnpackableObject<ProfilePointerT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ProfilePointer {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsProfilePointer(bb:flatbuffers.ByteBuffer, obj?:ProfilePointer):ProfilePointer {\n return (obj || new ProfilePointer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsProfilePointer(bb:flatbuffers.ByteBuffer, obj?:ProfilePointer):ProfilePointer {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ProfilePointer()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npublicKey(): ByteString|null\npublicKey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npublicKey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startProfilePointer(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addPublicKey(builder:flatbuffers.Builder, publicKeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, publicKeyOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endProfilePointer(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // public_key\n return offset;\n}\n\nstatic createProfilePointer(builder:flatbuffers.Builder, publicKeyOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset):flatbuffers.Offset {\n ProfilePointer.startProfilePointer(builder);\n ProfilePointer.addPublicKey(builder, publicKeyOffset);\n ProfilePointer.addRelays(builder, relaysOffset);\n return ProfilePointer.endProfilePointer(builder);\n}\n\nunpack(): ProfilePointerT {\n return new ProfilePointerT(\n this.publicKey(),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: ProfilePointerT): void {\n _o.publicKey = this.publicKey();\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class ProfilePointerT implements flatbuffers.IGeneratedObject {\nconstructor(\n public publicKey: ByteString|Uint8Array|null = null,\n public relays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const publicKey = (this.publicKey !== null ? builder.createString(this.publicKey!) : 0);\n const relays = ProfilePointer.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n return ProfilePointer.createProfilePointer(builder,\n publicKey,\n relays\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ContentBlock, ContentBlockT } from '../../nostr/fb/content-block.js';\nimport { EventPointer, EventPointerT } from '../../nostr/fb/event-pointer.js';\nimport { ProfilePointer, ProfilePointerT } from '../../nostr/fb/profile-pointer.js';\n\n\nexport class Kind1111Parsed implements flatbuffers.IUnpackableObject<Kind1111ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind1111Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind1111Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind1111Parsed):Kind1111Parsed {\n return (obj || new Kind1111Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind1111Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind1111Parsed):Kind1111Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind1111Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nparsedContent(index: number, obj?:ContentBlock):ContentBlock|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new ContentBlock()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nparsedContentLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nrootId(): ByteString|null\nrootId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrootId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrootCoordinate(): ByteString|null\nrootCoordinate(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrootCoordinate(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrootExternal(): ByteString|null\nrootExternal(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrootExternal(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrootKind():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nrootAuthor(): ByteString|null\nrootAuthor(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrootAuthor(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrootRelays(index: number): ByteString\nrootRelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrootRelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrootRelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nparentId(): ByteString|null\nparentId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nparentId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nparentCoordinate(): ByteString|null\nparentCoordinate(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nparentCoordinate(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nparentExternal(): ByteString|null\nparentExternal(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nparentExternal(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 24);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nparentKind():number {\n const offset = this.bb!.__offset(this.bb_pos, 26);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nparentAuthor(): ByteString|null\nparentAuthor(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nparentAuthor(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 28);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nparentRelays(index: number): ByteString\nparentRelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nparentRelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 30);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nparentRelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 30);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ncitations(index: number, obj?:EventPointer):EventPointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 32);\n return offset ? (obj || new EventPointer()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ncitationsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 32);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nmentions(index: number, obj?:ProfilePointer):ProfilePointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 34);\n return offset ? (obj || new ProfilePointer()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nmentionsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 34);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind1111Parsed(builder:flatbuffers.Builder) {\n builder.startObject(16);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, contentOffset, 0);\n}\n\nstatic addParsedContent(builder:flatbuffers.Builder, parsedContentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, parsedContentOffset, 0);\n}\n\nstatic createParsedContentVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParsedContentVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addRootId(builder:flatbuffers.Builder, rootIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, rootIdOffset, 0);\n}\n\nstatic addRootCoordinate(builder:flatbuffers.Builder, rootCoordinateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, rootCoordinateOffset, 0);\n}\n\nstatic addRootExternal(builder:flatbuffers.Builder, rootExternalOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, rootExternalOffset, 0);\n}\n\nstatic addRootKind(builder:flatbuffers.Builder, rootKind:number) {\n builder.addFieldInt16(5, rootKind, 0);\n}\n\nstatic addRootAuthor(builder:flatbuffers.Builder, rootAuthorOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, rootAuthorOffset, 0);\n}\n\nstatic addRootRelays(builder:flatbuffers.Builder, rootRelaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, rootRelaysOffset, 0);\n}\n\nstatic createRootRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRootRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addParentId(builder:flatbuffers.Builder, parentIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, parentIdOffset, 0);\n}\n\nstatic addParentCoordinate(builder:flatbuffers.Builder, parentCoordinateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(9, parentCoordinateOffset, 0);\n}\n\nstatic addParentExternal(builder:flatbuffers.Builder, parentExternalOffset:flatbuffers.Offset) {\n builder.addFieldOffset(10, parentExternalOffset, 0);\n}\n\nstatic addParentKind(builder:flatbuffers.Builder, parentKind:number) {\n builder.addFieldInt16(11, parentKind, 0);\n}\n\nstatic addParentAuthor(builder:flatbuffers.Builder, parentAuthorOffset:flatbuffers.Offset) {\n builder.addFieldOffset(12, parentAuthorOffset, 0);\n}\n\nstatic addParentRelays(builder:flatbuffers.Builder, parentRelaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(13, parentRelaysOffset, 0);\n}\n\nstatic createParentRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParentRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addCitations(builder:flatbuffers.Builder, citationsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(14, citationsOffset, 0);\n}\n\nstatic createCitationsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startCitationsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addMentions(builder:flatbuffers.Builder, mentionsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(15, mentionsOffset, 0);\n}\n\nstatic createMentionsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startMentionsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind1111Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // content\n return offset;\n}\n\nstatic createKind1111Parsed(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset, parsedContentOffset:flatbuffers.Offset, rootIdOffset:flatbuffers.Offset, rootCoordinateOffset:flatbuffers.Offset, rootExternalOffset:flatbuffers.Offset, rootKind:number, rootAuthorOffset:flatbuffers.Offset, rootRelaysOffset:flatbuffers.Offset, parentIdOffset:flatbuffers.Offset, parentCoordinateOffset:flatbuffers.Offset, parentExternalOffset:flatbuffers.Offset, parentKind:number, parentAuthorOffset:flatbuffers.Offset, parentRelaysOffset:flatbuffers.Offset, citationsOffset:flatbuffers.Offset, mentionsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind1111Parsed.startKind1111Parsed(builder);\n Kind1111Parsed.addContent(builder, contentOffset);\n Kind1111Parsed.addParsedContent(builder, parsedContentOffset);\n Kind1111Parsed.addRootId(builder, rootIdOffset);\n Kind1111Parsed.addRootCoordinate(builder, rootCoordinateOffset);\n Kind1111Parsed.addRootExternal(builder, rootExternalOffset);\n Kind1111Parsed.addRootKind(builder, rootKind);\n Kind1111Parsed.addRootAuthor(builder, rootAuthorOffset);\n Kind1111Parsed.addRootRelays(builder, rootRelaysOffset);\n Kind1111Parsed.addParentId(builder, parentIdOffset);\n Kind1111Parsed.addParentCoordinate(builder, parentCoordinateOffset);\n Kind1111Parsed.addParentExternal(builder, parentExternalOffset);\n Kind1111Parsed.addParentKind(builder, parentKind);\n Kind1111Parsed.addParentAuthor(builder, parentAuthorOffset);\n Kind1111Parsed.addParentRelays(builder, parentRelaysOffset);\n Kind1111Parsed.addCitations(builder, citationsOffset);\n Kind1111Parsed.addMentions(builder, mentionsOffset);\n return Kind1111Parsed.endKind1111Parsed(builder);\n}\n\nunpack(): Kind1111ParsedT {\n return new Kind1111ParsedT(\n this.content(),\n this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength()),\n this.rootId(),\n this.rootCoordinate(),\n this.rootExternal(),\n this.rootKind(),\n this.rootAuthor(),\n this.bb!.createScalarList<string>(this.rootRelays.bind(this), this.rootRelaysLength()),\n this.parentId(),\n this.parentCoordinate(),\n this.parentExternal(),\n this.parentKind(),\n this.parentAuthor(),\n this.bb!.createScalarList<string>(this.parentRelays.bind(this), this.parentRelaysLength()),\n this.bb!.createObjList<EventPointer, EventPointerT>(this.citations.bind(this), this.citationsLength()),\n this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.mentions.bind(this), this.mentionsLength())\n );\n}\n\n\nunpackTo(_o: Kind1111ParsedT): void {\n _o.content = this.content();\n _o.parsedContent = this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength());\n _o.rootId = this.rootId();\n _o.rootCoordinate = this.rootCoordinate();\n _o.rootExternal = this.rootExternal();\n _o.rootKind = this.rootKind();\n _o.rootAuthor = this.rootAuthor();\n _o.rootRelays = this.bb!.createScalarList<string>(this.rootRelays.bind(this), this.rootRelaysLength());\n _o.parentId = this.parentId();\n _o.parentCoordinate = this.parentCoordinate();\n _o.parentExternal = this.parentExternal();\n _o.parentKind = this.parentKind();\n _o.parentAuthor = this.parentAuthor();\n _o.parentRelays = this.bb!.createScalarList<string>(this.parentRelays.bind(this), this.parentRelaysLength());\n _o.citations = this.bb!.createObjList<EventPointer, EventPointerT>(this.citations.bind(this), this.citationsLength());\n _o.mentions = this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.mentions.bind(this), this.mentionsLength());\n}\n}\n\nexport class Kind1111ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public content: ByteString|Uint8Array|null = null,\n public parsedContent: (ContentBlockT)[] = [],\n public rootId: ByteString|Uint8Array|null = null,\n public rootCoordinate: ByteString|Uint8Array|null = null,\n public rootExternal: ByteString|Uint8Array|null = null,\n public rootKind: number = 0,\n public rootAuthor: ByteString|Uint8Array|null = null,\n public rootRelays: (string)[] = [],\n public parentId: ByteString|Uint8Array|null = null,\n public parentCoordinate: ByteString|Uint8Array|null = null,\n public parentExternal: ByteString|Uint8Array|null = null,\n public parentKind: number = 0,\n public parentAuthor: ByteString|Uint8Array|null = null,\n public parentRelays: (string)[] = [],\n public citations: (EventPointerT)[] = [],\n public mentions: (ProfilePointerT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const parsedContent = Kind1111Parsed.createParsedContentVector(builder, builder.createObjectOffsetList(this.parsedContent));\n const rootId = (this.rootId !== null ? builder.createString(this.rootId!) : 0);\n const rootCoordinate = (this.rootCoordinate !== null ? builder.createString(this.rootCoordinate!) : 0);\n const rootExternal = (this.rootExternal !== null ? builder.createString(this.rootExternal!) : 0);\n const rootAuthor = (this.rootAuthor !== null ? builder.createString(this.rootAuthor!) : 0);\n const rootRelays = Kind1111Parsed.createRootRelaysVector(builder, builder.createObjectOffsetList(this.rootRelays));\n const parentId = (this.parentId !== null ? builder.createString(this.parentId!) : 0);\n const parentCoordinate = (this.parentCoordinate !== null ? builder.createString(this.parentCoordinate!) : 0);\n const parentExternal = (this.parentExternal !== null ? builder.createString(this.parentExternal!) : 0);\n const parentAuthor = (this.parentAuthor !== null ? builder.createString(this.parentAuthor!) : 0);\n const parentRelays = Kind1111Parsed.createParentRelaysVector(builder, builder.createObjectOffsetList(this.parentRelays));\n const citations = Kind1111Parsed.createCitationsVector(builder, builder.createObjectOffsetList(this.citations));\n const mentions = Kind1111Parsed.createMentionsVector(builder, builder.createObjectOffsetList(this.mentions));\n\n return Kind1111Parsed.createKind1111Parsed(builder,\n content,\n parsedContent,\n rootId,\n rootCoordinate,\n rootExternal,\n this.rootKind,\n rootAuthor,\n rootRelays,\n parentId,\n parentCoordinate,\n parentExternal,\n this.parentKind,\n parentAuthor,\n parentRelays,\n citations,\n mentions\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class LiveActivityRef implements flatbuffers.IUnpackableObject<LiveActivityRefT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):LiveActivityRef {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsLiveActivityRef(bb:flatbuffers.ByteBuffer, obj?:LiveActivityRef):LiveActivityRef {\n return (obj || new LiveActivityRef()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsLiveActivityRef(bb:flatbuffers.ByteBuffer, obj?:LiveActivityRef):LiveActivityRef {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new LiveActivityRef()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nidentifier(): ByteString|null\nidentifier(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nidentifier(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelay(): ByteString|null\nrelay(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelay(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startLiveActivityRef(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic addIdentifier(builder:flatbuffers.Builder, identifierOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, identifierOffset, 0);\n}\n\nstatic addRelay(builder:flatbuffers.Builder, relayOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, relayOffset, 0);\n}\n\nstatic endLiveActivityRef(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // pubkey\n builder.requiredField(offset, 8) // identifier\n return offset;\n}\n\nstatic createLiveActivityRef(builder:flatbuffers.Builder, kind:number, pubkeyOffset:flatbuffers.Offset, identifierOffset:flatbuffers.Offset, relayOffset:flatbuffers.Offset):flatbuffers.Offset {\n LiveActivityRef.startLiveActivityRef(builder);\n LiveActivityRef.addKind(builder, kind);\n LiveActivityRef.addPubkey(builder, pubkeyOffset);\n LiveActivityRef.addIdentifier(builder, identifierOffset);\n LiveActivityRef.addRelay(builder, relayOffset);\n return LiveActivityRef.endLiveActivityRef(builder);\n}\n\nunpack(): LiveActivityRefT {\n return new LiveActivityRefT(\n this.kind(),\n this.pubkey(),\n this.identifier(),\n this.relay()\n );\n}\n\n\nunpackTo(_o: LiveActivityRefT): void {\n _o.kind = this.kind();\n _o.pubkey = this.pubkey();\n _o.identifier = this.identifier();\n _o.relay = this.relay();\n}\n}\n\nexport class LiveActivityRefT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public pubkey: ByteString|Uint8Array|null = null,\n public identifier: ByteString|Uint8Array|null = null,\n public relay: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const identifier = (this.identifier !== null ? builder.createString(this.identifier!) : 0);\n const relay = (this.relay !== null ? builder.createString(this.relay!) : 0);\n\n return LiveActivityRef.createLiveActivityRef(builder,\n this.kind,\n pubkey,\n identifier,\n relay\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class LiveChatParticipant implements flatbuffers.IUnpackableObject<LiveChatParticipantT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):LiveChatParticipant {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsLiveChatParticipant(bb:flatbuffers.ByteBuffer, obj?:LiveChatParticipant):LiveChatParticipant {\n return (obj || new LiveChatParticipant()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsLiveChatParticipant(bb:flatbuffers.ByteBuffer, obj?:LiveChatParticipant):LiveChatParticipant {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new LiveChatParticipant()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelay(): ByteString|null\nrelay(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelay(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startLiveChatParticipant(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeyOffset, 0);\n}\n\nstatic addRelay(builder:flatbuffers.Builder, relayOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relayOffset, 0);\n}\n\nstatic endLiveChatParticipant(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // pubkey\n return offset;\n}\n\nstatic createLiveChatParticipant(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset, relayOffset:flatbuffers.Offset):flatbuffers.Offset {\n LiveChatParticipant.startLiveChatParticipant(builder);\n LiveChatParticipant.addPubkey(builder, pubkeyOffset);\n LiveChatParticipant.addRelay(builder, relayOffset);\n return LiveChatParticipant.endLiveChatParticipant(builder);\n}\n\nunpack(): LiveChatParticipantT {\n return new LiveChatParticipantT(\n this.pubkey(),\n this.relay()\n );\n}\n\n\nunpackTo(_o: LiveChatParticipantT): void {\n _o.pubkey = this.pubkey();\n _o.relay = this.relay();\n}\n}\n\nexport class LiveChatParticipantT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkey: ByteString|Uint8Array|null = null,\n public relay: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const relay = (this.relay !== null ? builder.createString(this.relay!) : 0);\n\n return LiveChatParticipant.createLiveChatParticipant(builder,\n pubkey,\n relay\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class LiveChatThreadRef implements flatbuffers.IUnpackableObject<LiveChatThreadRefT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):LiveChatThreadRef {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsLiveChatThreadRef(bb:flatbuffers.ByteBuffer, obj?:LiveChatThreadRef):LiveChatThreadRef {\n return (obj || new LiveChatThreadRef()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsLiveChatThreadRef(bb:flatbuffers.ByteBuffer, obj?:LiveChatThreadRef):LiveChatThreadRef {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new LiveChatThreadRef()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\neventId(): ByteString|null\neventId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\neventId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelay(): ByteString|null\nrelay(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelay(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startLiveChatThreadRef(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addEventId(builder:flatbuffers.Builder, eventIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, eventIdOffset, 0);\n}\n\nstatic addRelay(builder:flatbuffers.Builder, relayOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relayOffset, 0);\n}\n\nstatic endLiveChatThreadRef(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // event_id\n return offset;\n}\n\nstatic createLiveChatThreadRef(builder:flatbuffers.Builder, eventIdOffset:flatbuffers.Offset, relayOffset:flatbuffers.Offset):flatbuffers.Offset {\n LiveChatThreadRef.startLiveChatThreadRef(builder);\n LiveChatThreadRef.addEventId(builder, eventIdOffset);\n LiveChatThreadRef.addRelay(builder, relayOffset);\n return LiveChatThreadRef.endLiveChatThreadRef(builder);\n}\n\nunpack(): LiveChatThreadRefT {\n return new LiveChatThreadRefT(\n this.eventId(),\n this.relay()\n );\n}\n\n\nunpackTo(_o: LiveChatThreadRefT): void {\n _o.eventId = this.eventId();\n _o.relay = this.relay();\n}\n}\n\nexport class LiveChatThreadRefT implements flatbuffers.IGeneratedObject {\nconstructor(\n public eventId: ByteString|Uint8Array|null = null,\n public relay: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const eventId = (this.eventId !== null ? builder.createString(this.eventId!) : 0);\n const relay = (this.relay !== null ? builder.createString(this.relay!) : 0);\n\n return LiveChatThreadRef.createLiveChatThreadRef(builder,\n eventId,\n relay\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ContentBlock, ContentBlockT } from '../../nostr/fb/content-block.js';\nimport { LiveActivityRef, LiveActivityRefT } from '../../nostr/fb/live-activity-ref.js';\nimport { LiveChatParticipant, LiveChatParticipantT } from '../../nostr/fb/live-chat-participant.js';\nimport { LiveChatThreadRef, LiveChatThreadRefT } from '../../nostr/fb/live-chat-thread-ref.js';\n\n\nexport class Kind1311Parsed implements flatbuffers.IUnpackableObject<Kind1311ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind1311Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind1311Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind1311Parsed):Kind1311Parsed {\n return (obj || new Kind1311Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind1311Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind1311Parsed):Kind1311Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind1311Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nparsedContent(index: number, obj?:ContentBlock):ContentBlock|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new ContentBlock()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nparsedContentLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nactivity(obj?:LiveActivityRef):LiveActivityRef|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new LiveActivityRef()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nthreadRefs(index: number, obj?:LiveChatThreadRef):LiveChatThreadRef|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new LiveChatThreadRef()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nthreadRefsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nmentions(index: number, obj?:LiveChatParticipant):LiveChatParticipant|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new LiveChatParticipant()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nmentionsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind1311Parsed(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, contentOffset, 0);\n}\n\nstatic addParsedContent(builder:flatbuffers.Builder, parsedContentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, parsedContentOffset, 0);\n}\n\nstatic createParsedContentVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParsedContentVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addActivity(builder:flatbuffers.Builder, activityOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, activityOffset, 0);\n}\n\nstatic addThreadRefs(builder:flatbuffers.Builder, threadRefsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, threadRefsOffset, 0);\n}\n\nstatic createThreadRefsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startThreadRefsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addMentions(builder:flatbuffers.Builder, mentionsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, mentionsOffset, 0);\n}\n\nstatic createMentionsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startMentionsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind1311Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // content\n builder.requiredField(offset, 8) // activity\n return offset;\n}\n\n\nunpack(): Kind1311ParsedT {\n return new Kind1311ParsedT(\n this.content(),\n this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength()),\n (this.activity() !== null ? this.activity()!.unpack() : null),\n this.bb!.createObjList<LiveChatThreadRef, LiveChatThreadRefT>(this.threadRefs.bind(this), this.threadRefsLength()),\n this.bb!.createObjList<LiveChatParticipant, LiveChatParticipantT>(this.mentions.bind(this), this.mentionsLength())\n );\n}\n\n\nunpackTo(_o: Kind1311ParsedT): void {\n _o.content = this.content();\n _o.parsedContent = this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength());\n _o.activity = (this.activity() !== null ? this.activity()!.unpack() : null);\n _o.threadRefs = this.bb!.createObjList<LiveChatThreadRef, LiveChatThreadRefT>(this.threadRefs.bind(this), this.threadRefsLength());\n _o.mentions = this.bb!.createObjList<LiveChatParticipant, LiveChatParticipantT>(this.mentions.bind(this), this.mentionsLength());\n}\n}\n\nexport class Kind1311ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public content: ByteString|Uint8Array|null = null,\n public parsedContent: (ContentBlockT)[] = [],\n public activity: LiveActivityRefT|null = null,\n public threadRefs: (LiveChatThreadRefT)[] = [],\n public mentions: (LiveChatParticipantT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const parsedContent = Kind1311Parsed.createParsedContentVector(builder, builder.createObjectOffsetList(this.parsedContent));\n const activity = (this.activity !== null ? this.activity!.pack(builder) : 0);\n const threadRefs = Kind1311Parsed.createThreadRefsVector(builder, builder.createObjectOffsetList(this.threadRefs));\n const mentions = Kind1311Parsed.createMentionsVector(builder, builder.createObjectOffsetList(this.mentions));\n\n Kind1311Parsed.startKind1311Parsed(builder);\n Kind1311Parsed.addContent(builder, content);\n Kind1311Parsed.addParsedContent(builder, parsedContent);\n Kind1311Parsed.addActivity(builder, activity);\n Kind1311Parsed.addThreadRefs(builder, threadRefs);\n Kind1311Parsed.addMentions(builder, mentions);\n\n return Kind1311Parsed.endKind1311Parsed(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Kind17375Parsed implements flatbuffers.IUnpackableObject<Kind17375ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind17375Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind17375Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind17375Parsed):Kind17375Parsed {\n return (obj || new Kind17375Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind17375Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind17375Parsed):Kind17375Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind17375Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nmints(index: number): ByteString\nmints(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nmints(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nmintsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\np2pkPrivKey(): ByteString|null\np2pkPrivKey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\np2pkPrivKey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\np2pkPubKey(): ByteString|null\np2pkPubKey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\np2pkPubKey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndecrypted():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startKind17375Parsed(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addMints(builder:flatbuffers.Builder, mintsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, mintsOffset, 0);\n}\n\nstatic createMintsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startMintsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addP2pkPrivKey(builder:flatbuffers.Builder, p2pkPrivKeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, p2pkPrivKeyOffset, 0);\n}\n\nstatic addP2pkPubKey(builder:flatbuffers.Builder, p2pkPubKeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, p2pkPubKeyOffset, 0);\n}\n\nstatic addDecrypted(builder:flatbuffers.Builder, decrypted:boolean) {\n builder.addFieldInt8(3, +decrypted, +false);\n}\n\nstatic endKind17375Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // mints\n return offset;\n}\n\nstatic createKind17375Parsed(builder:flatbuffers.Builder, mintsOffset:flatbuffers.Offset, p2pkPrivKeyOffset:flatbuffers.Offset, p2pkPubKeyOffset:flatbuffers.Offset, decrypted:boolean):flatbuffers.Offset {\n Kind17375Parsed.startKind17375Parsed(builder);\n Kind17375Parsed.addMints(builder, mintsOffset);\n Kind17375Parsed.addP2pkPrivKey(builder, p2pkPrivKeyOffset);\n Kind17375Parsed.addP2pkPubKey(builder, p2pkPubKeyOffset);\n Kind17375Parsed.addDecrypted(builder, decrypted);\n return Kind17375Parsed.endKind17375Parsed(builder);\n}\n\nunpack(): Kind17375ParsedT {\n return new Kind17375ParsedT(\n this.bb!.createScalarList<string>(this.mints.bind(this), this.mintsLength()),\n this.p2pkPrivKey(),\n this.p2pkPubKey(),\n this.decrypted()\n );\n}\n\n\nunpackTo(_o: Kind17375ParsedT): void {\n _o.mints = this.bb!.createScalarList<string>(this.mints.bind(this), this.mintsLength());\n _o.p2pkPrivKey = this.p2pkPrivKey();\n _o.p2pkPubKey = this.p2pkPubKey();\n _o.decrypted = this.decrypted();\n}\n}\n\nexport class Kind17375ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public mints: (string)[] = [],\n public p2pkPrivKey: ByteString|Uint8Array|null = null,\n public p2pkPubKey: ByteString|Uint8Array|null = null,\n public decrypted: boolean = false\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const mints = Kind17375Parsed.createMintsVector(builder, builder.createObjectOffsetList(this.mints));\n const p2pkPrivKey = (this.p2pkPrivKey !== null ? builder.createString(this.p2pkPrivKey!) : 0);\n const p2pkPubKey = (this.p2pkPubKey !== null ? builder.createString(this.p2pkPubKey!) : 0);\n\n return Kind17375Parsed.createKind17375Parsed(builder,\n mints,\n p2pkPrivKey,\n p2pkPubKey,\n this.decrypted\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Emoji implements flatbuffers.IUnpackableObject<EmojiT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Emoji {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsEmoji(bb:flatbuffers.ByteBuffer, obj?:Emoji):Emoji {\n return (obj || new Emoji()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsEmoji(bb:flatbuffers.ByteBuffer, obj?:Emoji):Emoji {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Emoji()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nshortcode(): ByteString|null\nshortcode(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nshortcode(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startEmoji(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addShortcode(builder:flatbuffers.Builder, shortcodeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, shortcodeOffset, 0);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, urlOffset, 0);\n}\n\nstatic endEmoji(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // shortcode\n builder.requiredField(offset, 6) // url\n return offset;\n}\n\nstatic createEmoji(builder:flatbuffers.Builder, shortcodeOffset:flatbuffers.Offset, urlOffset:flatbuffers.Offset):flatbuffers.Offset {\n Emoji.startEmoji(builder);\n Emoji.addShortcode(builder, shortcodeOffset);\n Emoji.addUrl(builder, urlOffset);\n return Emoji.endEmoji(builder);\n}\n\nunpack(): EmojiT {\n return new EmojiT(\n this.shortcode(),\n this.url()\n );\n}\n\n\nunpackTo(_o: EmojiT): void {\n _o.shortcode = this.shortcode();\n _o.url = this.url();\n}\n}\n\nexport class EmojiT implements flatbuffers.IGeneratedObject {\nconstructor(\n public shortcode: ByteString|Uint8Array|null = null,\n public url: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const shortcode = (this.shortcode !== null ? builder.createString(this.shortcode!) : 0);\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n\n return Emoji.createEmoji(builder,\n shortcode,\n url\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum ReactionType {\n Like = 0,\n Dislike = 1,\n Emoji = 2,\n Custom = 3\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Emoji, EmojiT } from '../../nostr/fb/emoji.js';\nimport { ReactionType } from '../../nostr/fb/reaction-type.js';\n\n\nexport class Kind17Parsed implements flatbuffers.IUnpackableObject<Kind17ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind17Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind17Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind17Parsed):Kind17Parsed {\n return (obj || new Kind17Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind17Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind17Parsed):Kind17Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind17Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nreactionType():ReactionType {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt8(this.bb_pos + offset) : ReactionType.Like;\n}\n\neventId(): ByteString|null\neventId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\neventId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\neventKind():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nemoji(obj?:Emoji):Emoji|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new Emoji()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\ntargetCoordinates(): ByteString|null\ntargetCoordinates(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntargetCoordinates(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKind17Parsed(builder:flatbuffers.Builder) {\n builder.startObject(6);\n}\n\nstatic addReactionType(builder:flatbuffers.Builder, reactionType:ReactionType) {\n builder.addFieldInt8(0, reactionType, ReactionType.Like);\n}\n\nstatic addEventId(builder:flatbuffers.Builder, eventIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, eventIdOffset, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, pubkeyOffset, 0);\n}\n\nstatic addEventKind(builder:flatbuffers.Builder, eventKind:bigint) {\n builder.addFieldInt64(3, eventKind, BigInt('0'));\n}\n\nstatic addEmoji(builder:flatbuffers.Builder, emojiOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, emojiOffset, 0);\n}\n\nstatic addTargetCoordinates(builder:flatbuffers.Builder, targetCoordinatesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, targetCoordinatesOffset, 0);\n}\n\nstatic endKind17Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // event_id\n builder.requiredField(offset, 8) // pubkey\n return offset;\n}\n\n\nunpack(): Kind17ParsedT {\n return new Kind17ParsedT(\n this.reactionType(),\n this.eventId(),\n this.pubkey(),\n this.eventKind(),\n (this.emoji() !== null ? this.emoji()!.unpack() : null),\n this.targetCoordinates()\n );\n}\n\n\nunpackTo(_o: Kind17ParsedT): void {\n _o.reactionType = this.reactionType();\n _o.eventId = this.eventId();\n _o.pubkey = this.pubkey();\n _o.eventKind = this.eventKind();\n _o.emoji = (this.emoji() !== null ? this.emoji()!.unpack() : null);\n _o.targetCoordinates = this.targetCoordinates();\n}\n}\n\nexport class Kind17ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public reactionType: ReactionType = ReactionType.Like,\n public eventId: ByteString|Uint8Array|null = null,\n public pubkey: ByteString|Uint8Array|null = null,\n public eventKind: bigint = BigInt('0'),\n public emoji: EmojiT|null = null,\n public targetCoordinates: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const eventId = (this.eventId !== null ? builder.createString(this.eventId!) : 0);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const emoji = (this.emoji !== null ? this.emoji!.pack(builder) : 0);\n const targetCoordinates = (this.targetCoordinates !== null ? builder.createString(this.targetCoordinates!) : 0);\n\n Kind17Parsed.startKind17Parsed(builder);\n Kind17Parsed.addReactionType(builder, this.reactionType);\n Kind17Parsed.addEventId(builder, eventId);\n Kind17Parsed.addPubkey(builder, pubkey);\n Kind17Parsed.addEventKind(builder, this.eventKind);\n Kind17Parsed.addEmoji(builder, emoji);\n Kind17Parsed.addTargetCoordinates(builder, targetCoordinates);\n\n return Kind17Parsed.endKind17Parsed(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ContentBlock, ContentBlockT } from '../../nostr/fb/content-block.js';\nimport { EventPointer, EventPointerT } from '../../nostr/fb/event-pointer.js';\nimport { ProfilePointer, ProfilePointerT } from '../../nostr/fb/profile-pointer.js';\n\n\nexport class Kind1Parsed implements flatbuffers.IUnpackableObject<Kind1ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind1Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind1Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind1Parsed):Kind1Parsed {\n return (obj || new Kind1Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind1Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind1Parsed):Kind1Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind1Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nparsedContent(index: number, obj?:ContentBlock):ContentBlock|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new ContentBlock()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nparsedContentLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nshortenedContent(index: number, obj?:ContentBlock):ContentBlock|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new ContentBlock()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nshortenedContentLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nquotes(index: number, obj?:ProfilePointer):ProfilePointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new ProfilePointer()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nquotesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nmentions(index: number, obj?:EventPointer):EventPointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new EventPointer()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nmentionsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nreply(obj?:EventPointer):EventPointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new EventPointer()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nroot(obj?:EventPointer):EventPointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? (obj || new EventPointer()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startKind1Parsed(builder:flatbuffers.Builder) {\n builder.startObject(6);\n}\n\nstatic addParsedContent(builder:flatbuffers.Builder, parsedContentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, parsedContentOffset, 0);\n}\n\nstatic createParsedContentVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParsedContentVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addShortenedContent(builder:flatbuffers.Builder, shortenedContentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, shortenedContentOffset, 0);\n}\n\nstatic createShortenedContentVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startShortenedContentVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addQuotes(builder:flatbuffers.Builder, quotesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, quotesOffset, 0);\n}\n\nstatic createQuotesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startQuotesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addMentions(builder:flatbuffers.Builder, mentionsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, mentionsOffset, 0);\n}\n\nstatic createMentionsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startMentionsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addReply(builder:flatbuffers.Builder, replyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, replyOffset, 0);\n}\n\nstatic addRoot(builder:flatbuffers.Builder, rootOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, rootOffset, 0);\n}\n\nstatic endKind1Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // parsed_content\n return offset;\n}\n\n\nunpack(): Kind1ParsedT {\n return new Kind1ParsedT(\n this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength()),\n this.bb!.createObjList<ContentBlock, ContentBlockT>(this.shortenedContent.bind(this), this.shortenedContentLength()),\n this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.quotes.bind(this), this.quotesLength()),\n this.bb!.createObjList<EventPointer, EventPointerT>(this.mentions.bind(this), this.mentionsLength()),\n (this.reply() !== null ? this.reply()!.unpack() : null),\n (this.root() !== null ? this.root()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: Kind1ParsedT): void {\n _o.parsedContent = this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength());\n _o.shortenedContent = this.bb!.createObjList<ContentBlock, ContentBlockT>(this.shortenedContent.bind(this), this.shortenedContentLength());\n _o.quotes = this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.quotes.bind(this), this.quotesLength());\n _o.mentions = this.bb!.createObjList<EventPointer, EventPointerT>(this.mentions.bind(this), this.mentionsLength());\n _o.reply = (this.reply() !== null ? this.reply()!.unpack() : null);\n _o.root = (this.root() !== null ? this.root()!.unpack() : null);\n}\n}\n\nexport class Kind1ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public parsedContent: (ContentBlockT)[] = [],\n public shortenedContent: (ContentBlockT)[] = [],\n public quotes: (ProfilePointerT)[] = [],\n public mentions: (EventPointerT)[] = [],\n public reply: EventPointerT|null = null,\n public root: EventPointerT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const parsedContent = Kind1Parsed.createParsedContentVector(builder, builder.createObjectOffsetList(this.parsedContent));\n const shortenedContent = Kind1Parsed.createShortenedContentVector(builder, builder.createObjectOffsetList(this.shortenedContent));\n const quotes = Kind1Parsed.createQuotesVector(builder, builder.createObjectOffsetList(this.quotes));\n const mentions = Kind1Parsed.createMentionsVector(builder, builder.createObjectOffsetList(this.mentions));\n const reply = (this.reply !== null ? this.reply!.pack(builder) : 0);\n const root = (this.root !== null ? this.root!.pack(builder) : 0);\n\n Kind1Parsed.startKind1Parsed(builder);\n Kind1Parsed.addParsedContent(builder, parsedContent);\n Kind1Parsed.addShortenedContent(builder, shortenedContent);\n Kind1Parsed.addQuotes(builder, quotes);\n Kind1Parsed.addMentions(builder, mentions);\n Kind1Parsed.addReply(builder, reply);\n Kind1Parsed.addRoot(builder, root);\n\n return Kind1Parsed.endKind1Parsed(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ImetaTag implements flatbuffers.IUnpackableObject<ImetaTagT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ImetaTag {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsImetaTag(bb:flatbuffers.ByteBuffer, obj?:ImetaTag):ImetaTag {\n return (obj || new ImetaTag()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsImetaTag(bb:flatbuffers.ByteBuffer, obj?:ImetaTag):ImetaTag {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ImetaTag()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmimeType(): ByteString|null\nmimeType(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmimeType(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndim(): ByteString|null\ndim(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndim(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nalt(): ByteString|null\nalt(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nalt(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nblurhash(): ByteString|null\nblurhash(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nblurhash(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nhash(): ByteString|null\nhash(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nhash(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nfallback(index: number): ByteString\nfallback(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nfallback(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nfallbackLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nannotateUser(): ByteString|null\nannotateUser(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nannotateUser(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startImetaTag(builder:flatbuffers.Builder) {\n builder.startObject(8);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addMimeType(builder:flatbuffers.Builder, mimeTypeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, mimeTypeOffset, 0);\n}\n\nstatic addDim(builder:flatbuffers.Builder, dimOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, dimOffset, 0);\n}\n\nstatic addAlt(builder:flatbuffers.Builder, altOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, altOffset, 0);\n}\n\nstatic addBlurhash(builder:flatbuffers.Builder, blurhashOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, blurhashOffset, 0);\n}\n\nstatic addHash(builder:flatbuffers.Builder, hashOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, hashOffset, 0);\n}\n\nstatic addFallback(builder:flatbuffers.Builder, fallbackOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, fallbackOffset, 0);\n}\n\nstatic createFallbackVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startFallbackVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAnnotateUser(builder:flatbuffers.Builder, annotateUserOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, annotateUserOffset, 0);\n}\n\nstatic endImetaTag(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n return offset;\n}\n\nstatic createImetaTag(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, mimeTypeOffset:flatbuffers.Offset, dimOffset:flatbuffers.Offset, altOffset:flatbuffers.Offset, blurhashOffset:flatbuffers.Offset, hashOffset:flatbuffers.Offset, fallbackOffset:flatbuffers.Offset, annotateUserOffset:flatbuffers.Offset):flatbuffers.Offset {\n ImetaTag.startImetaTag(builder);\n ImetaTag.addUrl(builder, urlOffset);\n ImetaTag.addMimeType(builder, mimeTypeOffset);\n ImetaTag.addDim(builder, dimOffset);\n ImetaTag.addAlt(builder, altOffset);\n ImetaTag.addBlurhash(builder, blurhashOffset);\n ImetaTag.addHash(builder, hashOffset);\n ImetaTag.addFallback(builder, fallbackOffset);\n ImetaTag.addAnnotateUser(builder, annotateUserOffset);\n return ImetaTag.endImetaTag(builder);\n}\n\nunpack(): ImetaTagT {\n return new ImetaTagT(\n this.url(),\n this.mimeType(),\n this.dim(),\n this.alt(),\n this.blurhash(),\n this.hash(),\n this.bb!.createScalarList<string>(this.fallback.bind(this), this.fallbackLength()),\n this.annotateUser()\n );\n}\n\n\nunpackTo(_o: ImetaTagT): void {\n _o.url = this.url();\n _o.mimeType = this.mimeType();\n _o.dim = this.dim();\n _o.alt = this.alt();\n _o.blurhash = this.blurhash();\n _o.hash = this.hash();\n _o.fallback = this.bb!.createScalarList<string>(this.fallback.bind(this), this.fallbackLength());\n _o.annotateUser = this.annotateUser();\n}\n}\n\nexport class ImetaTagT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public mimeType: ByteString|Uint8Array|null = null,\n public dim: ByteString|Uint8Array|null = null,\n public alt: ByteString|Uint8Array|null = null,\n public blurhash: ByteString|Uint8Array|null = null,\n public hash: ByteString|Uint8Array|null = null,\n public fallback: (string)[] = [],\n public annotateUser: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const mimeType = (this.mimeType !== null ? builder.createString(this.mimeType!) : 0);\n const dim = (this.dim !== null ? builder.createString(this.dim!) : 0);\n const alt = (this.alt !== null ? builder.createString(this.alt!) : 0);\n const blurhash = (this.blurhash !== null ? builder.createString(this.blurhash!) : 0);\n const hash = (this.hash !== null ? builder.createString(this.hash!) : 0);\n const fallback = ImetaTag.createFallbackVector(builder, builder.createObjectOffsetList(this.fallback));\n const annotateUser = (this.annotateUser !== null ? builder.createString(this.annotateUser!) : 0);\n\n return ImetaTag.createImetaTag(builder,\n url,\n mimeType,\n dim,\n alt,\n blurhash,\n hash,\n fallback,\n annotateUser\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ImetaTag, ImetaTagT } from '../../nostr/fb/imeta-tag.js';\nimport { ProfilePointer, ProfilePointerT } from '../../nostr/fb/profile-pointer.js';\n\n\nexport class Kind20Parsed implements flatbuffers.IUnpackableObject<Kind20ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind20Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind20Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind20Parsed):Kind20Parsed {\n return (obj || new Kind20Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind20Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind20Parsed):Kind20Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind20Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntitle(): ByteString|null\ntitle(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntitle(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndescription(): ByteString|null\ndescription(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndescription(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nimages(index: number, obj?:ImetaTag):ImetaTag|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new ImetaTag()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nimagesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ncontentWarning(): ByteString|null\ncontentWarning(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontentWarning(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nlocation(): ByteString|null\nlocation(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nlocation(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ngeohash(): ByteString|null\ngeohash(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ngeohash(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nhashtags(index: number): ByteString\nhashtags(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nhashtags(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nhashtagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nmentions(index: number, obj?:ProfilePointer):ProfilePointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? (obj || new ProfilePointer()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nmentionsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind20Parsed(builder:flatbuffers.Builder) {\n builder.startObject(8);\n}\n\nstatic addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, titleOffset, 0);\n}\n\nstatic addDescription(builder:flatbuffers.Builder, descriptionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, descriptionOffset, 0);\n}\n\nstatic addImages(builder:flatbuffers.Builder, imagesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, imagesOffset, 0);\n}\n\nstatic createImagesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startImagesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addContentWarning(builder:flatbuffers.Builder, contentWarningOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, contentWarningOffset, 0);\n}\n\nstatic addLocation(builder:flatbuffers.Builder, locationOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, locationOffset, 0);\n}\n\nstatic addGeohash(builder:flatbuffers.Builder, geohashOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, geohashOffset, 0);\n}\n\nstatic addHashtags(builder:flatbuffers.Builder, hashtagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, hashtagsOffset, 0);\n}\n\nstatic createHashtagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startHashtagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addMentions(builder:flatbuffers.Builder, mentionsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, mentionsOffset, 0);\n}\n\nstatic createMentionsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startMentionsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind20Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 8) // images\n return offset;\n}\n\nstatic createKind20Parsed(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset, descriptionOffset:flatbuffers.Offset, imagesOffset:flatbuffers.Offset, contentWarningOffset:flatbuffers.Offset, locationOffset:flatbuffers.Offset, geohashOffset:flatbuffers.Offset, hashtagsOffset:flatbuffers.Offset, mentionsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind20Parsed.startKind20Parsed(builder);\n Kind20Parsed.addTitle(builder, titleOffset);\n Kind20Parsed.addDescription(builder, descriptionOffset);\n Kind20Parsed.addImages(builder, imagesOffset);\n Kind20Parsed.addContentWarning(builder, contentWarningOffset);\n Kind20Parsed.addLocation(builder, locationOffset);\n Kind20Parsed.addGeohash(builder, geohashOffset);\n Kind20Parsed.addHashtags(builder, hashtagsOffset);\n Kind20Parsed.addMentions(builder, mentionsOffset);\n return Kind20Parsed.endKind20Parsed(builder);\n}\n\nunpack(): Kind20ParsedT {\n return new Kind20ParsedT(\n this.title(),\n this.description(),\n this.bb!.createObjList<ImetaTag, ImetaTagT>(this.images.bind(this), this.imagesLength()),\n this.contentWarning(),\n this.location(),\n this.geohash(),\n this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength()),\n this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.mentions.bind(this), this.mentionsLength())\n );\n}\n\n\nunpackTo(_o: Kind20ParsedT): void {\n _o.title = this.title();\n _o.description = this.description();\n _o.images = this.bb!.createObjList<ImetaTag, ImetaTagT>(this.images.bind(this), this.imagesLength());\n _o.contentWarning = this.contentWarning();\n _o.location = this.location();\n _o.geohash = this.geohash();\n _o.hashtags = this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength());\n _o.mentions = this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.mentions.bind(this), this.mentionsLength());\n}\n}\n\nexport class Kind20ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public title: ByteString|Uint8Array|null = null,\n public description: ByteString|Uint8Array|null = null,\n public images: (ImetaTagT)[] = [],\n public contentWarning: ByteString|Uint8Array|null = null,\n public location: ByteString|Uint8Array|null = null,\n public geohash: ByteString|Uint8Array|null = null,\n public hashtags: (string)[] = [],\n public mentions: (ProfilePointerT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const title = (this.title !== null ? builder.createString(this.title!) : 0);\n const description = (this.description !== null ? builder.createString(this.description!) : 0);\n const images = Kind20Parsed.createImagesVector(builder, builder.createObjectOffsetList(this.images));\n const contentWarning = (this.contentWarning !== null ? builder.createString(this.contentWarning!) : 0);\n const location = (this.location !== null ? builder.createString(this.location!) : 0);\n const geohash = (this.geohash !== null ? builder.createString(this.geohash!) : 0);\n const hashtags = Kind20Parsed.createHashtagsVector(builder, builder.createObjectOffsetList(this.hashtags));\n const mentions = Kind20Parsed.createMentionsVector(builder, builder.createObjectOffsetList(this.mentions));\n\n return Kind20Parsed.createKind20Parsed(builder,\n title,\n description,\n images,\n contentWarning,\n location,\n geohash,\n hashtags,\n mentions\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class VideoVariant implements flatbuffers.IUnpackableObject<VideoVariantT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):VideoVariant {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsVideoVariant(bb:flatbuffers.ByteBuffer, obj?:VideoVariant):VideoVariant {\n return (obj || new VideoVariant()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsVideoVariant(bb:flatbuffers.ByteBuffer, obj?:VideoVariant):VideoVariant {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new VideoVariant()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmimeType(): ByteString|null\nmimeType(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmimeType(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndim(): ByteString|null\ndim(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndim(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nblurhash(): ByteString|null\nblurhash(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nblurhash(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nhash(): ByteString|null\nhash(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nhash(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nduration():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0;\n}\n\nbitrate():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nimage(): ByteString|null\nimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nfallback(index: number): ByteString\nfallback(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nfallback(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nfallbackLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startVideoVariant(builder:flatbuffers.Builder) {\n builder.startObject(9);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, urlOffset, 0);\n}\n\nstatic addMimeType(builder:flatbuffers.Builder, mimeTypeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, mimeTypeOffset, 0);\n}\n\nstatic addDim(builder:flatbuffers.Builder, dimOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, dimOffset, 0);\n}\n\nstatic addBlurhash(builder:flatbuffers.Builder, blurhashOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, blurhashOffset, 0);\n}\n\nstatic addHash(builder:flatbuffers.Builder, hashOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, hashOffset, 0);\n}\n\nstatic addDuration(builder:flatbuffers.Builder, duration:number) {\n builder.addFieldFloat32(5, duration, 0.0);\n}\n\nstatic addBitrate(builder:flatbuffers.Builder, bitrate:bigint) {\n builder.addFieldInt64(6, bitrate, BigInt('0'));\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, imageOffset, 0);\n}\n\nstatic addFallback(builder:flatbuffers.Builder, fallbackOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, fallbackOffset, 0);\n}\n\nstatic createFallbackVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startFallbackVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endVideoVariant(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // url\n return offset;\n}\n\nstatic createVideoVariant(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset, mimeTypeOffset:flatbuffers.Offset, dimOffset:flatbuffers.Offset, blurhashOffset:flatbuffers.Offset, hashOffset:flatbuffers.Offset, duration:number, bitrate:bigint, imageOffset:flatbuffers.Offset, fallbackOffset:flatbuffers.Offset):flatbuffers.Offset {\n VideoVariant.startVideoVariant(builder);\n VideoVariant.addUrl(builder, urlOffset);\n VideoVariant.addMimeType(builder, mimeTypeOffset);\n VideoVariant.addDim(builder, dimOffset);\n VideoVariant.addBlurhash(builder, blurhashOffset);\n VideoVariant.addHash(builder, hashOffset);\n VideoVariant.addDuration(builder, duration);\n VideoVariant.addBitrate(builder, bitrate);\n VideoVariant.addImage(builder, imageOffset);\n VideoVariant.addFallback(builder, fallbackOffset);\n return VideoVariant.endVideoVariant(builder);\n}\n\nunpack(): VideoVariantT {\n return new VideoVariantT(\n this.url(),\n this.mimeType(),\n this.dim(),\n this.blurhash(),\n this.hash(),\n this.duration(),\n this.bitrate(),\n this.image(),\n this.bb!.createScalarList<string>(this.fallback.bind(this), this.fallbackLength())\n );\n}\n\n\nunpackTo(_o: VideoVariantT): void {\n _o.url = this.url();\n _o.mimeType = this.mimeType();\n _o.dim = this.dim();\n _o.blurhash = this.blurhash();\n _o.hash = this.hash();\n _o.duration = this.duration();\n _o.bitrate = this.bitrate();\n _o.image = this.image();\n _o.fallback = this.bb!.createScalarList<string>(this.fallback.bind(this), this.fallbackLength());\n}\n}\n\nexport class VideoVariantT implements flatbuffers.IGeneratedObject {\nconstructor(\n public url: ByteString|Uint8Array|null = null,\n public mimeType: ByteString|Uint8Array|null = null,\n public dim: ByteString|Uint8Array|null = null,\n public blurhash: ByteString|Uint8Array|null = null,\n public hash: ByteString|Uint8Array|null = null,\n public duration: number = 0.0,\n public bitrate: bigint = BigInt('0'),\n public image: ByteString|Uint8Array|null = null,\n public fallback: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const mimeType = (this.mimeType !== null ? builder.createString(this.mimeType!) : 0);\n const dim = (this.dim !== null ? builder.createString(this.dim!) : 0);\n const blurhash = (this.blurhash !== null ? builder.createString(this.blurhash!) : 0);\n const hash = (this.hash !== null ? builder.createString(this.hash!) : 0);\n const image = (this.image !== null ? builder.createString(this.image!) : 0);\n const fallback = VideoVariant.createFallbackVector(builder, builder.createObjectOffsetList(this.fallback));\n\n return VideoVariant.createVideoVariant(builder,\n url,\n mimeType,\n dim,\n blurhash,\n hash,\n this.duration,\n this.bitrate,\n image,\n fallback\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ProfilePointer, ProfilePointerT } from '../../nostr/fb/profile-pointer.js';\nimport { VideoVariant, VideoVariantT } from '../../nostr/fb/video-variant.js';\n\n\nexport class Kind22Parsed implements flatbuffers.IUnpackableObject<Kind22ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind22Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind22Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind22Parsed):Kind22Parsed {\n return (obj || new Kind22Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind22Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind22Parsed):Kind22Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind22Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntitle(): ByteString|null\ntitle(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntitle(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndescription(): ByteString|null\ndescription(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndescription(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nvideos(index: number, obj?:VideoVariant):VideoVariant|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new VideoVariant()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nvideosLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nalt(): ByteString|null\nalt(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nalt(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ncontentWarning(): ByteString|null\ncontentWarning(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontentWarning(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nduration():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0;\n}\n\npublishedAt():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nhashtags(index: number): ByteString\nhashtags(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nhashtags(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nhashtagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nparticipants(index: number, obj?:ProfilePointer):ProfilePointer|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? (obj || new ProfilePointer()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nparticipantsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind22Parsed(builder:flatbuffers.Builder) {\n builder.startObject(9);\n}\n\nstatic addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, titleOffset, 0);\n}\n\nstatic addDescription(builder:flatbuffers.Builder, descriptionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, descriptionOffset, 0);\n}\n\nstatic addVideos(builder:flatbuffers.Builder, videosOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, videosOffset, 0);\n}\n\nstatic createVideosVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startVideosVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAlt(builder:flatbuffers.Builder, altOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, altOffset, 0);\n}\n\nstatic addContentWarning(builder:flatbuffers.Builder, contentWarningOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, contentWarningOffset, 0);\n}\n\nstatic addDuration(builder:flatbuffers.Builder, duration:number) {\n builder.addFieldFloat32(5, duration, 0.0);\n}\n\nstatic addPublishedAt(builder:flatbuffers.Builder, publishedAt:bigint) {\n builder.addFieldInt64(6, publishedAt, BigInt('0'));\n}\n\nstatic addHashtags(builder:flatbuffers.Builder, hashtagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, hashtagsOffset, 0);\n}\n\nstatic createHashtagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startHashtagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addParticipants(builder:flatbuffers.Builder, participantsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, participantsOffset, 0);\n}\n\nstatic createParticipantsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParticipantsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind22Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // title\n builder.requiredField(offset, 8) // videos\n return offset;\n}\n\nstatic createKind22Parsed(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset, descriptionOffset:flatbuffers.Offset, videosOffset:flatbuffers.Offset, altOffset:flatbuffers.Offset, contentWarningOffset:flatbuffers.Offset, duration:number, publishedAt:bigint, hashtagsOffset:flatbuffers.Offset, participantsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind22Parsed.startKind22Parsed(builder);\n Kind22Parsed.addTitle(builder, titleOffset);\n Kind22Parsed.addDescription(builder, descriptionOffset);\n Kind22Parsed.addVideos(builder, videosOffset);\n Kind22Parsed.addAlt(builder, altOffset);\n Kind22Parsed.addContentWarning(builder, contentWarningOffset);\n Kind22Parsed.addDuration(builder, duration);\n Kind22Parsed.addPublishedAt(builder, publishedAt);\n Kind22Parsed.addHashtags(builder, hashtagsOffset);\n Kind22Parsed.addParticipants(builder, participantsOffset);\n return Kind22Parsed.endKind22Parsed(builder);\n}\n\nunpack(): Kind22ParsedT {\n return new Kind22ParsedT(\n this.title(),\n this.description(),\n this.bb!.createObjList<VideoVariant, VideoVariantT>(this.videos.bind(this), this.videosLength()),\n this.alt(),\n this.contentWarning(),\n this.duration(),\n this.publishedAt(),\n this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength()),\n this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.participants.bind(this), this.participantsLength())\n );\n}\n\n\nunpackTo(_o: Kind22ParsedT): void {\n _o.title = this.title();\n _o.description = this.description();\n _o.videos = this.bb!.createObjList<VideoVariant, VideoVariantT>(this.videos.bind(this), this.videosLength());\n _o.alt = this.alt();\n _o.contentWarning = this.contentWarning();\n _o.duration = this.duration();\n _o.publishedAt = this.publishedAt();\n _o.hashtags = this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength());\n _o.participants = this.bb!.createObjList<ProfilePointer, ProfilePointerT>(this.participants.bind(this), this.participantsLength());\n}\n}\n\nexport class Kind22ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public title: ByteString|Uint8Array|null = null,\n public description: ByteString|Uint8Array|null = null,\n public videos: (VideoVariantT)[] = [],\n public alt: ByteString|Uint8Array|null = null,\n public contentWarning: ByteString|Uint8Array|null = null,\n public duration: number = 0.0,\n public publishedAt: bigint = BigInt('0'),\n public hashtags: (string)[] = [],\n public participants: (ProfilePointerT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const title = (this.title !== null ? builder.createString(this.title!) : 0);\n const description = (this.description !== null ? builder.createString(this.description!) : 0);\n const videos = Kind22Parsed.createVideosVector(builder, builder.createObjectOffsetList(this.videos));\n const alt = (this.alt !== null ? builder.createString(this.alt!) : 0);\n const contentWarning = (this.contentWarning !== null ? builder.createString(this.contentWarning!) : 0);\n const hashtags = Kind22Parsed.createHashtagsVector(builder, builder.createObjectOffsetList(this.hashtags));\n const participants = Kind22Parsed.createParticipantsVector(builder, builder.createObjectOffsetList(this.participants));\n\n return Kind22Parsed.createKind22Parsed(builder,\n title,\n description,\n videos,\n alt,\n contentWarning,\n this.duration,\n this.publishedAt,\n hashtags,\n participants\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Kind30023Parsed implements flatbuffers.IUnpackableObject<Kind30023ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind30023Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind30023Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind30023Parsed):Kind30023Parsed {\n return (obj || new Kind30023Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind30023Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind30023Parsed):Kind30023Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind30023Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nslug(): ByteString|null\nslug(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nslug(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntitle(): ByteString|null\ntitle(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntitle(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nsummary(): ByteString|null\nsummary(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsummary(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nimage(): ByteString|null\nimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ncanonical(): ByteString|null\ncanonical(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncanonical(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntopics(index: number): ByteString\ntopics(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\ntopics(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\ntopicsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\npublishedAt():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nnaddr(): ByteString|null\nnaddr(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nnaddr(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKind30023Parsed(builder:flatbuffers.Builder) {\n builder.startObject(9);\n}\n\nstatic addSlug(builder:flatbuffers.Builder, slugOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, slugOffset, 0);\n}\n\nstatic addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, titleOffset, 0);\n}\n\nstatic addSummary(builder:flatbuffers.Builder, summaryOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, summaryOffset, 0);\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, imageOffset, 0);\n}\n\nstatic addCanonical(builder:flatbuffers.Builder, canonicalOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, canonicalOffset, 0);\n}\n\nstatic addTopics(builder:flatbuffers.Builder, topicsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, topicsOffset, 0);\n}\n\nstatic createTopicsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTopicsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addPublishedAt(builder:flatbuffers.Builder, publishedAt:bigint) {\n builder.addFieldInt64(6, publishedAt, BigInt('0'));\n}\n\nstatic addNaddr(builder:flatbuffers.Builder, naddrOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, naddrOffset, 0);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, contentOffset, 0);\n}\n\nstatic endKind30023Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createKind30023Parsed(builder:flatbuffers.Builder, slugOffset:flatbuffers.Offset, titleOffset:flatbuffers.Offset, summaryOffset:flatbuffers.Offset, imageOffset:flatbuffers.Offset, canonicalOffset:flatbuffers.Offset, topicsOffset:flatbuffers.Offset, publishedAt:bigint, naddrOffset:flatbuffers.Offset, contentOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind30023Parsed.startKind30023Parsed(builder);\n Kind30023Parsed.addSlug(builder, slugOffset);\n Kind30023Parsed.addTitle(builder, titleOffset);\n Kind30023Parsed.addSummary(builder, summaryOffset);\n Kind30023Parsed.addImage(builder, imageOffset);\n Kind30023Parsed.addCanonical(builder, canonicalOffset);\n Kind30023Parsed.addTopics(builder, topicsOffset);\n Kind30023Parsed.addPublishedAt(builder, publishedAt);\n Kind30023Parsed.addNaddr(builder, naddrOffset);\n Kind30023Parsed.addContent(builder, contentOffset);\n return Kind30023Parsed.endKind30023Parsed(builder);\n}\n\nunpack(): Kind30023ParsedT {\n return new Kind30023ParsedT(\n this.slug(),\n this.title(),\n this.summary(),\n this.image(),\n this.canonical(),\n this.bb!.createScalarList<string>(this.topics.bind(this), this.topicsLength()),\n this.publishedAt(),\n this.naddr(),\n this.content()\n );\n}\n\n\nunpackTo(_o: Kind30023ParsedT): void {\n _o.slug = this.slug();\n _o.title = this.title();\n _o.summary = this.summary();\n _o.image = this.image();\n _o.canonical = this.canonical();\n _o.topics = this.bb!.createScalarList<string>(this.topics.bind(this), this.topicsLength());\n _o.publishedAt = this.publishedAt();\n _o.naddr = this.naddr();\n _o.content = this.content();\n}\n}\n\nexport class Kind30023ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public slug: ByteString|Uint8Array|null = null,\n public title: ByteString|Uint8Array|null = null,\n public summary: ByteString|Uint8Array|null = null,\n public image: ByteString|Uint8Array|null = null,\n public canonical: ByteString|Uint8Array|null = null,\n public topics: (string)[] = [],\n public publishedAt: bigint = BigInt('0'),\n public naddr: ByteString|Uint8Array|null = null,\n public content: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const slug = (this.slug !== null ? builder.createString(this.slug!) : 0);\n const title = (this.title !== null ? builder.createString(this.title!) : 0);\n const summary = (this.summary !== null ? builder.createString(this.summary!) : 0);\n const image = (this.image !== null ? builder.createString(this.image!) : 0);\n const canonical = (this.canonical !== null ? builder.createString(this.canonical!) : 0);\n const topics = Kind30023Parsed.createTopicsVector(builder, builder.createObjectOffsetList(this.topics));\n const naddr = (this.naddr !== null ? builder.createString(this.naddr!) : 0);\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n\n return Kind30023Parsed.createKind30023Parsed(builder,\n slug,\n title,\n summary,\n image,\n canonical,\n topics,\n this.publishedAt,\n naddr,\n content\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Contact implements flatbuffers.IUnpackableObject<ContactT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Contact {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsContact(bb:flatbuffers.ByteBuffer, obj?:Contact):Contact {\n return (obj || new Contact()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsContact(bb:flatbuffers.ByteBuffer, obj?:Contact):Contact {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Contact()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\npetname(): ByteString|null\npetname(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npetname(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startContact(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeyOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addPetname(builder:flatbuffers.Builder, petnameOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, petnameOffset, 0);\n}\n\nstatic endContact(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // pubkey\n return offset;\n}\n\nstatic createContact(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset, petnameOffset:flatbuffers.Offset):flatbuffers.Offset {\n Contact.startContact(builder);\n Contact.addPubkey(builder, pubkeyOffset);\n Contact.addRelays(builder, relaysOffset);\n Contact.addPetname(builder, petnameOffset);\n return Contact.endContact(builder);\n}\n\nunpack(): ContactT {\n return new ContactT(\n this.pubkey(),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength()),\n this.petname()\n );\n}\n\n\nunpackTo(_o: ContactT): void {\n _o.pubkey = this.pubkey();\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n _o.petname = this.petname();\n}\n}\n\nexport class ContactT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkey: ByteString|Uint8Array|null = null,\n public relays: (string)[] = [],\n public petname: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const relays = Contact.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n const petname = (this.petname !== null ? builder.createString(this.petname!) : 0);\n\n return Contact.createContact(builder,\n pubkey,\n relays,\n petname\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Contact, ContactT } from '../../nostr/fb/contact.js';\n\n\nexport class Kind3Parsed implements flatbuffers.IUnpackableObject<Kind3ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind3Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind3Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind3Parsed):Kind3Parsed {\n return (obj || new Kind3Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind3Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind3Parsed):Kind3Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind3Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontacts(index: number, obj?:Contact):Contact|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new Contact()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ncontactsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startKind3Parsed(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addContacts(builder:flatbuffers.Builder, contactsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, contactsOffset, 0);\n}\n\nstatic createContactsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startContactsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endKind3Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // contacts\n return offset;\n}\n\nstatic createKind3Parsed(builder:flatbuffers.Builder, contactsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind3Parsed.startKind3Parsed(builder);\n Kind3Parsed.addContacts(builder, contactsOffset);\n return Kind3Parsed.endKind3Parsed(builder);\n}\n\nunpack(): Kind3ParsedT {\n return new Kind3ParsedT(\n this.bb!.createObjList<Contact, ContactT>(this.contacts.bind(this), this.contactsLength())\n );\n}\n\n\nunpackTo(_o: Kind3ParsedT): void {\n _o.contacts = this.bb!.createObjList<Contact, ContactT>(this.contacts.bind(this), this.contactsLength());\n}\n}\n\nexport class Kind3ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public contacts: (ContactT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const contacts = Kind3Parsed.createContactsVector(builder, builder.createObjectOffsetList(this.contacts));\n\n return Kind3Parsed.createKind3Parsed(builder,\n contacts\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ContentBlock, ContentBlockT } from '../../nostr/fb/content-block.js';\n\n\nexport class Kind4Parsed implements flatbuffers.IUnpackableObject<Kind4ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind4Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind4Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind4Parsed):Kind4Parsed {\n return (obj || new Kind4Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind4Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind4Parsed):Kind4Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind4Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nparsedContent(index: number, obj?:ContentBlock):ContentBlock|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new ContentBlock()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nparsedContentLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ndecryptedContent(): ByteString|null\ndecryptedContent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndecryptedContent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nchatId(): ByteString|null\nchatId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nchatId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrecipient(): ByteString|null\nrecipient(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrecipient(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKind4Parsed(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addParsedContent(builder:flatbuffers.Builder, parsedContentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, parsedContentOffset, 0);\n}\n\nstatic createParsedContentVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParsedContentVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addDecryptedContent(builder:flatbuffers.Builder, decryptedContentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, decryptedContentOffset, 0);\n}\n\nstatic addChatId(builder:flatbuffers.Builder, chatIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, chatIdOffset, 0);\n}\n\nstatic addRecipient(builder:flatbuffers.Builder, recipientOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, recipientOffset, 0);\n}\n\nstatic endKind4Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 8) // chat_id\n builder.requiredField(offset, 10) // recipient\n return offset;\n}\n\nstatic createKind4Parsed(builder:flatbuffers.Builder, parsedContentOffset:flatbuffers.Offset, decryptedContentOffset:flatbuffers.Offset, chatIdOffset:flatbuffers.Offset, recipientOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind4Parsed.startKind4Parsed(builder);\n Kind4Parsed.addParsedContent(builder, parsedContentOffset);\n Kind4Parsed.addDecryptedContent(builder, decryptedContentOffset);\n Kind4Parsed.addChatId(builder, chatIdOffset);\n Kind4Parsed.addRecipient(builder, recipientOffset);\n return Kind4Parsed.endKind4Parsed(builder);\n}\n\nunpack(): Kind4ParsedT {\n return new Kind4ParsedT(\n this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength()),\n this.decryptedContent(),\n this.chatId(),\n this.recipient()\n );\n}\n\n\nunpackTo(_o: Kind4ParsedT): void {\n _o.parsedContent = this.bb!.createObjList<ContentBlock, ContentBlockT>(this.parsedContent.bind(this), this.parsedContentLength());\n _o.decryptedContent = this.decryptedContent();\n _o.chatId = this.chatId();\n _o.recipient = this.recipient();\n}\n}\n\nexport class Kind4ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public parsedContent: (ContentBlockT)[] = [],\n public decryptedContent: ByteString|Uint8Array|null = null,\n public chatId: ByteString|Uint8Array|null = null,\n public recipient: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const parsedContent = Kind4Parsed.createParsedContentVector(builder, builder.createObjectOffsetList(this.parsedContent));\n const decryptedContent = (this.decryptedContent !== null ? builder.createString(this.decryptedContent!) : 0);\n const chatId = (this.chatId !== null ? builder.createString(this.chatId!) : 0);\n const recipient = (this.recipient !== null ? builder.createString(this.recipient!) : 0);\n\n return Kind4Parsed.createKind4Parsed(builder,\n parsedContent,\n decryptedContent,\n chatId,\n recipient\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ParsedEvent, ParsedEventT } from '../../nostr/fb/parsed-event.js';\n\n\nexport class Kind6Parsed implements flatbuffers.IUnpackableObject<Kind6ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind6Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind6Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind6Parsed):Kind6Parsed {\n return (obj || new Kind6Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind6Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind6Parsed):Kind6Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind6Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nrepostedEvent(obj?:ParsedEvent):ParsedEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new ParsedEvent()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startKind6Parsed(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addRepostedEvent(builder:flatbuffers.Builder, repostedEventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, repostedEventOffset, 0);\n}\n\nstatic endKind6Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createKind6Parsed(builder:flatbuffers.Builder, repostedEventOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind6Parsed.startKind6Parsed(builder);\n Kind6Parsed.addRepostedEvent(builder, repostedEventOffset);\n return Kind6Parsed.endKind6Parsed(builder);\n}\n\nunpack(): Kind6ParsedT {\n return new Kind6ParsedT(\n (this.repostedEvent() !== null ? this.repostedEvent()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: Kind6ParsedT): void {\n _o.repostedEvent = (this.repostedEvent() !== null ? this.repostedEvent()!.unpack() : null);\n}\n}\n\nexport class Kind6ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public repostedEvent: ParsedEventT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const repostedEvent = (this.repostedEvent !== null ? this.repostedEvent!.pack(builder) : 0);\n\n return Kind6Parsed.createKind6Parsed(builder,\n repostedEvent\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Kind7374Parsed implements flatbuffers.IUnpackableObject<Kind7374ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind7374Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind7374Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7374Parsed):Kind7374Parsed {\n return (obj || new Kind7374Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind7374Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7374Parsed):Kind7374Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind7374Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nquoteId(): ByteString|null\nquoteId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nquoteId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmintUrl(): ByteString|null\nmintUrl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmintUrl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nexpiration():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nstatic startKind7374Parsed(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addQuoteId(builder:flatbuffers.Builder, quoteIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, quoteIdOffset, 0);\n}\n\nstatic addMintUrl(builder:flatbuffers.Builder, mintUrlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, mintUrlOffset, 0);\n}\n\nstatic addExpiration(builder:flatbuffers.Builder, expiration:bigint) {\n builder.addFieldInt64(2, expiration, BigInt('0'));\n}\n\nstatic endKind7374Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // quote_id\n builder.requiredField(offset, 6) // mint_url\n return offset;\n}\n\nstatic createKind7374Parsed(builder:flatbuffers.Builder, quoteIdOffset:flatbuffers.Offset, mintUrlOffset:flatbuffers.Offset, expiration:bigint):flatbuffers.Offset {\n Kind7374Parsed.startKind7374Parsed(builder);\n Kind7374Parsed.addQuoteId(builder, quoteIdOffset);\n Kind7374Parsed.addMintUrl(builder, mintUrlOffset);\n Kind7374Parsed.addExpiration(builder, expiration);\n return Kind7374Parsed.endKind7374Parsed(builder);\n}\n\nunpack(): Kind7374ParsedT {\n return new Kind7374ParsedT(\n this.quoteId(),\n this.mintUrl(),\n this.expiration()\n );\n}\n\n\nunpackTo(_o: Kind7374ParsedT): void {\n _o.quoteId = this.quoteId();\n _o.mintUrl = this.mintUrl();\n _o.expiration = this.expiration();\n}\n}\n\nexport class Kind7374ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public quoteId: ByteString|Uint8Array|null = null,\n public mintUrl: ByteString|Uint8Array|null = null,\n public expiration: bigint = BigInt('0')\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const quoteId = (this.quoteId !== null ? builder.createString(this.quoteId!) : 0);\n const mintUrl = (this.mintUrl !== null ? builder.createString(this.mintUrl!) : 0);\n\n return Kind7374Parsed.createKind7374Parsed(builder,\n quoteId,\n mintUrl,\n this.expiration\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class DLEQProof implements flatbuffers.IUnpackableObject<DLEQProofT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):DLEQProof {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsDLEQProof(bb:flatbuffers.ByteBuffer, obj?:DLEQProof):DLEQProof {\n return (obj || new DLEQProof()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsDLEQProof(bb:flatbuffers.ByteBuffer, obj?:DLEQProof):DLEQProof {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new DLEQProof()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ne(): ByteString|null\ne(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ne(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ns(): ByteString|null\ns(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ns(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nr(): ByteString|null\nr(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nr(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startDLEQProof(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addE(builder:flatbuffers.Builder, eOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, eOffset, 0);\n}\n\nstatic addS(builder:flatbuffers.Builder, sOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, sOffset, 0);\n}\n\nstatic addR(builder:flatbuffers.Builder, rOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, rOffset, 0);\n}\n\nstatic endDLEQProof(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // e\n builder.requiredField(offset, 6) // s\n builder.requiredField(offset, 8) // r\n return offset;\n}\n\nstatic createDLEQProof(builder:flatbuffers.Builder, eOffset:flatbuffers.Offset, sOffset:flatbuffers.Offset, rOffset:flatbuffers.Offset):flatbuffers.Offset {\n DLEQProof.startDLEQProof(builder);\n DLEQProof.addE(builder, eOffset);\n DLEQProof.addS(builder, sOffset);\n DLEQProof.addR(builder, rOffset);\n return DLEQProof.endDLEQProof(builder);\n}\n\nunpack(): DLEQProofT {\n return new DLEQProofT(\n this.e(),\n this.s(),\n this.r()\n );\n}\n\n\nunpackTo(_o: DLEQProofT): void {\n _o.e = this.e();\n _o.s = this.s();\n _o.r = this.r();\n}\n}\n\nexport class DLEQProofT implements flatbuffers.IGeneratedObject {\nconstructor(\n public e: ByteString|Uint8Array|null = null,\n public s: ByteString|Uint8Array|null = null,\n public r: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const e = (this.e !== null ? builder.createString(this.e!) : 0);\n const s = (this.s !== null ? builder.createString(this.s!) : 0);\n const r = (this.r !== null ? builder.createString(this.r!) : 0);\n\n return DLEQProof.createDLEQProof(builder,\n e,\n s,\n r\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class HTLCWitness implements flatbuffers.IUnpackableObject<HTLCWitnessT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):HTLCWitness {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsHTLCWitness(bb:flatbuffers.ByteBuffer, obj?:HTLCWitness):HTLCWitness {\n return (obj || new HTLCWitness()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsHTLCWitness(bb:flatbuffers.ByteBuffer, obj?:HTLCWitness):HTLCWitness {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new HTLCWitness()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npreimage(): ByteString|null\npreimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npreimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nsignatures(index: number): ByteString\nsignatures(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nsignatures(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nsignaturesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startHTLCWitness(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addPreimage(builder:flatbuffers.Builder, preimageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, preimageOffset, 0);\n}\n\nstatic addSignatures(builder:flatbuffers.Builder, signaturesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, signaturesOffset, 0);\n}\n\nstatic createSignaturesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startSignaturesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endHTLCWitness(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // preimage\n return offset;\n}\n\nstatic createHTLCWitness(builder:flatbuffers.Builder, preimageOffset:flatbuffers.Offset, signaturesOffset:flatbuffers.Offset):flatbuffers.Offset {\n HTLCWitness.startHTLCWitness(builder);\n HTLCWitness.addPreimage(builder, preimageOffset);\n HTLCWitness.addSignatures(builder, signaturesOffset);\n return HTLCWitness.endHTLCWitness(builder);\n}\n\nunpack(): HTLCWitnessT {\n return new HTLCWitnessT(\n this.preimage(),\n this.bb!.createScalarList<string>(this.signatures.bind(this), this.signaturesLength())\n );\n}\n\n\nunpackTo(_o: HTLCWitnessT): void {\n _o.preimage = this.preimage();\n _o.signatures = this.bb!.createScalarList<string>(this.signatures.bind(this), this.signaturesLength());\n}\n}\n\nexport class HTLCWitnessT implements flatbuffers.IGeneratedObject {\nconstructor(\n public preimage: ByteString|Uint8Array|null = null,\n public signatures: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const preimage = (this.preimage !== null ? builder.createString(this.preimage!) : 0);\n const signatures = HTLCWitness.createSignaturesVector(builder, builder.createObjectOffsetList(this.signatures));\n\n return HTLCWitness.createHTLCWitness(builder,\n preimage,\n signatures\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class P2PKWitness implements flatbuffers.IUnpackableObject<P2PKWitnessT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):P2PKWitness {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsP2PKWitness(bb:flatbuffers.ByteBuffer, obj?:P2PKWitness):P2PKWitness {\n return (obj || new P2PKWitness()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsP2PKWitness(bb:flatbuffers.ByteBuffer, obj?:P2PKWitness):P2PKWitness {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new P2PKWitness()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsignatures(index: number): ByteString\nsignatures(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nsignatures(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nsignaturesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startP2PKWitness(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addSignatures(builder:flatbuffers.Builder, signaturesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, signaturesOffset, 0);\n}\n\nstatic createSignaturesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startSignaturesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endP2PKWitness(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createP2PKWitness(builder:flatbuffers.Builder, signaturesOffset:flatbuffers.Offset):flatbuffers.Offset {\n P2PKWitness.startP2PKWitness(builder);\n P2PKWitness.addSignatures(builder, signaturesOffset);\n return P2PKWitness.endP2PKWitness(builder);\n}\n\nunpack(): P2PKWitnessT {\n return new P2PKWitnessT(\n this.bb!.createScalarList<string>(this.signatures.bind(this), this.signaturesLength())\n );\n}\n\n\nunpackTo(_o: P2PKWitnessT): void {\n _o.signatures = this.bb!.createScalarList<string>(this.signatures.bind(this), this.signaturesLength());\n}\n}\n\nexport class P2PKWitnessT implements flatbuffers.IGeneratedObject {\nconstructor(\n public signatures: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const signatures = P2PKWitness.createSignaturesVector(builder, builder.createObjectOffsetList(this.signatures));\n\n return P2PKWitness.createP2PKWitness(builder,\n signatures\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class WitnessString implements flatbuffers.IUnpackableObject<WitnessStringT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):WitnessString {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsWitnessString(bb:flatbuffers.ByteBuffer, obj?:WitnessString):WitnessString {\n return (obj || new WitnessString()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsWitnessString(bb:flatbuffers.ByteBuffer, obj?:WitnessString):WitnessString {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new WitnessString()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nvalue(): ByteString|null\nvalue(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nvalue(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startWitnessString(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addValue(builder:flatbuffers.Builder, valueOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, valueOffset, 0);\n}\n\nstatic endWitnessString(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createWitnessString(builder:flatbuffers.Builder, valueOffset:flatbuffers.Offset):flatbuffers.Offset {\n WitnessString.startWitnessString(builder);\n WitnessString.addValue(builder, valueOffset);\n return WitnessString.endWitnessString(builder);\n}\n\nunpack(): WitnessStringT {\n return new WitnessStringT(\n this.value()\n );\n}\n\n\nunpackTo(_o: WitnessStringT): void {\n _o.value = this.value();\n}\n}\n\nexport class WitnessStringT implements flatbuffers.IGeneratedObject {\nconstructor(\n public value: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const value = (this.value !== null ? builder.createString(this.value!) : 0);\n\n return WitnessString.createWitnessString(builder,\n value\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { HTLCWitness, HTLCWitnessT } from '../../nostr/fb/htlcwitness.js';\nimport { P2PKWitness, P2PKWitnessT } from '../../nostr/fb/p2-pkwitness.js';\nimport { WitnessString, WitnessStringT } from '../../nostr/fb/witness-string.js';\n\n\nexport enum Witness {\n NONE = 0,\n WitnessString = 1,\n P2PKWitness = 2,\n HTLCWitness = 3\n}\n\nexport function unionToWitness(\n type: Witness,\n accessor: (obj:HTLCWitness|P2PKWitness|WitnessString) => HTLCWitness|P2PKWitness|WitnessString|null\n): HTLCWitness|P2PKWitness|WitnessString|null {\n switch(Witness[type]) {\n case 'NONE': return null; \n case 'WitnessString': return accessor(new WitnessString())! as WitnessString;\n case 'P2PKWitness': return accessor(new P2PKWitness())! as P2PKWitness;\n case 'HTLCWitness': return accessor(new HTLCWitness())! as HTLCWitness;\n default: return null;\n }\n}\n\nexport function unionListToWitness(\n type: Witness, \n accessor: (index: number, obj:HTLCWitness|P2PKWitness|WitnessString) => HTLCWitness|P2PKWitness|WitnessString|null, \n index: number\n): HTLCWitness|P2PKWitness|WitnessString|null {\n switch(Witness[type]) {\n case 'NONE': return null; \n case 'WitnessString': return accessor(index, new WitnessString())! as WitnessString;\n case 'P2PKWitness': return accessor(index, new P2PKWitness())! as P2PKWitness;\n case 'HTLCWitness': return accessor(index, new HTLCWitness())! as HTLCWitness;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { DLEQProof, DLEQProofT } from '../../nostr/fb/dleqproof.js';\nimport { HTLCWitness, HTLCWitnessT } from '../../nostr/fb/htlcwitness.js';\nimport { P2PKWitness, P2PKWitnessT } from '../../nostr/fb/p2-pkwitness.js';\nimport { Witness, unionToWitness, unionListToWitness } from '../../nostr/fb/witness.js';\nimport { WitnessString, WitnessStringT } from '../../nostr/fb/witness-string.js';\n\n\nexport class Proof implements flatbuffers.IUnpackableObject<ProofT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Proof {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsProof(bb:flatbuffers.ByteBuffer, obj?:Proof):Proof {\n return (obj || new Proof()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsProof(bb:flatbuffers.ByteBuffer, obj?:Proof):Proof {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Proof()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\namount():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nsecret(): ByteString|null\nsecret(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsecret(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nc(): ByteString|null\nc(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nc(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndleq(obj?:DLEQProof):DLEQProof|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new DLEQProof()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nwitnessType():Witness {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : Witness.NONE;\n}\n\nwitness<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nversion():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : 0;\n}\n\nstatic startProof(builder:flatbuffers.Builder) {\n builder.startObject(8);\n}\n\nstatic addAmount(builder:flatbuffers.Builder, amount:bigint) {\n builder.addFieldInt64(0, amount, BigInt('0'));\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, idOffset, 0);\n}\n\nstatic addSecret(builder:flatbuffers.Builder, secretOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, secretOffset, 0);\n}\n\nstatic addC(builder:flatbuffers.Builder, cOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, cOffset, 0);\n}\n\nstatic addDleq(builder:flatbuffers.Builder, dleqOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, dleqOffset, 0);\n}\n\nstatic addWitnessType(builder:flatbuffers.Builder, witnessType:Witness) {\n builder.addFieldInt8(5, witnessType, Witness.NONE);\n}\n\nstatic addWitness(builder:flatbuffers.Builder, witnessOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, witnessOffset, 0);\n}\n\nstatic addVersion(builder:flatbuffers.Builder, version:number) {\n builder.addFieldInt8(7, version, 0);\n}\n\nstatic endProof(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // id\n builder.requiredField(offset, 8) // secret\n builder.requiredField(offset, 10) // c\n return offset;\n}\n\n\nunpack(): ProofT {\n return new ProofT(\n this.amount(),\n this.id(),\n this.secret(),\n this.c(),\n (this.dleq() !== null ? this.dleq()!.unpack() : null),\n this.witnessType(),\n (() => {\n const temp = unionToWitness(this.witnessType(), this.witness.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })(),\n this.version()\n );\n}\n\n\nunpackTo(_o: ProofT): void {\n _o.amount = this.amount();\n _o.id = this.id();\n _o.secret = this.secret();\n _o.c = this.c();\n _o.dleq = (this.dleq() !== null ? this.dleq()!.unpack() : null);\n _o.witnessType = this.witnessType();\n _o.witness = (() => {\n const temp = unionToWitness(this.witnessType(), this.witness.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n _o.version = this.version();\n}\n}\n\nexport class ProofT implements flatbuffers.IGeneratedObject {\nconstructor(\n public amount: bigint = BigInt('0'),\n public id: ByteString|Uint8Array|null = null,\n public secret: ByteString|Uint8Array|null = null,\n public c: ByteString|Uint8Array|null = null,\n public dleq: DLEQProofT|null = null,\n public witnessType: Witness = Witness.NONE,\n public witness: HTLCWitnessT|P2PKWitnessT|WitnessStringT|null = null,\n public version: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const secret = (this.secret !== null ? builder.createString(this.secret!) : 0);\n const c = (this.c !== null ? builder.createString(this.c!) : 0);\n const dleq = (this.dleq !== null ? this.dleq!.pack(builder) : 0);\n const witness = builder.createObjectOffset(this.witness);\n\n Proof.startProof(builder);\n Proof.addAmount(builder, this.amount);\n Proof.addId(builder, id);\n Proof.addSecret(builder, secret);\n Proof.addC(builder, c);\n Proof.addDleq(builder, dleq);\n Proof.addWitnessType(builder, this.witnessType);\n Proof.addWitness(builder, witness);\n Proof.addVersion(builder, this.version);\n\n return Proof.endProof(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Proof, ProofT } from '../../nostr/fb/proof.js';\n\n\nexport class Kind7375Parsed implements flatbuffers.IUnpackableObject<Kind7375ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind7375Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind7375Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7375Parsed):Kind7375Parsed {\n return (obj || new Kind7375Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind7375Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7375Parsed):Kind7375Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind7375Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nmintUrl(): ByteString|null\nmintUrl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmintUrl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nproofs(index: number, obj?:Proof):Proof|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Proof()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nproofsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ndeletedIds(index: number): ByteString\ndeletedIds(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\ndeletedIds(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\ndeletedIdsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ndecrypted():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startKind7375Parsed(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addMintUrl(builder:flatbuffers.Builder, mintUrlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, mintUrlOffset, 0);\n}\n\nstatic addProofs(builder:flatbuffers.Builder, proofsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, proofsOffset, 0);\n}\n\nstatic createProofsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startProofsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addDeletedIds(builder:flatbuffers.Builder, deletedIdsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, deletedIdsOffset, 0);\n}\n\nstatic createDeletedIdsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startDeletedIdsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addDecrypted(builder:flatbuffers.Builder, decrypted:boolean) {\n builder.addFieldInt8(3, +decrypted, +false);\n}\n\nstatic endKind7375Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // mint_url\n builder.requiredField(offset, 6) // proofs\n return offset;\n}\n\nstatic createKind7375Parsed(builder:flatbuffers.Builder, mintUrlOffset:flatbuffers.Offset, proofsOffset:flatbuffers.Offset, deletedIdsOffset:flatbuffers.Offset, decrypted:boolean):flatbuffers.Offset {\n Kind7375Parsed.startKind7375Parsed(builder);\n Kind7375Parsed.addMintUrl(builder, mintUrlOffset);\n Kind7375Parsed.addProofs(builder, proofsOffset);\n Kind7375Parsed.addDeletedIds(builder, deletedIdsOffset);\n Kind7375Parsed.addDecrypted(builder, decrypted);\n return Kind7375Parsed.endKind7375Parsed(builder);\n}\n\nunpack(): Kind7375ParsedT {\n return new Kind7375ParsedT(\n this.mintUrl(),\n this.bb!.createObjList<Proof, ProofT>(this.proofs.bind(this), this.proofsLength()),\n this.bb!.createScalarList<string>(this.deletedIds.bind(this), this.deletedIdsLength()),\n this.decrypted()\n );\n}\n\n\nunpackTo(_o: Kind7375ParsedT): void {\n _o.mintUrl = this.mintUrl();\n _o.proofs = this.bb!.createObjList<Proof, ProofT>(this.proofs.bind(this), this.proofsLength());\n _o.deletedIds = this.bb!.createScalarList<string>(this.deletedIds.bind(this), this.deletedIdsLength());\n _o.decrypted = this.decrypted();\n}\n}\n\nexport class Kind7375ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public mintUrl: ByteString|Uint8Array|null = null,\n public proofs: (ProofT)[] = [],\n public deletedIds: (string)[] = [],\n public decrypted: boolean = false\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const mintUrl = (this.mintUrl !== null ? builder.createString(this.mintUrl!) : 0);\n const proofs = Kind7375Parsed.createProofsVector(builder, builder.createObjectOffsetList(this.proofs));\n const deletedIds = Kind7375Parsed.createDeletedIdsVector(builder, builder.createObjectOffsetList(this.deletedIds));\n\n return Kind7375Parsed.createKind7375Parsed(builder,\n mintUrl,\n proofs,\n deletedIds,\n this.decrypted\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class HistoryTag implements flatbuffers.IUnpackableObject<HistoryTagT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):HistoryTag {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsHistoryTag(bb:flatbuffers.ByteBuffer, obj?:HistoryTag):HistoryTag {\n return (obj || new HistoryTag()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsHistoryTag(bb:flatbuffers.ByteBuffer, obj?:HistoryTag):HistoryTag {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new HistoryTag()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nname(): ByteString|null\nname(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nname(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nvalue(): ByteString|null\nvalue(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nvalue(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelay(): ByteString|null\nrelay(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelay(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmarker(): ByteString|null\nmarker(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmarker(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startHistoryTag(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addName(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, nameOffset, 0);\n}\n\nstatic addValue(builder:flatbuffers.Builder, valueOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, valueOffset, 0);\n}\n\nstatic addRelay(builder:flatbuffers.Builder, relayOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, relayOffset, 0);\n}\n\nstatic addMarker(builder:flatbuffers.Builder, markerOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, markerOffset, 0);\n}\n\nstatic endHistoryTag(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // name\n builder.requiredField(offset, 6) // value\n return offset;\n}\n\nstatic createHistoryTag(builder:flatbuffers.Builder, nameOffset:flatbuffers.Offset, valueOffset:flatbuffers.Offset, relayOffset:flatbuffers.Offset, markerOffset:flatbuffers.Offset):flatbuffers.Offset {\n HistoryTag.startHistoryTag(builder);\n HistoryTag.addName(builder, nameOffset);\n HistoryTag.addValue(builder, valueOffset);\n HistoryTag.addRelay(builder, relayOffset);\n HistoryTag.addMarker(builder, markerOffset);\n return HistoryTag.endHistoryTag(builder);\n}\n\nunpack(): HistoryTagT {\n return new HistoryTagT(\n this.name(),\n this.value(),\n this.relay(),\n this.marker()\n );\n}\n\n\nunpackTo(_o: HistoryTagT): void {\n _o.name = this.name();\n _o.value = this.value();\n _o.relay = this.relay();\n _o.marker = this.marker();\n}\n}\n\nexport class HistoryTagT implements flatbuffers.IGeneratedObject {\nconstructor(\n public name: ByteString|Uint8Array|null = null,\n public value: ByteString|Uint8Array|null = null,\n public relay: ByteString|Uint8Array|null = null,\n public marker: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const name = (this.name !== null ? builder.createString(this.name!) : 0);\n const value = (this.value !== null ? builder.createString(this.value!) : 0);\n const relay = (this.relay !== null ? builder.createString(this.relay!) : 0);\n const marker = (this.marker !== null ? builder.createString(this.marker!) : 0);\n\n return HistoryTag.createHistoryTag(builder,\n name,\n value,\n relay,\n marker\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { HistoryTag, HistoryTagT } from '../../nostr/fb/history-tag.js';\n\n\nexport class Kind7376Parsed implements flatbuffers.IUnpackableObject<Kind7376ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind7376Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind7376Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7376Parsed):Kind7376Parsed {\n return (obj || new Kind7376Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind7376Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7376Parsed):Kind7376Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind7376Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ndirection(): ByteString|null\ndirection(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndirection(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\namount():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\ncreatedEvents(index: number): ByteString\ncreatedEvents(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\ncreatedEvents(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\ncreatedEventsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ndestroyedEvents(index: number): ByteString\ndestroyedEvents(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\ndestroyedEvents(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\ndestroyedEventsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nredeemedEvents(index: number): ByteString\nredeemedEvents(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nredeemedEvents(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nredeemedEventsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ntags(index: number, obj?:HistoryTag):HistoryTag|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? (obj || new HistoryTag()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ndecrypted():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startKind7376Parsed(builder:flatbuffers.Builder) {\n builder.startObject(7);\n}\n\nstatic addDirection(builder:flatbuffers.Builder, directionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, directionOffset, 0);\n}\n\nstatic addAmount(builder:flatbuffers.Builder, amount:number) {\n builder.addFieldInt32(1, amount, 0);\n}\n\nstatic addCreatedEvents(builder:flatbuffers.Builder, createdEventsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, createdEventsOffset, 0);\n}\n\nstatic createCreatedEventsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startCreatedEventsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addDestroyedEvents(builder:flatbuffers.Builder, destroyedEventsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, destroyedEventsOffset, 0);\n}\n\nstatic createDestroyedEventsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startDestroyedEventsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addRedeemedEvents(builder:flatbuffers.Builder, redeemedEventsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, redeemedEventsOffset, 0);\n}\n\nstatic createRedeemedEventsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRedeemedEventsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addDecrypted(builder:flatbuffers.Builder, decrypted:boolean) {\n builder.addFieldInt8(6, +decrypted, +false);\n}\n\nstatic endKind7376Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // direction\n return offset;\n}\n\nstatic createKind7376Parsed(builder:flatbuffers.Builder, directionOffset:flatbuffers.Offset, amount:number, createdEventsOffset:flatbuffers.Offset, destroyedEventsOffset:flatbuffers.Offset, redeemedEventsOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset, decrypted:boolean):flatbuffers.Offset {\n Kind7376Parsed.startKind7376Parsed(builder);\n Kind7376Parsed.addDirection(builder, directionOffset);\n Kind7376Parsed.addAmount(builder, amount);\n Kind7376Parsed.addCreatedEvents(builder, createdEventsOffset);\n Kind7376Parsed.addDestroyedEvents(builder, destroyedEventsOffset);\n Kind7376Parsed.addRedeemedEvents(builder, redeemedEventsOffset);\n Kind7376Parsed.addTags(builder, tagsOffset);\n Kind7376Parsed.addDecrypted(builder, decrypted);\n return Kind7376Parsed.endKind7376Parsed(builder);\n}\n\nunpack(): Kind7376ParsedT {\n return new Kind7376ParsedT(\n this.direction(),\n this.amount(),\n this.bb!.createScalarList<string>(this.createdEvents.bind(this), this.createdEventsLength()),\n this.bb!.createScalarList<string>(this.destroyedEvents.bind(this), this.destroyedEventsLength()),\n this.bb!.createScalarList<string>(this.redeemedEvents.bind(this), this.redeemedEventsLength()),\n this.bb!.createObjList<HistoryTag, HistoryTagT>(this.tags.bind(this), this.tagsLength()),\n this.decrypted()\n );\n}\n\n\nunpackTo(_o: Kind7376ParsedT): void {\n _o.direction = this.direction();\n _o.amount = this.amount();\n _o.createdEvents = this.bb!.createScalarList<string>(this.createdEvents.bind(this), this.createdEventsLength());\n _o.destroyedEvents = this.bb!.createScalarList<string>(this.destroyedEvents.bind(this), this.destroyedEventsLength());\n _o.redeemedEvents = this.bb!.createScalarList<string>(this.redeemedEvents.bind(this), this.redeemedEventsLength());\n _o.tags = this.bb!.createObjList<HistoryTag, HistoryTagT>(this.tags.bind(this), this.tagsLength());\n _o.decrypted = this.decrypted();\n}\n}\n\nexport class Kind7376ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public direction: ByteString|Uint8Array|null = null,\n public amount: number = 0,\n public createdEvents: (string)[] = [],\n public destroyedEvents: (string)[] = [],\n public redeemedEvents: (string)[] = [],\n public tags: (HistoryTagT)[] = [],\n public decrypted: boolean = false\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const direction = (this.direction !== null ? builder.createString(this.direction!) : 0);\n const createdEvents = Kind7376Parsed.createCreatedEventsVector(builder, builder.createObjectOffsetList(this.createdEvents));\n const destroyedEvents = Kind7376Parsed.createDestroyedEventsVector(builder, builder.createObjectOffsetList(this.destroyedEvents));\n const redeemedEvents = Kind7376Parsed.createRedeemedEventsVector(builder, builder.createObjectOffsetList(this.redeemedEvents));\n const tags = Kind7376Parsed.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n\n return Kind7376Parsed.createKind7376Parsed(builder,\n direction,\n this.amount,\n createdEvents,\n destroyedEvents,\n redeemedEvents,\n tags,\n this.decrypted\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Emoji, EmojiT } from '../../nostr/fb/emoji.js';\nimport { ReactionType } from '../../nostr/fb/reaction-type.js';\n\n\nexport class Kind7Parsed implements flatbuffers.IUnpackableObject<Kind7ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind7Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind7Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7Parsed):Kind7Parsed {\n return (obj || new Kind7Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind7Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind7Parsed):Kind7Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind7Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nreactionType():ReactionType {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readInt8(this.bb_pos + offset) : ReactionType.Like;\n}\n\neventId(): ByteString|null\neventId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\neventId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\neventKind():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nemoji(obj?:Emoji):Emoji|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? (obj || new Emoji()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\ntargetCoordinates(): ByteString|null\ntargetCoordinates(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntargetCoordinates(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKind7Parsed(builder:flatbuffers.Builder) {\n builder.startObject(6);\n}\n\nstatic addReactionType(builder:flatbuffers.Builder, reactionType:ReactionType) {\n builder.addFieldInt8(0, reactionType, ReactionType.Like);\n}\n\nstatic addEventId(builder:flatbuffers.Builder, eventIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, eventIdOffset, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, pubkeyOffset, 0);\n}\n\nstatic addEventKind(builder:flatbuffers.Builder, eventKind:bigint) {\n builder.addFieldInt64(3, eventKind, BigInt('0'));\n}\n\nstatic addEmoji(builder:flatbuffers.Builder, emojiOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, emojiOffset, 0);\n}\n\nstatic addTargetCoordinates(builder:flatbuffers.Builder, targetCoordinatesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, targetCoordinatesOffset, 0);\n}\n\nstatic endKind7Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // event_id\n builder.requiredField(offset, 8) // pubkey\n return offset;\n}\n\n\nunpack(): Kind7ParsedT {\n return new Kind7ParsedT(\n this.reactionType(),\n this.eventId(),\n this.pubkey(),\n this.eventKind(),\n (this.emoji() !== null ? this.emoji()!.unpack() : null),\n this.targetCoordinates()\n );\n}\n\n\nunpackTo(_o: Kind7ParsedT): void {\n _o.reactionType = this.reactionType();\n _o.eventId = this.eventId();\n _o.pubkey = this.pubkey();\n _o.eventKind = this.eventKind();\n _o.emoji = (this.emoji() !== null ? this.emoji()!.unpack() : null);\n _o.targetCoordinates = this.targetCoordinates();\n}\n}\n\nexport class Kind7ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public reactionType: ReactionType = ReactionType.Like,\n public eventId: ByteString|Uint8Array|null = null,\n public pubkey: ByteString|Uint8Array|null = null,\n public eventKind: bigint = BigInt('0'),\n public emoji: EmojiT|null = null,\n public targetCoordinates: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const eventId = (this.eventId !== null ? builder.createString(this.eventId!) : 0);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const emoji = (this.emoji !== null ? this.emoji!.pack(builder) : 0);\n const targetCoordinates = (this.targetCoordinates !== null ? builder.createString(this.targetCoordinates!) : 0);\n\n Kind7Parsed.startKind7Parsed(builder);\n Kind7Parsed.addReactionType(builder, this.reactionType);\n Kind7Parsed.addEventId(builder, eventId);\n Kind7Parsed.addPubkey(builder, pubkey);\n Kind7Parsed.addEventKind(builder, this.eventKind);\n Kind7Parsed.addEmoji(builder, emoji);\n Kind7Parsed.addTargetCoordinates(builder, targetCoordinates);\n\n return Kind7Parsed.endKind7Parsed(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Proof, ProofT } from '../../nostr/fb/proof.js';\n\n\nexport class Kind9321Parsed implements flatbuffers.IUnpackableObject<Kind9321ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind9321Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind9321Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind9321Parsed):Kind9321Parsed {\n return (obj || new Kind9321Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind9321Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind9321Parsed):Kind9321Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind9321Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\namount():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nrecipient(): ByteString|null\nrecipient(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrecipient(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nsender(): ByteString|null\nsender(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsender(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\neventId(): ByteString|null\neventId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\neventId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmintUrl(): ByteString|null\nmintUrl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmintUrl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nredeemed():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nproofs(index: number, obj?:Proof):Proof|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? (obj || new Proof()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nproofsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ncomment(): ByteString|null\ncomment(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncomment(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nisP2pkLocked():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\np2pkPubkey(): ByteString|null\np2pkPubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\np2pkPubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 24);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startKind9321Parsed(builder:flatbuffers.Builder) {\n builder.startObject(11);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addAmount(builder:flatbuffers.Builder, amount:number) {\n builder.addFieldInt32(1, amount, 0);\n}\n\nstatic addRecipient(builder:flatbuffers.Builder, recipientOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, recipientOffset, 0);\n}\n\nstatic addSender(builder:flatbuffers.Builder, senderOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, senderOffset, 0);\n}\n\nstatic addEventId(builder:flatbuffers.Builder, eventIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, eventIdOffset, 0);\n}\n\nstatic addMintUrl(builder:flatbuffers.Builder, mintUrlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, mintUrlOffset, 0);\n}\n\nstatic addRedeemed(builder:flatbuffers.Builder, redeemed:boolean) {\n builder.addFieldInt8(6, +redeemed, +false);\n}\n\nstatic addProofs(builder:flatbuffers.Builder, proofsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, proofsOffset, 0);\n}\n\nstatic createProofsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startProofsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addComment(builder:flatbuffers.Builder, commentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, commentOffset, 0);\n}\n\nstatic addIsP2pkLocked(builder:flatbuffers.Builder, isP2pkLocked:boolean) {\n builder.addFieldInt8(9, +isP2pkLocked, +false);\n}\n\nstatic addP2pkPubkey(builder:flatbuffers.Builder, p2pkPubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(10, p2pkPubkeyOffset, 0);\n}\n\nstatic endKind9321Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n builder.requiredField(offset, 8) // recipient\n builder.requiredField(offset, 10) // sender\n builder.requiredField(offset, 14) // mint_url\n builder.requiredField(offset, 18) // proofs\n return offset;\n}\n\nstatic createKind9321Parsed(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, amount:number, recipientOffset:flatbuffers.Offset, senderOffset:flatbuffers.Offset, eventIdOffset:flatbuffers.Offset, mintUrlOffset:flatbuffers.Offset, redeemed:boolean, proofsOffset:flatbuffers.Offset, commentOffset:flatbuffers.Offset, isP2pkLocked:boolean, p2pkPubkeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n Kind9321Parsed.startKind9321Parsed(builder);\n Kind9321Parsed.addId(builder, idOffset);\n Kind9321Parsed.addAmount(builder, amount);\n Kind9321Parsed.addRecipient(builder, recipientOffset);\n Kind9321Parsed.addSender(builder, senderOffset);\n Kind9321Parsed.addEventId(builder, eventIdOffset);\n Kind9321Parsed.addMintUrl(builder, mintUrlOffset);\n Kind9321Parsed.addRedeemed(builder, redeemed);\n Kind9321Parsed.addProofs(builder, proofsOffset);\n Kind9321Parsed.addComment(builder, commentOffset);\n Kind9321Parsed.addIsP2pkLocked(builder, isP2pkLocked);\n Kind9321Parsed.addP2pkPubkey(builder, p2pkPubkeyOffset);\n return Kind9321Parsed.endKind9321Parsed(builder);\n}\n\nunpack(): Kind9321ParsedT {\n return new Kind9321ParsedT(\n this.id(),\n this.amount(),\n this.recipient(),\n this.sender(),\n this.eventId(),\n this.mintUrl(),\n this.redeemed(),\n this.bb!.createObjList<Proof, ProofT>(this.proofs.bind(this), this.proofsLength()),\n this.comment(),\n this.isP2pkLocked(),\n this.p2pkPubkey()\n );\n}\n\n\nunpackTo(_o: Kind9321ParsedT): void {\n _o.id = this.id();\n _o.amount = this.amount();\n _o.recipient = this.recipient();\n _o.sender = this.sender();\n _o.eventId = this.eventId();\n _o.mintUrl = this.mintUrl();\n _o.redeemed = this.redeemed();\n _o.proofs = this.bb!.createObjList<Proof, ProofT>(this.proofs.bind(this), this.proofsLength());\n _o.comment = this.comment();\n _o.isP2pkLocked = this.isP2pkLocked();\n _o.p2pkPubkey = this.p2pkPubkey();\n}\n}\n\nexport class Kind9321ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public amount: number = 0,\n public recipient: ByteString|Uint8Array|null = null,\n public sender: ByteString|Uint8Array|null = null,\n public eventId: ByteString|Uint8Array|null = null,\n public mintUrl: ByteString|Uint8Array|null = null,\n public redeemed: boolean = false,\n public proofs: (ProofT)[] = [],\n public comment: ByteString|Uint8Array|null = null,\n public isP2pkLocked: boolean = false,\n public p2pkPubkey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const recipient = (this.recipient !== null ? builder.createString(this.recipient!) : 0);\n const sender = (this.sender !== null ? builder.createString(this.sender!) : 0);\n const eventId = (this.eventId !== null ? builder.createString(this.eventId!) : 0);\n const mintUrl = (this.mintUrl !== null ? builder.createString(this.mintUrl!) : 0);\n const proofs = Kind9321Parsed.createProofsVector(builder, builder.createObjectOffsetList(this.proofs));\n const comment = (this.comment !== null ? builder.createString(this.comment!) : 0);\n const p2pkPubkey = (this.p2pkPubkey !== null ? builder.createString(this.p2pkPubkey!) : 0);\n\n return Kind9321Parsed.createKind9321Parsed(builder,\n id,\n this.amount,\n recipient,\n sender,\n eventId,\n mintUrl,\n this.redeemed,\n proofs,\n comment,\n this.isP2pkLocked,\n p2pkPubkey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { StringVec, StringVecT } from '../../nostr/fb/string-vec.js';\n\n\nexport class ZapRequest implements flatbuffers.IUnpackableObject<ZapRequestT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ZapRequest {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsZapRequest(bb:flatbuffers.ByteBuffer, obj?:ZapRequest):ZapRequest {\n return (obj || new ZapRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsZapRequest(bb:flatbuffers.ByteBuffer, obj?:ZapRequest):ZapRequest {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ZapRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntags(index: number, obj?:StringVec):StringVec|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new StringVec()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nsignature(): ByteString|null\nsignature(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsignature(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startZapRequest(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, contentOffset, 0);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addSignature(builder:flatbuffers.Builder, signatureOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, signatureOffset, 0);\n}\n\nstatic endZapRequest(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // pubkey\n builder.requiredField(offset, 8) // content\n builder.requiredField(offset, 10) // tags\n return offset;\n}\n\nstatic createZapRequest(builder:flatbuffers.Builder, kind:number, pubkeyOffset:flatbuffers.Offset, contentOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset, signatureOffset:flatbuffers.Offset):flatbuffers.Offset {\n ZapRequest.startZapRequest(builder);\n ZapRequest.addKind(builder, kind);\n ZapRequest.addPubkey(builder, pubkeyOffset);\n ZapRequest.addContent(builder, contentOffset);\n ZapRequest.addTags(builder, tagsOffset);\n ZapRequest.addSignature(builder, signatureOffset);\n return ZapRequest.endZapRequest(builder);\n}\n\nunpack(): ZapRequestT {\n return new ZapRequestT(\n this.kind(),\n this.pubkey(),\n this.content(),\n this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength()),\n this.signature()\n );\n}\n\n\nunpackTo(_o: ZapRequestT): void {\n _o.kind = this.kind();\n _o.pubkey = this.pubkey();\n _o.content = this.content();\n _o.tags = this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength());\n _o.signature = this.signature();\n}\n}\n\nexport class ZapRequestT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public pubkey: ByteString|Uint8Array|null = null,\n public content: ByteString|Uint8Array|null = null,\n public tags: (StringVecT)[] = [],\n public signature: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const tags = ZapRequest.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n const signature = (this.signature !== null ? builder.createString(this.signature!) : 0);\n\n return ZapRequest.createZapRequest(builder,\n this.kind,\n pubkey,\n content,\n tags,\n signature\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { ZapRequest, ZapRequestT } from '../../nostr/fb/zap-request.js';\n\n\nexport class Kind9735Parsed implements flatbuffers.IUnpackableObject<Kind9735ParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Kind9735Parsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKind9735Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind9735Parsed):Kind9735Parsed {\n return (obj || new Kind9735Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKind9735Parsed(bb:flatbuffers.ByteBuffer, obj?:Kind9735Parsed):Kind9735Parsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Kind9735Parsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\namount():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nbolt11(): ByteString|null\nbolt11(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nbolt11(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npreimage(): ByteString|null\npreimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npreimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nsender(): ByteString|null\nsender(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsender(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrecipient(): ByteString|null\nrecipient(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrecipient(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nevent(): ByteString|null\nevent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nevent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\neventCoordinate(): ByteString|null\neventCoordinate(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\neventCoordinate(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntimestamp():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nvalid():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 24);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\ndescription(obj?:ZapRequest):ZapRequest|null {\n const offset = this.bb!.__offset(this.bb_pos, 26);\n return offset ? (obj || new ZapRequest()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startKind9735Parsed(builder:flatbuffers.Builder) {\n builder.startObject(12);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addAmount(builder:flatbuffers.Builder, amount:number) {\n builder.addFieldInt32(1, amount, 0);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, contentOffset, 0);\n}\n\nstatic addBolt11(builder:flatbuffers.Builder, bolt11Offset:flatbuffers.Offset) {\n builder.addFieldOffset(3, bolt11Offset, 0);\n}\n\nstatic addPreimage(builder:flatbuffers.Builder, preimageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, preimageOffset, 0);\n}\n\nstatic addSender(builder:flatbuffers.Builder, senderOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, senderOffset, 0);\n}\n\nstatic addRecipient(builder:flatbuffers.Builder, recipientOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, recipientOffset, 0);\n}\n\nstatic addEvent(builder:flatbuffers.Builder, eventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, eventOffset, 0);\n}\n\nstatic addEventCoordinate(builder:flatbuffers.Builder, eventCoordinateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, eventCoordinateOffset, 0);\n}\n\nstatic addTimestamp(builder:flatbuffers.Builder, timestamp:bigint) {\n builder.addFieldInt64(9, timestamp, BigInt('0'));\n}\n\nstatic addValid(builder:flatbuffers.Builder, valid:boolean) {\n builder.addFieldInt8(10, +valid, +false);\n}\n\nstatic addDescription(builder:flatbuffers.Builder, descriptionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(11, descriptionOffset, 0);\n}\n\nstatic endKind9735Parsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n builder.requiredField(offset, 8) // content\n builder.requiredField(offset, 10) // bolt11\n builder.requiredField(offset, 14) // sender\n builder.requiredField(offset, 16) // recipient\n builder.requiredField(offset, 26) // description\n return offset;\n}\n\n\nunpack(): Kind9735ParsedT {\n return new Kind9735ParsedT(\n this.id(),\n this.amount(),\n this.content(),\n this.bolt11(),\n this.preimage(),\n this.sender(),\n this.recipient(),\n this.event(),\n this.eventCoordinate(),\n this.timestamp(),\n this.valid(),\n (this.description() !== null ? this.description()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: Kind9735ParsedT): void {\n _o.id = this.id();\n _o.amount = this.amount();\n _o.content = this.content();\n _o.bolt11 = this.bolt11();\n _o.preimage = this.preimage();\n _o.sender = this.sender();\n _o.recipient = this.recipient();\n _o.event = this.event();\n _o.eventCoordinate = this.eventCoordinate();\n _o.timestamp = this.timestamp();\n _o.valid = this.valid();\n _o.description = (this.description() !== null ? this.description()!.unpack() : null);\n}\n}\n\nexport class Kind9735ParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public amount: number = 0,\n public content: ByteString|Uint8Array|null = null,\n public bolt11: ByteString|Uint8Array|null = null,\n public preimage: ByteString|Uint8Array|null = null,\n public sender: ByteString|Uint8Array|null = null,\n public recipient: ByteString|Uint8Array|null = null,\n public event: ByteString|Uint8Array|null = null,\n public eventCoordinate: ByteString|Uint8Array|null = null,\n public timestamp: bigint = BigInt('0'),\n public valid: boolean = false,\n public description: ZapRequestT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const bolt11 = (this.bolt11 !== null ? builder.createString(this.bolt11!) : 0);\n const preimage = (this.preimage !== null ? builder.createString(this.preimage!) : 0);\n const sender = (this.sender !== null ? builder.createString(this.sender!) : 0);\n const recipient = (this.recipient !== null ? builder.createString(this.recipient!) : 0);\n const event = (this.event !== null ? builder.createString(this.event!) : 0);\n const eventCoordinate = (this.eventCoordinate !== null ? builder.createString(this.eventCoordinate!) : 0);\n const description = (this.description !== null ? this.description!.pack(builder) : 0);\n\n Kind9735Parsed.startKind9735Parsed(builder);\n Kind9735Parsed.addId(builder, id);\n Kind9735Parsed.addAmount(builder, this.amount);\n Kind9735Parsed.addContent(builder, content);\n Kind9735Parsed.addBolt11(builder, bolt11);\n Kind9735Parsed.addPreimage(builder, preimage);\n Kind9735Parsed.addSender(builder, sender);\n Kind9735Parsed.addRecipient(builder, recipient);\n Kind9735Parsed.addEvent(builder, event);\n Kind9735Parsed.addEventCoordinate(builder, eventCoordinate);\n Kind9735Parsed.addTimestamp(builder, this.timestamp);\n Kind9735Parsed.addValid(builder, this.valid);\n Kind9735Parsed.addDescription(builder, description);\n\n return Kind9735Parsed.endKind9735Parsed(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Coordinate implements flatbuffers.IUnpackableObject<CoordinateT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Coordinate {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCoordinate(bb:flatbuffers.ByteBuffer, obj?:Coordinate):Coordinate {\n return (obj || new Coordinate()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCoordinate(bb:flatbuffers.ByteBuffer, obj?:Coordinate):Coordinate {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Coordinate()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nd(): ByteString|null\nd(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nd(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startCoordinate(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:bigint) {\n builder.addFieldInt64(0, kind, BigInt('0'));\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic addD(builder:flatbuffers.Builder, dOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, dOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endCoordinate(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // pubkey\n builder.requiredField(offset, 8) // d\n return offset;\n}\n\nstatic createCoordinate(builder:flatbuffers.Builder, kind:bigint, pubkeyOffset:flatbuffers.Offset, dOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset):flatbuffers.Offset {\n Coordinate.startCoordinate(builder);\n Coordinate.addKind(builder, kind);\n Coordinate.addPubkey(builder, pubkeyOffset);\n Coordinate.addD(builder, dOffset);\n Coordinate.addRelays(builder, relaysOffset);\n return Coordinate.endCoordinate(builder);\n}\n\nunpack(): CoordinateT {\n return new CoordinateT(\n this.kind(),\n this.pubkey(),\n this.d(),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: CoordinateT): void {\n _o.kind = this.kind();\n _o.pubkey = this.pubkey();\n _o.d = this.d();\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class CoordinateT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: bigint = BigInt('0'),\n public pubkey: ByteString|Uint8Array|null = null,\n public d: ByteString|Uint8Array|null = null,\n public relays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const d = (this.d !== null ? builder.createString(this.d!) : 0);\n const relays = Coordinate.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n return Coordinate.createCoordinate(builder,\n this.kind,\n pubkey,\n d,\n relays\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Coordinate, CoordinateT } from '../../nostr/fb/coordinate.js';\n\n\nexport class ListParsed implements flatbuffers.IUnpackableObject<ListParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ListParsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsListParsed(bb:flatbuffers.ByteBuffer, obj?:ListParsed):ListParsed {\n return (obj || new ListParsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsListParsed(bb:flatbuffers.ByteBuffer, obj?:ListParsed):ListParsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ListParsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nlistKind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nd(): ByteString|null\nd(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nd(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntitle(): ByteString|null\ntitle(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntitle(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndescription(): ByteString|null\ndescription(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndescription(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nimage(): ByteString|null\nimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntopics(index: number): ByteString\ntopics(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\ntopics(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\ntopicsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\npeople(index: number): ByteString\npeople(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\npeople(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\npeopleLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nevents(index: number): ByteString\nevents(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nevents(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\neventsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\naddresses(index: number, obj?:Coordinate):Coordinate|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? (obj || new Coordinate()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\naddressesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startListParsed(builder:flatbuffers.Builder) {\n builder.startObject(9);\n}\n\nstatic addListKind(builder:flatbuffers.Builder, listKind:number) {\n builder.addFieldInt16(0, listKind, 0);\n}\n\nstatic addD(builder:flatbuffers.Builder, dOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, dOffset, 0);\n}\n\nstatic addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, titleOffset, 0);\n}\n\nstatic addDescription(builder:flatbuffers.Builder, descriptionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, descriptionOffset, 0);\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, imageOffset, 0);\n}\n\nstatic addTopics(builder:flatbuffers.Builder, topicsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, topicsOffset, 0);\n}\n\nstatic createTopicsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTopicsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addPeople(builder:flatbuffers.Builder, peopleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, peopleOffset, 0);\n}\n\nstatic createPeopleVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPeopleVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addEvents(builder:flatbuffers.Builder, eventsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, eventsOffset, 0);\n}\n\nstatic createEventsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startEventsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAddresses(builder:flatbuffers.Builder, addressesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, addressesOffset, 0);\n}\n\nstatic createAddressesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startAddressesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endListParsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createListParsed(builder:flatbuffers.Builder, listKind:number, dOffset:flatbuffers.Offset, titleOffset:flatbuffers.Offset, descriptionOffset:flatbuffers.Offset, imageOffset:flatbuffers.Offset, topicsOffset:flatbuffers.Offset, peopleOffset:flatbuffers.Offset, eventsOffset:flatbuffers.Offset, addressesOffset:flatbuffers.Offset):flatbuffers.Offset {\n ListParsed.startListParsed(builder);\n ListParsed.addListKind(builder, listKind);\n ListParsed.addD(builder, dOffset);\n ListParsed.addTitle(builder, titleOffset);\n ListParsed.addDescription(builder, descriptionOffset);\n ListParsed.addImage(builder, imageOffset);\n ListParsed.addTopics(builder, topicsOffset);\n ListParsed.addPeople(builder, peopleOffset);\n ListParsed.addEvents(builder, eventsOffset);\n ListParsed.addAddresses(builder, addressesOffset);\n return ListParsed.endListParsed(builder);\n}\n\nunpack(): ListParsedT {\n return new ListParsedT(\n this.listKind(),\n this.d(),\n this.title(),\n this.description(),\n this.image(),\n this.bb!.createScalarList<string>(this.topics.bind(this), this.topicsLength()),\n this.bb!.createScalarList<string>(this.people.bind(this), this.peopleLength()),\n this.bb!.createScalarList<string>(this.events.bind(this), this.eventsLength()),\n this.bb!.createObjList<Coordinate, CoordinateT>(this.addresses.bind(this), this.addressesLength())\n );\n}\n\n\nunpackTo(_o: ListParsedT): void {\n _o.listKind = this.listKind();\n _o.d = this.d();\n _o.title = this.title();\n _o.description = this.description();\n _o.image = this.image();\n _o.topics = this.bb!.createScalarList<string>(this.topics.bind(this), this.topicsLength());\n _o.people = this.bb!.createScalarList<string>(this.people.bind(this), this.peopleLength());\n _o.events = this.bb!.createScalarList<string>(this.events.bind(this), this.eventsLength());\n _o.addresses = this.bb!.createObjList<Coordinate, CoordinateT>(this.addresses.bind(this), this.addressesLength());\n}\n}\n\nexport class ListParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public listKind: number = 0,\n public d: ByteString|Uint8Array|null = null,\n public title: ByteString|Uint8Array|null = null,\n public description: ByteString|Uint8Array|null = null,\n public image: ByteString|Uint8Array|null = null,\n public topics: (string)[] = [],\n public people: (string)[] = [],\n public events: (string)[] = [],\n public addresses: (CoordinateT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const d = (this.d !== null ? builder.createString(this.d!) : 0);\n const title = (this.title !== null ? builder.createString(this.title!) : 0);\n const description = (this.description !== null ? builder.createString(this.description!) : 0);\n const image = (this.image !== null ? builder.createString(this.image!) : 0);\n const topics = ListParsed.createTopicsVector(builder, builder.createObjectOffsetList(this.topics));\n const people = ListParsed.createPeopleVector(builder, builder.createObjectOffsetList(this.people));\n const events = ListParsed.createEventsVector(builder, builder.createObjectOffsetList(this.events));\n const addresses = ListParsed.createAddressesVector(builder, builder.createObjectOffsetList(this.addresses));\n\n return ListParsed.createListParsed(builder,\n this.listKind,\n d,\n title,\n description,\n image,\n topics,\n people,\n events,\n addresses\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class PreParticipant implements flatbuffers.IUnpackableObject<PreParticipantT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PreParticipant {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPreParticipant(bb:flatbuffers.ByteBuffer, obj?:PreParticipant):PreParticipant {\n return (obj || new PreParticipant()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPreParticipant(bb:flatbuffers.ByteBuffer, obj?:PreParticipant):PreParticipant {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PreParticipant()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelay(): ByteString|null\nrelay(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelay(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrole(): ByteString|null\nrole(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrole(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nproof(): ByteString|null\nproof(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nproof(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startPreParticipant(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeyOffset, 0);\n}\n\nstatic addRelay(builder:flatbuffers.Builder, relayOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relayOffset, 0);\n}\n\nstatic addRole(builder:flatbuffers.Builder, roleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, roleOffset, 0);\n}\n\nstatic addProof(builder:flatbuffers.Builder, proofOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, proofOffset, 0);\n}\n\nstatic endPreParticipant(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // pubkey\n return offset;\n}\n\nstatic createPreParticipant(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset, relayOffset:flatbuffers.Offset, roleOffset:flatbuffers.Offset, proofOffset:flatbuffers.Offset):flatbuffers.Offset {\n PreParticipant.startPreParticipant(builder);\n PreParticipant.addPubkey(builder, pubkeyOffset);\n PreParticipant.addRelay(builder, relayOffset);\n PreParticipant.addRole(builder, roleOffset);\n PreParticipant.addProof(builder, proofOffset);\n return PreParticipant.endPreParticipant(builder);\n}\n\nunpack(): PreParticipantT {\n return new PreParticipantT(\n this.pubkey(),\n this.relay(),\n this.role(),\n this.proof()\n );\n}\n\n\nunpackTo(_o: PreParticipantT): void {\n _o.pubkey = this.pubkey();\n _o.relay = this.relay();\n _o.role = this.role();\n _o.proof = this.proof();\n}\n}\n\nexport class PreParticipantT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkey: ByteString|Uint8Array|null = null,\n public relay: ByteString|Uint8Array|null = null,\n public role: ByteString|Uint8Array|null = null,\n public proof: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const relay = (this.relay !== null ? builder.createString(this.relay!) : 0);\n const role = (this.role !== null ? builder.createString(this.role!) : 0);\n const proof = (this.proof !== null ? builder.createString(this.proof!) : 0);\n\n return PreParticipant.createPreParticipant(builder,\n pubkey,\n relay,\n role,\n proof\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class PreRefEvent implements flatbuffers.IUnpackableObject<PreRefEventT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PreRefEvent {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPreRefEvent(bb:flatbuffers.ByteBuffer, obj?:PreRefEvent):PreRefEvent {\n return (obj || new PreRefEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPreRefEvent(bb:flatbuffers.ByteBuffer, obj?:PreRefEvent):PreRefEvent {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PreRefEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelay(): ByteString|null\nrelay(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelay(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmarker(): ByteString|null\nmarker(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmarker(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startPreRefEvent(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addRelay(builder:flatbuffers.Builder, relayOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, relayOffset, 0);\n}\n\nstatic addMarker(builder:flatbuffers.Builder, markerOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, markerOffset, 0);\n}\n\nstatic endPreRefEvent(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n return offset;\n}\n\nstatic createPreRefEvent(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, relayOffset:flatbuffers.Offset, markerOffset:flatbuffers.Offset):flatbuffers.Offset {\n PreRefEvent.startPreRefEvent(builder);\n PreRefEvent.addId(builder, idOffset);\n PreRefEvent.addRelay(builder, relayOffset);\n PreRefEvent.addMarker(builder, markerOffset);\n return PreRefEvent.endPreRefEvent(builder);\n}\n\nunpack(): PreRefEventT {\n return new PreRefEventT(\n this.id(),\n this.relay(),\n this.marker()\n );\n}\n\n\nunpackTo(_o: PreRefEventT): void {\n _o.id = this.id();\n _o.relay = this.relay();\n _o.marker = this.marker();\n}\n}\n\nexport class PreRefEventT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public relay: ByteString|Uint8Array|null = null,\n public marker: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const relay = (this.relay !== null ? builder.createString(this.relay!) : 0);\n const marker = (this.marker !== null ? builder.createString(this.marker!) : 0);\n\n return PreRefEvent.createPreRefEvent(builder,\n id,\n relay,\n marker\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Coordinate, CoordinateT } from '../../nostr/fb/coordinate.js';\nimport { PreParticipant, PreParticipantT } from '../../nostr/fb/pre-participant.js';\nimport { PreRefEvent, PreRefEventT } from '../../nostr/fb/pre-ref-event.js';\n\n\nexport class PreGenericParsed implements flatbuffers.IUnpackableObject<PreGenericParsedT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PreGenericParsed {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPreGenericParsed(bb:flatbuffers.ByteBuffer, obj?:PreGenericParsed):PreGenericParsed {\n return (obj || new PreGenericParsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPreGenericParsed(bb:flatbuffers.ByteBuffer, obj?:PreGenericParsed):PreGenericParsed {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PreGenericParsed()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nd(): ByteString|null\nd(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nd(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntitle(): ByteString|null\ntitle(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ntitle(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ndescription(): ByteString|null\ndescription(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ndescription(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nimage(): ByteString|null\nimage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nimage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstreaming(): ByteString|null\nstreaming(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nstreaming(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrecording(): ByteString|null\nrecording(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrecording(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nservice(): ByteString|null\nservice(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nservice(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nendpoint(): ByteString|null\nendpoint(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nendpoint(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nroom(): ByteString|null\nroom(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nroom(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatus(): ByteString|null\nstatus(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nstatus(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 24);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstarts():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 26);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nends():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 28);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\ncurrentParticipants():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 30);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\ntotalParticipants():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 32);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\npinned(): ByteString|null\npinned(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npinned(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 34);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntopics(index: number): ByteString\ntopics(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\ntopics(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 36);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\ntopicsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 36);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nlinks(index: number): ByteString\nlinks(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nlinks(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 38);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nlinksLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 38);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 40);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 40);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nparticipants(index: number, obj?:PreParticipant):PreParticipant|null {\n const offset = this.bb!.__offset(this.bb_pos, 42);\n return offset ? (obj || new PreParticipant()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nparticipantsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 42);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nevents(index: number, obj?:PreRefEvent):PreRefEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 44);\n return offset ? (obj || new PreRefEvent()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\neventsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 44);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\naddresses(index: number, obj?:Coordinate):Coordinate|null {\n const offset = this.bb!.__offset(this.bb_pos, 46);\n return offset ? (obj || new Coordinate()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\naddressesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 46);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startPreGenericParsed(builder:flatbuffers.Builder) {\n builder.startObject(22);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addD(builder:flatbuffers.Builder, dOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, dOffset, 0);\n}\n\nstatic addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, titleOffset, 0);\n}\n\nstatic addDescription(builder:flatbuffers.Builder, descriptionOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, descriptionOffset, 0);\n}\n\nstatic addImage(builder:flatbuffers.Builder, imageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, imageOffset, 0);\n}\n\nstatic addStreaming(builder:flatbuffers.Builder, streamingOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, streamingOffset, 0);\n}\n\nstatic addRecording(builder:flatbuffers.Builder, recordingOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, recordingOffset, 0);\n}\n\nstatic addService(builder:flatbuffers.Builder, serviceOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, serviceOffset, 0);\n}\n\nstatic addEndpoint(builder:flatbuffers.Builder, endpointOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, endpointOffset, 0);\n}\n\nstatic addRoom(builder:flatbuffers.Builder, roomOffset:flatbuffers.Offset) {\n builder.addFieldOffset(9, roomOffset, 0);\n}\n\nstatic addStatus(builder:flatbuffers.Builder, statusOffset:flatbuffers.Offset) {\n builder.addFieldOffset(10, statusOffset, 0);\n}\n\nstatic addStarts(builder:flatbuffers.Builder, starts:bigint) {\n builder.addFieldInt64(11, starts, BigInt('0'));\n}\n\nstatic addEnds(builder:flatbuffers.Builder, ends:bigint) {\n builder.addFieldInt64(12, ends, BigInt('0'));\n}\n\nstatic addCurrentParticipants(builder:flatbuffers.Builder, currentParticipants:bigint) {\n builder.addFieldInt64(13, currentParticipants, BigInt('0'));\n}\n\nstatic addTotalParticipants(builder:flatbuffers.Builder, totalParticipants:bigint) {\n builder.addFieldInt64(14, totalParticipants, BigInt('0'));\n}\n\nstatic addPinned(builder:flatbuffers.Builder, pinnedOffset:flatbuffers.Offset) {\n builder.addFieldOffset(15, pinnedOffset, 0);\n}\n\nstatic addTopics(builder:flatbuffers.Builder, topicsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(16, topicsOffset, 0);\n}\n\nstatic createTopicsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTopicsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addLinks(builder:flatbuffers.Builder, linksOffset:flatbuffers.Offset) {\n builder.addFieldOffset(17, linksOffset, 0);\n}\n\nstatic createLinksVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startLinksVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(18, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addParticipants(builder:flatbuffers.Builder, participantsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(19, participantsOffset, 0);\n}\n\nstatic createParticipantsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startParticipantsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addEvents(builder:flatbuffers.Builder, eventsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(20, eventsOffset, 0);\n}\n\nstatic createEventsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startEventsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAddresses(builder:flatbuffers.Builder, addressesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(21, addressesOffset, 0);\n}\n\nstatic createAddressesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startAddressesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endPreGenericParsed(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createPreGenericParsed(builder:flatbuffers.Builder, kind:number, dOffset:flatbuffers.Offset, titleOffset:flatbuffers.Offset, descriptionOffset:flatbuffers.Offset, imageOffset:flatbuffers.Offset, streamingOffset:flatbuffers.Offset, recordingOffset:flatbuffers.Offset, serviceOffset:flatbuffers.Offset, endpointOffset:flatbuffers.Offset, roomOffset:flatbuffers.Offset, statusOffset:flatbuffers.Offset, starts:bigint, ends:bigint, currentParticipants:bigint, totalParticipants:bigint, pinnedOffset:flatbuffers.Offset, topicsOffset:flatbuffers.Offset, linksOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset, participantsOffset:flatbuffers.Offset, eventsOffset:flatbuffers.Offset, addressesOffset:flatbuffers.Offset):flatbuffers.Offset {\n PreGenericParsed.startPreGenericParsed(builder);\n PreGenericParsed.addKind(builder, kind);\n PreGenericParsed.addD(builder, dOffset);\n PreGenericParsed.addTitle(builder, titleOffset);\n PreGenericParsed.addDescription(builder, descriptionOffset);\n PreGenericParsed.addImage(builder, imageOffset);\n PreGenericParsed.addStreaming(builder, streamingOffset);\n PreGenericParsed.addRecording(builder, recordingOffset);\n PreGenericParsed.addService(builder, serviceOffset);\n PreGenericParsed.addEndpoint(builder, endpointOffset);\n PreGenericParsed.addRoom(builder, roomOffset);\n PreGenericParsed.addStatus(builder, statusOffset);\n PreGenericParsed.addStarts(builder, starts);\n PreGenericParsed.addEnds(builder, ends);\n PreGenericParsed.addCurrentParticipants(builder, currentParticipants);\n PreGenericParsed.addTotalParticipants(builder, totalParticipants);\n PreGenericParsed.addPinned(builder, pinnedOffset);\n PreGenericParsed.addTopics(builder, topicsOffset);\n PreGenericParsed.addLinks(builder, linksOffset);\n PreGenericParsed.addRelays(builder, relaysOffset);\n PreGenericParsed.addParticipants(builder, participantsOffset);\n PreGenericParsed.addEvents(builder, eventsOffset);\n PreGenericParsed.addAddresses(builder, addressesOffset);\n return PreGenericParsed.endPreGenericParsed(builder);\n}\n\nunpack(): PreGenericParsedT {\n return new PreGenericParsedT(\n this.kind(),\n this.d(),\n this.title(),\n this.description(),\n this.image(),\n this.streaming(),\n this.recording(),\n this.service(),\n this.endpoint(),\n this.room(),\n this.status(),\n this.starts(),\n this.ends(),\n this.currentParticipants(),\n this.totalParticipants(),\n this.pinned(),\n this.bb!.createScalarList<string>(this.topics.bind(this), this.topicsLength()),\n this.bb!.createScalarList<string>(this.links.bind(this), this.linksLength()),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength()),\n this.bb!.createObjList<PreParticipant, PreParticipantT>(this.participants.bind(this), this.participantsLength()),\n this.bb!.createObjList<PreRefEvent, PreRefEventT>(this.events.bind(this), this.eventsLength()),\n this.bb!.createObjList<Coordinate, CoordinateT>(this.addresses.bind(this), this.addressesLength())\n );\n}\n\n\nunpackTo(_o: PreGenericParsedT): void {\n _o.kind = this.kind();\n _o.d = this.d();\n _o.title = this.title();\n _o.description = this.description();\n _o.image = this.image();\n _o.streaming = this.streaming();\n _o.recording = this.recording();\n _o.service = this.service();\n _o.endpoint = this.endpoint();\n _o.room = this.room();\n _o.status = this.status();\n _o.starts = this.starts();\n _o.ends = this.ends();\n _o.currentParticipants = this.currentParticipants();\n _o.totalParticipants = this.totalParticipants();\n _o.pinned = this.pinned();\n _o.topics = this.bb!.createScalarList<string>(this.topics.bind(this), this.topicsLength());\n _o.links = this.bb!.createScalarList<string>(this.links.bind(this), this.linksLength());\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n _o.participants = this.bb!.createObjList<PreParticipant, PreParticipantT>(this.participants.bind(this), this.participantsLength());\n _o.events = this.bb!.createObjList<PreRefEvent, PreRefEventT>(this.events.bind(this), this.eventsLength());\n _o.addresses = this.bb!.createObjList<Coordinate, CoordinateT>(this.addresses.bind(this), this.addressesLength());\n}\n}\n\nexport class PreGenericParsedT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public d: ByteString|Uint8Array|null = null,\n public title: ByteString|Uint8Array|null = null,\n public description: ByteString|Uint8Array|null = null,\n public image: ByteString|Uint8Array|null = null,\n public streaming: ByteString|Uint8Array|null = null,\n public recording: ByteString|Uint8Array|null = null,\n public service: ByteString|Uint8Array|null = null,\n public endpoint: ByteString|Uint8Array|null = null,\n public room: ByteString|Uint8Array|null = null,\n public status: ByteString|Uint8Array|null = null,\n public starts: bigint = BigInt('0'),\n public ends: bigint = BigInt('0'),\n public currentParticipants: bigint = BigInt('0'),\n public totalParticipants: bigint = BigInt('0'),\n public pinned: ByteString|Uint8Array|null = null,\n public topics: (string)[] = [],\n public links: (string)[] = [],\n public relays: (string)[] = [],\n public participants: (PreParticipantT)[] = [],\n public events: (PreRefEventT)[] = [],\n public addresses: (CoordinateT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const d = (this.d !== null ? builder.createString(this.d!) : 0);\n const title = (this.title !== null ? builder.createString(this.title!) : 0);\n const description = (this.description !== null ? builder.createString(this.description!) : 0);\n const image = (this.image !== null ? builder.createString(this.image!) : 0);\n const streaming = (this.streaming !== null ? builder.createString(this.streaming!) : 0);\n const recording = (this.recording !== null ? builder.createString(this.recording!) : 0);\n const service = (this.service !== null ? builder.createString(this.service!) : 0);\n const endpoint = (this.endpoint !== null ? builder.createString(this.endpoint!) : 0);\n const room = (this.room !== null ? builder.createString(this.room!) : 0);\n const status = (this.status !== null ? builder.createString(this.status!) : 0);\n const pinned = (this.pinned !== null ? builder.createString(this.pinned!) : 0);\n const topics = PreGenericParsed.createTopicsVector(builder, builder.createObjectOffsetList(this.topics));\n const links = PreGenericParsed.createLinksVector(builder, builder.createObjectOffsetList(this.links));\n const relays = PreGenericParsed.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n const participants = PreGenericParsed.createParticipantsVector(builder, builder.createObjectOffsetList(this.participants));\n const events = PreGenericParsed.createEventsVector(builder, builder.createObjectOffsetList(this.events));\n const addresses = PreGenericParsed.createAddressesVector(builder, builder.createObjectOffsetList(this.addresses));\n\n return PreGenericParsed.createPreGenericParsed(builder,\n this.kind,\n d,\n title,\n description,\n image,\n streaming,\n recording,\n service,\n endpoint,\n room,\n status,\n this.starts,\n this.ends,\n this.currentParticipants,\n this.totalParticipants,\n pinned,\n topics,\n links,\n relays,\n participants,\n events,\n addresses\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { Kind0Parsed, Kind0ParsedT } from '../../nostr/fb/kind0-parsed.js';\nimport { Kind10002Parsed, Kind10002ParsedT } from '../../nostr/fb/kind10002-parsed.js';\nimport { Kind10019Parsed, Kind10019ParsedT } from '../../nostr/fb/kind10019-parsed.js';\nimport { Kind1111Parsed, Kind1111ParsedT } from '../../nostr/fb/kind1111-parsed.js';\nimport { Kind1311Parsed, Kind1311ParsedT } from '../../nostr/fb/kind1311-parsed.js';\nimport { Kind17375Parsed, Kind17375ParsedT } from '../../nostr/fb/kind17375-parsed.js';\nimport { Kind17Parsed, Kind17ParsedT } from '../../nostr/fb/kind17-parsed.js';\nimport { Kind1Parsed, Kind1ParsedT } from '../../nostr/fb/kind1-parsed.js';\nimport { Kind20Parsed, Kind20ParsedT } from '../../nostr/fb/kind20-parsed.js';\nimport { Kind22Parsed, Kind22ParsedT } from '../../nostr/fb/kind22-parsed.js';\nimport { Kind30023Parsed, Kind30023ParsedT } from '../../nostr/fb/kind30023-parsed.js';\nimport { Kind3Parsed, Kind3ParsedT } from '../../nostr/fb/kind3-parsed.js';\nimport { Kind4Parsed, Kind4ParsedT } from '../../nostr/fb/kind4-parsed.js';\nimport { Kind6Parsed, Kind6ParsedT } from '../../nostr/fb/kind6-parsed.js';\nimport { Kind7374Parsed, Kind7374ParsedT } from '../../nostr/fb/kind7374-parsed.js';\nimport { Kind7375Parsed, Kind7375ParsedT } from '../../nostr/fb/kind7375-parsed.js';\nimport { Kind7376Parsed, Kind7376ParsedT } from '../../nostr/fb/kind7376-parsed.js';\nimport { Kind7Parsed, Kind7ParsedT } from '../../nostr/fb/kind7-parsed.js';\nimport { Kind9321Parsed, Kind9321ParsedT } from '../../nostr/fb/kind9321-parsed.js';\nimport { Kind9735Parsed, Kind9735ParsedT } from '../../nostr/fb/kind9735-parsed.js';\nimport { ListParsed, ListParsedT } from '../../nostr/fb/list-parsed.js';\nimport { PreGenericParsed, PreGenericParsedT } from '../../nostr/fb/pre-generic-parsed.js';\n\n\nexport enum ParsedData {\n NONE = 0,\n Kind0Parsed = 1,\n Kind1Parsed = 2,\n Kind3Parsed = 3,\n Kind4Parsed = 4,\n Kind6Parsed = 5,\n Kind7Parsed = 6,\n Kind17Parsed = 7,\n Kind20Parsed = 8,\n Kind22Parsed = 9,\n Kind1111Parsed = 10,\n Kind1311Parsed = 11,\n Kind10002Parsed = 12,\n Kind10019Parsed = 13,\n Kind17375Parsed = 14,\n Kind7374Parsed = 15,\n Kind7375Parsed = 16,\n Kind7376Parsed = 17,\n Kind9321Parsed = 18,\n Kind9735Parsed = 19,\n Kind30023Parsed = 20,\n ListParsed = 21,\n PreGenericParsed = 22\n}\n\nexport function unionToParsedData(\n type: ParsedData,\n accessor: (obj:Kind0Parsed|Kind10002Parsed|Kind10019Parsed|Kind1111Parsed|Kind1311Parsed|Kind17375Parsed|Kind17Parsed|Kind1Parsed|Kind20Parsed|Kind22Parsed|Kind30023Parsed|Kind3Parsed|Kind4Parsed|Kind6Parsed|Kind7374Parsed|Kind7375Parsed|Kind7376Parsed|Kind7Parsed|Kind9321Parsed|Kind9735Parsed|ListParsed|PreGenericParsed) => Kind0Parsed|Kind10002Parsed|Kind10019Parsed|Kind1111Parsed|Kind1311Parsed|Kind17375Parsed|Kind17Parsed|Kind1Parsed|Kind20Parsed|Kind22Parsed|Kind30023Parsed|Kind3Parsed|Kind4Parsed|Kind6Parsed|Kind7374Parsed|Kind7375Parsed|Kind7376Parsed|Kind7Parsed|Kind9321Parsed|Kind9735Parsed|ListParsed|PreGenericParsed|null\n): Kind0Parsed|Kind10002Parsed|Kind10019Parsed|Kind1111Parsed|Kind1311Parsed|Kind17375Parsed|Kind17Parsed|Kind1Parsed|Kind20Parsed|Kind22Parsed|Kind30023Parsed|Kind3Parsed|Kind4Parsed|Kind6Parsed|Kind7374Parsed|Kind7375Parsed|Kind7376Parsed|Kind7Parsed|Kind9321Parsed|Kind9735Parsed|ListParsed|PreGenericParsed|null {\n switch(ParsedData[type]) {\n case 'NONE': return null; \n case 'Kind0Parsed': return accessor(new Kind0Parsed())! as Kind0Parsed;\n case 'Kind1Parsed': return accessor(new Kind1Parsed())! as Kind1Parsed;\n case 'Kind3Parsed': return accessor(new Kind3Parsed())! as Kind3Parsed;\n case 'Kind4Parsed': return accessor(new Kind4Parsed())! as Kind4Parsed;\n case 'Kind6Parsed': return accessor(new Kind6Parsed())! as Kind6Parsed;\n case 'Kind7Parsed': return accessor(new Kind7Parsed())! as Kind7Parsed;\n case 'Kind17Parsed': return accessor(new Kind17Parsed())! as Kind17Parsed;\n case 'Kind20Parsed': return accessor(new Kind20Parsed())! as Kind20Parsed;\n case 'Kind22Parsed': return accessor(new Kind22Parsed())! as Kind22Parsed;\n case 'Kind1111Parsed': return accessor(new Kind1111Parsed())! as Kind1111Parsed;\n case 'Kind1311Parsed': return accessor(new Kind1311Parsed())! as Kind1311Parsed;\n case 'Kind10002Parsed': return accessor(new Kind10002Parsed())! as Kind10002Parsed;\n case 'Kind10019Parsed': return accessor(new Kind10019Parsed())! as Kind10019Parsed;\n case 'Kind17375Parsed': return accessor(new Kind17375Parsed())! as Kind17375Parsed;\n case 'Kind7374Parsed': return accessor(new Kind7374Parsed())! as Kind7374Parsed;\n case 'Kind7375Parsed': return accessor(new Kind7375Parsed())! as Kind7375Parsed;\n case 'Kind7376Parsed': return accessor(new Kind7376Parsed())! as Kind7376Parsed;\n case 'Kind9321Parsed': return accessor(new Kind9321Parsed())! as Kind9321Parsed;\n case 'Kind9735Parsed': return accessor(new Kind9735Parsed())! as Kind9735Parsed;\n case 'Kind30023Parsed': return accessor(new Kind30023Parsed())! as Kind30023Parsed;\n case 'ListParsed': return accessor(new ListParsed())! as ListParsed;\n case 'PreGenericParsed': return accessor(new PreGenericParsed())! as PreGenericParsed;\n default: return null;\n }\n}\n\nexport function unionListToParsedData(\n type: ParsedData, \n accessor: (index: number, obj:Kind0Parsed|Kind10002Parsed|Kind10019Parsed|Kind1111Parsed|Kind1311Parsed|Kind17375Parsed|Kind17Parsed|Kind1Parsed|Kind20Parsed|Kind22Parsed|Kind30023Parsed|Kind3Parsed|Kind4Parsed|Kind6Parsed|Kind7374Parsed|Kind7375Parsed|Kind7376Parsed|Kind7Parsed|Kind9321Parsed|Kind9735Parsed|ListParsed|PreGenericParsed) => Kind0Parsed|Kind10002Parsed|Kind10019Parsed|Kind1111Parsed|Kind1311Parsed|Kind17375Parsed|Kind17Parsed|Kind1Parsed|Kind20Parsed|Kind22Parsed|Kind30023Parsed|Kind3Parsed|Kind4Parsed|Kind6Parsed|Kind7374Parsed|Kind7375Parsed|Kind7376Parsed|Kind7Parsed|Kind9321Parsed|Kind9735Parsed|ListParsed|PreGenericParsed|null, \n index: number\n): Kind0Parsed|Kind10002Parsed|Kind10019Parsed|Kind1111Parsed|Kind1311Parsed|Kind17375Parsed|Kind17Parsed|Kind1Parsed|Kind20Parsed|Kind22Parsed|Kind30023Parsed|Kind3Parsed|Kind4Parsed|Kind6Parsed|Kind7374Parsed|Kind7375Parsed|Kind7376Parsed|Kind7Parsed|Kind9321Parsed|Kind9735Parsed|ListParsed|PreGenericParsed|null {\n switch(ParsedData[type]) {\n case 'NONE': return null; \n case 'Kind0Parsed': return accessor(index, new Kind0Parsed())! as Kind0Parsed;\n case 'Kind1Parsed': return accessor(index, new Kind1Parsed())! as Kind1Parsed;\n case 'Kind3Parsed': return accessor(index, new Kind3Parsed())! as Kind3Parsed;\n case 'Kind4Parsed': return accessor(index, new Kind4Parsed())! as Kind4Parsed;\n case 'Kind6Parsed': return accessor(index, new Kind6Parsed())! as Kind6Parsed;\n case 'Kind7Parsed': return accessor(index, new Kind7Parsed())! as Kind7Parsed;\n case 'Kind17Parsed': return accessor(index, new Kind17Parsed())! as Kind17Parsed;\n case 'Kind20Parsed': return accessor(index, new Kind20Parsed())! as Kind20Parsed;\n case 'Kind22Parsed': return accessor(index, new Kind22Parsed())! as Kind22Parsed;\n case 'Kind1111Parsed': return accessor(index, new Kind1111Parsed())! as Kind1111Parsed;\n case 'Kind1311Parsed': return accessor(index, new Kind1311Parsed())! as Kind1311Parsed;\n case 'Kind10002Parsed': return accessor(index, new Kind10002Parsed())! as Kind10002Parsed;\n case 'Kind10019Parsed': return accessor(index, new Kind10019Parsed())! as Kind10019Parsed;\n case 'Kind17375Parsed': return accessor(index, new Kind17375Parsed())! as Kind17375Parsed;\n case 'Kind7374Parsed': return accessor(index, new Kind7374Parsed())! as Kind7374Parsed;\n case 'Kind7375Parsed': return accessor(index, new Kind7375Parsed())! as Kind7375Parsed;\n case 'Kind7376Parsed': return accessor(index, new Kind7376Parsed())! as Kind7376Parsed;\n case 'Kind9321Parsed': return accessor(index, new Kind9321Parsed())! as Kind9321Parsed;\n case 'Kind9735Parsed': return accessor(index, new Kind9735Parsed())! as Kind9735Parsed;\n case 'Kind30023Parsed': return accessor(index, new Kind30023Parsed())! as Kind30023Parsed;\n case 'ListParsed': return accessor(index, new ListParsed())! as ListParsed;\n case 'PreGenericParsed': return accessor(index, new PreGenericParsed())! as PreGenericParsed;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { StringVec, StringVecT } from '../../nostr/fb/string-vec.js';\n\n\nexport class Request implements flatbuffers.IUnpackableObject<RequestT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Request {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsRequest(bb:flatbuffers.ByteBuffer, obj?:Request):Request {\n return (obj || new Request()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsRequest(bb:flatbuffers.ByteBuffer, obj?:Request):Request {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Request()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nids(index: number): ByteString\nids(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nids(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nidsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nauthors(index: number): ByteString\nauthors(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nauthors(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nauthorsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nkinds(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint16(this.bb!.__vector(this.bb_pos + offset) + index * 2) : 0;\n}\n\nkindsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nkindsArray():Uint16Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? new Uint16Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\ntags(index: number, obj?:StringVec):StringVec|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new StringVec()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nlimit():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nsince():number {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nuntil():number {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\nsearch(): ByteString|null\nsearch(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsearch(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ncloseOnEose():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\ncacheFirst():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 24);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nnoCache():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 26);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nmaxRelays():number {\n const offset = this.bb!.__offset(this.bb_pos, 28);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nstatic startRequest(builder:flatbuffers.Builder) {\n builder.startObject(13);\n}\n\nstatic addIds(builder:flatbuffers.Builder, idsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idsOffset, 0);\n}\n\nstatic createIdsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startIdsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addAuthors(builder:flatbuffers.Builder, authorsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, authorsOffset, 0);\n}\n\nstatic createAuthorsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startAuthorsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addKinds(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, kindsOffset, 0);\n}\n\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array):flatbuffers.Offset;\n/**\n * @deprecated This Uint8Array overload will be removed in the future.\n */\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array|Uint8Array):flatbuffers.Offset {\n builder.startVector(2, data.length, 2);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt16(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startKindsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(2, numElems, 2);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addLimit(builder:flatbuffers.Builder, limit:number) {\n builder.addFieldInt32(4, limit, 0);\n}\n\nstatic addSince(builder:flatbuffers.Builder, since:number) {\n builder.addFieldInt32(5, since, 0);\n}\n\nstatic addUntil(builder:flatbuffers.Builder, until:number) {\n builder.addFieldInt32(6, until, 0);\n}\n\nstatic addSearch(builder:flatbuffers.Builder, searchOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, searchOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addCloseOnEose(builder:flatbuffers.Builder, closeOnEose:boolean) {\n builder.addFieldInt8(9, +closeOnEose, +false);\n}\n\nstatic addCacheFirst(builder:flatbuffers.Builder, cacheFirst:boolean) {\n builder.addFieldInt8(10, +cacheFirst, +false);\n}\n\nstatic addNoCache(builder:flatbuffers.Builder, noCache:boolean) {\n builder.addFieldInt8(11, +noCache, +false);\n}\n\nstatic addMaxRelays(builder:flatbuffers.Builder, maxRelays:number) {\n builder.addFieldInt16(12, maxRelays, 0);\n}\n\nstatic endRequest(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createRequest(builder:flatbuffers.Builder, idsOffset:flatbuffers.Offset, authorsOffset:flatbuffers.Offset, kindsOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset, limit:number, since:number, until:number, searchOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset, closeOnEose:boolean, cacheFirst:boolean, noCache:boolean, maxRelays:number):flatbuffers.Offset {\n Request.startRequest(builder);\n Request.addIds(builder, idsOffset);\n Request.addAuthors(builder, authorsOffset);\n Request.addKinds(builder, kindsOffset);\n Request.addTags(builder, tagsOffset);\n Request.addLimit(builder, limit);\n Request.addSince(builder, since);\n Request.addUntil(builder, until);\n Request.addSearch(builder, searchOffset);\n Request.addRelays(builder, relaysOffset);\n Request.addCloseOnEose(builder, closeOnEose);\n Request.addCacheFirst(builder, cacheFirst);\n Request.addNoCache(builder, noCache);\n Request.addMaxRelays(builder, maxRelays);\n return Request.endRequest(builder);\n}\n\nunpack(): RequestT {\n return new RequestT(\n this.bb!.createScalarList<string>(this.ids.bind(this), this.idsLength()),\n this.bb!.createScalarList<string>(this.authors.bind(this), this.authorsLength()),\n this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength()),\n this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength()),\n this.limit(),\n this.since(),\n this.until(),\n this.search(),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength()),\n this.closeOnEose(),\n this.cacheFirst(),\n this.noCache(),\n this.maxRelays()\n );\n}\n\n\nunpackTo(_o: RequestT): void {\n _o.ids = this.bb!.createScalarList<string>(this.ids.bind(this), this.idsLength());\n _o.authors = this.bb!.createScalarList<string>(this.authors.bind(this), this.authorsLength());\n _o.kinds = this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength());\n _o.tags = this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength());\n _o.limit = this.limit();\n _o.since = this.since();\n _o.until = this.until();\n _o.search = this.search();\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n _o.closeOnEose = this.closeOnEose();\n _o.cacheFirst = this.cacheFirst();\n _o.noCache = this.noCache();\n _o.maxRelays = this.maxRelays();\n}\n}\n\nexport class RequestT implements flatbuffers.IGeneratedObject {\nconstructor(\n public ids: (string)[] = [],\n public authors: (string)[] = [],\n public kinds: (number)[] = [],\n public tags: (StringVecT)[] = [],\n public limit: number = 0,\n public since: number = 0,\n public until: number = 0,\n public search: ByteString|Uint8Array|null = null,\n public relays: (string)[] = [],\n public closeOnEose: boolean = false,\n public cacheFirst: boolean = false,\n public noCache: boolean = false,\n public maxRelays: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const ids = Request.createIdsVector(builder, builder.createObjectOffsetList(this.ids));\n const authors = Request.createAuthorsVector(builder, builder.createObjectOffsetList(this.authors));\n const kinds = Request.createKindsVector(builder, this.kinds);\n const tags = Request.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n const search = (this.search !== null ? builder.createString(this.search!) : 0);\n const relays = Request.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n return Request.createRequest(builder,\n ids,\n authors,\n kinds,\n tags,\n this.limit,\n this.since,\n this.until,\n search,\n relays,\n this.closeOnEose,\n this.cacheFirst,\n this.noCache,\n this.maxRelays\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Kind0Parsed, Kind0ParsedT } from '../../nostr/fb/kind0-parsed.js';\nimport { Kind10002Parsed, Kind10002ParsedT } from '../../nostr/fb/kind10002-parsed.js';\nimport { Kind10019Parsed, Kind10019ParsedT } from '../../nostr/fb/kind10019-parsed.js';\nimport { Kind1111Parsed, Kind1111ParsedT } from '../../nostr/fb/kind1111-parsed.js';\nimport { Kind1311Parsed, Kind1311ParsedT } from '../../nostr/fb/kind1311-parsed.js';\nimport { Kind17375Parsed, Kind17375ParsedT } from '../../nostr/fb/kind17375-parsed.js';\nimport { Kind17Parsed, Kind17ParsedT } from '../../nostr/fb/kind17-parsed.js';\nimport { Kind1Parsed, Kind1ParsedT } from '../../nostr/fb/kind1-parsed.js';\nimport { Kind20Parsed, Kind20ParsedT } from '../../nostr/fb/kind20-parsed.js';\nimport { Kind22Parsed, Kind22ParsedT } from '../../nostr/fb/kind22-parsed.js';\nimport { Kind30023Parsed, Kind30023ParsedT } from '../../nostr/fb/kind30023-parsed.js';\nimport { Kind3Parsed, Kind3ParsedT } from '../../nostr/fb/kind3-parsed.js';\nimport { Kind4Parsed, Kind4ParsedT } from '../../nostr/fb/kind4-parsed.js';\nimport { Kind6Parsed, Kind6ParsedT } from '../../nostr/fb/kind6-parsed.js';\nimport { Kind7374Parsed, Kind7374ParsedT } from '../../nostr/fb/kind7374-parsed.js';\nimport { Kind7375Parsed, Kind7375ParsedT } from '../../nostr/fb/kind7375-parsed.js';\nimport { Kind7376Parsed, Kind7376ParsedT } from '../../nostr/fb/kind7376-parsed.js';\nimport { Kind7Parsed, Kind7ParsedT } from '../../nostr/fb/kind7-parsed.js';\nimport { Kind9321Parsed, Kind9321ParsedT } from '../../nostr/fb/kind9321-parsed.js';\nimport { Kind9735Parsed, Kind9735ParsedT } from '../../nostr/fb/kind9735-parsed.js';\nimport { ListParsed, ListParsedT } from '../../nostr/fb/list-parsed.js';\nimport { ParsedData, unionToParsedData, unionListToParsedData } from '../../nostr/fb/parsed-data.js';\nimport { PreGenericParsed, PreGenericParsedT } from '../../nostr/fb/pre-generic-parsed.js';\nimport { Request, RequestT } from '../../nostr/fb/request.js';\nimport { StringVec, StringVecT } from '../../nostr/fb/string-vec.js';\n\n\nexport class ParsedEvent implements flatbuffers.IUnpackableObject<ParsedEventT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ParsedEvent {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsParsedEvent(bb:flatbuffers.ByteBuffer, obj?:ParsedEvent):ParsedEvent {\n return (obj || new ParsedEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsParsedEvent(bb:flatbuffers.ByteBuffer, obj?:ParsedEvent):ParsedEvent {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ParsedEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nid(): ByteString|null\nid(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nid(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\ncreatedAt():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nparsedType():ParsedData {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : ParsedData.NONE;\n}\n\nparsed<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nrequests(index: number, obj?:Request):Request|null {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? (obj || new Request()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nrequestsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\ntags(index: number, obj?:StringVec):StringVec|null {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? (obj || new StringVec()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startParsedEvent(builder:flatbuffers.Builder) {\n builder.startObject(9);\n}\n\nstatic addId(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, idOffset, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(2, kind, 0);\n}\n\nstatic addCreatedAt(builder:flatbuffers.Builder, createdAt:number) {\n builder.addFieldInt32(3, createdAt, 0);\n}\n\nstatic addParsedType(builder:flatbuffers.Builder, parsedType:ParsedData) {\n builder.addFieldInt8(4, parsedType, ParsedData.NONE);\n}\n\nstatic addParsed(builder:flatbuffers.Builder, parsedOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, parsedOffset, 0);\n}\n\nstatic addRequests(builder:flatbuffers.Builder, requestsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(6, requestsOffset, 0);\n}\n\nstatic createRequestsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRequestsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(7, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(8, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endParsedEvent(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // id\n builder.requiredField(offset, 6) // pubkey\n builder.requiredField(offset, 20) // tags\n return offset;\n}\n\nstatic createParsedEvent(builder:flatbuffers.Builder, idOffset:flatbuffers.Offset, pubkeyOffset:flatbuffers.Offset, kind:number, createdAt:number, parsedType:ParsedData, parsedOffset:flatbuffers.Offset, requestsOffset:flatbuffers.Offset, relaysOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset):flatbuffers.Offset {\n ParsedEvent.startParsedEvent(builder);\n ParsedEvent.addId(builder, idOffset);\n ParsedEvent.addPubkey(builder, pubkeyOffset);\n ParsedEvent.addKind(builder, kind);\n ParsedEvent.addCreatedAt(builder, createdAt);\n ParsedEvent.addParsedType(builder, parsedType);\n ParsedEvent.addParsed(builder, parsedOffset);\n ParsedEvent.addRequests(builder, requestsOffset);\n ParsedEvent.addRelays(builder, relaysOffset);\n ParsedEvent.addTags(builder, tagsOffset);\n return ParsedEvent.endParsedEvent(builder);\n}\n\nunpack(): ParsedEventT {\n return new ParsedEventT(\n this.id(),\n this.pubkey(),\n this.kind(),\n this.createdAt(),\n this.parsedType(),\n (() => {\n const temp = unionToParsedData(this.parsedType(), this.parsed.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })(),\n this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength()),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength()),\n this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength())\n );\n}\n\n\nunpackTo(_o: ParsedEventT): void {\n _o.id = this.id();\n _o.pubkey = this.pubkey();\n _o.kind = this.kind();\n _o.createdAt = this.createdAt();\n _o.parsedType = this.parsedType();\n _o.parsed = (() => {\n const temp = unionToParsedData(this.parsedType(), this.parsed.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n _o.requests = this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength());\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n _o.tags = this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength());\n}\n}\n\nexport class ParsedEventT implements flatbuffers.IGeneratedObject {\nconstructor(\n public id: ByteString|Uint8Array|null = null,\n public pubkey: ByteString|Uint8Array|null = null,\n public kind: number = 0,\n public createdAt: number = 0,\n public parsedType: ParsedData = ParsedData.NONE,\n public parsed: Kind0ParsedT|Kind10002ParsedT|Kind10019ParsedT|Kind1111ParsedT|Kind1311ParsedT|Kind17375ParsedT|Kind17ParsedT|Kind1ParsedT|Kind20ParsedT|Kind22ParsedT|Kind30023ParsedT|Kind3ParsedT|Kind4ParsedT|Kind6ParsedT|Kind7374ParsedT|Kind7375ParsedT|Kind7376ParsedT|Kind7ParsedT|Kind9321ParsedT|Kind9735ParsedT|ListParsedT|PreGenericParsedT|null = null,\n public requests: (RequestT)[] = [],\n public relays: (string)[] = [],\n public tags: (StringVecT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const id = (this.id !== null ? builder.createString(this.id!) : 0);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const parsed = builder.createObjectOffset(this.parsed);\n const requests = ParsedEvent.createRequestsVector(builder, builder.createObjectOffsetList(this.requests));\n const relays = ParsedEvent.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n const tags = ParsedEvent.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n\n return ParsedEvent.createParsedEvent(builder,\n id,\n pubkey,\n this.kind,\n this.createdAt,\n this.parsedType,\n parsed,\n requests,\n relays,\n tags\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { NostrEvent, NostrEventT } from '../../nostr/fb/nostr-event.js';\nimport { ParsedEvent, ParsedEventT } from '../../nostr/fb/parsed-event.js';\nimport { Request, RequestT } from '../../nostr/fb/request.js';\n\n\nexport class CacheRequest implements flatbuffers.IUnpackableObject<CacheRequestT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CacheRequest {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCacheRequest(bb:flatbuffers.ByteBuffer, obj?:CacheRequest):CacheRequest {\n return (obj || new CacheRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCacheRequest(bb:flatbuffers.ByteBuffer, obj?:CacheRequest):CacheRequest {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CacheRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubId(): ByteString|null\nsubId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrequests(index: number, obj?:Request):Request|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Request()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nrequestsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nevent(obj?:NostrEvent):NostrEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new NostrEvent()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nparsedEvent(obj?:ParsedEvent):ParsedEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new ParsedEvent()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startCacheRequest(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addSubId(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subIdOffset, 0);\n}\n\nstatic addRequests(builder:flatbuffers.Builder, requestsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, requestsOffset, 0);\n}\n\nstatic createRequestsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRequestsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addEvent(builder:flatbuffers.Builder, eventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, eventOffset, 0);\n}\n\nstatic addParsedEvent(builder:flatbuffers.Builder, parsedEventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, parsedEventOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endCacheRequest(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // sub_id\n return offset;\n}\n\n\nunpack(): CacheRequestT {\n return new CacheRequestT(\n this.subId(),\n this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength()),\n (this.event() !== null ? this.event()!.unpack() : null),\n (this.parsedEvent() !== null ? this.parsedEvent()!.unpack() : null),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: CacheRequestT): void {\n _o.subId = this.subId();\n _o.requests = this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength());\n _o.event = (this.event() !== null ? this.event()!.unpack() : null);\n _o.parsedEvent = (this.parsedEvent() !== null ? this.parsedEvent()!.unpack() : null);\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class CacheRequestT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subId: ByteString|Uint8Array|null = null,\n public requests: (RequestT)[] = [],\n public event: NostrEventT|null = null,\n public parsedEvent: ParsedEventT|null = null,\n public relays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subId = (this.subId !== null ? builder.createString(this.subId!) : 0);\n const requests = CacheRequest.createRequestsVector(builder, builder.createObjectOffsetList(this.requests));\n const event = (this.event !== null ? this.event!.pack(builder) : 0);\n const parsedEvent = (this.parsedEvent !== null ? this.parsedEvent!.pack(builder) : 0);\n const relays = CacheRequest.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n CacheRequest.startCacheRequest(builder);\n CacheRequest.addSubId(builder, subId);\n CacheRequest.addRequests(builder, requests);\n CacheRequest.addEvent(builder, event);\n CacheRequest.addParsedEvent(builder, parsedEvent);\n CacheRequest.addRelays(builder, relays);\n\n return CacheRequest.endCacheRequest(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ConnectionStatus implements flatbuffers.IUnpackableObject<ConnectionStatusT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ConnectionStatus {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsConnectionStatus(bb:flatbuffers.ByteBuffer, obj?:ConnectionStatus):ConnectionStatus {\n return (obj || new ConnectionStatus()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsConnectionStatus(bb:flatbuffers.ByteBuffer, obj?:ConnectionStatus):ConnectionStatus {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ConnectionStatus()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nrelayUrl(): ByteString|null\nrelayUrl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrelayUrl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatus(): ByteString|null\nstatus(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nstatus(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nmessage(): ByteString|null\nmessage(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmessage(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startConnectionStatus(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addRelayUrl(builder:flatbuffers.Builder, relayUrlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, relayUrlOffset, 0);\n}\n\nstatic addStatus(builder:flatbuffers.Builder, statusOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, statusOffset, 0);\n}\n\nstatic addMessage(builder:flatbuffers.Builder, messageOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, messageOffset, 0);\n}\n\nstatic endConnectionStatus(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // relay_url\n builder.requiredField(offset, 6) // status\n return offset;\n}\n\nstatic createConnectionStatus(builder:flatbuffers.Builder, relayUrlOffset:flatbuffers.Offset, statusOffset:flatbuffers.Offset, messageOffset:flatbuffers.Offset):flatbuffers.Offset {\n ConnectionStatus.startConnectionStatus(builder);\n ConnectionStatus.addRelayUrl(builder, relayUrlOffset);\n ConnectionStatus.addStatus(builder, statusOffset);\n ConnectionStatus.addMessage(builder, messageOffset);\n return ConnectionStatus.endConnectionStatus(builder);\n}\n\nunpack(): ConnectionStatusT {\n return new ConnectionStatusT(\n this.relayUrl(),\n this.status(),\n this.message()\n );\n}\n\n\nunpackTo(_o: ConnectionStatusT): void {\n _o.relayUrl = this.relayUrl();\n _o.status = this.status();\n _o.message = this.message();\n}\n}\n\nexport class ConnectionStatusT implements flatbuffers.IGeneratedObject {\nconstructor(\n public relayUrl: ByteString|Uint8Array|null = null,\n public status: ByteString|Uint8Array|null = null,\n public message: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const relayUrl = (this.relayUrl !== null ? builder.createString(this.relayUrl!) : 0);\n const status = (this.status !== null ? builder.createString(this.status!) : 0);\n const message = (this.message !== null ? builder.createString(this.message!) : 0);\n\n return ConnectionStatus.createConnectionStatus(builder,\n relayUrl,\n status,\n message\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CountResponse implements flatbuffers.IUnpackableObject<CountResponseT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CountResponse {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCountResponse(bb:flatbuffers.ByteBuffer, obj?:CountResponse):CountResponse {\n return (obj || new CountResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCountResponse(bb:flatbuffers.ByteBuffer, obj?:CountResponse):CountResponse {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CountResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncount():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nyou():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nstatic startCountResponse(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addCount(builder:flatbuffers.Builder, count:number) {\n builder.addFieldInt32(0, count, 0);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(1, kind, 0);\n}\n\nstatic addYou(builder:flatbuffers.Builder, you:boolean) {\n builder.addFieldInt8(2, +you, +false);\n}\n\nstatic endCountResponse(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createCountResponse(builder:flatbuffers.Builder, count:number, kind:number, you:boolean):flatbuffers.Offset {\n CountResponse.startCountResponse(builder);\n CountResponse.addCount(builder, count);\n CountResponse.addKind(builder, kind);\n CountResponse.addYou(builder, you);\n return CountResponse.endCountResponse(builder);\n}\n\nunpack(): CountResponseT {\n return new CountResponseT(\n this.count(),\n this.kind(),\n this.you()\n );\n}\n\n\nunpackTo(_o: CountResponseT): void {\n _o.count = this.count();\n _o.kind = this.kind();\n _o.you = this.you();\n}\n}\n\nexport class CountResponseT implements flatbuffers.IGeneratedObject {\nconstructor(\n public count: number = 0,\n public kind: number = 0,\n public you: boolean = false\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return CountResponse.createCountResponse(builder,\n this.count,\n this.kind,\n this.you\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Eoce implements flatbuffers.IUnpackableObject<EoceT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Eoce {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsEoce(bb:flatbuffers.ByteBuffer, obj?:Eoce):Eoce {\n return (obj || new Eoce()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsEoce(bb:flatbuffers.ByteBuffer, obj?:Eoce):Eoce {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Eoce()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startEoce(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic endEoce(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n return offset;\n}\n\nstatic createEoce(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset):flatbuffers.Offset {\n Eoce.startEoce(builder);\n Eoce.addSubscriptionId(builder, subscriptionIdOffset);\n return Eoce.endEoce(builder);\n}\n\nunpack(): EoceT {\n return new EoceT(\n this.subscriptionId()\n );\n}\n\n\nunpackTo(_o: EoceT): void {\n _o.subscriptionId = this.subscriptionId();\n}\n}\n\nexport class EoceT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n\n return Eoce.createEoce(builder,\n subscriptionId\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Pubkey implements flatbuffers.IUnpackableObject<PubkeyT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Pubkey {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPubkey(bb:flatbuffers.ByteBuffer, obj?:Pubkey):Pubkey {\n return (obj || new Pubkey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPubkey(bb:flatbuffers.ByteBuffer, obj?:Pubkey):Pubkey {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Pubkey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startPubkey(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeyOffset, 0);\n}\n\nstatic endPubkey(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // pubkey\n return offset;\n}\n\nstatic createPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n Pubkey.startPubkey(builder);\n Pubkey.addPubkey(builder, pubkeyOffset);\n return Pubkey.endPubkey(builder);\n}\n\nunpack(): PubkeyT {\n return new PubkeyT(\n this.pubkey()\n );\n}\n\n\nunpackTo(_o: PubkeyT): void {\n _o.pubkey = this.pubkey();\n}\n}\n\nexport class PubkeyT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n\n return Pubkey.createPubkey(builder,\n pubkey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Raw implements flatbuffers.IUnpackableObject<RawT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Raw {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsRaw(bb:flatbuffers.ByteBuffer, obj?:Raw):Raw {\n return (obj || new Raw()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsRaw(bb:flatbuffers.ByteBuffer, obj?:Raw):Raw {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Raw()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nraw(): ByteString|null\nraw(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nraw(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startRaw(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addRaw(builder:flatbuffers.Builder, rawOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, rawOffset, 0);\n}\n\nstatic endRaw(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // raw\n return offset;\n}\n\nstatic createRaw(builder:flatbuffers.Builder, rawOffset:flatbuffers.Offset):flatbuffers.Offset {\n Raw.startRaw(builder);\n Raw.addRaw(builder, rawOffset);\n return Raw.endRaw(builder);\n}\n\nunpack(): RawT {\n return new RawT(\n this.raw()\n );\n}\n\n\nunpackTo(_o: RawT): void {\n _o.raw = this.raw();\n}\n}\n\nexport class RawT implements flatbuffers.IGeneratedObject {\nconstructor(\n public raw: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const raw = (this.raw !== null ? builder.createString(this.raw!) : 0);\n\n return Raw.createRaw(builder,\n raw\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { NostrEvent, NostrEventT } from '../../nostr/fb/nostr-event.js';\n\n\nexport class SignedEvent implements flatbuffers.IUnpackableObject<SignedEventT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SignedEvent {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSignedEvent(bb:flatbuffers.ByteBuffer, obj?:SignedEvent):SignedEvent {\n return (obj || new SignedEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSignedEvent(bb:flatbuffers.ByteBuffer, obj?:SignedEvent):SignedEvent {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SignedEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nevent(obj?:NostrEvent):NostrEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new NostrEvent()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startSignedEvent(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addEvent(builder:flatbuffers.Builder, eventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, eventOffset, 0);\n}\n\nstatic endSignedEvent(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // event\n return offset;\n}\n\nstatic createSignedEvent(builder:flatbuffers.Builder, eventOffset:flatbuffers.Offset):flatbuffers.Offset {\n SignedEvent.startSignedEvent(builder);\n SignedEvent.addEvent(builder, eventOffset);\n return SignedEvent.endSignedEvent(builder);\n}\n\nunpack(): SignedEventT {\n return new SignedEventT(\n (this.event() !== null ? this.event()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: SignedEventT): void {\n _o.event = (this.event() !== null ? this.event()!.unpack() : null);\n}\n}\n\nexport class SignedEventT implements flatbuffers.IGeneratedObject {\nconstructor(\n public event: NostrEventT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const event = (this.event !== null ? this.event!.pack(builder) : 0);\n\n return SignedEvent.createSignedEvent(builder,\n event\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Proof, ProofT } from '../../nostr/fb/proof.js';\n\n\nexport class MintProofs implements flatbuffers.IUnpackableObject<MintProofsT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MintProofs {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMintProofs(bb:flatbuffers.ByteBuffer, obj?:MintProofs):MintProofs {\n return (obj || new MintProofs()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMintProofs(bb:flatbuffers.ByteBuffer, obj?:MintProofs):MintProofs {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MintProofs()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nmint(): ByteString|null\nmint(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nmint(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nproofs(index: number, obj?:Proof):Proof|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Proof()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nproofsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startMintProofs(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addMint(builder:flatbuffers.Builder, mintOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, mintOffset, 0);\n}\n\nstatic addProofs(builder:flatbuffers.Builder, proofsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, proofsOffset, 0);\n}\n\nstatic createProofsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startProofsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endMintProofs(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // mint\n builder.requiredField(offset, 6) // proofs\n return offset;\n}\n\nstatic createMintProofs(builder:flatbuffers.Builder, mintOffset:flatbuffers.Offset, proofsOffset:flatbuffers.Offset):flatbuffers.Offset {\n MintProofs.startMintProofs(builder);\n MintProofs.addMint(builder, mintOffset);\n MintProofs.addProofs(builder, proofsOffset);\n return MintProofs.endMintProofs(builder);\n}\n\nunpack(): MintProofsT {\n return new MintProofsT(\n this.mint(),\n this.bb!.createObjList<Proof, ProofT>(this.proofs.bind(this), this.proofsLength())\n );\n}\n\n\nunpackTo(_o: MintProofsT): void {\n _o.mint = this.mint();\n _o.proofs = this.bb!.createObjList<Proof, ProofT>(this.proofs.bind(this), this.proofsLength());\n}\n}\n\nexport class MintProofsT implements flatbuffers.IGeneratedObject {\nconstructor(\n public mint: ByteString|Uint8Array|null = null,\n public proofs: (ProofT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const mint = (this.mint !== null ? builder.createString(this.mint!) : 0);\n const proofs = MintProofs.createProofsVector(builder, builder.createObjectOffsetList(this.proofs));\n\n return MintProofs.createMintProofs(builder,\n mint,\n proofs\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { MintProofs, MintProofsT } from '../../nostr/fb/mint-proofs.js';\n\n\nexport class ValidProofs implements flatbuffers.IUnpackableObject<ValidProofsT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ValidProofs {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsValidProofs(bb:flatbuffers.ByteBuffer, obj?:ValidProofs):ValidProofs {\n return (obj || new ValidProofs()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsValidProofs(bb:flatbuffers.ByteBuffer, obj?:ValidProofs):ValidProofs {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ValidProofs()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nproofs(index: number, obj?:MintProofs):MintProofs|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new MintProofs()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nproofsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startValidProofs(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addProofs(builder:flatbuffers.Builder, proofsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, proofsOffset, 0);\n}\n\nstatic createProofsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startProofsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endValidProofs(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // proofs\n return offset;\n}\n\nstatic createValidProofs(builder:flatbuffers.Builder, proofsOffset:flatbuffers.Offset):flatbuffers.Offset {\n ValidProofs.startValidProofs(builder);\n ValidProofs.addProofs(builder, proofsOffset);\n return ValidProofs.endValidProofs(builder);\n}\n\nunpack(): ValidProofsT {\n return new ValidProofsT(\n this.bb!.createObjList<MintProofs, MintProofsT>(this.proofs.bind(this), this.proofsLength())\n );\n}\n\n\nunpackTo(_o: ValidProofsT): void {\n _o.proofs = this.bb!.createObjList<MintProofs, MintProofsT>(this.proofs.bind(this), this.proofsLength());\n}\n}\n\nexport class ValidProofsT implements flatbuffers.IGeneratedObject {\nconstructor(\n public proofs: (MintProofsT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const proofs = ValidProofs.createProofsVector(builder, builder.createObjectOffsetList(this.proofs));\n\n return ValidProofs.createValidProofs(builder,\n proofs\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { BufferFull, BufferFullT } from '../../nostr/fb/buffer-full.js';\nimport { ConnectionStatus, ConnectionStatusT } from '../../nostr/fb/connection-status.js';\nimport { CountResponse, CountResponseT } from '../../nostr/fb/count-response.js';\nimport { Eoce, EoceT } from '../../nostr/fb/eoce.js';\nimport { NostrEvent, NostrEventT } from '../../nostr/fb/nostr-event.js';\nimport { ParsedEvent, ParsedEventT } from '../../nostr/fb/parsed-event.js';\nimport { Pubkey, PubkeyT } from '../../nostr/fb/pubkey.js';\nimport { Raw, RawT } from '../../nostr/fb/raw.js';\nimport { SignedEvent, SignedEventT } from '../../nostr/fb/signed-event.js';\nimport { ValidProofs, ValidProofsT } from '../../nostr/fb/valid-proofs.js';\n\n\nexport enum Message {\n NONE = 0,\n ParsedEvent = 1,\n NostrEvent = 2,\n ConnectionStatus = 3,\n CountResponse = 4,\n Eoce = 5,\n BufferFull = 6,\n ValidProofs = 7,\n SignedEvent = 8,\n Pubkey = 9,\n Raw = 10\n}\n\nexport function unionToMessage(\n type: Message,\n accessor: (obj:BufferFull|ConnectionStatus|CountResponse|Eoce|NostrEvent|ParsedEvent|Pubkey|Raw|SignedEvent|ValidProofs) => BufferFull|ConnectionStatus|CountResponse|Eoce|NostrEvent|ParsedEvent|Pubkey|Raw|SignedEvent|ValidProofs|null\n): BufferFull|ConnectionStatus|CountResponse|Eoce|NostrEvent|ParsedEvent|Pubkey|Raw|SignedEvent|ValidProofs|null {\n switch(Message[type]) {\n case 'NONE': return null; \n case 'ParsedEvent': return accessor(new ParsedEvent())! as ParsedEvent;\n case 'NostrEvent': return accessor(new NostrEvent())! as NostrEvent;\n case 'ConnectionStatus': return accessor(new ConnectionStatus())! as ConnectionStatus;\n case 'CountResponse': return accessor(new CountResponse())! as CountResponse;\n case 'Eoce': return accessor(new Eoce())! as Eoce;\n case 'BufferFull': return accessor(new BufferFull())! as BufferFull;\n case 'ValidProofs': return accessor(new ValidProofs())! as ValidProofs;\n case 'SignedEvent': return accessor(new SignedEvent())! as SignedEvent;\n case 'Pubkey': return accessor(new Pubkey())! as Pubkey;\n case 'Raw': return accessor(new Raw())! as Raw;\n default: return null;\n }\n}\n\nexport function unionListToMessage(\n type: Message, \n accessor: (index: number, obj:BufferFull|ConnectionStatus|CountResponse|Eoce|NostrEvent|ParsedEvent|Pubkey|Raw|SignedEvent|ValidProofs) => BufferFull|ConnectionStatus|CountResponse|Eoce|NostrEvent|ParsedEvent|Pubkey|Raw|SignedEvent|ValidProofs|null, \n index: number\n): BufferFull|ConnectionStatus|CountResponse|Eoce|NostrEvent|ParsedEvent|Pubkey|Raw|SignedEvent|ValidProofs|null {\n switch(Message[type]) {\n case 'NONE': return null; \n case 'ParsedEvent': return accessor(index, new ParsedEvent())! as ParsedEvent;\n case 'NostrEvent': return accessor(index, new NostrEvent())! as NostrEvent;\n case 'ConnectionStatus': return accessor(index, new ConnectionStatus())! as ConnectionStatus;\n case 'CountResponse': return accessor(index, new CountResponse())! as CountResponse;\n case 'Eoce': return accessor(index, new Eoce())! as Eoce;\n case 'BufferFull': return accessor(index, new BufferFull())! as BufferFull;\n case 'ValidProofs': return accessor(index, new ValidProofs())! as ValidProofs;\n case 'SignedEvent': return accessor(index, new SignedEvent())! as SignedEvent;\n case 'Pubkey': return accessor(index, new Pubkey())! as Pubkey;\n case 'Raw': return accessor(index, new Raw())! as Raw;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum MessageType {\n ParsedNostrEvent = 0,\n ConnectionStatus = 1,\n CountResponse = 2,\n Eoce = 3,\n BufferFull = 4,\n ValidProofs = 5,\n SignedEvent = 6,\n Pubkey = 7,\n Raw = 8,\n NostrEvent = 9\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { BufferFull, BufferFullT } from '../../nostr/fb/buffer-full.js';\nimport { ConnectionStatus, ConnectionStatusT } from '../../nostr/fb/connection-status.js';\nimport { CountResponse, CountResponseT } from '../../nostr/fb/count-response.js';\nimport { Eoce, EoceT } from '../../nostr/fb/eoce.js';\nimport { Message, unionToMessage, unionListToMessage } from '../../nostr/fb/message.js';\nimport { MessageType } from '../../nostr/fb/message-type.js';\nimport { NostrEvent, NostrEventT } from '../../nostr/fb/nostr-event.js';\nimport { ParsedEvent, ParsedEventT } from '../../nostr/fb/parsed-event.js';\nimport { Pubkey, PubkeyT } from '../../nostr/fb/pubkey.js';\nimport { Raw, RawT } from '../../nostr/fb/raw.js';\nimport { SignedEvent, SignedEventT } from '../../nostr/fb/signed-event.js';\nimport { ValidProofs, ValidProofsT } from '../../nostr/fb/valid-proofs.js';\n\n\nexport class WorkerMessage implements flatbuffers.IUnpackableObject<WorkerMessageT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):WorkerMessage {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsWorkerMessage(bb:flatbuffers.ByteBuffer, obj?:WorkerMessage):WorkerMessage {\n return (obj || new WorkerMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsWorkerMessage(bb:flatbuffers.ByteBuffer, obj?:WorkerMessage):WorkerMessage {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new WorkerMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubId(): ByteString|null\nsubId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nurl(): ByteString|null\nurl(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nurl(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntype():MessageType {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : MessageType.ParsedNostrEvent;\n}\n\ncontentType():Message {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : Message.NONE;\n}\n\ncontent<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startWorkerMessage(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addSubId(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subIdOffset, 0);\n}\n\nstatic addUrl(builder:flatbuffers.Builder, urlOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, urlOffset, 0);\n}\n\nstatic addType(builder:flatbuffers.Builder, type:MessageType) {\n builder.addFieldInt32(2, type, MessageType.ParsedNostrEvent);\n}\n\nstatic addContentType(builder:flatbuffers.Builder, contentType:Message) {\n builder.addFieldInt8(3, contentType, Message.NONE);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, contentOffset, 0);\n}\n\nstatic endWorkerMessage(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic finishWorkerMessageBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset);\n}\n\nstatic finishSizePrefixedWorkerMessageBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {\n builder.finish(offset, undefined, true);\n}\n\nstatic createWorkerMessage(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset, urlOffset:flatbuffers.Offset, type:MessageType, contentType:Message, contentOffset:flatbuffers.Offset):flatbuffers.Offset {\n WorkerMessage.startWorkerMessage(builder);\n WorkerMessage.addSubId(builder, subIdOffset);\n WorkerMessage.addUrl(builder, urlOffset);\n WorkerMessage.addType(builder, type);\n WorkerMessage.addContentType(builder, contentType);\n WorkerMessage.addContent(builder, contentOffset);\n return WorkerMessage.endWorkerMessage(builder);\n}\n\nunpack(): WorkerMessageT {\n return new WorkerMessageT(\n this.subId(),\n this.url(),\n this.type(),\n this.contentType(),\n (() => {\n const temp = unionToMessage(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: WorkerMessageT): void {\n _o.subId = this.subId();\n _o.url = this.url();\n _o.type = this.type();\n _o.contentType = this.contentType();\n _o.content = (() => {\n const temp = unionToMessage(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class WorkerMessageT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subId: ByteString|Uint8Array|null = null,\n public url: ByteString|Uint8Array|null = null,\n public type: MessageType = MessageType.ParsedNostrEvent,\n public contentType: Message = Message.NONE,\n public content: BufferFullT|ConnectionStatusT|CountResponseT|EoceT|NostrEventT|ParsedEventT|PubkeyT|RawT|SignedEventT|ValidProofsT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subId = (this.subId !== null ? builder.createString(this.subId!) : 0);\n const url = (this.url !== null ? builder.createString(this.url!) : 0);\n const content = builder.createObjectOffset(this.content);\n\n return WorkerMessage.createWorkerMessage(builder,\n subId,\n url,\n this.type,\n this.contentType,\n content\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { CacheRequest, CacheRequestT } from '../../nostr/fb/cache-request.js';\nimport { WorkerMessage, WorkerMessageT } from '../../nostr/fb/worker-message.js';\n\n\nexport enum CacheInput {\n NONE = 0,\n WorkerMessage = 1,\n CacheRequest = 2\n}\n\nexport function unionToCacheInput(\n type: CacheInput,\n accessor: (obj:CacheRequest|WorkerMessage) => CacheRequest|WorkerMessage|null\n): CacheRequest|WorkerMessage|null {\n switch(CacheInput[type]) {\n case 'NONE': return null; \n case 'WorkerMessage': return accessor(new WorkerMessage())! as WorkerMessage;\n case 'CacheRequest': return accessor(new CacheRequest())! as CacheRequest;\n default: return null;\n }\n}\n\nexport function unionListToCacheInput(\n type: CacheInput, \n accessor: (index: number, obj:CacheRequest|WorkerMessage) => CacheRequest|WorkerMessage|null, \n index: number\n): CacheRequest|WorkerMessage|null {\n switch(CacheInput[type]) {\n case 'NONE': return null; \n case 'WorkerMessage': return accessor(index, new WorkerMessage())! as WorkerMessage;\n case 'CacheRequest': return accessor(index, new CacheRequest())! as CacheRequest;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { CacheInput, unionToCacheInput, unionListToCacheInput } from '../../nostr/fb/cache-input.js';\nimport { CacheRequest, CacheRequestT } from '../../nostr/fb/cache-request.js';\nimport { WorkerMessage, WorkerMessageT } from '../../nostr/fb/worker-message.js';\n\n\nexport class CacheInputMessage implements flatbuffers.IUnpackableObject<CacheInputMessageT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CacheInputMessage {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCacheInputMessage(bb:flatbuffers.ByteBuffer, obj?:CacheInputMessage):CacheInputMessage {\n return (obj || new CacheInputMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCacheInputMessage(bb:flatbuffers.ByteBuffer, obj?:CacheInputMessage):CacheInputMessage {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CacheInputMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontentType():CacheInput {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : CacheInput.NONE;\n}\n\ncontent<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startCacheInputMessage(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addContentType(builder:flatbuffers.Builder, contentType:CacheInput) {\n builder.addFieldInt8(0, contentType, CacheInput.NONE);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, contentOffset, 0);\n}\n\nstatic endCacheInputMessage(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // content\n return offset;\n}\n\nstatic createCacheInputMessage(builder:flatbuffers.Builder, contentType:CacheInput, contentOffset:flatbuffers.Offset):flatbuffers.Offset {\n CacheInputMessage.startCacheInputMessage(builder);\n CacheInputMessage.addContentType(builder, contentType);\n CacheInputMessage.addContent(builder, contentOffset);\n return CacheInputMessage.endCacheInputMessage(builder);\n}\n\nunpack(): CacheInputMessageT {\n return new CacheInputMessageT(\n this.contentType(),\n (() => {\n const temp = unionToCacheInput(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: CacheInputMessageT): void {\n _o.contentType = this.contentType();\n _o.content = (() => {\n const temp = unionToCacheInput(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class CacheInputMessageT implements flatbuffers.IGeneratedObject {\nconstructor(\n public contentType: CacheInput = CacheInput.NONE,\n public content: CacheRequestT|WorkerMessageT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = builder.createObjectOffset(this.content);\n\n return CacheInputMessage.createCacheInputMessage(builder,\n this.contentType,\n content\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CacheResponse implements flatbuffers.IUnpackableObject<CacheResponseT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CacheResponse {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCacheResponse(bb:flatbuffers.ByteBuffer, obj?:CacheResponse):CacheResponse {\n return (obj || new CacheResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCacheResponse(bb:flatbuffers.ByteBuffer, obj?:CacheResponse):CacheResponse {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CacheResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubId(): ByteString|null\nsubId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npayload(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0;\n}\n\npayloadLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\npayloadArray():Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\nstatic startCacheResponse(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addSubId(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subIdOffset, 0);\n}\n\nstatic addPayload(builder:flatbuffers.Builder, payloadOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, payloadOffset, 0);\n}\n\nstatic createPayloadVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset {\n builder.startVector(1, data.length, 1);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt8(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPayloadVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(1, numElems, 1);\n}\n\nstatic endCacheResponse(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // sub_id\n return offset;\n}\n\nstatic createCacheResponse(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset, payloadOffset:flatbuffers.Offset):flatbuffers.Offset {\n CacheResponse.startCacheResponse(builder);\n CacheResponse.addSubId(builder, subIdOffset);\n CacheResponse.addPayload(builder, payloadOffset);\n return CacheResponse.endCacheResponse(builder);\n}\n\nunpack(): CacheResponseT {\n return new CacheResponseT(\n this.subId(),\n this.bb!.createScalarList<number>(this.payload.bind(this), this.payloadLength())\n );\n}\n\n\nunpackTo(_o: CacheResponseT): void {\n _o.subId = this.subId();\n _o.payload = this.bb!.createScalarList<number>(this.payload.bind(this), this.payloadLength());\n}\n}\n\nexport class CacheResponseT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subId: ByteString|Uint8Array|null = null,\n public payload: (number)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subId = (this.subId !== null ? builder.createString(this.subId!) : 0);\n const payload = CacheResponse.createPayloadVector(builder, this.payload);\n\n return CacheResponse.createCacheResponse(builder,\n subId,\n payload\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CounterPipeConfig implements flatbuffers.IUnpackableObject<CounterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CounterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCounterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:CounterPipeConfig):CounterPipeConfig {\n return (obj || new CounterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCounterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:CounterPipeConfig):CounterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CounterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkinds(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb!.__vector(this.bb_pos + offset) + index * 2) : 0;\n}\n\nkindsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nkindsArray():Uint16Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? new Uint16Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startCounterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addKinds(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, kindsOffset, 0);\n}\n\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array):flatbuffers.Offset;\n/**\n * @deprecated This Uint8Array overload will be removed in the future.\n */\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array|Uint8Array):flatbuffers.Offset {\n builder.startVector(2, data.length, 2);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt16(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startKindsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(2, numElems, 2);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic endCounterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // kinds\n builder.requiredField(offset, 6) // pubkey\n return offset;\n}\n\nstatic createCounterPipeConfig(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset, pubkeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n CounterPipeConfig.startCounterPipeConfig(builder);\n CounterPipeConfig.addKinds(builder, kindsOffset);\n CounterPipeConfig.addPubkey(builder, pubkeyOffset);\n return CounterPipeConfig.endCounterPipeConfig(builder);\n}\n\nunpack(): CounterPipeConfigT {\n return new CounterPipeConfigT(\n this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength()),\n this.pubkey()\n );\n}\n\n\nunpackTo(_o: CounterPipeConfigT): void {\n _o.kinds = this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength());\n _o.pubkey = this.pubkey();\n}\n}\n\nexport class CounterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kinds: (number)[] = [],\n public pubkey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const kinds = CounterPipeConfig.createKindsVector(builder, this.kinds);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n\n return CounterPipeConfig.createCounterPipeConfig(builder,\n kinds,\n pubkey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class GetPublicKey implements flatbuffers.IUnpackableObject<GetPublicKeyT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):GetPublicKey {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsGetPublicKey(bb:flatbuffers.ByteBuffer, obj?:GetPublicKey):GetPublicKey {\n return (obj || new GetPublicKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsGetPublicKey(bb:flatbuffers.ByteBuffer, obj?:GetPublicKey):GetPublicKey {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new GetPublicKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startGetPublicKey(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endGetPublicKey(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createGetPublicKey(builder:flatbuffers.Builder):flatbuffers.Offset {\n GetPublicKey.startGetPublicKey(builder);\n return GetPublicKey.endGetPublicKey(builder);\n}\n\nunpack(): GetPublicKeyT {\n return new GetPublicKeyT();\n}\n\n\nunpackTo(_o: GetPublicKeyT): void {}\n}\n\nexport class GetPublicKeyT implements flatbuffers.IGeneratedObject {\nconstructor(){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return GetPublicKey.createGetPublicKey(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class KindFilterPipeConfig implements flatbuffers.IUnpackableObject<KindFilterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):KindFilterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKindFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:KindFilterPipeConfig):KindFilterPipeConfig {\n return (obj || new KindFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKindFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:KindFilterPipeConfig):KindFilterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new KindFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkinds(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb!.__vector(this.bb_pos + offset) + index * 2) : 0;\n}\n\nkindsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nkindsArray():Uint16Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? new Uint16Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\nstatic startKindFilterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addKinds(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, kindsOffset, 0);\n}\n\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array):flatbuffers.Offset;\n/**\n * @deprecated This Uint8Array overload will be removed in the future.\n */\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array|Uint8Array):flatbuffers.Offset {\n builder.startVector(2, data.length, 2);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt16(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startKindsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(2, numElems, 2);\n}\n\nstatic endKindFilterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // kinds\n return offset;\n}\n\nstatic createKindFilterPipeConfig(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset):flatbuffers.Offset {\n KindFilterPipeConfig.startKindFilterPipeConfig(builder);\n KindFilterPipeConfig.addKinds(builder, kindsOffset);\n return KindFilterPipeConfig.endKindFilterPipeConfig(builder);\n}\n\nunpack(): KindFilterPipeConfigT {\n return new KindFilterPipeConfigT(\n this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength())\n );\n}\n\n\nunpackTo(_o: KindFilterPipeConfigT): void {\n _o.kinds = this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength());\n}\n}\n\nexport class KindFilterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kinds: (number)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const kinds = KindFilterPipeConfig.createKindsVector(builder, this.kinds);\n\n return KindFilterPipeConfig.createKindFilterPipeConfig(builder,\n kinds\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { StringVec, StringVecT } from '../../nostr/fb/string-vec.js';\n\n\nexport class Template implements flatbuffers.IUnpackableObject<TemplateT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Template {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsTemplate(bb:flatbuffers.ByteBuffer, obj?:Template):Template {\n return (obj || new Template()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsTemplate(bb:flatbuffers.ByteBuffer, obj?:Template):Template {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Template()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\ncreatedAt():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntags(index: number, obj?:StringVec):StringVec|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new StringVec()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startTemplate(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addCreatedAt(builder:flatbuffers.Builder, createdAt:number) {\n builder.addFieldInt32(1, createdAt, 0);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, contentOffset, 0);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endTemplate(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 8) // content\n builder.requiredField(offset, 10) // tags\n return offset;\n}\n\nstatic createTemplate(builder:flatbuffers.Builder, kind:number, createdAt:number, contentOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Template.startTemplate(builder);\n Template.addKind(builder, kind);\n Template.addCreatedAt(builder, createdAt);\n Template.addContent(builder, contentOffset);\n Template.addTags(builder, tagsOffset);\n return Template.endTemplate(builder);\n}\n\nunpack(): TemplateT {\n return new TemplateT(\n this.kind(),\n this.createdAt(),\n this.content(),\n this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength())\n );\n}\n\n\nunpackTo(_o: TemplateT): void {\n _o.kind = this.kind();\n _o.createdAt = this.createdAt();\n _o.content = this.content();\n _o.tags = this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength());\n}\n}\n\nexport class TemplateT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public createdAt: number = 0,\n public content: ByteString|Uint8Array|null = null,\n public tags: (StringVecT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const tags = Template.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n\n return Template.createTemplate(builder,\n this.kind,\n this.createdAt,\n content,\n tags\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Template, TemplateT } from '../../nostr/fb/template.js';\n\n\nexport class Publish implements flatbuffers.IUnpackableObject<PublishT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Publish {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPublish(bb:flatbuffers.ByteBuffer, obj?:Publish):Publish {\n return (obj || new Publish()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPublish(bb:flatbuffers.ByteBuffer, obj?:Publish):Publish {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Publish()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npublishId(): ByteString|null\npublishId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npublishId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntemplate(obj?:Template):Template|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Template()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startPublish(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addPublishId(builder:flatbuffers.Builder, publishIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, publishIdOffset, 0);\n}\n\nstatic addTemplate(builder:flatbuffers.Builder, templateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, templateOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endPublish(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // publish_id\n builder.requiredField(offset, 6) // template\n builder.requiredField(offset, 8) // relays\n return offset;\n}\n\n\nunpack(): PublishT {\n return new PublishT(\n this.publishId(),\n (this.template() !== null ? this.template()!.unpack() : null),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: PublishT): void {\n _o.publishId = this.publishId();\n _o.template = (this.template() !== null ? this.template()!.unpack() : null);\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class PublishT implements flatbuffers.IGeneratedObject {\nconstructor(\n public publishId: ByteString|Uint8Array|null = null,\n public template: TemplateT|null = null,\n public relays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const publishId = (this.publishId !== null ? builder.createString(this.publishId!) : 0);\n const template = (this.template !== null ? this.template!.pack(builder) : 0);\n const relays = Publish.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n Publish.startPublish(builder);\n Publish.addPublishId(builder, publishId);\n Publish.addTemplate(builder, template);\n Publish.addRelays(builder, relays);\n\n return Publish.endPublish(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class PrivateKey implements flatbuffers.IUnpackableObject<PrivateKeyT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PrivateKey {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPrivateKey(bb:flatbuffers.ByteBuffer, obj?:PrivateKey):PrivateKey {\n return (obj || new PrivateKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPrivateKey(bb:flatbuffers.ByteBuffer, obj?:PrivateKey):PrivateKey {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PrivateKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nprivateKey(): ByteString|null\nprivateKey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nprivateKey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startPrivateKey(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addPrivateKey(builder:flatbuffers.Builder, privateKeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, privateKeyOffset, 0);\n}\n\nstatic endPrivateKey(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // private_key\n return offset;\n}\n\nstatic createPrivateKey(builder:flatbuffers.Builder, privateKeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n PrivateKey.startPrivateKey(builder);\n PrivateKey.addPrivateKey(builder, privateKeyOffset);\n return PrivateKey.endPrivateKey(builder);\n}\n\nunpack(): PrivateKeyT {\n return new PrivateKeyT(\n this.privateKey()\n );\n}\n\n\nunpackTo(_o: PrivateKeyT): void {\n _o.privateKey = this.privateKey();\n}\n}\n\nexport class PrivateKeyT implements flatbuffers.IGeneratedObject {\nconstructor(\n public privateKey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const privateKey = (this.privateKey !== null ? builder.createString(this.privateKey!) : 0);\n\n return PrivateKey.createPrivateKey(builder,\n privateKey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { PrivateKey, PrivateKeyT } from '../../nostr/fb/private-key.js';\n\n\nexport enum SignerType {\n NONE = 0,\n PrivateKey = 1\n}\n\nexport function unionToSignerType(\n type: SignerType,\n accessor: (obj:PrivateKey) => PrivateKey|null\n): PrivateKey|null {\n switch(SignerType[type]) {\n case 'NONE': return null; \n case 'PrivateKey': return accessor(new PrivateKey())! as PrivateKey;\n default: return null;\n }\n}\n\nexport function unionListToSignerType(\n type: SignerType, \n accessor: (index: number, obj:PrivateKey) => PrivateKey|null, \n index: number\n): PrivateKey|null {\n switch(SignerType[type]) {\n case 'NONE': return null; \n case 'PrivateKey': return accessor(index, new PrivateKey())! as PrivateKey;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { PrivateKey, PrivateKeyT } from '../../nostr/fb/private-key.js';\nimport { SignerType, unionToSignerType, unionListToSignerType } from '../../nostr/fb/signer-type.js';\n\n\nexport class SetSigner implements flatbuffers.IUnpackableObject<SetSignerT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SetSigner {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSetSigner(bb:flatbuffers.ByteBuffer, obj?:SetSigner):SetSigner {\n return (obj || new SetSigner()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSetSigner(bb:flatbuffers.ByteBuffer, obj?:SetSigner):SetSigner {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SetSigner()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsignerTypeType():SignerType {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : SignerType.NONE;\n}\n\nsignerType<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startSetSigner(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addSignerTypeType(builder:flatbuffers.Builder, signerTypeType:SignerType) {\n builder.addFieldInt8(0, signerTypeType, SignerType.NONE);\n}\n\nstatic addSignerType(builder:flatbuffers.Builder, signerTypeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, signerTypeOffset, 0);\n}\n\nstatic endSetSigner(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // signer_type\n return offset;\n}\n\nstatic createSetSigner(builder:flatbuffers.Builder, signerTypeType:SignerType, signerTypeOffset:flatbuffers.Offset):flatbuffers.Offset {\n SetSigner.startSetSigner(builder);\n SetSigner.addSignerTypeType(builder, signerTypeType);\n SetSigner.addSignerType(builder, signerTypeOffset);\n return SetSigner.endSetSigner(builder);\n}\n\nunpack(): SetSignerT {\n return new SetSignerT(\n this.signerTypeType(),\n (() => {\n const temp = unionToSignerType(this.signerTypeType(), this.signerType.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: SetSignerT): void {\n _o.signerTypeType = this.signerTypeType();\n _o.signerType = (() => {\n const temp = unionToSignerType(this.signerTypeType(), this.signerType.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class SetSignerT implements flatbuffers.IGeneratedObject {\nconstructor(\n public signerTypeType: SignerType = SignerType.NONE,\n public signerType: PrivateKeyT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const signerType = builder.createObjectOffset(this.signerType);\n\n return SetSigner.createSetSigner(builder,\n this.signerTypeType,\n signerType\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Template, TemplateT } from '../../nostr/fb/template.js';\n\n\nexport class SignEvent implements flatbuffers.IUnpackableObject<SignEventT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SignEvent {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSignEvent(bb:flatbuffers.ByteBuffer, obj?:SignEvent):SignEvent {\n return (obj || new SignEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSignEvent(bb:flatbuffers.ByteBuffer, obj?:SignEvent):SignEvent {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SignEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntemplate(obj?:Template):Template|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new Template()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startSignEvent(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addTemplate(builder:flatbuffers.Builder, templateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, templateOffset, 0);\n}\n\nstatic endSignEvent(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // template\n return offset;\n}\n\nstatic createSignEvent(builder:flatbuffers.Builder, templateOffset:flatbuffers.Offset):flatbuffers.Offset {\n SignEvent.startSignEvent(builder);\n SignEvent.addTemplate(builder, templateOffset);\n return SignEvent.endSignEvent(builder);\n}\n\nunpack(): SignEventT {\n return new SignEventT(\n (this.template() !== null ? this.template()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: SignEventT): void {\n _o.template = (this.template() !== null ? this.template()!.unpack() : null);\n}\n}\n\nexport class SignEventT implements flatbuffers.IGeneratedObject {\nconstructor(\n public template: TemplateT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const template = (this.template !== null ? this.template!.pack(builder) : 0);\n\n return SignEvent.createSignEvent(builder,\n template\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class MuteFilterPipeConfig implements flatbuffers.IUnpackableObject<MuteFilterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MuteFilterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMuteFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:MuteFilterPipeConfig):MuteFilterPipeConfig {\n return (obj || new MuteFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMuteFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:MuteFilterPipeConfig):MuteFilterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MuteFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkeys(index: number): ByteString\npubkeys(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\npubkeys(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\npubkeysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nhashtags(index: number): ByteString\nhashtags(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nhashtags(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nhashtagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nwords(index: number): ByteString\nwords(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nwords(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nwordsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\neventIds(index: number): ByteString\neventIds(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\neventIds(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\neventIdsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startMuteFilterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addPubkeys(builder:flatbuffers.Builder, pubkeysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeysOffset, 0);\n}\n\nstatic createPubkeysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPubkeysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addHashtags(builder:flatbuffers.Builder, hashtagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, hashtagsOffset, 0);\n}\n\nstatic createHashtagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startHashtagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addWords(builder:flatbuffers.Builder, wordsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, wordsOffset, 0);\n}\n\nstatic createWordsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startWordsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addEventIds(builder:flatbuffers.Builder, eventIdsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, eventIdsOffset, 0);\n}\n\nstatic createEventIdsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startEventIdsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endMuteFilterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createMuteFilterPipeConfig(builder:flatbuffers.Builder, pubkeysOffset:flatbuffers.Offset, hashtagsOffset:flatbuffers.Offset, wordsOffset:flatbuffers.Offset, eventIdsOffset:flatbuffers.Offset):flatbuffers.Offset {\n MuteFilterPipeConfig.startMuteFilterPipeConfig(builder);\n MuteFilterPipeConfig.addPubkeys(builder, pubkeysOffset);\n MuteFilterPipeConfig.addHashtags(builder, hashtagsOffset);\n MuteFilterPipeConfig.addWords(builder, wordsOffset);\n MuteFilterPipeConfig.addEventIds(builder, eventIdsOffset);\n return MuteFilterPipeConfig.endMuteFilterPipeConfig(builder);\n}\n\nunpack(): MuteFilterPipeConfigT {\n return new MuteFilterPipeConfigT(\n this.bb!.createScalarList<string>(this.pubkeys.bind(this), this.pubkeysLength()),\n this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength()),\n this.bb!.createScalarList<string>(this.words.bind(this), this.wordsLength()),\n this.bb!.createScalarList<string>(this.eventIds.bind(this), this.eventIdsLength())\n );\n}\n\n\nunpackTo(_o: MuteFilterPipeConfigT): void {\n _o.pubkeys = this.bb!.createScalarList<string>(this.pubkeys.bind(this), this.pubkeysLength());\n _o.hashtags = this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength());\n _o.words = this.bb!.createScalarList<string>(this.words.bind(this), this.wordsLength());\n _o.eventIds = this.bb!.createScalarList<string>(this.eventIds.bind(this), this.eventIdsLength());\n}\n}\n\nexport class MuteFilterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkeys: (string)[] = [],\n public hashtags: (string)[] = [],\n public words: (string)[] = [],\n public eventIds: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkeys = MuteFilterPipeConfig.createPubkeysVector(builder, builder.createObjectOffsetList(this.pubkeys));\n const hashtags = MuteFilterPipeConfig.createHashtagsVector(builder, builder.createObjectOffsetList(this.hashtags));\n const words = MuteFilterPipeConfig.createWordsVector(builder, builder.createObjectOffsetList(this.words));\n const eventIds = MuteFilterPipeConfig.createEventIdsVector(builder, builder.createObjectOffsetList(this.eventIds));\n\n return MuteFilterPipeConfig.createMuteFilterPipeConfig(builder,\n pubkeys,\n hashtags,\n words,\n eventIds\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class NpubLimiterPipeConfig implements flatbuffers.IUnpackableObject<NpubLimiterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):NpubLimiterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsNpubLimiterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:NpubLimiterPipeConfig):NpubLimiterPipeConfig {\n return (obj || new NpubLimiterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsNpubLimiterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:NpubLimiterPipeConfig):NpubLimiterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new NpubLimiterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nlimitPerNpub():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nmaxTotalNpubs():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nstatic startNpubLimiterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addLimitPerNpub(builder:flatbuffers.Builder, limitPerNpub:number) {\n builder.addFieldInt32(1, limitPerNpub, 0);\n}\n\nstatic addMaxTotalNpubs(builder:flatbuffers.Builder, maxTotalNpubs:number) {\n builder.addFieldInt32(2, maxTotalNpubs, 0);\n}\n\nstatic endNpubLimiterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createNpubLimiterPipeConfig(builder:flatbuffers.Builder, kind:number, limitPerNpub:number, maxTotalNpubs:number):flatbuffers.Offset {\n NpubLimiterPipeConfig.startNpubLimiterPipeConfig(builder);\n NpubLimiterPipeConfig.addKind(builder, kind);\n NpubLimiterPipeConfig.addLimitPerNpub(builder, limitPerNpub);\n NpubLimiterPipeConfig.addMaxTotalNpubs(builder, maxTotalNpubs);\n return NpubLimiterPipeConfig.endNpubLimiterPipeConfig(builder);\n}\n\nunpack(): NpubLimiterPipeConfigT {\n return new NpubLimiterPipeConfigT(\n this.kind(),\n this.limitPerNpub(),\n this.maxTotalNpubs()\n );\n}\n\n\nunpackTo(_o: NpubLimiterPipeConfigT): void {\n _o.kind = this.kind();\n _o.limitPerNpub = this.limitPerNpub();\n _o.maxTotalNpubs = this.maxTotalNpubs();\n}\n}\n\nexport class NpubLimiterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public limitPerNpub: number = 0,\n public maxTotalNpubs: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return NpubLimiterPipeConfig.createNpubLimiterPipeConfig(builder,\n this.kind,\n this.limitPerNpub,\n this.maxTotalNpubs\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ParsePipeConfig implements flatbuffers.IUnpackableObject<ParsePipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ParsePipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsParsePipeConfig(bb:flatbuffers.ByteBuffer, obj?:ParsePipeConfig):ParsePipeConfig {\n return (obj || new ParsePipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsParsePipeConfig(bb:flatbuffers.ByteBuffer, obj?:ParsePipeConfig):ParsePipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ParsePipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startParsePipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endParsePipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createParsePipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n ParsePipeConfig.startParsePipeConfig(builder);\n return ParsePipeConfig.endParsePipeConfig(builder);\n}\n\nunpack(): ParsePipeConfigT {\n return new ParsePipeConfigT();\n}\n\n\nunpackTo(_o: ParsePipeConfigT): void {}\n}\n\nexport class ParsePipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return ParsePipeConfig.createParsePipeConfig(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ProofVerificationPipeConfig implements flatbuffers.IUnpackableObject<ProofVerificationPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ProofVerificationPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsProofVerificationPipeConfig(bb:flatbuffers.ByteBuffer, obj?:ProofVerificationPipeConfig):ProofVerificationPipeConfig {\n return (obj || new ProofVerificationPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsProofVerificationPipeConfig(bb:flatbuffers.ByteBuffer, obj?:ProofVerificationPipeConfig):ProofVerificationPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ProofVerificationPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nmaxProofs():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nstatic startProofVerificationPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addMaxProofs(builder:flatbuffers.Builder, maxProofs:number) {\n builder.addFieldInt32(0, maxProofs, 0);\n}\n\nstatic endProofVerificationPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createProofVerificationPipeConfig(builder:flatbuffers.Builder, maxProofs:number):flatbuffers.Offset {\n ProofVerificationPipeConfig.startProofVerificationPipeConfig(builder);\n ProofVerificationPipeConfig.addMaxProofs(builder, maxProofs);\n return ProofVerificationPipeConfig.endProofVerificationPipeConfig(builder);\n}\n\nunpack(): ProofVerificationPipeConfigT {\n return new ProofVerificationPipeConfigT(\n this.maxProofs()\n );\n}\n\n\nunpackTo(_o: ProofVerificationPipeConfigT): void {\n _o.maxProofs = this.maxProofs();\n}\n}\n\nexport class ProofVerificationPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public maxProofs: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return ProofVerificationPipeConfig.createProofVerificationPipeConfig(builder,\n this.maxProofs\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class SaveToDbPipeConfig implements flatbuffers.IUnpackableObject<SaveToDbPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SaveToDbPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSaveToDbPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SaveToDbPipeConfig):SaveToDbPipeConfig {\n return (obj || new SaveToDbPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSaveToDbPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SaveToDbPipeConfig):SaveToDbPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SaveToDbPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startSaveToDbPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endSaveToDbPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createSaveToDbPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n SaveToDbPipeConfig.startSaveToDbPipeConfig(builder);\n return SaveToDbPipeConfig.endSaveToDbPipeConfig(builder);\n}\n\nunpack(): SaveToDbPipeConfigT {\n return new SaveToDbPipeConfigT();\n}\n\n\nunpackTo(_o: SaveToDbPipeConfigT): void {}\n}\n\nexport class SaveToDbPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return SaveToDbPipeConfig.createSaveToDbPipeConfig(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class SerializeEventsPipeConfig implements flatbuffers.IUnpackableObject<SerializeEventsPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SerializeEventsPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSerializeEventsPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SerializeEventsPipeConfig):SerializeEventsPipeConfig {\n return (obj || new SerializeEventsPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSerializeEventsPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SerializeEventsPipeConfig):SerializeEventsPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SerializeEventsPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startSerializeEventsPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic endSerializeEventsPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n return offset;\n}\n\nstatic createSerializeEventsPipeConfig(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset):flatbuffers.Offset {\n SerializeEventsPipeConfig.startSerializeEventsPipeConfig(builder);\n SerializeEventsPipeConfig.addSubscriptionId(builder, subscriptionIdOffset);\n return SerializeEventsPipeConfig.endSerializeEventsPipeConfig(builder);\n}\n\nunpack(): SerializeEventsPipeConfigT {\n return new SerializeEventsPipeConfigT(\n this.subscriptionId()\n );\n}\n\n\nunpackTo(_o: SerializeEventsPipeConfigT): void {\n _o.subscriptionId = this.subscriptionId();\n}\n}\n\nexport class SerializeEventsPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n\n return SerializeEventsPipeConfig.createSerializeEventsPipeConfig(builder,\n subscriptionId\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { CounterPipeConfig, CounterPipeConfigT } from '../../nostr/fb/counter-pipe-config.js';\nimport { KindFilterPipeConfig, KindFilterPipeConfigT } from '../../nostr/fb/kind-filter-pipe-config.js';\nimport { MuteFilterPipeConfig, MuteFilterPipeConfigT } from '../../nostr/fb/mute-filter-pipe-config.js';\nimport { NpubLimiterPipeConfig, NpubLimiterPipeConfigT } from '../../nostr/fb/npub-limiter-pipe-config.js';\nimport { ParsePipeConfig, ParsePipeConfigT } from '../../nostr/fb/parse-pipe-config.js';\nimport { ProofVerificationPipeConfig, ProofVerificationPipeConfigT } from '../../nostr/fb/proof-verification-pipe-config.js';\nimport { SaveToDbPipeConfig, SaveToDbPipeConfigT } from '../../nostr/fb/save-to-db-pipe-config.js';\nimport { SerializeEventsPipeConfig, SerializeEventsPipeConfigT } from '../../nostr/fb/serialize-events-pipe-config.js';\n\n\nexport enum PipeConfig {\n NONE = 0,\n ParsePipeConfig = 1,\n KindFilterPipeConfig = 2,\n CounterPipeConfig = 3,\n NpubLimiterPipeConfig = 4,\n SaveToDbPipeConfig = 5,\n SerializeEventsPipeConfig = 6,\n ProofVerificationPipeConfig = 7,\n MuteFilterPipeConfig = 8\n}\n\nexport function unionToPipeConfig(\n type: PipeConfig,\n accessor: (obj:CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig) => CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null\n): CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null {\n switch(PipeConfig[type]) {\n case 'NONE': return null; \n case 'ParsePipeConfig': return accessor(new ParsePipeConfig())! as ParsePipeConfig;\n case 'KindFilterPipeConfig': return accessor(new KindFilterPipeConfig())! as KindFilterPipeConfig;\n case 'CounterPipeConfig': return accessor(new CounterPipeConfig())! as CounterPipeConfig;\n case 'NpubLimiterPipeConfig': return accessor(new NpubLimiterPipeConfig())! as NpubLimiterPipeConfig;\n case 'SaveToDbPipeConfig': return accessor(new SaveToDbPipeConfig())! as SaveToDbPipeConfig;\n case 'SerializeEventsPipeConfig': return accessor(new SerializeEventsPipeConfig())! as SerializeEventsPipeConfig;\n case 'ProofVerificationPipeConfig': return accessor(new ProofVerificationPipeConfig())! as ProofVerificationPipeConfig;\n case 'MuteFilterPipeConfig': return accessor(new MuteFilterPipeConfig())! as MuteFilterPipeConfig;\n default: return null;\n }\n}\n\nexport function unionListToPipeConfig(\n type: PipeConfig, \n accessor: (index: number, obj:CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig) => CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null, \n index: number\n): CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null {\n switch(PipeConfig[type]) {\n case 'NONE': return null; \n case 'ParsePipeConfig': return accessor(index, new ParsePipeConfig())! as ParsePipeConfig;\n case 'KindFilterPipeConfig': return accessor(index, new KindFilterPipeConfig())! as KindFilterPipeConfig;\n case 'CounterPipeConfig': return accessor(index, new CounterPipeConfig())! as CounterPipeConfig;\n case 'NpubLimiterPipeConfig': return accessor(index, new NpubLimiterPipeConfig())! as NpubLimiterPipeConfig;\n case 'SaveToDbPipeConfig': return accessor(index, new SaveToDbPipeConfig())! as SaveToDbPipeConfig;\n case 'SerializeEventsPipeConfig': return accessor(index, new SerializeEventsPipeConfig())! as SerializeEventsPipeConfig;\n case 'ProofVerificationPipeConfig': return accessor(index, new ProofVerificationPipeConfig())! as ProofVerificationPipeConfig;\n case 'MuteFilterPipeConfig': return accessor(index, new MuteFilterPipeConfig())! as MuteFilterPipeConfig;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { CounterPipeConfig, CounterPipeConfigT } from '../../nostr/fb/counter-pipe-config.js';\nimport { KindFilterPipeConfig, KindFilterPipeConfigT } from '../../nostr/fb/kind-filter-pipe-config.js';\nimport { MuteFilterPipeConfig, MuteFilterPipeConfigT } from '../../nostr/fb/mute-filter-pipe-config.js';\nimport { NpubLimiterPipeConfig, NpubLimiterPipeConfigT } from '../../nostr/fb/npub-limiter-pipe-config.js';\nimport { ParsePipeConfig, ParsePipeConfigT } from '../../nostr/fb/parse-pipe-config.js';\nimport { PipeConfig, unionToPipeConfig, unionListToPipeConfig } from '../../nostr/fb/pipe-config.js';\nimport { ProofVerificationPipeConfig, ProofVerificationPipeConfigT } from '../../nostr/fb/proof-verification-pipe-config.js';\nimport { SaveToDbPipeConfig, SaveToDbPipeConfigT } from '../../nostr/fb/save-to-db-pipe-config.js';\nimport { SerializeEventsPipeConfig, SerializeEventsPipeConfigT } from '../../nostr/fb/serialize-events-pipe-config.js';\n\n\nexport class Pipe implements flatbuffers.IUnpackableObject<PipeT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Pipe {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPipe(bb:flatbuffers.ByteBuffer, obj?:Pipe):Pipe {\n return (obj || new Pipe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPipe(bb:flatbuffers.ByteBuffer, obj?:Pipe):Pipe {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Pipe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nconfigType():PipeConfig {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : PipeConfig.NONE;\n}\n\nconfig<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startPipe(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addConfigType(builder:flatbuffers.Builder, configType:PipeConfig) {\n builder.addFieldInt8(0, configType, PipeConfig.NONE);\n}\n\nstatic addConfig(builder:flatbuffers.Builder, configOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, configOffset, 0);\n}\n\nstatic endPipe(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // config\n return offset;\n}\n\nstatic createPipe(builder:flatbuffers.Builder, configType:PipeConfig, configOffset:flatbuffers.Offset):flatbuffers.Offset {\n Pipe.startPipe(builder);\n Pipe.addConfigType(builder, configType);\n Pipe.addConfig(builder, configOffset);\n return Pipe.endPipe(builder);\n}\n\nunpack(): PipeT {\n return new PipeT(\n this.configType(),\n (() => {\n const temp = unionToPipeConfig(this.configType(), this.config.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: PipeT): void {\n _o.configType = this.configType();\n _o.config = (() => {\n const temp = unionToPipeConfig(this.configType(), this.config.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class PipeT implements flatbuffers.IGeneratedObject {\nconstructor(\n public configType: PipeConfig = PipeConfig.NONE,\n public config: CounterPipeConfigT|KindFilterPipeConfigT|MuteFilterPipeConfigT|NpubLimiterPipeConfigT|ParsePipeConfigT|ProofVerificationPipeConfigT|SaveToDbPipeConfigT|SerializeEventsPipeConfigT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const config = builder.createObjectOffset(this.config);\n\n return Pipe.createPipe(builder,\n this.configType,\n config\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Pipe, PipeT } from '../../nostr/fb/pipe.js';\n\n\nexport class PipelineConfig implements flatbuffers.IUnpackableObject<PipelineConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PipelineConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPipelineConfig(bb:flatbuffers.ByteBuffer, obj?:PipelineConfig):PipelineConfig {\n return (obj || new PipelineConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPipelineConfig(bb:flatbuffers.ByteBuffer, obj?:PipelineConfig):PipelineConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PipelineConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npipes(index: number, obj?:Pipe):Pipe|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new Pipe()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\npipesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startPipelineConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addPipes(builder:flatbuffers.Builder, pipesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pipesOffset, 0);\n}\n\nstatic createPipesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPipesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endPipelineConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // pipes\n return offset;\n}\n\nstatic createPipelineConfig(builder:flatbuffers.Builder, pipesOffset:flatbuffers.Offset):flatbuffers.Offset {\n PipelineConfig.startPipelineConfig(builder);\n PipelineConfig.addPipes(builder, pipesOffset);\n return PipelineConfig.endPipelineConfig(builder);\n}\n\nunpack(): PipelineConfigT {\n return new PipelineConfigT(\n this.bb!.createObjList<Pipe, PipeT>(this.pipes.bind(this), this.pipesLength())\n );\n}\n\n\nunpackTo(_o: PipelineConfigT): void {\n _o.pipes = this.bb!.createObjList<Pipe, PipeT>(this.pipes.bind(this), this.pipesLength());\n}\n}\n\nexport class PipelineConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pipes: (PipeT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pipes = PipelineConfig.createPipesVector(builder, builder.createObjectOffsetList(this.pipes));\n\n return PipelineConfig.createPipelineConfig(builder,\n pipes\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { PipelineConfig, PipelineConfigT } from '../../nostr/fb/pipeline-config.js';\n\n\nexport class SubscriptionConfig implements flatbuffers.IUnpackableObject<SubscriptionConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SubscriptionConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSubscriptionConfig(bb:flatbuffers.ByteBuffer, obj?:SubscriptionConfig):SubscriptionConfig {\n return (obj || new SubscriptionConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSubscriptionConfig(bb:flatbuffers.ByteBuffer, obj?:SubscriptionConfig):SubscriptionConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SubscriptionConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npipeline(obj?:PipelineConfig):PipelineConfig|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new PipelineConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\ncloseOnEose():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\ncacheFirst():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : true;\n}\n\ntimeoutMs():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nmaxEvents():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nskipCache():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nforce():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nbytesPerEvent():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nisSlow():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\npagination(): ByteString|null\npagination(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npagination(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startSubscriptionConfig(builder:flatbuffers.Builder) {\n builder.startObject(10);\n}\n\nstatic addPipeline(builder:flatbuffers.Builder, pipelineOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pipelineOffset, 0);\n}\n\nstatic addCloseOnEose(builder:flatbuffers.Builder, closeOnEose:boolean) {\n builder.addFieldInt8(1, +closeOnEose, +false);\n}\n\nstatic addCacheFirst(builder:flatbuffers.Builder, cacheFirst:boolean) {\n builder.addFieldInt8(2, +cacheFirst, +true);\n}\n\nstatic addTimeoutMs(builder:flatbuffers.Builder, timeoutMs:bigint) {\n builder.addFieldInt64(3, timeoutMs, BigInt('0'));\n}\n\nstatic addMaxEvents(builder:flatbuffers.Builder, maxEvents:number) {\n builder.addFieldInt32(4, maxEvents, 0);\n}\n\nstatic addSkipCache(builder:flatbuffers.Builder, skipCache:boolean) {\n builder.addFieldInt8(5, +skipCache, +false);\n}\n\nstatic addForce(builder:flatbuffers.Builder, force:boolean) {\n builder.addFieldInt8(6, +force, +false);\n}\n\nstatic addBytesPerEvent(builder:flatbuffers.Builder, bytesPerEvent:number) {\n builder.addFieldInt32(7, bytesPerEvent, 0);\n}\n\nstatic addIsSlow(builder:flatbuffers.Builder, isSlow:boolean) {\n builder.addFieldInt8(8, +isSlow, +false);\n}\n\nstatic addPagination(builder:flatbuffers.Builder, paginationOffset:flatbuffers.Offset) {\n builder.addFieldOffset(9, paginationOffset, 0);\n}\n\nstatic endSubscriptionConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createSubscriptionConfig(builder:flatbuffers.Builder, pipelineOffset:flatbuffers.Offset, closeOnEose:boolean, cacheFirst:boolean, timeoutMs:bigint, maxEvents:number, skipCache:boolean, force:boolean, bytesPerEvent:number, isSlow:boolean, paginationOffset:flatbuffers.Offset):flatbuffers.Offset {\n SubscriptionConfig.startSubscriptionConfig(builder);\n SubscriptionConfig.addPipeline(builder, pipelineOffset);\n SubscriptionConfig.addCloseOnEose(builder, closeOnEose);\n SubscriptionConfig.addCacheFirst(builder, cacheFirst);\n SubscriptionConfig.addTimeoutMs(builder, timeoutMs);\n SubscriptionConfig.addMaxEvents(builder, maxEvents);\n SubscriptionConfig.addSkipCache(builder, skipCache);\n SubscriptionConfig.addForce(builder, force);\n SubscriptionConfig.addBytesPerEvent(builder, bytesPerEvent);\n SubscriptionConfig.addIsSlow(builder, isSlow);\n SubscriptionConfig.addPagination(builder, paginationOffset);\n return SubscriptionConfig.endSubscriptionConfig(builder);\n}\n\nunpack(): SubscriptionConfigT {\n return new SubscriptionConfigT(\n (this.pipeline() !== null ? this.pipeline()!.unpack() : null),\n this.closeOnEose(),\n this.cacheFirst(),\n this.timeoutMs(),\n this.maxEvents(),\n this.skipCache(),\n this.force(),\n this.bytesPerEvent(),\n this.isSlow(),\n this.pagination()\n );\n}\n\n\nunpackTo(_o: SubscriptionConfigT): void {\n _o.pipeline = (this.pipeline() !== null ? this.pipeline()!.unpack() : null);\n _o.closeOnEose = this.closeOnEose();\n _o.cacheFirst = this.cacheFirst();\n _o.timeoutMs = this.timeoutMs();\n _o.maxEvents = this.maxEvents();\n _o.skipCache = this.skipCache();\n _o.force = this.force();\n _o.bytesPerEvent = this.bytesPerEvent();\n _o.isSlow = this.isSlow();\n _o.pagination = this.pagination();\n}\n}\n\nexport class SubscriptionConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pipeline: PipelineConfigT|null = null,\n public closeOnEose: boolean = false,\n public cacheFirst: boolean = true,\n public timeoutMs: bigint = BigInt('0'),\n public maxEvents: number = 0,\n public skipCache: boolean = false,\n public force: boolean = false,\n public bytesPerEvent: number = 0,\n public isSlow: boolean = false,\n public pagination: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pipeline = (this.pipeline !== null ? this.pipeline!.pack(builder) : 0);\n const pagination = (this.pagination !== null ? builder.createString(this.pagination!) : 0);\n\n return SubscriptionConfig.createSubscriptionConfig(builder,\n pipeline,\n this.closeOnEose,\n this.cacheFirst,\n this.timeoutMs,\n this.maxEvents,\n this.skipCache,\n this.force,\n this.bytesPerEvent,\n this.isSlow,\n pagination\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Request, RequestT } from '../../nostr/fb/request.js';\nimport { SubscriptionConfig, SubscriptionConfigT } from '../../nostr/fb/subscription-config.js';\n\n\nexport class Subscribe implements flatbuffers.IUnpackableObject<SubscribeT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Subscribe {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSubscribe(bb:flatbuffers.ByteBuffer, obj?:Subscribe):Subscribe {\n return (obj || new Subscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSubscribe(bb:flatbuffers.ByteBuffer, obj?:Subscribe):Subscribe {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Subscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrequests(index: number, obj?:Request):Request|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Request()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nrequestsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nconfig(obj?:SubscriptionConfig):SubscriptionConfig|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new SubscriptionConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startSubscribe(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic addRequests(builder:flatbuffers.Builder, requestsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, requestsOffset, 0);\n}\n\nstatic createRequestsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRequestsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addConfig(builder:flatbuffers.Builder, configOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, configOffset, 0);\n}\n\nstatic endSubscribe(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n builder.requiredField(offset, 6) // requests\n builder.requiredField(offset, 8) // config\n return offset;\n}\n\n\nunpack(): SubscribeT {\n return new SubscribeT(\n this.subscriptionId(),\n this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength()),\n (this.config() !== null ? this.config()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: SubscribeT): void {\n _o.subscriptionId = this.subscriptionId();\n _o.requests = this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength());\n _o.config = (this.config() !== null ? this.config()!.unpack() : null);\n}\n}\n\nexport class SubscribeT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null,\n public requests: (RequestT)[] = [],\n public config: SubscriptionConfigT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n const requests = Subscribe.createRequestsVector(builder, builder.createObjectOffsetList(this.requests));\n const config = (this.config !== null ? this.config!.pack(builder) : 0);\n\n Subscribe.startSubscribe(builder);\n Subscribe.addSubscriptionId(builder, subscriptionId);\n Subscribe.addRequests(builder, requests);\n Subscribe.addConfig(builder, config);\n\n return Subscribe.endSubscribe(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Unsubscribe implements flatbuffers.IUnpackableObject<UnsubscribeT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Unsubscribe {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsUnsubscribe(bb:flatbuffers.ByteBuffer, obj?:Unsubscribe):Unsubscribe {\n return (obj || new Unsubscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsUnsubscribe(bb:flatbuffers.ByteBuffer, obj?:Unsubscribe):Unsubscribe {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Unsubscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startUnsubscribe(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic endUnsubscribe(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n return offset;\n}\n\nstatic createUnsubscribe(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset):flatbuffers.Offset {\n Unsubscribe.startUnsubscribe(builder);\n Unsubscribe.addSubscriptionId(builder, subscriptionIdOffset);\n return Unsubscribe.endUnsubscribe(builder);\n}\n\nunpack(): UnsubscribeT {\n return new UnsubscribeT(\n this.subscriptionId()\n );\n}\n\n\nunpackTo(_o: UnsubscribeT): void {\n _o.subscriptionId = this.subscriptionId();\n}\n}\n\nexport class UnsubscribeT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n\n return Unsubscribe.createUnsubscribe(builder,\n subscriptionId\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { GetPublicKey, GetPublicKeyT } from '../../nostr/fb/get-public-key.js';\nimport { Publish, PublishT } from '../../nostr/fb/publish.js';\nimport { SetSigner, SetSignerT } from '../../nostr/fb/set-signer.js';\nimport { SignEvent, SignEventT } from '../../nostr/fb/sign-event.js';\nimport { Subscribe, SubscribeT } from '../../nostr/fb/subscribe.js';\nimport { Unsubscribe, UnsubscribeT } from '../../nostr/fb/unsubscribe.js';\n\n\nexport enum MainContent {\n NONE = 0,\n Subscribe = 1,\n Unsubscribe = 2,\n Publish = 3,\n SignEvent = 4,\n SetSigner = 5,\n GetPublicKey = 6\n}\n\nexport function unionToMainContent(\n type: MainContent,\n accessor: (obj:GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe) => GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null\n): GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null {\n switch(MainContent[type]) {\n case 'NONE': return null; \n case 'Subscribe': return accessor(new Subscribe())! as Subscribe;\n case 'Unsubscribe': return accessor(new Unsubscribe())! as Unsubscribe;\n case 'Publish': return accessor(new Publish())! as Publish;\n case 'SignEvent': return accessor(new SignEvent())! as SignEvent;\n case 'SetSigner': return accessor(new SetSigner())! as SetSigner;\n case 'GetPublicKey': return accessor(new GetPublicKey())! as GetPublicKey;\n default: return null;\n }\n}\n\nexport function unionListToMainContent(\n type: MainContent, \n accessor: (index: number, obj:GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe) => GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null, \n index: number\n): GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null {\n switch(MainContent[type]) {\n case 'NONE': return null; \n case 'Subscribe': return accessor(index, new Subscribe())! as Subscribe;\n case 'Unsubscribe': return accessor(index, new Unsubscribe())! as Unsubscribe;\n case 'Publish': return accessor(index, new Publish())! as Publish;\n case 'SignEvent': return accessor(index, new SignEvent())! as SignEvent;\n case 'SetSigner': return accessor(index, new SetSigner())! as SetSigner;\n case 'GetPublicKey': return accessor(index, new GetPublicKey())! as GetPublicKey;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { GetPublicKey, GetPublicKeyT } from '../../nostr/fb/get-public-key.js';\nimport { MainContent, unionToMainContent, unionListToMainContent } from '../../nostr/fb/main-content.js';\nimport { Publish, PublishT } from '../../nostr/fb/publish.js';\nimport { SetSigner, SetSignerT } from '../../nostr/fb/set-signer.js';\nimport { SignEvent, SignEventT } from '../../nostr/fb/sign-event.js';\nimport { Subscribe, SubscribeT } from '../../nostr/fb/subscribe.js';\nimport { Unsubscribe, UnsubscribeT } from '../../nostr/fb/unsubscribe.js';\n\n\nexport class MainMessage implements flatbuffers.IUnpackableObject<MainMessageT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MainMessage {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMainMessage(bb:flatbuffers.ByteBuffer, obj?:MainMessage):MainMessage {\n return (obj || new MainMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMainMessage(bb:flatbuffers.ByteBuffer, obj?:MainMessage):MainMessage {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MainMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontentType():MainContent {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : MainContent.NONE;\n}\n\ncontent<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startMainMessage(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addContentType(builder:flatbuffers.Builder, contentType:MainContent) {\n builder.addFieldInt8(0, contentType, MainContent.NONE);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, contentOffset, 0);\n}\n\nstatic endMainMessage(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // content\n return offset;\n}\n\nstatic createMainMessage(builder:flatbuffers.Builder, contentType:MainContent, contentOffset:flatbuffers.Offset):flatbuffers.Offset {\n MainMessage.startMainMessage(builder);\n MainMessage.addContentType(builder, contentType);\n MainMessage.addContent(builder, contentOffset);\n return MainMessage.endMainMessage(builder);\n}\n\nunpack(): MainMessageT {\n return new MainMessageT(\n this.contentType(),\n (() => {\n const temp = unionToMainContent(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: MainMessageT): void {\n _o.contentType = this.contentType();\n _o.content = (() => {\n const temp = unionToMainContent(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class MainMessageT implements flatbuffers.IGeneratedObject {\nconstructor(\n public contentType: MainContent = MainContent.NONE,\n public content: GetPublicKeyT|PublishT|SetSignerT|SignEventT|SubscribeT|UnsubscribeT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = builder.createObjectOffset(this.content);\n\n return MainMessage.createMainMessage(builder,\n this.contentType,\n content\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum ParsedDataUnion {\n Kind0Parsed = 0,\n Kind1Parsed = 1,\n Kind3Parsed = 3,\n Kind4Parsed = 4,\n Kind6Parsed = 6,\n Kind7Parsed = 7,\n Kind17Parsed = 17,\n Kind20Parsed = 20,\n Kind22Parsed = 22,\n Kind1111Parsed = 1111,\n Kind1311Parsed = 1311,\n Kind7374Parsed = 7374,\n Kind7375Parsed = 7375,\n Kind7376Parsed = 7376,\n Kind9321Parsed = 9321,\n Kind9735Parsed = 9735,\n Kind10002Parsed = 10002,\n Kind10019Parsed = 10019,\n Kind17375Parsed = 17375,\n Kind30023Parsed = 30023,\n Kind39089Parsed = 39089,\n ListParsed = 51000,\n PreGenericParsed = 52000\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum SignerOp {\n GetPubkey = 0,\n SignEvent = 1,\n Nip04Encrypt = 2,\n Nip04Decrypt = 3,\n Nip44Encrypt = 4,\n Nip44Decrypt = 5,\n Nip04DecryptBetween = 6,\n Nip44DecryptBetween = 7,\n VerifyProof = 8,\n AuthEvent = 9\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { SignerOp } from '../../nostr/fb/signer-op.js';\n\n\nexport class SignerRequest implements flatbuffers.IUnpackableObject<SignerRequestT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SignerRequest {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSignerRequest(bb:flatbuffers.ByteBuffer, obj?:SignerRequest):SignerRequest {\n return (obj || new SignerRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSignerRequest(bb:flatbuffers.ByteBuffer, obj?:SignerRequest):SignerRequest {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SignerRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nrequestId():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nop():SignerOp {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : SignerOp.GetPubkey;\n}\n\npayload(): ByteString|null\npayload(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npayload(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nsenderPubkey(): ByteString|null\nsenderPubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsenderPubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrecipientPubkey(): ByteString|null\nrecipientPubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nrecipientPubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startSignerRequest(builder:flatbuffers.Builder) {\n builder.startObject(6);\n}\n\nstatic addRequestId(builder:flatbuffers.Builder, requestId:bigint) {\n builder.addFieldInt64(0, requestId, BigInt('0'));\n}\n\nstatic addOp(builder:flatbuffers.Builder, op:SignerOp) {\n builder.addFieldInt32(1, op, SignerOp.GetPubkey);\n}\n\nstatic addPayload(builder:flatbuffers.Builder, payloadOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, payloadOffset, 0);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, pubkeyOffset, 0);\n}\n\nstatic addSenderPubkey(builder:flatbuffers.Builder, senderPubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, senderPubkeyOffset, 0);\n}\n\nstatic addRecipientPubkey(builder:flatbuffers.Builder, recipientPubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(5, recipientPubkeyOffset, 0);\n}\n\nstatic endSignerRequest(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createSignerRequest(builder:flatbuffers.Builder, requestId:bigint, op:SignerOp, payloadOffset:flatbuffers.Offset, pubkeyOffset:flatbuffers.Offset, senderPubkeyOffset:flatbuffers.Offset, recipientPubkeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n SignerRequest.startSignerRequest(builder);\n SignerRequest.addRequestId(builder, requestId);\n SignerRequest.addOp(builder, op);\n SignerRequest.addPayload(builder, payloadOffset);\n SignerRequest.addPubkey(builder, pubkeyOffset);\n SignerRequest.addSenderPubkey(builder, senderPubkeyOffset);\n SignerRequest.addRecipientPubkey(builder, recipientPubkeyOffset);\n return SignerRequest.endSignerRequest(builder);\n}\n\nunpack(): SignerRequestT {\n return new SignerRequestT(\n this.requestId(),\n this.op(),\n this.payload(),\n this.pubkey(),\n this.senderPubkey(),\n this.recipientPubkey()\n );\n}\n\n\nunpackTo(_o: SignerRequestT): void {\n _o.requestId = this.requestId();\n _o.op = this.op();\n _o.payload = this.payload();\n _o.pubkey = this.pubkey();\n _o.senderPubkey = this.senderPubkey();\n _o.recipientPubkey = this.recipientPubkey();\n}\n}\n\nexport class SignerRequestT implements flatbuffers.IGeneratedObject {\nconstructor(\n public requestId: bigint = BigInt('0'),\n public op: SignerOp = SignerOp.GetPubkey,\n public payload: ByteString|Uint8Array|null = null,\n public pubkey: ByteString|Uint8Array|null = null,\n public senderPubkey: ByteString|Uint8Array|null = null,\n public recipientPubkey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const payload = (this.payload !== null ? builder.createString(this.payload!) : 0);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n const senderPubkey = (this.senderPubkey !== null ? builder.createString(this.senderPubkey!) : 0);\n const recipientPubkey = (this.recipientPubkey !== null ? builder.createString(this.recipientPubkey!) : 0);\n\n return SignerRequest.createSignerRequest(builder,\n this.requestId,\n this.op,\n payload,\n pubkey,\n senderPubkey,\n recipientPubkey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class SignerResponse implements flatbuffers.IUnpackableObject<SignerResponseT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SignerResponse {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSignerResponse(bb:flatbuffers.ByteBuffer, obj?:SignerResponse):SignerResponse {\n return (obj || new SignerResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSignerResponse(bb:flatbuffers.ByteBuffer, obj?:SignerResponse):SignerResponse {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SignerResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nrequestId():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nresult(): ByteString|null\nresult(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nresult(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nerror(): ByteString|null\nerror(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nerror(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startSignerResponse(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addRequestId(builder:flatbuffers.Builder, requestId:bigint) {\n builder.addFieldInt64(0, requestId, BigInt('0'));\n}\n\nstatic addResult(builder:flatbuffers.Builder, resultOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, resultOffset, 0);\n}\n\nstatic addError(builder:flatbuffers.Builder, errorOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, errorOffset, 0);\n}\n\nstatic endSignerResponse(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createSignerResponse(builder:flatbuffers.Builder, requestId:bigint, resultOffset:flatbuffers.Offset, errorOffset:flatbuffers.Offset):flatbuffers.Offset {\n SignerResponse.startSignerResponse(builder);\n SignerResponse.addRequestId(builder, requestId);\n SignerResponse.addResult(builder, resultOffset);\n SignerResponse.addError(builder, errorOffset);\n return SignerResponse.endSignerResponse(builder);\n}\n\nunpack(): SignerResponseT {\n return new SignerResponseT(\n this.requestId(),\n this.result(),\n this.error()\n );\n}\n\n\nunpackTo(_o: SignerResponseT): void {\n _o.requestId = this.requestId();\n _o.result = this.result();\n _o.error = this.error();\n}\n}\n\nexport class SignerResponseT implements flatbuffers.IGeneratedObject {\nconstructor(\n public requestId: bigint = BigInt('0'),\n public result: ByteString|Uint8Array|null = null,\n public error: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const result = (this.result !== null ? builder.createString(this.result!) : 0);\n const error = (this.error !== null ? builder.createString(this.error!) : 0);\n\n return SignerResponse.createSignerResponse(builder,\n this.requestId,\n result,\n error\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum SubscribeKind {\n CachedEvent = 0,\n FetchedEvent = 1,\n Count = 2,\n ConnectionStatus = 3,\n Eoce = 4,\n BufferFull = 5\n}\n","import { ByteBuffer } from 'flatbuffers';\nimport { WorkerMessage } from 'src/generated/nostr/fb';\n\n/**\n * Utility library for reading from ArrayBuffer with 4-byte header approach\n * Header format: [0-3]: Write position (4 bytes, little endian)\n * Data format: [4+]: [4-byte length][FlatBuffer message][4-byte length][FlatBuffer message]...\n * \n * Utility for reading from ArrayBuffer with 4-byte header approach.\n * Used for MessageChannel-based communication between main thread and workers.\n */\nexport class ArrayBufferReader {\n\t/**\n\t * Initialize a buffer for writing - sets the write position header to 4\n\t * @param buffer The ArrayBuffer to initialize\n\t */\n\tstatic initializeBuffer(buffer: ArrayBuffer): void {\n\t\tconst view = new DataView(buffer);\n\t\t// Set initial write position to 4 (right after the header)\n\t\tview.setUint32(0, 4, true);\n\t}\n\n\t/**\n\t * Write a message to the ArrayBuffer\n\t * @param buffer The ArrayBuffer to write to\n\t * @param data The data to write (already encoded as Uint8Array)\n\t * @returns True if written successfully, false if buffer is full\n\t */\n\tstatic writeMessage(buffer: ArrayBuffer, data: Uint8Array): boolean {\n\t\tconst view = new DataView(buffer);\n\t\tconst uint8View = new Uint8Array(buffer);\n\n\t\t// Get current write position\n\t\tconst currentWritePosition = view.getUint32(0, true);\n\n\t\t// Check if there's enough space (4 bytes for length + data length)\n\t\tconst requiredSpace = 4 + data.length;\n\t\tif (currentWritePosition + requiredSpace > buffer.byteLength) {\n\t\t\tconsole.warn('Buffer full, cannot write message');\n\t\t\treturn false;\n\t\t}\n\n\t\t// Write the length prefix (4 bytes, little endian)\n\t\tview.setUint32(currentWritePosition, data.length, true);\n\n\t\t// Write the actual data\n\t\tuint8View.set(data, currentWritePosition + 4);\n\n\t\t// Update the write position header\n\t\tconst newWritePosition = currentWritePosition + requiredSpace;\n\t\tview.setUint32(0, newWritePosition, true);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Write raw batched data (already length-prefixed) to the ArrayBuffer.\n\t * Use this when the data already contains [4-byte len][payload] format.\n\t * @param buffer The ArrayBuffer to write to\n\t * @param data The batched data (already with length prefixes)\n\t * @returns True if written successfully, false if buffer is full\n\t */\n\tstatic writeBatchedData(buffer: ArrayBuffer, data: Uint8Array, _debugId?: string): boolean {\n\t\tconst view = new DataView(buffer);\n\t\tconst uint8View = new Uint8Array(buffer);\n\n\t\t// Get current write position\n\t\tconst currentWritePosition = view.getUint32(0, true);\n\n\t\t// Check if there's enough space\n\t\tif (currentWritePosition + data.length > buffer.byteLength) {\n\t\t\tconsole.warn(\n\t\t\t\t`[ArrayBufferReader] Dropping ${_debugId ? `event for subscription '${_debugId}'` : 'event'}: ` +\n\t\t\t\t`buffer full (${currentWritePosition}/${buffer.byteLength} bytes used, ` +\n\t\t\t\t`need ${data.length} more bytes). ` +\n\t\t\t\t`Consider increasing 'bytesPerEvent' or reducing subscription limits.`\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// Write the data directly (it's already length-prefixed)\n\t\tuint8View.set(data, currentWritePosition);\n\n\t\t// Update the write position header\n\t\tconst newWritePosition = currentWritePosition + data.length;\n\t\tview.setUint32(0, newWritePosition, true);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Read new messages from ArrayBuffer since last read position\n\t * @param buffer The ArrayBuffer to read from\n\t * @param lastReadPosition Last position read (default: 0, meaning read from beginning)\n\t * @returns Object containing new messages and updated read position\n\t */\n\tstatic readMessages(buffer: ArrayBuffer, lastReadPosition: number = 0, _debugId?: string) {\n\t\tconst view = new DataView(buffer);\n\t\tconst uint8View = new Uint8Array(buffer);\n\n\t\tconst currentWritePosition = view.getUint32(0, true);\n\t\tconst dataStartOffset = 4;\n\t\tlet currentPos = lastReadPosition < dataStartOffset ? dataStartOffset : lastReadPosition;\n\t\tif (currentWritePosition <= currentPos) {\n\t\t\treturn { messages: [], newReadPosition: currentPos, hasNewData: false };\n\t\t}\n\n\t\tconst maxMessages = 128;\n\t\tconst messages: WorkerMessage[] = new Array(maxMessages);\n\t\tlet msgCount = 0;\n\n\t\ttry {\n\t\t\twhile (currentPos < currentWritePosition) {\n\t\t\t\t// Stop if we've filled this batch; leave currentPos at the start of the next message\n\t\t\t\tif (msgCount >= maxMessages) break;\n\n\t\t\t\t// Need enough bytes for header\n\t\t\t\tif (currentPos + 4 > currentWritePosition) break;\n\n\t\t\t\tconst headerPos = currentPos;\n\t\t\t\tconst eventLength = view.getUint32(headerPos, true);\n\t\t\t\tconst payloadStart = headerPos + 4;\n\t\t\t\tconst nextPos = payloadStart + eventLength;\n\n\t\t\t\t// Need the full payload to be available\n\t\t\t\tif (nextPos > currentWritePosition) break;\n\n\t\t\t\t// Create a copy of the data since ArrayBuffer is not shared\n\t\t\t\tconst flatBufferData = new Uint8Array(uint8View.subarray(payloadStart, nextPos));\n\n\t\t\t\t// Parse directly\n\t\t\t\tconst bb = new ByteBuffer(flatBufferData);\n\t\t\t\tconst message = WorkerMessage.getRootAsWorkerMessage(bb);\n\n\t\t\t\tmessages[msgCount++] = message;\n\n\t\t\t\t// Advance to next message boundary\n\t\t\t\tcurrentPos = nextPos;\n\t\t\t}\n\n\t\t\tmessages.length = msgCount;\n\t\t\treturn {\n\t\t\t\tmessages,\n\t\t\t\tnewReadPosition: currentPos,\n\t\t\t\thasNewData: msgCount > 0\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to decode FlatBuffer data from ArrayBuffer:', error);\n\t\t\tmessages.length = msgCount;\n\t\t\treturn {\n\t\t\t\tmessages,\n\t\t\t\tnewReadPosition: lastReadPosition < dataStartOffset ? dataStartOffset : lastReadPosition,\n\t\t\t\thasNewData: false\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * Read all messages from ArrayBuffer from the beginning (ignores lastReadPosition)\n\t * @param buffer The ArrayBuffer to read from\n\t * @returns Object containing all messages in the buffer\n\t */\n\tstatic readAllMessages(buffer: ArrayBuffer): {\n\t\tmessages: WorkerMessage[];\n\t\ttotalMessages: number;\n\t} {\n\t\tconst result = this.readMessages(buffer, 0); // Always start from beginning\n\t\treturn {\n\t\t\tmessages: result.messages,\n\t\t\ttotalMessages: result.messages.length\n\t\t};\n\t}\n\n\t/**\n\t * Get current write position from buffer header\n\t * @param buffer The ArrayBuffer to read from\n\t * @returns Current write position\n\t */\n\tstatic getCurrentWritePosition(buffer: ArrayBuffer): number {\n\t\tconst view = new DataView(buffer);\n\t\treturn view.getUint32(0, true);\n\t}\n\n\t/**\n\t * Check if buffer has new data since last read\n\t * @param buffer The ArrayBuffer to check\n\t * @param lastReadPosition Last position read\n\t * @returns True if there's new data to read\n\t */\n\tstatic hasNewData(buffer: ArrayBuffer, lastReadPosition: number): boolean {\n\t\tconst currentWritePosition = this.getCurrentWritePosition(buffer);\n\t\tconst dataStartOffset = 4;\n\t\tconst actualLastReadPosition = Math.max(lastReadPosition, dataStartOffset);\n\t\treturn currentWritePosition > actualLastReadPosition;\n\t}\n\n\t/**\n\t * Calculate recommended buffer size based on request limits\n\t * @param totalEventLimit Total expected events across all requests\n\t * @param bytesPerEvent Estimated bytes per event (default: 3072)\n\t * @returns Recommended buffer size in bytes\n\t */\n\tstatic calculateBufferSize(totalEventLimit: number = 100, bytesPerEvent: number = 3072): number {\n\t\tconst headerSize = 4;\n\t\tconst dataSize = totalEventLimit * bytesPerEvent;\n\t\tconst overhead = Math.floor(dataSize * 0.25); // 25% overhead\n\t\treturn headerSize + dataSize + overhead;\n\t}\n}\n","/**\n * Nostr utilities for PRE/RE list/set helpers on the frontend (TypeScript).\n *\n * This module provides:\n * - d-tag generation (slug or random)\n * - a-pointer computation (kind:pubkey_hex:d)\n * - naddr-like computation (human-readable, non-bech32 placeholder)\n *\n * Notes:\n * - naddr-like is NOT a real bech32-encoded naddr. It’s a convenient string to\n * carry the same tuple (\"kind:pubkey:d\") plus optional relays for UI/links.\n * - If/when you wire a proper NIP-19 encoder, replace naddr-like with a true naddr.\n */\n\nimport { nip19 } from 'nostr-tools';\n\nexport type NostrTag = [string, ...string[]];\n\n/* ---------------------------- NIP-19 naddr helpers --------------------------- */\n\n/**\n * Build a NIP-19 naddr (bech32) from PRE tuple.\n * Relays are optional; pass when available to help clients.\n */\nexport function makeNaddr(\n\tkind: number,\n\tpubkeyHex: string,\n\td: string,\n\trelays?: string[] | null\n): string {\n\tif (!Number.isInteger(kind) || kind < 0 || kind > 0xffff) {\n\t\tthrow new Error(`Invalid kind: ${kind}`);\n\t}\n\tif (!isHex64(pubkeyHex)) {\n\t\tthrow new Error(`Invalid pubkey hex (expected 64 lowercase hex chars): ${pubkeyHex}`);\n\t}\n\tif (!d || typeof d !== 'string') {\n\t\tthrow new Error(`Invalid d tag: ${d}`);\n\t}\n\treturn nip19.naddrEncode({\n\t\tidentifier: d,\n\t\tkind,\n\t\tpubkey: pubkeyHex,\n\t\trelays: relays && relays.length ? relays : undefined\n\t} as any);\n}\n\n/**\n * Build a NIP-19 naddr for an event. Requires that \"d\" is present (PRE).\n */\nexport function makeNaddrForEvent(evt: NostrEventMinimal, relays?: string[] | null): string {\n\tconst d = extractDFromTags(evt.tags);\n\tif (!d) {\n\t\tthrow new Error(`Missing \"d\" tag for PRE event of kind ${evt.kind}`);\n\t}\n\treturn makeNaddr(evt.kind, evt.pubkey, d, relays);\n}\n\n/**\n * Parse a NIP-19 naddr into tuple and (optionally) relays.\n */\nexport function parseNaddr(naddr: string): {\n\tkind: number;\n\tpubkey: string;\n\td: string;\n\trelays?: string[];\n} {\n\tconst decoded = nip19.decode(naddr);\n\tif (decoded.type !== 'naddr') {\n\t\tthrow new Error(`Invalid naddr type: ${decoded.type}`);\n\t}\n\tconst { identifier, kind, pubkey, relays } = decoded.data as any;\n\treturn {\n\t\tkind,\n\t\tpubkey,\n\t\td: identifier,\n\t\trelays\n\t};\n}\n\nexport interface NostrEventMinimal {\n\tkind: number;\n\tpubkey: string; // 64-char hex\n\ttags: NostrTag[];\n}\n\nexport interface APointer {\n\tkind: number;\n\tpubkey: string; // hex\n\td: string;\n}\n\n/* -------------------------------- Utilities -------------------------------- */\n\nexport function isHex64(s: string): boolean {\n\treturn /^[0-9a-f]{64}$/.test(s);\n}\n\n/**\n * Normalize a string to a NIP-54-style slug:\n * - Lowercase\n * - Replace any non-letter/digit with \"-\"\n * - Collapse multiple \"-\" into one\n * - Trim leading/trailing \"-\"\n */\nexport function normalizeSlug(input: string): string {\n\tconst lower = input.toLowerCase();\n\tconst replaced = lower.replace(/[^a-z0-9]+/g, '-');\n\tconst collapsed = replaced.replace(/-+/g, '-');\n\treturn collapsed.replace(/^-+|-+$/g, '');\n}\n\n/**\n * Generate a random, URL-safe identifier for \"d\" tag.\n * Uses crypto.getRandomValues if available; falls back to Math.random (weaker).\n */\nexport function randomId(bytes: number = 9): string {\n\tconst len = Math.max(1, Math.min(bytes, 64));\n\tlet arr: Uint8Array;\n\tif (typeof globalThis !== 'undefined' && globalThis.crypto?.getRandomValues) {\n\t\tarr = new Uint8Array(len);\n\t\tglobalThis.crypto.getRandomValues(arr);\n\t} else {\n\t\t// Fallback: not cryptographically strong\n\t\tarr = new Uint8Array(len);\n\t\tfor (let i = 0; i < len; i++) {\n\t\t\tarr[i] = Math.floor(Math.random() * 256);\n\t\t}\n\t}\n\t// Base64url encode without padding\n\tlet b64 =\n\t\ttypeof Buffer !== 'undefined'\n\t\t\t? Buffer.from(arr).toString('base64')\n\t\t\t: btoa(String.fromCharCode(...arr));\n\treturn b64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/g, '');\n}\n\n/* ------------------------------- d tag helpers ------------------------------ */\n\n/**\n * Extract \"d\" tag value from an event’s tags, if any.\n */\nexport function extractDFromTags(tags: NostrTag[]): string | undefined {\n\tfor (const t of tags) {\n\t\tif (t[0] === 'd' && typeof t[1] === 'string' && t[1].length > 0) {\n\t\t\treturn t[1];\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Ensure a \"d\" identifier for a PRE event.\n * - If tags already contain a \"d\", return it.\n * - If a source string is given, return a normalized slug from it.\n * - Otherwise, return a random ID.\n */\nexport function ensureD(\n\ttags: NostrTag[],\n\tsource?: string | null,\n\toptions?: { randomBytes?: number }\n): string {\n\tconst existing = extractDFromTags(tags);\n\tif (existing) return existing;\n\tif (source && source.trim().length > 0) {\n\t\tconst slug = normalizeSlug(source.trim());\n\t\treturn slug.length > 0 ? slug : randomId(options?.randomBytes ?? 9);\n\t}\n\treturn randomId(options?.randomBytes ?? 9);\n}\n\n/* ---------------------------- a-pointer (kind:d) ---------------------------- */\n\n/**\n * Compute the \"a\" pointer string \"kind:pubkey_hex:d\".\n */\nexport function makeAPointer(kind: number, pubkeyHex: string, d: string): string {\n\tif (!Number.isInteger(kind) || kind < 0 || kind > 0xffff) {\n\t\tthrow new Error(`Invalid kind: ${kind}`);\n\t}\n\tif (!isHex64(pubkeyHex)) {\n\t\tthrow new Error(`Invalid pubkey hex (expected 64 lowercase hex chars): ${pubkeyHex}`);\n\t}\n\tif (!d || typeof d !== 'string') {\n\t\tthrow new Error(`Invalid d tag: ${d}`);\n\t}\n\treturn `${kind}:${pubkeyHex}:${d}`;\n}\n\n/**\n * Parse an \"a\" pointer \"kind:pubkey_hex:d\".\n */\nexport function parseAPointer(a: string): APointer {\n\tconst parts = a.split(':');\n\tif (parts.length !== 3) {\n\t\tthrow new Error(`Invalid a-pointer format: ${a}`);\n\t}\n\tconst kind = Number(parts[0]);\n\tconst pubkey = parts[1];\n\tconst d = parts[2];\n\tif (!Number.isInteger(kind)) {\n\t\tthrow new Error(`Invalid kind in a-pointer: ${parts[0]}`);\n\t}\n\tif (!isHex64(pubkey)) {\n\t\tthrow new Error(`Invalid pubkey in a-pointer: ${pubkey}`);\n\t}\n\tif (!d) {\n\t\tthrow new Error(`Invalid d in a-pointer: ${d}`);\n\t}\n\treturn { kind, pubkey, d };\n}\n\n/**\n * Build an \"a\" pointer for an event. Requires that \"d\" is present (PRE).\n */\nexport function makeAPointerForEvent(evt: NostrEventMinimal): string {\n\tconst d = extractDFromTags(evt.tags);\n\tif (!d) {\n\t\tthrow new Error(`Missing \"d\" tag for PRE event of kind ${evt.kind}`);\n\t}\n\treturn makeAPointer(evt.kind, evt.pubkey, d);\n}\n\n/* ------------------------------ naddr-like (UI) ----------------------------- */\n\n/**\n * Compute a human-friendly \"naddr-like\" string that carries the tuple\n * (kind, pubkey, d) with optional relays, without doing bech32 encoding.\n *\n * Format:\n * naddr-like:kind:pubkey_hex:d[?relays=relay1,relay2,...]\n *\n * This is useful as a placeholder until a proper NIP-19 encoder is available.\n */\nexport function makeNaddrLike(\n\tkind: number,\n\tpubkeyHex: string,\n\td: string,\n\trelays?: string[] | null\n): string {\n\tconst a = makeAPointer(kind, pubkeyHex, d);\n\tif (relays && relays.length > 0) {\n\t\tconst encodedRelays = relays.map((r) => encodeURIComponent(r)).join(',');\n\t\treturn `naddr-like:${a}?relays=${encodedRelays}`;\n\t}\n\treturn `naddr-like:${a}`;\n}\n\n/**\n * Build naddr-like for an event. Requires \"d\".\n * You can pass relays if you have them (e.g., from list/set definitions).\n */\nexport function makeNaddrLikeForEvent(evt: NostrEventMinimal, relays?: string[] | null): string {\n\tconst d = extractDFromTags(evt.tags);\n\tif (!d) {\n\t\tthrow new Error(`Missing \"d\" tag for PRE event of kind ${evt.kind}`);\n\t}\n\treturn makeNaddrLike(evt.kind, evt.pubkey, d, relays);\n}\n\n/**\n * Parse a naddr-like string back to a tuple and (optionally) relays.\n */\nexport function parseNaddrLike(naddrLike: string): { a: APointer; relays?: string[] } {\n\tif (!naddrLike.startsWith('naddr-like:')) {\n\t\tthrow new Error(`Invalid naddr-like prefix: ${naddrLike}`);\n\t}\n\tconst rest = naddrLike.slice('naddr-like:'.length);\n\tconst [aPart, qs] = rest.split('?', 2);\n\tconst a = parseAPointer(aPart);\n\tif (!qs) return { a };\n\tconst params = new URLSearchParams(qs);\n\tconst relaysParam = params.get('relays');\n\tconst relays = relaysParam ? relaysParam.split(',').map(decodeURIComponent) : undefined;\n\treturn { a, relays };\n}\n\n/* ------------------------------ PRE kind checks ----------------------------- */\n\nexport function isPreKind(kind: number): boolean {\n\treturn Number.isInteger(kind) && kind >= 30000 && kind < 40000;\n}\n\n/* ---------------------------- Event tag utilities --------------------------- */\n\n/**\n * Insert or replace a \"d\" tag into tags immutably, returning a new array.\n * If no \"d\" exists, it’s appended; if it exists, the first occurrence is replaced.\n */\nexport function upsertDTag(tags: NostrTag[], d: string): NostrTag[] {\n\tconst out: NostrTag[] = [];\n\tlet replaced = false;\n\tfor (const t of tags) {\n\t\tif (!replaced && t[0] === 'd') {\n\t\t\tout.push(['d', d]);\n\t\t\treplaced = true;\n\t\t} else {\n\t\t\tout.push(t);\n\t\t}\n\t}\n\tif (!replaced) out.push(['d', d]);\n\treturn out;\n}\n\n/**\n * Convenience: ensure a d-tag on a PRE template (immutably).\n * - If present, it is returned unchanged.\n * - If absent, a slug is generated from source or a random id.\n */\nexport function ensureDTagForPre(\n\ttags: NostrTag[],\n\tsource?: string | null,\n\toptions?: { randomBytes?: number }\n): NostrTag[] {\n\tconst existing = extractDFromTags(tags);\n\tif (existing) return tags.slice();\n\tconst d = ensureD(tags, source, options);\n\treturn upsertDTag(tags, d);\n}\n","import * as flatbuffers from 'flatbuffers';\nimport type { EventTemplate, NostrEvent } from 'nostr-tools';\n\nimport { ArrayBufferReader } from 'src/lib/ArrayBufferReader';\n\nimport { RequestObject, SubscriptionConfig } from 'src/types';\nimport { InitCacheMsg } from './cache/index';\nimport { InitConnectionsMsg } from './connections/index';\nimport { InitCryptoMsg } from './crypto/index';\nimport {\n\tGetPublicKeyT,\n\tMainContent,\n\tMainMessageT,\n\tPipelineConfigT,\n\tPublishT,\n\tRequestT,\n\tStringVecT,\n\tSubscribeT,\n\tSubscriptionConfigT,\n\tTemplateT,\n\tUnsubscribeT\n} from './generated/nostr/fb';\nimport { InitParserMsg } from './parser/index';\nexport * from './lib/NostrUtils';\nexport * from './types';\n\n/**\n * NostrManager handles worker orchestration and session persistence.\n */\nexport class NostrManager {\n\tprivate connections: Worker;\n\tprivate cache: Worker;\n\tprivate parser: Worker;\n\tprivate crypto: Worker;\n\tprivate textEncoder = new TextEncoder();\n\tprivate subscriptions = new Map<\n\t\tstring,\n\t\t{\n\t\t\tbuffer: ArrayBuffer;\n\t\t\toptions: SubscriptionConfig;\n\t\t\trefCount: number;\n\t\t}\n\t>();\n\tprivate publishes = new Map<string, { buffer: ArrayBuffer }>();\n\n\tprivate activePubkey: string | null = null;\n\tprivate _pendingSession: { type: string; payload: any } | null = null;\n\n\tprivate signCB = (_event: any) => {};\n\tprivate eventTarget = new EventTarget();\n\n\t// MessageChannel for parser-main communication\n\tprivate parserMainPort: MessagePort;\n\n\t// MessageChannel for connections-main communication (relay status)\n\tprivate connectionsMainPort: MessagePort;\n\n\t// Relay status cache: url -> {status, timestamp}\n\tprivate relayStatuses = new Map<\n\t\tstring,\n\t\t{ status: 'connected' | 'failed' | 'close'; timestamp: number }\n\t>();\n\n\tpublic PERPETUAL_SUBSCRIPTIONS = ['notifications', 'starterpack'];\n\n\tconstructor() {\n\t\t// Create 7 MessageChannels for worker-to-worker communication\n\t\t// Each channel connects two workers - each worker gets one port (which is bidirectional)\n\t\t// Channel naming: workerA_workerB (no direction, just identifies the pair)\n\t\tconst parser_cache = new MessageChannel(); // parser ↔ cache\n\t\tconst parser_connections = new MessageChannel(); // parser ↔ connections\n\t\tconst parser_crypto = new MessageChannel(); // parser ↔ crypto\n\t\tconst cache_connections = new MessageChannel(); // cache ↔ connections\n\t\tconst crypto_connections = new MessageChannel(); // crypto ↔ connections\n\t\tconst crypto_main = new MessageChannel(); // crypto ↔ main\n\t\tconst parser_main = new MessageChannel(); // parser ↔ main (for batched events)\n\t\tconst connections_main = new MessageChannel(); // connections ↔ main (for relay status)\n\n\t\tconst connectionURL = new URL('./connections/index.js', import.meta.url);\n\t\tconst cacheURL = new URL('./cache/index.js', import.meta.url);\n\t\tconst parserURL = new URL('./parser/index.js', import.meta.url);\n\t\tconst cryptoURL = new URL('./crypto/index.js', import.meta.url);\n\n\t\tthis.connections = new Worker(connectionURL, { type: 'module' });\n\t\tthis.cache = new Worker(cacheURL, { type: 'module' });\n\t\tthis.parser = new Worker(parserURL, { type: 'module' });\n\t\tthis.crypto = new Worker(cryptoURL, { type: 'module' });\n\n\t\t// Transfer ports to connections worker\n\t\t// Needs: mainPort, cachePort, parserPort, cryptoPort\n\t\tthis.connections.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tmainPort: connections_main.port2,\n\t\t\t\t\tcachePort: cache_connections.port1,\n\t\t\t\t\tparserPort: parser_connections.port1,\n\t\t\t\t\tcryptoPort: crypto_connections.port1\n\t\t\t\t}\n\t\t\t} as InitConnectionsMsg,\n\t\t\t[\n\t\t\t\tconnections_main.port2,\n\t\t\t\tcache_connections.port1,\n\t\t\t\tparser_connections.port1,\n\t\t\t\tcrypto_connections.port1\n\t\t\t]\n\t\t);\n\n\t\t// Transfer ports to cache worker\n\t\t// Needs: parserPort, connectionsPort\n\t\tthis.cache.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tparserPort: parser_cache.port1,\n\t\t\t\t\tconnectionsPort: cache_connections.port2\n\t\t\t\t}\n\t\t\t} as InitCacheMsg,\n\t\t\t[parser_cache.port1, cache_connections.port2]\n\t\t);\n\n\t\t// Store parser_main port1 for receiving batched events from parser\n\t\tthis.parserMainPort = parser_main.port1;\n\n\t\t// Set up message handler for incoming batched events from parser\n\t\tthis.parserMainPort.onmessage = (event) => {\n\t\t\tconst { subId, data } = event.data;\n\t\t\t// console.log('[main] parserMainPort received message:', { subId, dataSize: data?.byteLength });\n\t\t\tif (!subId || !data) {\n\t\t\t\tconsole.log('[main] ignoring message - missing subId or data');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Find subscription or publish buffer and write data\n\t\t\t// Note: data is already batched with [4-byte len][payload] format\n\t\t\tconst subscription = this.subscriptions.get(subId);\n\t\t\tif (subscription) {\n\t\t\t\t// console.log('[main] found subscription for subId:', subId);\n\t\t\t\tconst written = ArrayBufferReader.writeBatchedData(subscription.buffer, data, subId);\n\t\t\t\tif (written) {\n\t\t\t\t\tthis.dispatch(`subscription:${subId}`, subId);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst publish = this.publishes.get(subId);\n\t\t\tif (publish) {\n\t\t\t\t// console.log('[main] found publish for subId:', subId);\n\t\t\t\tconst written = ArrayBufferReader.writeBatchedData(publish.buffer, data, subId);\n\t\t\t\tif (written) {\n\t\t\t\t\tthis.dispatch(`publish:${subId}`, subId);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconsole.log('[main] no subscription or publish found for subId:', subId);\n\t\t};\n\n\t\t// Set up message handler for relay status from connections worker\n\t\tthis.connectionsMainPort = connections_main.port1;\n\t\tthis.connectionsMainPort.onmessage = (event) => {\n\t\t\tconst { type, status, url } = JSON.parse(event.data);\n\t\t\tif (type === 'relay:status' && url && status) {\n\t\t\t\tthis.relayStatuses.set(url, { status, timestamp: Date.now() });\n\t\t\t\tthis.dispatch('relay:status', { status, url });\n\t\t\t} else {\n\t\t\t\tconsole.log('[main] ignoring message - type:', type, 'url:', url, 'status:', status);\n\t\t\t}\n\t\t};\n\n\t\t// Transfer ports to parser worker\n\t\t// Needs: connectionsPort, cachePort, cryptoPort, mainPort\n\t\tthis.parser.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tconnectionsPort: parser_connections.port2,\n\t\t\t\t\tcachePort: parser_cache.port2,\n\t\t\t\t\tcryptoPort: parser_crypto.port1,\n\t\t\t\t\tmainPort: parser_main.port2\n\t\t\t\t}\n\t\t\t} as InitParserMsg,\n\t\t\t[parser_connections.port2, parser_cache.port2, parser_crypto.port1, parser_main.port2]\n\t\t);\n\n\t\t// Transfer ports to crypto worker\n\t\t// Needs: parserPort, connectionsPort, mainPort\n\t\tthis.crypto.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tparserPort: parser_crypto.port2,\n\t\t\t\t\tconnectionsPort: crypto_connections.port2,\n\t\t\t\t\tmainPort: crypto_main.port1\n\t\t\t\t}\n\t\t\t} as InitCryptoMsg,\n\t\t\t[parser_crypto.port2, crypto_connections.port2, crypto_main.port1]\n\t\t);\n\n\t\t// Listen on crypto_main.port2 for control responses\n\t\tcrypto_main.port2.onmessage = (event) => {\n\t\t\tconst msg = event.data;\n\t\t\tif (msg.type === 'response') {\n\t\t\t\tthis.handleCryptoResponse(msg);\n\t\t\t}\n\t\t};\n\n\t\tthis.setupWorkerListener();\n\t\t// Defer session restore so callers have time to add auth listeners\n\t\tqueueMicrotask(() => this.restoreSession());\n\t}\n\n\tprivate postToWorker(message: any, transfer?: Transferable[]) {\n\t\tif (transfer && transfer.length) {\n\t\t\tthis.parser.postMessage(message, transfer);\n\t\t} else {\n\t\t\tthis.parser.postMessage(message);\n\t\t}\n\t}\n\n\tprivate handleCryptoResponse(msg: any) {\n\t\tif (msg.op === 'get_pubkey') {\n\t\t\tconsole.log('[main] get_pubkey:', msg.ok ? 'success' : 'failed', msg.result);\n\t\t\tif (msg.ok) {\n\t\t\t\tthis.activePubkey = msg.result;\n\t\t\t\t// Check if bunker was discovered (QR flow) - convert to bunker format\n\t\t\t\tif (this._discoveredBunkerUrl && this._pendingSession?.type === 'nip46_qr' && this._pendingSession?.payload?.clientSecret) {\n\t\t\t\t\tconsole.log('[main] Converting QR to bunker for pubkey:', this.activePubkey);\n\t\t\t\t\tthis.saveSession(this.activePubkey!, 'nip46_bunker', {\n\t\t\t\t\t\turl: this._discoveredBunkerUrl,\n\t\t\t\t\t\tclientSecret: this._pendingSession.payload.clientSecret\n\t\t\t\t\t});\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t\tthis._discoveredBunkerUrl = null;\n\t\t\t\t} else if (this._pendingSession) {\n\t\t\t\t\t// Normal session save\n\t\t\t\t\tthis.saveSession(\n\t\t\t\t\t\tthis.activePubkey!,\n\t\t\t\t\t\tthis._pendingSession.type,\n\t\t\t\t\t\tthis._pendingSession.payload\n\t\t\t\t\t);\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst hasSigner = msg.ok && !!this._pendingSession;\n\t\t\tthis.dispatch('auth', { pubkey: this.activePubkey, hasSigner });\n\t\t} else if (msg.op === 'sign_event' && msg.ok) {\n\t\t\tconst parsed = JSON.parse(msg.result);\n\t\t\tthis.signCB(parsed);\n\t\t}\n\t}\n\n\tprivate setupWorkerListener() {\n\t\tthis.parser.onmessage = async (event) => {\n\t\t\tconst id = typeof event.data === 'string' ? event.data : undefined;\n\t\t\tif (!id) return;\n\t\t\tif (this.subscriptions.has(id)) {\n\t\t\t\tthis.dispatch(`subscription:${id}`, id);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.publishes.has(id)) {\n\t\t\t\tthis.dispatch(`publish:${id}`, id);\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\n\t\t// NIP-07 extension requests are still handled via crypto worker postMessage\n\t\t// (these require main thread access to window.nostr)\n\t\tthis.crypto.onmessage = async (event) => {\n\t\t\tconst msg = event.data;\n\n\t\t\t// Handle signer ready event (ALL signers send this when connected and ready)\n\t\t\t// Contains all info needed to reconstruct session: pubkey, signer_type, bunker_url (for nip46)\n\t\t\tif (msg?.type === 'signer_ready') {\n\t\t\t\tconsole.log('[main] signer_ready:', msg.signer_type, msg.pubkey);\n\t\t\t\tthis.activePubkey = msg.pubkey;\n\n\t\t\t\t// For NIP-46, use the bunker_url from the message (covers both QR and bunker flows)\n\t\t\t\tif (msg.signer_type === 'nip46' && msg.bunker_url && this._pendingSession?.payload?.clientSecret) {\n\t\t\t\t\tconsole.log('[main] NIP-46 session saved for:', msg.pubkey);\n\t\t\t\t\tthis.saveSession(msg.pubkey, 'nip46', {\n\t\t\t\t\t\turl: msg.bunker_url,\n\t\t\t\t\t\tclientSecret: this._pendingSession.payload.clientSecret\n\t\t\t\t\t});\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t} else if (this._pendingSession) {\n\t\t\t\t\t// Normal session save (privkey, nip07)\n\t\t\t\t\tthis.saveSession(msg.pubkey, msg.signer_type, this._pendingSession.payload);\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t}\n\t\t\t\tthis.dispatch('auth', { pubkey: msg.pubkey, hasSigner: true });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Handle control responses (get_pubkey, sign_event, etc.)\n\t\t\tif (msg?.type === 'response') {\n\t\t\t\tthis.handleCryptoResponse(msg);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Handle NIP-07 extension requests from the worker\n\t\t\tif (msg?.type === 'extension_request') {\n\t\t\t\tconst { id, op, payload } = msg;\n\t\t\t\ttry {\n\t\t\t\t\tconst nostr = (window as any).nostr;\n\t\t\t\t\tif (!nostr) throw new Error('NIP-07 extension (window.nostr) not found');\n\n\t\t\t\t\tlet result;\n\t\t\t\t\tswitch (op) {\n\t\t\t\t\t\tcase 'getPublicKey':\n\t\t\t\t\t\t\tresult = await nostr.getPublicKey();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'signEvent':\n\t\t\t\t\t\t\tresult = await nostr.signEvent(JSON.parse(payload));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip04Encrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip04.encrypt(payload.pubkey, payload.plaintext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip04Decrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip04.decrypt(payload.pubkey, payload.ciphertext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip44Encrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip44.encrypt(payload.pubkey, payload.plaintext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip44Decrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip44.decrypt(payload.pubkey, payload.ciphertext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tthrow new Error(`Unknown extension operation: ${op}`);\n\t\t\t\t\t}\n\t\t\t\t\tthis.crypto.postMessage({ type: 'extension_response', id, ok: true, result });\n\t\t\t\t} catch (e: any) {\n\t\t\t\t\tthis.crypto.postMessage({\n\t\t\t\t\t\ttype: 'extension_response',\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terror: e.message || String(e)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic createShortId(input: string): string {\n\t\tif (input.length < 64) return input;\n\t\tlet hash = 0;\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst char = input.charCodeAt(i);\n\t\t\thash = (hash << 5) - hash + char;\n\t\t\thash = hash & hash;\n\t\t}\n\t\tconst shortId = Math.abs(hash).toString(36);\n\t\treturn shortId.substring(0, 63);\n\t}\n\n\tpublic addEventListener(\n\t\ttype: string,\n\t\tlistener: EventListenerOrEventListenerObject,\n\t\toptions?: AddEventListenerOptions\n\t): void {\n\t\tthis.eventTarget.addEventListener(type, listener as EventListener, options);\n\t}\n\n\tpublic removeEventListener(\n\t\ttype: string,\n\t\tlistener: EventListenerOrEventListenerObject,\n\t\toptions?: EventListenerOptions\n\t): void {\n\t\tthis.eventTarget.removeEventListener(type, listener as EventListener, options);\n\t}\n\n\tprivate dispatch(type: string, detail?: unknown): void {\n\t\tthis.eventTarget.dispatchEvent(new CustomEvent(type, { detail }));\n\t}\n\n\tsubscribe(\n\t\tsubscriptionId: string,\n\t\trequests: RequestObject[],\n\t\toptions: SubscriptionConfig\n\t): ArrayBuffer {\n\t\tconst subId = this.createShortId(subscriptionId);\n\t\tconst existingSubscription = this.subscriptions.get(subId);\n\t\tif (existingSubscription) {\n\t\t\texistingSubscription.refCount++;\n\t\t\treturn existingSubscription.buffer;\n\t\t}\n\n\t\tconst totalLimit = requests.reduce((sum, req) => sum + (req.limit || 100), 0);\n\t\tconst bufferSize = ArrayBufferReader.calculateBufferSize(totalLimit, options.bytesPerEvent);\n\t\tconst buffer = new ArrayBuffer(bufferSize);\n\t\tArrayBufferReader.initializeBuffer(buffer);\n\n\t\tthis.subscriptions.set(subId, { buffer, options, refCount: 1 });\n\n\t\tconst optionsT = new SubscriptionConfigT(\n\t\t\tnew PipelineConfigT(options.pipeline || []),\n\t\t\toptions.closeOnEose,\n\t\t\toptions.cacheFirst,\n\t\t\toptions.timeoutMs ? BigInt(options.timeoutMs) : undefined,\n\t\t\toptions.maxEvents,\n\t\t\toptions.skipCache,\n\t\t\toptions.force,\n\t\t\toptions.bytesPerEvent,\n\t\t\toptions.isSlow,\n\t\t\toptions.pagination ? this.textEncoder.encode(options.pagination) : null\n\t\t);\n\n\t\tconst subscribeT = new SubscribeT(\n\t\t\tthis.textEncoder.encode(subId),\n\t\t\trequests.map(\n\t\t\t\t(r) =>\n\t\t\t\t\tnew RequestT(\n\t\t\t\t\t\tr.ids,\n\t\t\t\t\t\tr.authors,\n\t\t\t\t\t\tr.kinds,\n\t\t\t\t\t\tObject.entries(r.tags || {}).flatMap(\n\t\t\t\t\t\t\t([key, values]) => new StringVecT([key, ...values])\n\t\t\t\t\t\t),\n\t\t\t\t\t\tr.limit,\n\t\t\t\t\t\tr.since,\n\t\t\t\t\t\tr.until,\n\t\t\t\t\t\tthis.textEncoder.encode(r.search),\n\t\t\t\t\t\tr.relays,\n\t\t\t\t\t\tr.closeOnEOSE,\n\t\t\t\t\t\tr.cacheFirst,\n\t\t\t\t\t\tr.noCache\n\t\t\t\t\t)\n\t\t\t),\n\t\t\toptionsT\n\t\t);\n\n\t\tconst mainT = new MainMessageT(MainContent.Subscribe, subscribeT);\n\t\tconst builder = new flatbuffers.Builder(2048);\n\t\tbuilder.finish(mainT.pack(builder));\n\t\tconst uint8Array = builder.asUint8Array();\n\t\t// Transfer the underlying buffer for zero-copy\n\t\tthis.postToWorker({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\n\t\treturn buffer;\n\t}\n\n\tgetBuffer(subId: string): ArrayBuffer | undefined {\n\t\tconst existingSubscription = this.subscriptions.get(subId);\n\t\tif (existingSubscription) {\n\t\t\texistingSubscription.refCount++;\n\t\t\treturn existingSubscription.buffer;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Get current relay statuses. Returns a Map of relay URL to status.\n\t * Use this for initial state when mounting useRelayStatus.\n\t */\n\tgetRelayStatuses(): Map<string, { status: 'connected' | 'failed' | 'close'; timestamp: number }> {\n\t\treturn new Map(this.relayStatuses);\n\t}\n\n\tunsubscribe(subscriptionId: string): void {\n\t\tconst subId = subscriptionId.length < 64 ? subscriptionId : this.createShortId(subscriptionId);\n\t\tconst subscription = this.subscriptions.get(subId);\n\t\tif (subscription) {\n\t\t\tsubscription.refCount--;\n\t\t}\n\t}\n\n\tpublish(publish_id: string, event: NostrEvent, defaultRelays: string[] = []): ArrayBuffer {\n\t\tconst buffer = new ArrayBuffer(3072);\n\t\tArrayBufferReader.initializeBuffer(buffer);\n\n\t\tconst templateT = new TemplateT(\n\t\t\tevent.kind,\n\t\t\tevent.created_at,\n\t\t\tthis.textEncoder.encode(event.content),\n\t\t\tevent.tags.map((t) => new StringVecT(t)) || []\n\t\t);\n\t\tconst publishT = new PublishT(this.textEncoder.encode(publish_id), templateT, defaultRelays);\n\t\tconst mainT = new MainMessageT(MainContent.Publish, publishT);\n\t\tconst builder = new flatbuffers.Builder(2048);\n\t\tbuilder.finish(mainT.pack(builder));\n\t\tconst uint8Array = builder.asUint8Array();\n\t\t// Transfer the underlying buffer for zero-copy\n\t\tthis.postToWorker({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\t\tthis.publishes.set(publish_id, { buffer });\n\t\treturn buffer;\n\t}\n\n\tsetSigner(name: string, payload?: string | { url: string; clientSecret: string }): void {\n\t\t// Store pending session - crypto crate will send pubkey after successful connection\n\t\tthis._pendingSession = { type: name, payload };\n\t\tconsole.log('[main] set pending session:', name);\n\n\t\tswitch (name) {\n\t\t\tcase 'pubkey':\n\t\t\t\t// Read-only mode: just set the pubkey without a signer\n\t\t\t\tthis.activePubkey = payload as string;\n\t\t\t\tthis.saveSession(this.activePubkey, 'pubkey', payload);\n\t\t\t\tthis._pendingSession = null;\n\t\t\t\tthis.dispatch('auth', { pubkey: this.activePubkey, hasSigner: false });\n\t\t\t\tbreak;\n\t\t\tcase 'privkey':\n\t\t\t\tthis.crypto.postMessage({ type: 'set_private_key', payload });\n\t\t\t\tbreak;\n\t\t\tcase 'nip07':\n\t\t\t\tthis.crypto.postMessage({ type: 'set_nip07' });\n\t\t\t\tbreak;\n\t\t\tcase 'nip46':\n\t\t\t\t// Auto-detect bunker vs QR based on URL format\n\t\t\t\tif (payload?.url?.startsWith('bunker://')) {\n\t\t\t\t\tthis.crypto.postMessage({ type: 'set_nip46_bunker', payload });\n\t\t\t\t} else if (payload?.url?.startsWith('nostrconnect://')) {\n\t\t\t\t\tthis.crypto.postMessage({ type: 'set_nip46_qr', payload });\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('[main] Unknown NIP-46 URL format:', payload?.url);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t// Note: crypto crate will automatically send pubkey after successful connection\n\t}\n\n\tsignEvent(event: EventTemplate, cb: (event: NostrEvent) => void) {\n\t\tthis.signCB = cb;\n\t\tthis.crypto.postMessage({ type: 'sign_event', payload: JSON.stringify(event) });\n\t}\n\n\tgetPublicKey() {\n\t\tconst mainT = new MainMessageT(MainContent.GetPublicKey, new GetPublicKeyT());\n\t\tconst builder = new flatbuffers.Builder(2048);\n\t\tbuilder.finish(mainT.pack(builder));\n\t\tconst uint8Array = builder.asUint8Array();\n\t\t// Transfer the underlying buffer for zero-copy\n\t\tthis.parser.postMessage({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\t}\n\n\t/**\n\t * Generate a cryptographically secure random client secret for NIP-46\n\t * Returns a hex-encoded 32-byte private key\n\t */\n\tprivate generateClientSecret(): string {\n\t\tconst array = new Uint8Array(32);\n\t\tcrypto.getRandomValues(array);\n\t\treturn Array.from(array, (b) => b.toString(16).padStart(2, '0')).join('');\n\t}\n\n\tsetNip46Bunker(bunkerUrl: string, clientSecret?: string): void {\n\t\tconst secret = clientSecret || this.generateClientSecret();\n\t\tconsole.log('[main] NIP-46 bunker:', bunkerUrl.slice(0, 50) + '...');\n\t\tthis.setSigner('nip46', { url: bunkerUrl, clientSecret: secret });\n\t}\n\n\tsetNip46QR(nostrconnectUrl: string, clientSecret?: string): void {\n\t\tconst secret = clientSecret || this.generateClientSecret();\n\t\tconsole.log('[main] NIP-46 QR:', nostrconnectUrl.slice(0, 50) + '...');\n\t\tthis.setSigner('nip46', { url: nostrconnectUrl, clientSecret: secret });\n\t}\n\n\tsetNip07(): void {\n\t\tthis.setSigner('nip07', '');\n\t}\n\n\tsetPubkey(pubkey: string): void {\n\t\tthis.setSigner('pubkey', pubkey);\n\t}\n\n\tpublic getActivePubkey(): string | null {\n\t\treturn this.activePubkey;\n\t}\n\n\tpublic getSubscriptionCount(): number {\n\t\treturn this.subscriptions.size;\n\t}\n\n\tpublic getAccounts(): Record<string, { type: string; payload: any }> {\n\t\tconst accountsJson = localStorage.getItem('nostr_signer_accounts') || '{}';\n\t\ttry {\n\t\t\treturn JSON.parse(accountsJson);\n\t\t} catch (e) {\n\t\t\treturn {};\n\t\t}\n\t}\n\n\tpublic switchAccount(pubkey: string) {\n\t\tconst accounts = this.getAccounts();\n\t\tconst session = accounts[pubkey];\n\t\tif (session) {\n\t\t\tthis.setSigner(session.type, session.payload);\n\t\t}\n\t}\n\n\tprivate saveSession(pubkey: string, type: string, payload: any) {\n\t\tconsole.log('[main] saveSession:', {\n\t\t\tpubkey: pubkey.slice(0, 16) + '...',\n\t\t\ttype,\n\t\t\thasClientSecret: !!payload.clientSecret\n\t\t});\n\t\tconst accounts = this.getAccounts();\n\t\taccounts[pubkey] = { type, payload };\n\t\tlocalStorage.setItem('nostr_signer_accounts', JSON.stringify(accounts));\n\t\tlocalStorage.setItem('nostr_active_pubkey', pubkey);\n\t\tconsole.log('[main] Session saved to localStorage');\n\t}\n\n\tprivate restoreSession() {\n\t\tconst activePubkey = localStorage.getItem('nostr_active_pubkey');\n\t\tif (activePubkey) {\n\t\t\tthis.switchAccount(activePubkey);\n\t\t} else {\n\t\t\tthis.dispatch('auth', { pubkey: null, hasSigner: false });\n\t\t}\n\t}\n\n\tpublic logout(): void {\n\t\tthis._pendingSession = null;\n\t\tthis.activePubkey = null;\n\t\tthis.crypto.postMessage({ type: 'clear_signer' });\n\t\tlocalStorage.removeItem('nostr_active_pubkey');\n\t\tthis.dispatch('logout');\n\t}\n\n\tpublic removeAccount(): void {\n\t\tconst currentPubkey = this.activePubkey;\n\t\tif (!currentPubkey) return;\n\n\t\t// Remove current account from storage\n\t\tconst accounts = this.getAccounts();\n\t\tdelete accounts[currentPubkey];\n\t\tlocalStorage.setItem('nostr_signer_accounts', JSON.stringify(accounts));\n\n\t\t// Check for other accounts to switch to\n\t\tconst remainingPubkeys = Object.keys(accounts);\n\t\tif (remainingPubkeys.length > 0) {\n\t\t\t// Switch to first available account\n\t\t\tconst nextPubkey = remainingPubkeys[0];\n\t\t\tif (nextPubkey) {\n\t\t\t\tthis.switchAccount(nextPubkey);\n\t\t\t}\n\t\t} else {\n\t\t\t// No other accounts - perform full logout\n\t\t\tthis.logout();\n\t\t}\n\t}\n\n\tcleanup(): void {\n\t\tconst subscriptionsToDelete: string[] = [];\n\n\t\tfor (const [subId, subscription] of this.subscriptions.entries()) {\n\t\t\tif (subscription.refCount <= 0 && !this.PERPETUAL_SUBSCRIPTIONS.includes(subId)) {\n\t\t\t\tsubscriptionsToDelete.push(subId);\n\t\t\t}\n\t\t}\n\n\t\t// Actually remove and tell workers to drop them\n\t\tfor (const subId of subscriptionsToDelete) {\n\t\t\t// Send Unsubscribe message to parser\n\t\t\tconst unsubscribeT = new UnsubscribeT(this.textEncoder.encode(subId));\n\t\t\tconst mainT = new MainMessageT(MainContent.Unsubscribe, unsubscribeT);\n\t\t\tconst builder = new flatbuffers.Builder(256);\n\t\t\tbuilder.finish(mainT.pack(builder));\n\t\t\tconst uint8Array = builder.asUint8Array();\n\t\t\t// Transfer the underlying buffer for zero-copy\n\t\t\tthis.postToWorker({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\n\t\t\t// Tell connections worker to close relay subscriptions\n\t\t\tthis.connections.postMessage(subId);\n\n\t\t\t// Remove from local subscriptions map\n\t\t\tthis.subscriptions.delete(subId);\n\t\t}\n\t}\n}\n\nexport const manager = new NostrManager();\n"],"names":["BufferFull","i","bb","obj","flatbuffers","offset","builder","droppedEvents","BufferFullT","_o","StringVec","index","optionalEncoding","itemsOffset","data","numElems","StringVecT","items","NostrEvent","idOffset","pubkeyOffset","kind","contentOffset","tagsOffset","createdAt","sigOffset","NostrEventT","id","pubkey","content","tags","sig","Kind0Parsed","nameOffset","displayNameOffset","pictureOffset","bannerOffset","aboutOffset","websiteOffset","nip05Offset","lud06Offset","lud16Offset","githubOffset","twitterOffset","mastodonOffset","nostrOffset","displayNameAltOffset","usernameOffset","bioOffset","imageOffset","avatarOffset","backgroundOffset","Kind0ParsedT","name","displayName","picture","banner","about","website","nip05","lud06","lud16","github","twitter","mastodon","nostr","displayNameAlt","username","bio","image","avatar","background","RelayInfo","urlOffset","read","write","RelayInfoT","url","Kind10002Parsed","relaysOffset","Kind10002ParsedT","relays","MintInfo","baseUnitsOffset","MintInfoT","baseUnits","Kind10019Parsed","trustedMintsOffset","p2pkPubkeyOffset","readRelaysOffset","Kind10019ParsedT","trustedMints","p2pkPubkey","readRelays","CashuData","tokenOffset","CashuDataT","token","CodeData","languageOffset","codeOffset","CodeDataT","language","code","HashtagData","tagOffset","HashtagDataT","tag","ImageData","altOffset","dimOffset","ImageDataT","alt","dim","LinkPreviewData","titleOffset","descriptionOffset","LinkPreviewDataT","title","description","VideoData","thumbnailOffset","VideoDataT","thumbnail","MediaItem","videoOffset","MediaItemT","video","MediaGroupData","MediaGroupDataT","NostrData","entityOffset","authorOffset","NostrDataT","entity","author","ContentData","unionToContentData","type","accessor","ContentBlock","typeOffset","textOffset","dataType","dataOffset","ContentBlockT","temp","text","EventPointer","EventPointerT","ProfilePointer","publicKeyOffset","ProfilePointerT","publicKey","Kind1111Parsed","parsedContentOffset","rootIdOffset","rootCoordinateOffset","rootExternalOffset","rootKind","rootAuthorOffset","rootRelaysOffset","parentIdOffset","parentCoordinateOffset","parentExternalOffset","parentKind","parentAuthorOffset","parentRelaysOffset","citationsOffset","mentionsOffset","Kind1111ParsedT","parsedContent","rootId","rootCoordinate","rootExternal","rootAuthor","rootRelays","parentId","parentCoordinate","parentExternal","parentAuthor","parentRelays","citations","mentions","LiveActivityRef","identifierOffset","relayOffset","LiveActivityRefT","identifier","relay","LiveChatParticipant","LiveChatParticipantT","LiveChatThreadRef","eventIdOffset","LiveChatThreadRefT","eventId","Kind1311Parsed","activityOffset","threadRefsOffset","Kind1311ParsedT","activity","threadRefs","Kind17375Parsed","mintsOffset","p2pkPrivKeyOffset","p2pkPubKeyOffset","decrypted","Kind17375ParsedT","mints","p2pkPrivKey","p2pkPubKey","Emoji","shortcodeOffset","EmojiT","shortcode","ReactionType","Kind17Parsed","reactionType","eventKind","emojiOffset","targetCoordinatesOffset","Kind17ParsedT","emoji","targetCoordinates","Kind1Parsed","shortenedContentOffset","quotesOffset","replyOffset","rootOffset","Kind1ParsedT","shortenedContent","quotes","reply","root","ImetaTag","mimeTypeOffset","blurhashOffset","hashOffset","fallbackOffset","annotateUserOffset","ImetaTagT","mimeType","blurhash","hash","fallback","annotateUser","Kind20Parsed","imagesOffset","contentWarningOffset","locationOffset","geohashOffset","hashtagsOffset","Kind20ParsedT","images","contentWarning","location","geohash","hashtags","VideoVariant","duration","bitrate","VideoVariantT","Kind22Parsed","videosOffset","publishedAt","participantsOffset","Kind22ParsedT","videos","participants","Kind30023Parsed","slugOffset","summaryOffset","canonicalOffset","topicsOffset","naddrOffset","Kind30023ParsedT","slug","summary","canonical","topics","naddr","Contact","petnameOffset","ContactT","petname","Kind3Parsed","contactsOffset","Kind3ParsedT","contacts","Kind4Parsed","decryptedContentOffset","chatIdOffset","recipientOffset","Kind4ParsedT","decryptedContent","chatId","recipient","Kind6Parsed","ParsedEvent","repostedEventOffset","Kind6ParsedT","repostedEvent","Kind7374Parsed","quoteIdOffset","mintUrlOffset","expiration","Kind7374ParsedT","quoteId","mintUrl","DLEQProof","eOffset","sOffset","rOffset","DLEQProofT","e","r","s","HTLCWitness","preimageOffset","signaturesOffset","HTLCWitnessT","preimage","signatures","P2PKWitness","P2PKWitnessT","WitnessString","valueOffset","WitnessStringT","value","Witness","unionToWitness","Proof","amount","secretOffset","cOffset","dleqOffset","witnessType","witnessOffset","version","ProofT","secret","c","dleq","witness","Kind7375Parsed","proofsOffset","deletedIdsOffset","Kind7375ParsedT","proofs","deletedIds","HistoryTag","markerOffset","HistoryTagT","marker","Kind7376Parsed","directionOffset","createdEventsOffset","destroyedEventsOffset","redeemedEventsOffset","Kind7376ParsedT","direction","createdEvents","destroyedEvents","redeemedEvents","Kind7Parsed","Kind7ParsedT","Kind9321Parsed","senderOffset","redeemed","commentOffset","isP2pkLocked","Kind9321ParsedT","sender","comment","ZapRequest","signatureOffset","ZapRequestT","signature","Kind9735Parsed","bolt11Offset","eventOffset","eventCoordinateOffset","timestamp","valid","Kind9735ParsedT","bolt11","event","eventCoordinate","Coordinate","dOffset","CoordinateT","d","ListParsed","listKind","peopleOffset","eventsOffset","addressesOffset","ListParsedT","people","events","addresses","PreParticipant","roleOffset","proofOffset","PreParticipantT","role","proof","PreRefEvent","PreRefEventT","PreGenericParsed","streamingOffset","recordingOffset","serviceOffset","endpointOffset","roomOffset","statusOffset","starts","ends","currentParticipants","totalParticipants","pinnedOffset","linksOffset","PreGenericParsedT","streaming","recording","service","endpoint","room","status","pinned","links","ParsedData","unionToParsedData","Request","idsOffset","authorsOffset","kindsOffset","limit","since","until","searchOffset","closeOnEose","cacheFirst","noCache","maxRelays","RequestT","ids","authors","kinds","search","parsedType","parsedOffset","requestsOffset","ParsedEventT","parsed","requests","CacheRequest","subIdOffset","parsedEventOffset","CacheRequestT","subId","parsedEvent","ConnectionStatus","relayUrlOffset","messageOffset","ConnectionStatusT","relayUrl","message","CountResponse","count","you","CountResponseT","Eoce","subscriptionIdOffset","EoceT","subscriptionId","Pubkey","PubkeyT","Raw","rawOffset","RawT","raw","SignedEvent","SignedEventT","MintProofs","mintOffset","MintProofsT","mint","ValidProofs","ValidProofsT","Message","unionToMessage","MessageType","WorkerMessage","contentType","WorkerMessageT","CacheInput","unionToCacheInput","CacheInputMessage","CacheInputMessageT","CacheResponse","payloadOffset","CacheResponseT","payload","CounterPipeConfig","CounterPipeConfigT","GetPublicKey","GetPublicKeyT","KindFilterPipeConfig","KindFilterPipeConfigT","Template","TemplateT","Publish","publishIdOffset","templateOffset","PublishT","publishId","template","PrivateKey","privateKeyOffset","PrivateKeyT","privateKey","SignerType","unionToSignerType","SetSigner","signerTypeType","signerTypeOffset","SetSignerT","signerType","SignEvent","SignEventT","MuteFilterPipeConfig","pubkeysOffset","wordsOffset","eventIdsOffset","MuteFilterPipeConfigT","pubkeys","words","eventIds","NpubLimiterPipeConfig","limitPerNpub","maxTotalNpubs","NpubLimiterPipeConfigT","ParsePipeConfig","ParsePipeConfigT","ProofVerificationPipeConfig","maxProofs","ProofVerificationPipeConfigT","SaveToDbPipeConfig","SaveToDbPipeConfigT","SerializeEventsPipeConfig","SerializeEventsPipeConfigT","PipeConfig","unionToPipeConfig","Pipe","configType","configOffset","PipeT","config","PipelineConfig","pipesOffset","PipelineConfigT","pipes","SubscriptionConfig","pipelineOffset","timeoutMs","maxEvents","skipCache","force","bytesPerEvent","isSlow","paginationOffset","SubscriptionConfigT","pipeline","pagination","Subscribe","SubscribeT","Unsubscribe","UnsubscribeT","MainContent","unionToMainContent","MainMessage","MainMessageT","ParsedDataUnion","SignerOp","SignerRequest","requestId","op","senderPubkeyOffset","recipientPubkeyOffset","SignerRequestT","senderPubkey","recipientPubkey","SignerResponse","resultOffset","errorOffset","SignerResponseT","result","error","SubscribeKind","ArrayBufferReader","buffer","view","uint8View","currentWritePosition","requiredSpace","newWritePosition","_debugId","lastReadPosition","dataStartOffset","currentPos","maxMessages","messages","msgCount","headerPos","eventLength","payloadStart","nextPos","flatBufferData","ByteBuffer","actualLastReadPosition","totalEventLimit","dataSize","overhead","makeNaddr","pubkeyHex","isHex64","nip19","makeNaddrForEvent","evt","extractDFromTags","parseNaddr","decoded","normalizeSlug","input","randomId","bytes","len","arr","ensureD","source","options","existing","makeAPointer","parseAPointer","a","parts","makeAPointerForEvent","makeNaddrLike","encodedRelays","makeNaddrLikeForEvent","parseNaddrLike","naddrLike","rest","aPart","qs","relaysParam","isPreKind","upsertDTag","out","replaced","t","ensureDTagForPre","NostrManager","_event","parser_cache","parser_connections","parser_crypto","cache_connections","crypto_connections","crypto_main","parser_main","connections_main","connectionURL","cacheURL","parserURL","cryptoURL","subscription","publish","msg","transfer","hasSigner","char","listener","detail","existingSubscription","totalLimit","sum","req","bufferSize","optionsT","subscribeT","key","values","mainT","uint8Array","publish_id","defaultRelays","templateT","publishT","cb","array","b","bunkerUrl","clientSecret","nostrconnectUrl","accountsJson","session","accounts","activePubkey","currentPubkey","remainingPubkeys","nextPubkey","subscriptionsToDelete","unsubscribeT","manager"],"mappings":";;;AASO,MAAMA,GAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOC,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAIH,GAAA,GAAc,OAAOE,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIH,GAAA,GAAc,OAAOE,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,gBAAuB;AACrB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,gBAAgBC,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BC,GAAsB;AACzE,IAAAD,EAAQ,cAAc,GAAGC,GAAe,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,cAAcD,GAAgD;AAEnE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BC,GAAyC;AAC5F,WAAAP,GAAW,gBAAgBM,CAAO,GAClCN,GAAW,iBAAiBM,GAASC,CAAa,GAC3CP,GAAW,cAAcM,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIE;AAAA,MACT,KAAK,cAAA;AAAA,IAAc;AAAA,EAEvB;AAAA,EAGA,SAASC,GAAuB;AAC9B,IAAAA,EAAG,gBAAgB,KAAK,cAAA;AAAA,EAC1B;AACA;AAEO,MAAMD,GAAoD;AAAA,EACjE,YACSD,IAAwB,GAChC;AADQ,SAAA,gBAAAA;AAAA,EACP;AAAA,EAGF,KAAKD,GAAiD;AACpD,WAAON,GAAW;AAAA,MAAiBM;AAAA,MACjC,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACjEO,MAAMI,EAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOT,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIO,EAAA,GAAa,OAAOR,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIO,EAAA,GAAa,OAAOR,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,MAAMS,GAAcC,GAAmD;AACrE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,cAAqB;AACnB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6BO,GAAgC;AAC3E,IAAAP,EAAQ,eAAe,GAAGO,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkBP,GAA6BQ,GAA8C;AAClG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAAgD;AAElE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BO,GAAmD;AACrG,WAAAH,EAAU,eAAeJ,CAAO,GAChCI,EAAU,SAASJ,GAASO,CAAW,GAChCH,EAAU,aAAaJ,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAIU;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,IAAA;AAAA,EAE/E;AAAA,EAGA,SAASP,GAAsB;AAC7B,IAAAA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,EACxF;AACA;AAEO,MAAMO,GAAmD;AAAA,EAChE,YACSC,IAAoB,IAC5B;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAKX,GAAiD;AACpD,UAAMW,IAAQP,EAAU,kBAAkBJ,GAASA,EAAQ,uBAAuB,KAAK,KAAK,CAAC;AAE7F,WAAOI,EAAU;AAAA,MAAgBJ;AAAA,MAC/BW;AAAA,IAAA;AAAA,EAEJ;AACA;ACrFO,MAAMC,EAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjB,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAIe,EAAA,GAAc,OAAOhB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIe,EAAA,GAAc,OAAOhB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAc;AACZ,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,QAAQO,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,KAAKD,GAAeR,GAA+B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIO,EAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASL,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,aAAoB;AAClB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,YAAmB;AACjB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAIA,IAAIO,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,gBAAgBN,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,QAAQd,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,WAAWf,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,QAAQhB,GAA6BiB,GAA+B;AACzE,IAAAjB,EAAQ,eAAe,GAAGiB,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,iBAAiBjB,GAA6BQ,GAA8C;AACjG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BS,GAAiB;AACnE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BkB,GAAkB;AACjE,IAAAlB,EAAQ,cAAc,GAAGkB,GAAW,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,OAAOlB,GAA6BmB,GAA8B;AACvE,IAAAnB,EAAQ,eAAe,GAAGmB,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,cAAcnB,GAAgD;AACnE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBC,GAA6Ba,GAA6BC,GAAiCC,GAAaC,GAAkCC,GAA+BC,GAAkBC,GAAiD;AAClQ,WAAAP,EAAW,gBAAgBZ,CAAO,GAClCY,EAAW,MAAMZ,GAASa,CAAQ,GAClCD,EAAW,UAAUZ,GAASc,CAAY,GAC1CF,EAAW,QAAQZ,GAASe,CAAI,GAChCH,EAAW,WAAWZ,GAASgB,CAAa,GAC5CJ,EAAW,QAAQZ,GAASiB,CAAU,GACtCL,EAAW,aAAaZ,GAASkB,CAAS,GAC1CN,EAAW,OAAOZ,GAASmB,CAAS,GAC7BP,EAAW,cAAcZ,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIoB;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,YAAY;AAAA,MACrF,KAAK,UAAA;AAAA,MACL,KAAK,IAAA;AAAA,IAAI;AAAA,EAEb;AAAA,EAGA,SAASjB,GAAuB;AAC9B,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,OAAO,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY,GAC/FA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,MAAM,KAAK,IAAA;AAAA,EAChB;AACA;AAEO,MAAMiB,GAAoD;AAAA,EACjE,YACSC,IAAiC,MACjCC,IAAqC,MACrCP,IAAe,GACfQ,IAAsC,MACtCC,IAAuB,CAAA,GACvBN,IAAoB,GACpBO,IAAkC,MAC1C;AAPQ,SAAA,KAAAJ,GACA,KAAA,SAAAC,GACA,KAAA,OAAAP,GACA,KAAA,UAAAQ,GACA,KAAA,OAAAC,GACA,KAAA,YAAAN,GACA,KAAA,MAAAO;AAAA,EACP;AAAA,EAGF,KAAKzB,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1DsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEwB,IAAOZ,EAAW,iBAAiBZ,GAASA,EAAQ,uBAAuB,KAAK,IAAI,CAAC,GACrFyB,IAAO,KAAK,QAAQ,OAAOzB,EAAQ,aAAa,KAAK,GAAI,IAAI;AAEnE,WAAOY,EAAW;AAAA,MAAiBZ;AAAA,MACjCqB;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACLC;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACLC;AAAA,IAAA;AAAA,EAEJ;AACA;AC1LO,MAAMC,EAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO/B,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI6B,EAAA,GAAe,OAAO9B,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI6B,EAAA,GAAe,OAAO9B,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,OAAOU,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,YAAYA,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,eAAeA,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,WAAWA,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiBN,GAA6B;AACnD,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,UAAUA,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,QAAQd,GAA6B2B,GAA+B;AACzE,IAAA3B,EAAQ,eAAe,GAAG2B,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,eAAe3B,GAA6B4B,GAAsC;AACvF,IAAA5B,EAAQ,eAAe,GAAG4B,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,WAAW5B,GAA6B6B,GAAkC;AAC/E,IAAA7B,EAAQ,eAAe,GAAG6B,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAU7B,GAA6B8B,GAAiC;AAC7E,IAAA9B,EAAQ,eAAe,GAAG8B,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,SAAS9B,GAA6B+B,GAAgC;AAC3E,IAAA/B,EAAQ,eAAe,GAAG+B,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,WAAW/B,GAA6BgC,GAAkC;AAC/E,IAAAhC,EAAQ,eAAe,GAAGgC,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,SAAShC,GAA6BiC,GAAgC;AAC3E,IAAAjC,EAAQ,eAAe,GAAGiC,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,SAASjC,GAA6BkC,GAAgC;AAC3E,IAAAlC,EAAQ,eAAe,GAAGkC,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,SAASlC,GAA6BmC,GAAgC;AAC3E,IAAAnC,EAAQ,eAAe,GAAGmC,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,UAAUnC,GAA6BoC,GAAiC;AAC7E,IAAApC,EAAQ,eAAe,IAAIoC,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,WAAWpC,GAA6BqC,GAAkC;AAC/E,IAAArC,EAAQ,eAAe,IAAIqC,GAAe,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,YAAYrC,GAA6BsC,GAAmC;AACjF,IAAAtC,EAAQ,eAAe,IAAIsC,GAAgB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,SAAStC,GAA6BuC,GAAgC;AAC3E,IAAAvC,EAAQ,eAAe,IAAIuC,GAAa,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,kBAAkBvC,GAA6BwC,GAAyC;AAC7F,IAAAxC,EAAQ,eAAe,IAAIwC,GAAsB,CAAC;AAAA,EACpD;AAAA,EAEA,OAAO,YAAYxC,GAA6ByC,GAAmC;AACjF,IAAAzC,EAAQ,eAAe,IAAIyC,GAAgB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,OAAOzC,GAA6B0C,GAA8B;AACvE,IAAA1C,EAAQ,eAAe,IAAI0C,GAAW,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,SAAS1C,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,IAAI2C,GAAa,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAU3C,GAA6B4C,GAAiC;AAC7E,IAAA5C,EAAQ,eAAe,IAAI4C,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,cAAc5C,GAA6B6C,GAAqC;AACrF,IAAA7C,EAAQ,eAAe,IAAI6C,GAAkB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,eAAe7C,GAAgD;AAEpE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,kBAAkBA,GAA6Bc,GAAiCa,GAA+BC,GAAsCC,GAAkCC,GAAiCC,GAAgCC,GAAkCC,GAAgCC,GAAgCC,GAAgCC,GAAiCC,GAAkCC,GAAmCC,GAAgCC,GAAyCC,GAAmCC,GAA8BC,IAAgCC,IAAiCC,IAAwD;AACxuB,WAAAnB,EAAY,iBAAiB1B,CAAO,GACpC0B,EAAY,UAAU1B,GAASc,CAAY,GAC3CY,EAAY,QAAQ1B,GAAS2B,CAAU,GACvCD,EAAY,eAAe1B,GAAS4B,CAAiB,GACrDF,EAAY,WAAW1B,GAAS6B,CAAa,GAC7CH,EAAY,UAAU1B,GAAS8B,CAAY,GAC3CJ,EAAY,SAAS1B,GAAS+B,CAAW,GACzCL,EAAY,WAAW1B,GAASgC,CAAa,GAC7CN,EAAY,SAAS1B,GAASiC,CAAW,GACzCP,EAAY,SAAS1B,GAASkC,CAAW,GACzCR,EAAY,SAAS1B,GAASmC,CAAW,GACzCT,EAAY,UAAU1B,GAASoC,CAAY,GAC3CV,EAAY,WAAW1B,GAASqC,CAAa,GAC7CX,EAAY,YAAY1B,GAASsC,CAAc,GAC/CZ,EAAY,SAAS1B,GAASuC,CAAW,GACzCb,EAAY,kBAAkB1B,GAASwC,CAAoB,GAC3Dd,EAAY,YAAY1B,GAASyC,CAAc,GAC/Cf,EAAY,OAAO1B,GAAS0C,CAAS,GACrChB,EAAY,SAAS1B,GAAS2C,EAAW,GACzCjB,EAAY,UAAU1B,GAAS4C,EAAY,GAC3ClB,EAAY,cAAc1B,GAAS6C,EAAgB,GAC5CnB,EAAY,eAAe1B,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI8C;AAAA,MACT,KAAK,OAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,eAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,IAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,WAAA;AAAA,IAAW;AAAA,EAEpB;AAAA,EAGA,SAAS3C,GAAwB;AAC/B,IAAAA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,aAAa,KAAK,WAAA;AAAA,EACvB;AACA;AAEO,MAAM2C,GAAqD;AAAA,EAClE,YACSxB,IAAqC,MACrCyB,IAAmC,MACnCC,IAA0C,MAC1CC,IAAsC,MACtCC,IAAqC,MACrCC,IAAoC,MACpCC,IAAsC,MACtCC,IAAoC,MACpCC,IAAoC,MACpCC,IAAoC,MACpCC,IAAqC,MACrCC,IAAsC,MACtCC,IAAuC,MACvCC,IAAoC,MACpCC,IAA6C,MAC7CC,IAAuC,MACvCC,IAAkC,MAClCC,IAAoC,MACpCC,KAAqC,MACrCC,KAAyC,MACjD;AApBQ,SAAA,SAAA3C,GACA,KAAA,OAAAyB,GACA,KAAA,cAAAC,GACA,KAAA,UAAAC,GACA,KAAA,SAAAC,GACA,KAAA,QAAAC,GACA,KAAA,UAAAC,GACA,KAAA,QAAAC,GACA,KAAA,QAAAC,GACA,KAAA,QAAAC,GACA,KAAA,SAAAC,GACA,KAAA,UAAAC,GACA,KAAA,WAAAC,GACA,KAAA,QAAAC,GACA,KAAA,iBAAAC,GACA,KAAA,WAAAC,GACA,KAAA,MAAAC,GACA,KAAA,QAAAC,GACA,KAAA,SAAAC,IACA,KAAA,aAAAC;AAAA,EACP;AAAA,EAGF,KAAKjE,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE+C,IAAQ,KAAK,SAAS,OAAO/C,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEgD,IAAe,KAAK,gBAAgB,OAAOhD,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrFiD,IAAW,KAAK,YAAY,OAAOjD,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEkD,IAAU,KAAK,WAAW,OAAOlD,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEmD,IAAS,KAAK,UAAU,OAAOnD,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEoD,IAAW,KAAK,YAAY,OAAOpD,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEqD,IAAS,KAAK,UAAU,OAAOrD,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEsD,IAAS,KAAK,UAAU,OAAOtD,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEuD,IAAS,KAAK,UAAU,OAAOvD,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEwD,IAAU,KAAK,WAAW,OAAOxD,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEyD,IAAW,KAAK,YAAY,OAAOzD,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzE0D,IAAY,KAAK,aAAa,OAAO1D,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E2D,IAAS,KAAK,UAAU,OAAO3D,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE4D,IAAkB,KAAK,mBAAmB,OAAO5D,EAAQ,aAAa,KAAK,cAAe,IAAI,GAC9F6D,IAAY,KAAK,aAAa,OAAO7D,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E8D,IAAO,KAAK,QAAQ,OAAO9D,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D+D,KAAS,KAAK,UAAU,OAAO/D,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEgE,KAAU,KAAK,WAAW,OAAOhE,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEiE,KAAc,KAAK,eAAe,OAAOjE,EAAQ,aAAa,KAAK,UAAW,IAAI;AAExF,WAAO0B,EAAY;AAAA,MAAkB1B;AAAA,MACnCsB;AAAA,MACAyB;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACxYO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvE,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIqE,GAAA,GAAa,OAAOtE,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqE,GAAA,GAAa,OAAOtE,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAe;AACb,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,QAAgB;AACd,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,QAAQnE,GAA6BoE,GAAc;AACxD,IAAApE,EAAQ,aAAa,GAAG,CAACoE,GAAM,CAAM;AAAA,EACvC;AAAA,EAEA,OAAO,SAASpE,GAA6BqE,GAAe;AAC1D,IAAArE,EAAQ,aAAa,GAAG,CAACqE,GAAO,CAAM;AAAA,EACxC;AAAA,EAEA,OAAO,aAAarE,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6BmE,GAA8BC,GAAcC,GAAkC;AAChI,WAAAH,GAAU,eAAelE,CAAO,GAChCkE,GAAU,OAAOlE,GAASmE,CAAS,GACnCD,GAAU,QAAQlE,GAASoE,CAAI,GAC/BF,GAAU,SAASlE,GAASqE,CAAK,GAC1BH,GAAU,aAAalE,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAIsE;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAASnE,GAAsB;AAC7B,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAMmE,GAAmD;AAAA,EAChE,YACSC,IAAkC,MAClCH,IAAgB,IAChBC,IAAiB,IACzB;AAHQ,SAAA,MAAAE,GACA,KAAA,OAAAH,GACA,KAAA,QAAAC;AAAA,EACP;AAAA,EAGF,KAAKrE,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI;AAEnE,WAAOkE,GAAU;AAAA,MAAgBlE;AAAA,MAC/BuE;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACjGO,MAAMC,GAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7E,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAI2E,GAAA,GAAmB,OAAO5E,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2E,GAAA,GAAmB,OAAO5E,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAOS,GAAeR,GAA+B;AACnD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIqE,GAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASnE,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,qBAAqBC,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,mBAAmBT,GAAgD;AACxE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBC,GAA6ByE,GAAoD;AAC5G,WAAAD,GAAgB,qBAAqBxE,CAAO,GAC5CwE,GAAgB,UAAUxE,GAASyE,CAAY,GACxCD,GAAgB,mBAAmBxE,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAI0E;AAAA,MACT,KAAK,GAAI,cAAqC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAE7F;AAAA,EAGA,SAASvE,GAA4B;AACnC,IAAAA,EAAG,SAAS,KAAK,GAAI,cAAqC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EACvG;AACA;AAEO,MAAMuE,GAAyD;AAAA,EACtE,YACSC,IAAyB,IACjC;AADQ,SAAA,SAAAA;AAAA,EACP;AAAA,EAGF,KAAK3E,GAAiD;AACpD,UAAM2E,IAASH,GAAgB,mBAAmBxE,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAEtG,WAAOwE,GAAgB;AAAA,MAAsBxE;AAAA,MAC3C2E;AAAA,IAAA;AAAA,EAEJ;AACA;ACtFO,MAAMC,GAA6D;AAAA,EAAnE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjF,GAAUC,GAAoC;AACrD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBA,GAA2BC,GAAwB;AAC1E,YAAQA,KAAO,IAAI+E,GAAA,GAAY,OAAOhF,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAEA,OAAO,8BAA8BA,GAA2BC,GAAwB;AACtF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+E,GAAA,GAAY,OAAOhF,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUD,GAAcC,GAAmD;AACzE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,kBAAyB;AACvB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,cAAcC,GAA6B;AAChD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,aAAanE,GAA6B6E,GAAoC;AACnF,IAAA7E,EAAQ,eAAe,GAAG6E,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,sBAAsB7E,GAA6BQ,GAA8C;AACtG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,qBAAqBA,GAA6BS,GAAiB;AACxE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAAgD;AACjE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,eAAeC,GAA6BmE,GAA8BU,GAAuD;AACtI,WAAAD,GAAS,cAAc5E,CAAO,GAC9B4E,GAAS,OAAO5E,GAASmE,CAAS,GAClCS,GAAS,aAAa5E,GAAS6E,CAAe,GACvCD,GAAS,YAAY5E,CAAO;AAAA,EACrC;AAAA,EAEA,SAAoB;AAClB,WAAO,IAAI8E;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB;AAAA,IAAA;AAAA,EAEvF;AAAA,EAGA,SAAS3E,GAAqB;AAC5B,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,YAAY,KAAK,GAAI,iBAAyB,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB;AAAA,EACpG;AACA;AAEO,MAAM2E,GAAkD;AAAA,EAC/D,YACSP,IAAkC,MAClCQ,IAAwB,CAAA,GAChC;AAFQ,SAAA,MAAAR,GACA,KAAA,YAAAQ;AAAA,EACP;AAAA,EAGF,KAAK/E,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D+E,IAAYH,GAAS,sBAAsB5E,GAASA,EAAQ,uBAAuB,KAAK,SAAS,CAAC;AAExG,WAAO4E,GAAS;AAAA,MAAe5E;AAAA,MAC7BuE;AAAA,MACAQ;AAAA,IAAA;AAAA,EAEJ;AACA;ACxGO,MAAMC,GAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOrF,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAImF,GAAA,GAAmB,OAAOpF,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImF,GAAA,GAAmB,OAAOpF,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,aAAaS,GAAeR,GAA6B;AACvD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI+E,GAAA,GAAY,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS7E,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACvI;AAAA,EAEA,qBAA4B;AAC1B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,WAAWO,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,WAAWD,GAAcC,GAAmD;AAC1E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,mBAA0B;AACxB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,qBAAqBC,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BiF,GAAuC;AACzF,IAAAjF,EAAQ,eAAe,GAAGiF,GAAoB,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,yBAAyBjF,GAA6BQ,GAA8C;AACzG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,wBAAwBA,GAA6BS,GAAiB;AAC3E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,cAAcT,GAA6BkF,GAAqC;AACrF,IAAAlF,EAAQ,eAAe,GAAGkF,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,cAAclF,GAA6BmF,GAAqC;AACrF,IAAAnF,EAAQ,eAAe,GAAGmF,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,uBAAuBnF,GAA6BQ,GAA8C;AACvG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BS,GAAiB;AACzE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,mBAAmBT,GAAgD;AAExE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BiF,GAAuCC,GAAqCC,GAAwD;AAC5L,WAAAH,GAAgB,qBAAqBhF,CAAO,GAC5CgF,GAAgB,gBAAgBhF,GAASiF,CAAkB,GAC3DD,GAAgB,cAAchF,GAASkF,CAAgB,GACvDF,GAAgB,cAAchF,GAASmF,CAAgB,GAChDH,GAAgB,mBAAmBhF,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAIoF;AAAA,MACT,KAAK,GAAI,cAAmC,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,oBAAoB;AAAA,MACnG,KAAK,WAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB;AAAA,IAAA;AAAA,EAEzF;AAAA,EAGA,SAASjF,GAA4B;AACnC,IAAAA,EAAG,eAAe,KAAK,GAAI,cAAmC,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,mBAAA,CAAoB,GACrHA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,aAAa,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB;AAAA,EACvG;AACA;AAEO,MAAMiF,GAAyD;AAAA,EACtE,YACSC,IAA8B,CAAA,GAC9BC,IAAyC,MACzCC,IAAyB,IACjC;AAHQ,SAAA,eAAAF,GACA,KAAA,aAAAC,GACA,KAAA,aAAAC;AAAA,EACP;AAAA,EAGF,KAAKvF,GAAiD;AACpD,UAAMqF,IAAeL,GAAgB,yBAAyBhF,GAASA,EAAQ,uBAAuB,KAAK,YAAY,CAAC,GAClHsF,IAAc,KAAK,eAAe,OAAOtF,EAAQ,aAAa,KAAK,UAAW,IAAI,GAClFuF,IAAaP,GAAgB,uBAAuBhF,GAASA,EAAQ,uBAAuB,KAAK,UAAU,CAAC;AAElH,WAAOgF,GAAgB;AAAA,MAAsBhF;AAAA,MAC3CqF;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACxIO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7F,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAI2F,GAAA,GAAa,OAAO5F,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2F,GAAA,GAAa,OAAO5F,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,eAAeN,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6ByF,GAAgC;AAC3E,IAAAzF,EAAQ,eAAe,GAAGyF,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,aAAazF,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6ByF,GAAmD;AACrG,WAAAD,GAAU,eAAexF,CAAO,GAChCwF,GAAU,SAASxF,GAASyF,CAAW,GAChCD,GAAU,aAAaxF,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAI0F;AAAA,MACT,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAASvF,GAAsB;AAC7B,IAAAA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAMuF,GAAmD;AAAA,EAChE,YACSC,IAAoC,MAC5C;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAK3F,GAAiD;AACpD,UAAM2F,IAAS,KAAK,UAAU,OAAO3F,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAOwF,GAAU;AAAA,MAAgBxF;AAAA,MAC/B2F;AAAA,IAAA;AAAA,EAEJ;AACA;ACtEO,MAAMC,GAA6D;AAAA,EAAnE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjG,GAAUC,GAAoC;AACrD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBA,GAA2BC,GAAwB;AAC1E,YAAQA,KAAO,IAAI+F,GAAA,GAAY,OAAOhG,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAEA,OAAO,8BAA8BA,GAA2BC,GAAwB;AACtF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+F,GAAA,GAAY,OAAOhG,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAIA,SAASU,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,cAAcN,GAA6B;AAChD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,YAAYA,GAA6B6F,GAAmC;AACjF,IAAA7F,EAAQ,eAAe,GAAG6F,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,QAAQ7F,GAA6B8F,GAA+B;AACzE,IAAA9F,EAAQ,eAAe,GAAG8F,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,YAAY9F,GAAgD;AACjE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,eAAeC,GAA6B6F,GAAmCC,GAAkD;AACtI,WAAAF,GAAS,cAAc5F,CAAO,GAC9B4F,GAAS,YAAY5F,GAAS6F,CAAc,GAC5CD,GAAS,QAAQ5F,GAAS8F,CAAU,GAC7BF,GAAS,YAAY5F,CAAO;AAAA,EACrC;AAAA,EAEA,SAAoB;AAClB,WAAO,IAAI+F;AAAA,MACT,KAAK,SAAA;AAAA,MACL,KAAK,KAAA;AAAA,IAAK;AAAA,EAEd;AAAA,EAGA,SAAS5F,GAAqB;AAC5B,IAAAA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,OAAO,KAAK,KAAA;AAAA,EACjB;AACA;AAEO,MAAM4F,GAAkD;AAAA,EAC/D,YACSC,IAAuC,MACvCC,IAAmC,MAC3C;AAFQ,SAAA,WAAAD,GACA,KAAA,OAAAC;AAAA,EACP;AAAA,EAGF,KAAKjG,GAAiD;AACpD,UAAMgG,IAAY,KAAK,aAAa,OAAOhG,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5EiG,IAAQ,KAAK,SAAS,OAAOjG,EAAQ,aAAa,KAAK,IAAK,IAAI;AAEtE,WAAO4F,GAAS;AAAA,MAAe5F;AAAA,MAC7BgG;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACvFO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvG,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIqG,GAAA,GAAe,OAAOtG,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqG,GAAA,GAAe,OAAOtG,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiBN,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmG,GAA8B;AACvE,IAAAnG,EAAQ,eAAe,GAAGmG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,eAAenG,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6BmG,GAAiD;AACrG,WAAAD,GAAY,iBAAiBlG,CAAO,GACpCkG,GAAY,OAAOlG,GAASmG,CAAS,GAC9BD,GAAY,eAAelG,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAIoG;AAAA,MACT,KAAK,IAAA;AAAA,IAAI;AAAA,EAEb;AAAA,EAGA,SAASjG,GAAwB;AAC/B,IAAAA,EAAG,MAAM,KAAK,IAAA;AAAA,EAChB;AACA;AAEO,MAAMiG,GAAqD;AAAA,EAClE,YACSC,IAAkC,MAC1C;AADQ,SAAA,MAAAA;AAAA,EACP;AAAA,EAGF,KAAKrG,GAAiD;AACpD,UAAMqG,IAAO,KAAK,QAAQ,OAAOrG,EAAQ,aAAa,KAAK,GAAI,IAAI;AAEnE,WAAOkG,GAAY;AAAA,MAAkBlG;AAAA,MACnCqG;AAAA,IAAA;AAAA,EAEJ;AACA;ACtEO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3G,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIyG,GAAA,GAAa,OAAO1G,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIyG,GAAA,GAAa,OAAO1G,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,eAAeN,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,OAAOnE,GAA6BuG,GAA8B;AACvE,IAAAvG,EAAQ,eAAe,GAAGuG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,OAAOvG,GAA6BwG,GAA8B;AACvE,IAAAxG,EAAQ,eAAe,GAAGwG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,aAAaxG,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6BmE,GAA8BoC,GAA8BC,GAAiD;AAC/J,WAAAF,GAAU,eAAetG,CAAO,GAChCsG,GAAU,OAAOtG,GAASmE,CAAS,GACnCmC,GAAU,OAAOtG,GAASuG,CAAS,GACnCD,GAAU,OAAOtG,GAASwG,CAAS,GAC5BF,GAAU,aAAatG,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAIyG;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,IAAA;AAAA,MACL,KAAK,IAAA;AAAA,IAAI;AAAA,EAEb;AAAA,EAGA,SAAStG,GAAsB;AAC7B,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,MAAM,KAAK,IAAA;AAAA,EAChB;AACA;AAEO,MAAMsG,GAAmD;AAAA,EAChE,YACSlC,IAAkC,MAClCmC,IAAkC,MAClCC,IAAkC,MAC1C;AAHQ,SAAA,MAAApC,GACA,KAAA,MAAAmC,GACA,KAAA,MAAAC;AAAA,EACP;AAAA,EAGF,KAAK3G,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D0G,IAAO,KAAK,QAAQ,OAAO1G,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D2G,IAAO,KAAK,QAAQ,OAAO3G,EAAQ,aAAa,KAAK,GAAI,IAAI;AAEnE,WAAOsG,GAAU;AAAA,MAAgBtG;AAAA,MAC/BuE;AAAA,MACAmC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACxGO,MAAMC,GAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjH,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAI+G,GAAA,GAAmB,OAAOhH,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+G,GAAA,GAAmB,OAAOhH,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,YAAYA,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,qBAAqBN,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,SAASnE,GAA6B6G,GAAgC;AAC3E,IAAA7G,EAAQ,eAAe,GAAG6G,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAe7G,GAA6B8G,GAAsC;AACvF,IAAA9G,EAAQ,eAAe,GAAG8G,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,SAAS9G,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,GAAG2C,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,mBAAmB3C,GAAgD;AACxE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBC,GAA6BmE,GAA8B0C,GAAgCC,GAAsCnE,GAAmD;AAC/M,WAAAiE,GAAgB,qBAAqB5G,CAAO,GAC5C4G,GAAgB,OAAO5G,GAASmE,CAAS,GACzCyC,GAAgB,SAAS5G,GAAS6G,CAAW,GAC7CD,GAAgB,eAAe5G,GAAS8G,CAAiB,GACzDF,GAAgB,SAAS5G,GAAS2C,CAAW,GACtCiE,GAAgB,mBAAmB5G,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAI+G;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAAS5G,GAA4B;AACnC,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAM4G,GAAyD;AAAA,EACtE,YACSxC,IAAkC,MAClCyC,IAAoC,MACpCC,IAA0C,MAC1ClD,IAAoC,MAC5C;AAJQ,SAAA,MAAAQ,GACA,KAAA,QAAAyC,GACA,KAAA,cAAAC,GACA,KAAA,QAAAlD;AAAA,EACP;AAAA,EAGF,KAAK/D,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7DgH,IAAS,KAAK,UAAU,OAAOhH,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEiH,IAAe,KAAK,gBAAgB,OAAOjH,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrF+D,IAAS,KAAK,UAAU,OAAO/D,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAO4G,GAAgB;AAAA,MAAsB5G;AAAA,MAC3CuE;AAAA,MACAyC;AAAA,MACAC;AAAA,MACAlD;AAAA,IAAA;AAAA,EAEJ;AACA;ACzHO,MAAMmD,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvH,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIqH,GAAA,GAAa,OAAOtH,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqH,GAAA,GAAa,OAAOtH,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUA,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,eAAeN,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,aAAanE,GAA6BmH,GAAoC;AACnF,IAAAnH,EAAQ,eAAe,GAAGmH,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,aAAanH,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6BmE,GAA8BgD,GAAuD;AACvI,WAAAD,GAAU,eAAelH,CAAO,GAChCkH,GAAU,OAAOlH,GAASmE,CAAS,GACnC+C,GAAU,aAAalH,GAASmH,CAAe,GACxCD,GAAU,aAAalH,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAIoH;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAASjH,GAAsB;AAC7B,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAMiH,GAAmD;AAAA,EAChE,YACS7C,IAAkC,MAClC8C,IAAwC,MAChD;AAFQ,SAAA,MAAA9C,GACA,KAAA,YAAA8C;AAAA,EACP;AAAA,EAGF,KAAKrH,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7DqH,IAAa,KAAK,cAAc,OAAOrH,EAAQ,aAAa,KAAK,SAAU,IAAI;AAErF,WAAOkH,GAAU;AAAA,MAAgBlH;AAAA,MAC/BuE;AAAA,MACA8C;AAAA,IAAA;AAAA,EAEJ;AACA;ACrFO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3H,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIyH,GAAA,GAAa,OAAO1H,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIyH,GAAA,GAAa,OAAO1H,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,MAAMC,GAA+B;AACnC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyG,GAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,SAASvG,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACzG;AAAA,EAEA,MAAMF,GAA+B;AACnC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIqH,GAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,SAASnH,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACzG;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,GAAG2C,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,SAAS3C,GAA6BuH,GAAgC;AAC3E,IAAAvH,EAAQ,eAAe,GAAGuH,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,aAAavH,GAAgD;AAElE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAGA,SAAqB;AACnB,WAAO,IAAIwH;AAAA,MACR,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,MACjD,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,IAAA;AAAA,EAEtD;AAAA,EAGA,SAASrH,GAAsB;AAC7B,IAAAA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW,MAC7DA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW;AAAA,EAC/D;AACA;AAEO,MAAMqH,GAAmD;AAAA,EAChE,YACSzD,IAAyB,MACzB0D,IAAyB,MACjC;AAFQ,SAAA,QAAA1D,GACA,KAAA,QAAA0D;AAAA,EACP;AAAA,EAGF,KAAKzH,GAAiD;AACpD,UAAM+D,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAK/D,CAAO,IAAI,GAC3DyH,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAKzH,CAAO,IAAI;AAEjE,WAAAsH,GAAU,eAAetH,CAAO,GAChCsH,GAAU,SAAStH,GAAS+D,CAAK,GACjCuD,GAAU,SAAStH,GAASyH,CAAK,GAE1BH,GAAU,aAAatH,CAAO;AAAA,EACvC;AACA;AC9EO,MAAM0H,GAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO/H,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI6H,GAAA,GAAkB,OAAO9H,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI6H,GAAA,GAAkB,OAAO9H,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,MAAMS,GAAeR,GAA+B;AAClD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyH,GAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASvH,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,cAAqB;AACnB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6BO,GAAgC;AAC3E,IAAAP,EAAQ,eAAe,GAAGO,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkBP,GAA6BQ,GAA8C;AAClG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAAgD;AAEvE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,qBAAqBA,GAA6BO,GAAmD;AAC1G,WAAAmH,GAAe,oBAAoB1H,CAAO,GAC1C0H,GAAe,SAAS1H,GAASO,CAAW,GACrCmH,GAAe,kBAAkB1H,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAI2H;AAAA,MACT,KAAK,GAAI,cAAqC,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,IAAA;AAAA,EAE3F;AAAA,EAGA,SAASxH,GAA2B;AAClC,IAAAA,EAAG,QAAQ,KAAK,GAAI,cAAqC,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,EACpG;AACA;AAEO,MAAMwH,GAAwD;AAAA,EACrE,YACShH,IAAwB,IAChC;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAKX,GAAiD;AACpD,UAAMW,IAAQ+G,GAAe,kBAAkB1H,GAASA,EAAQ,uBAAuB,KAAK,KAAK,CAAC;AAElG,WAAO0H,GAAe;AAAA,MAAqB1H;AAAA,MACzCW;AAAA,IAAA;AAAA,EAEJ;AACA;ACrFO,MAAMiH,EAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjI,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAI+H,EAAA,GAAa,OAAOhI,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+H,EAAA,GAAa,OAAOhI,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAc;AACZ,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6B6H,GAAiC;AAC7E,IAAA7H,EAAQ,eAAe,GAAG6H,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAU7H,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6B8H,GAAiC;AAC7E,IAAA9H,EAAQ,eAAe,GAAG8H,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,QAAQ9H,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,OAAO,GAAG,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,aAAaf,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6Ba,GAA6BgH,GAAiCpD,GAAiCqD,GAAiC/G,GAAgC;AAClN,WAAA6G,EAAU,eAAe5H,CAAO,GAChC4H,EAAU,MAAM5H,GAASa,CAAQ,GACjC+G,EAAU,UAAU5H,GAAS6H,CAAY,GACzCD,EAAU,UAAU5H,GAASyE,CAAY,GACzCmD,EAAU,UAAU5H,GAAS8H,CAAY,GACzCF,EAAU,QAAQ5H,GAASe,CAAI,GACxB6G,EAAU,aAAa5H,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAI+H;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,OAAA;AAAA,MACL,KAAK,KAAA;AAAA,IAAK;AAAA,EAEd;AAAA,EAGA,SAAS5H,GAAsB;AAC7B,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,OAAO,KAAK,KAAA;AAAA,EACjB;AACA;AAEO,MAAM4H,GAAmD;AAAA,EAChE,YACS1G,IAAiC,MACjC2G,IAAqC,MACrCrD,IAAqB,IACrBsD,IAAqC,MACrClH,IAAe,OAAO,GAAG,GACjC;AALQ,SAAA,KAAAM,GACA,KAAA,SAAA2G,GACA,KAAA,SAAArD,GACA,KAAA,SAAAsD,GACA,KAAA,OAAAlH;AAAA,EACP;AAAA,EAGF,KAAKf,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1DgI,IAAU,KAAK,WAAW,OAAOhI,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE2E,IAASiD,EAAU,mBAAmB5H,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC1FiI,IAAU,KAAK,WAAW,OAAOjI,EAAQ,aAAa,KAAK,MAAO,IAAI;AAE5E,WAAO4H,EAAU;AAAA,MAAgB5H;AAAA,MAC/BqB;AAAA,MACA2G;AAAA,MACArD;AAAA,MACAsD;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACnJO,IAAKC,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,WAAW,CAAA,IAAX,YACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,iBAAiB,CAAA,IAAjB,kBACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,kBAAkB,CAAA,IAAlB,mBATUA,IAAAA,MAAA,CAAA,CAAA;AAYL,SAASC,GACdC,GACAC,GACkG;AAClG,UAAOH,GAAYE,CAAI,GAAA;AAAA,IACrB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAY,aAAOC,EAAS,IAAIzC,IAAU;AAAA,IAC/C,KAAK;AAAe,aAAOyC,EAAS,IAAInC,IAAa;AAAA,IACrD,KAAK;AAAa,aAAOmC,EAAS,IAAI7C,IAAW;AAAA,IACjD,KAAK;AAAa,aAAO6C,EAAS,IAAI/B,IAAW;AAAA,IACjD,KAAK;AAAa,aAAO+B,EAAS,IAAInB,IAAW;AAAA,IACjD,KAAK;AAAkB,aAAOmB,EAAS,IAAIX,IAAgB;AAAA,IAC3D,KAAK;AAAa,aAAOW,EAAS,IAAIT,GAAW;AAAA,IACjD,KAAK;AAAmB,aAAOS,EAAS,IAAIzB,IAAiB;AAAA,IAC7D;AAAS,aAAO;AAAA,EAAA;AAEpB;ACzBO,MAAM0B,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3I,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAIyI,EAAA,GAAgB,OAAO1I,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIyI,EAAA,GAAgB,OAAO1I,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAIA,KAAKU,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,WAAuB;AACrB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAImI,GAAY;AAAA,EACzE;AAAA,EAEA,KAAkCrI,GAAkB;AAClD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,kBAAkBC,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6BuI,GAA+B;AACzE,IAAAvI,EAAQ,eAAe,GAAGuI,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,QAAQvI,GAA6BwI,GAA+B;AACzE,IAAAxI,EAAQ,eAAe,GAAGwI,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,YAAYxI,GAA6ByI,GAAsB;AACpE,IAAAzI,EAAQ,aAAa,GAAGyI,GAAUP,GAAY,IAAI;AAAA,EACpD;AAAA,EAEA,OAAO,QAAQlI,GAA6B0I,GAA+B;AACzE,IAAA1I,EAAQ,eAAe,GAAG0I,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,gBAAgB1I,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBC,GAA6BuI,GAA+BC,GAA+BC,GAAsBC,GAAkD;AAC3L,WAAAJ,EAAa,kBAAkBtI,CAAO,GACtCsI,EAAa,QAAQtI,GAASuI,CAAU,GACxCD,EAAa,QAAQtI,GAASwI,CAAU,GACxCF,EAAa,YAAYtI,GAASyI,CAAQ,GAC1CH,EAAa,QAAQtI,GAAS0I,CAAU,GACjCJ,EAAa,gBAAgBtI,CAAO;AAAA,EAC7C;AAAA,EAEA,SAAwB;AACtB,WAAO,IAAI2I;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,SAAA;AAAA,OACJ,MAAM;AACL,cAAMC,IAAOT,GAAmB,KAAK,SAAA,GAAY,KAAK,KAAK,KAAK,IAAI,CAAC;AACrE,eAAGS,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,IAAG;AAAA,EAEL;AAAA,EAGA,SAASzI,GAAyB;AAChC,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,QAAQ,MAAM;AACb,YAAMyI,IAAOT,GAAmB,KAAK,SAAA,GAAY,KAAK,KAAK,KAAK,IAAI,CAAC;AACrE,aAAGS,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA;AAAA,EACF;AACA;AAEO,MAAMD,GAAsD;AAAA,EACnE,YACSP,IAAmC,MACnCS,IAAmC,MACnCJ,IAAwBP,GAAY,MACpC1H,IAAiH,MACzH;AAJQ,SAAA,OAAA4H,GACA,KAAA,OAAAS,GACA,KAAA,WAAAJ,GACA,KAAA,OAAAjI;AAAA,EACP;AAAA,EAGF,KAAKR,GAAiD;AACpD,UAAMoI,IAAQ,KAAK,SAAS,OAAOpI,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChE6I,IAAQ,KAAK,SAAS,OAAO7I,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEQ,IAAOR,EAAQ,mBAAmB,KAAK,IAAI;AAEjD,WAAOsI,EAAa;AAAA,MAAmBtI;AAAA,MACrCoI;AAAA,MACAS;AAAA,MACA,KAAK;AAAA,MACLrI;AAAA,IAAA;AAAA,EAEJ;AACA;ACtIO,MAAMsI,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOnJ,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAIiJ,EAAA,GAAgB,OAAOlJ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIiJ,EAAA,GAAgB,OAAOlJ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAc;AACZ,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,OAAO,kBAAkBC,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6B8H,GAAiC;AAC7E,IAAA9H,EAAQ,eAAe,GAAG8H,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,QAAQ9H,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,OAAO,GAAG,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,gBAAgBf,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBC,GAA6Ba,GAA6B4D,GAAiCqD,GAAiC/G,GAAgC;AACpL,WAAA+H,EAAa,kBAAkB9I,CAAO,GACtC8I,EAAa,MAAM9I,GAASa,CAAQ,GACpCiI,EAAa,UAAU9I,GAASyE,CAAY,GAC5CqE,EAAa,UAAU9I,GAAS8H,CAAY,GAC5CgB,EAAa,QAAQ9I,GAASe,CAAI,GAC3B+H,EAAa,gBAAgB9I,CAAO;AAAA,EAC7C;AAAA,EAEA,SAAwB;AACtB,WAAO,IAAI+I;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,OAAA;AAAA,MACL,KAAK,KAAA;AAAA,IAAK;AAAA,EAEd;AAAA,EAGA,SAAS5I,GAAyB;AAChC,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,OAAO,KAAK,KAAA;AAAA,EACjB;AACA;AAEO,MAAM4I,GAAsD;AAAA,EACnE,YACS1H,IAAiC,MACjCsD,IAAqB,CAAA,GACrBsD,IAAqC,MACrClH,IAAe,OAAO,GAAG,GACjC;AAJQ,SAAA,KAAAM,GACA,KAAA,SAAAsD,GACA,KAAA,SAAAsD,GACA,KAAA,OAAAlH;AAAA,EACP;AAAA,EAGF,KAAKf,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1D2E,IAASmE,EAAa,mBAAmB9I,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC7FiI,IAAU,KAAK,WAAW,OAAOjI,EAAQ,aAAa,KAAK,MAAO,IAAI;AAE5E,WAAO8I,EAAa;AAAA,MAAmB9I;AAAA,MACrCqB;AAAA,MACAsD;AAAA,MACAsD;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACvIO,MAAMe,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOrJ,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAImJ,EAAA,GAAkB,OAAOpJ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImJ,EAAA,GAAkB,OAAOpJ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,UAAUU,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6BiJ,GAAoC;AACnF,IAAAjJ,EAAQ,eAAe,GAAGiJ,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,UAAUjJ,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6BiJ,GAAoCxE,GAAoD;AAC/I,WAAAuE,EAAe,oBAAoBhJ,CAAO,GAC1CgJ,EAAe,aAAahJ,GAASiJ,CAAe,GACpDD,EAAe,UAAUhJ,GAASyE,CAAY,GACvCuE,EAAe,kBAAkBhJ,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAIkJ;AAAA,MACT,KAAK,UAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAEjF;AAAA,EAGA,SAAS/I,GAA2B;AAClC,IAAAA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EAC3F;AACA;AAEO,MAAM+I,GAAwD;AAAA,EACrE,YACSC,IAAwC,MACxCxE,IAAqB,CAAA,GAC7B;AAFQ,SAAA,YAAAwE,GACA,KAAA,SAAAxE;AAAA,EACP;AAAA,EAGF,KAAK3E,GAAiD;AACpD,UAAMmJ,IAAa,KAAK,cAAc,OAAOnJ,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/E2E,IAASqE,EAAe,mBAAmBhJ,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAErG,WAAOgJ,EAAe;AAAA,MAAqBhJ;AAAA,MACzCmJ;AAAA,MACAxE;AAAA,IAAA;AAAA,EAEJ;AACA;ACrGO,MAAMyE,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOzJ,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAIuJ,EAAA,GAAkB,OAAOxJ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuJ,EAAA,GAAkB,OAAOxJ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,QAAQU,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,cAAcD,GAAeR,GAAqC;AAChE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyI,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASvI,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,sBAA6B;AAC3B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,eAAeA,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,aAAaA,GAAmD;AAC9D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,WAAkB;AAChB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,WAAWO,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,WAAWD,GAAcC,GAAmD;AAC1E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,mBAA0B;AACxB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,SAASO,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,iBAAiBA,GAAmD;AAClE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,eAAeA,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,aAAoB;AAClB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,aAAaO,GAAmD;AAC9D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,aAAaD,GAAcC,GAAmD;AAC5E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,qBAA4B;AAC1B,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,UAAUM,GAAeR,GAAqC;AAC5D,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIiJ,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS/I,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,kBAAyB;AACvB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,SAASM,GAAeR,GAAyC;AAC/D,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAImJ,EAAA,GAAkB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASjJ,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC7I;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,WAAWA,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,iBAAiBhB,GAA6BqJ,GAAwC;AAC3F,IAAArJ,EAAQ,eAAe,GAAGqJ,GAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,0BAA0BrJ,GAA6BQ,GAA8C;AAC1G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,yBAAyBA,GAA6BS,GAAiB;AAC5E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6BsJ,GAAiC;AAC7E,IAAAtJ,EAAQ,eAAe,GAAGsJ,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,kBAAkBtJ,GAA6BuJ,GAAyC;AAC7F,IAAAvJ,EAAQ,eAAe,GAAGuJ,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,gBAAgBvJ,GAA6BwJ,GAAuC;AACzF,IAAAxJ,EAAQ,eAAe,GAAGwJ,GAAoB,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,YAAYxJ,GAA6ByJ,GAAiB;AAC/D,IAAAzJ,EAAQ,cAAc,GAAGyJ,GAAU,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,cAAczJ,GAA6B0J,GAAqC;AACrF,IAAA1J,EAAQ,eAAe,GAAG0J,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,cAAc1J,GAA6B2J,GAAqC;AACrF,IAAA3J,EAAQ,eAAe,GAAG2J,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,uBAAuB3J,GAA6BQ,GAA8C;AACvG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BS,GAAiB;AACzE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6B4J,GAAmC;AACjF,IAAA5J,EAAQ,eAAe,GAAG4J,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,oBAAoB5J,GAA6B6J,GAA2C;AACjG,IAAA7J,EAAQ,eAAe,GAAG6J,GAAwB,CAAC;AAAA,EACrD;AAAA,EAEA,OAAO,kBAAkB7J,GAA6B8J,GAAyC;AAC7F,IAAA9J,EAAQ,eAAe,IAAI8J,GAAsB,CAAC;AAAA,EACpD;AAAA,EAEA,OAAO,cAAc9J,GAA6B+J,GAAmB;AACnE,IAAA/J,EAAQ,cAAc,IAAI+J,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,gBAAgB/J,GAA6BgK,GAAuC;AACzF,IAAAhK,EAAQ,eAAe,IAAIgK,GAAoB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,gBAAgBhK,GAA6BiK,GAAuC;AACzF,IAAAjK,EAAQ,eAAe,IAAIiK,GAAoB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,yBAAyBjK,GAA6BQ,GAA8C;AACzG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,wBAAwBA,GAA6BS,GAAiB;AAC3E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BkK,GAAoC;AACnF,IAAAlK,EAAQ,eAAe,IAAIkK,GAAiB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,sBAAsBlK,GAA6BQ,GAA8C;AACtG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,qBAAqBA,GAA6BS,GAAiB;AACxE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6BmK,GAAmC;AACjF,IAAAnK,EAAQ,eAAe,IAAImK,GAAgB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,qBAAqBnK,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6BgB,GAAkCqI,GAAwCC,GAAiCC,GAAyCC,GAAuCC,GAAiBC,GAAqCC,GAAqCC,GAAmCC,GAA2CC,GAAyCC,GAAmBC,GAAuCC,GAAuCC,GAAoCC,GAAsD;AAC/nB,WAAAf,EAAe,oBAAoBpJ,CAAO,GAC1CoJ,EAAe,WAAWpJ,GAASgB,CAAa,GAChDoI,EAAe,iBAAiBpJ,GAASqJ,CAAmB,GAC5DD,EAAe,UAAUpJ,GAASsJ,CAAY,GAC9CF,EAAe,kBAAkBpJ,GAASuJ,CAAoB,GAC9DH,EAAe,gBAAgBpJ,GAASwJ,CAAkB,GAC1DJ,EAAe,YAAYpJ,GAASyJ,CAAQ,GAC5CL,EAAe,cAAcpJ,GAAS0J,CAAgB,GACtDN,EAAe,cAAcpJ,GAAS2J,CAAgB,GACtDP,EAAe,YAAYpJ,GAAS4J,CAAc,GAClDR,EAAe,oBAAoBpJ,GAAS6J,CAAsB,GAClET,EAAe,kBAAkBpJ,GAAS8J,CAAoB,GAC9DV,EAAe,cAAcpJ,GAAS+J,CAAU,GAChDX,EAAe,gBAAgBpJ,GAASgK,CAAkB,GAC1DZ,EAAe,gBAAgBpJ,GAASiK,CAAkB,GAC1Db,EAAe,aAAapJ,GAASkK,CAAe,GACpDd,EAAe,YAAYpJ,GAASmK,CAAc,GAC3Cf,EAAe,kBAAkBpJ,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAIoK;AAAA,MACT,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,qBAAqB;AAAA,MAC7G,KAAK,OAAA;AAAA,MACL,KAAK,eAAA;AAAA,MACL,KAAK,aAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,WAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,kBAAkB;AAAA,MACrF,KAAK,SAAA;AAAA,MACL,KAAK,iBAAA;AAAA,MACL,KAAK,eAAA;AAAA,MACL,KAAK,WAAA;AAAA,MACL,KAAK,aAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,oBAAoB;AAAA,MACzF,KAAK,GAAI,cAA2C,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,iBAAiB;AAAA,MACrG,KAAK,GAAI,cAA+C,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,IAAA;AAAA,EAE3G;AAAA,EAGA,SAASjK,GAA2B;AAClC,IAAAA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,gBAAgB,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,oBAAA,CAAqB,GAChIA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,aAAa,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB,GACrGA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,mBAAmB,KAAK,iBAAA,GAC3BA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,eAAe,KAAK,GAAI,iBAAyB,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,mBAAA,CAAoB,GAC3GA,EAAG,YAAY,KAAK,GAAI,cAA2C,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB,GACpHA,EAAG,WAAW,KAAK,GAAI,cAA+C,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,EACvH;AACA;AAEO,MAAMiK,GAAwD;AAAA,EACrE,YACS7I,IAAsC,MACtC8I,IAAmC,CAAA,GACnCC,IAAqC,MACrCC,IAA6C,MAC7CC,IAA2C,MAC3Cf,IAAmB,GACnBgB,IAAyC,MACzCC,IAAyB,CAAA,GACzBC,IAAuC,MACvCC,IAA+C,MAC/CC,IAA6C,MAC7Cd,IAAqB,GACrBe,IAA2C,MAC3CC,IAA2B,CAAA,GAC3BC,IAA+B,CAAA,GAC/BC,IAAgC,IACxC;AAhBQ,SAAA,UAAA1J,GACA,KAAA,gBAAA8I,GACA,KAAA,SAAAC,GACA,KAAA,iBAAAC,GACA,KAAA,eAAAC,GACA,KAAA,WAAAf,GACA,KAAA,aAAAgB,GACA,KAAA,aAAAC,GACA,KAAA,WAAAC,GACA,KAAA,mBAAAC,GACA,KAAA,iBAAAC,GACA,KAAA,aAAAd,GACA,KAAA,eAAAe,GACA,KAAA,eAAAC,GACA,KAAA,YAAAC,GACA,KAAA,WAAAC;AAAA,EACP;AAAA,EAGF,KAAKjL,GAAiD;AACpD,UAAMuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEqK,IAAgBjB,EAAe,0BAA0BpJ,GAASA,EAAQ,uBAAuB,KAAK,aAAa,CAAC,GACpHsK,IAAU,KAAK,WAAW,OAAOtK,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEuK,IAAkB,KAAK,mBAAmB,OAAOvK,EAAQ,aAAa,KAAK,cAAe,IAAI,GAC9FwK,IAAgB,KAAK,iBAAiB,OAAOxK,EAAQ,aAAa,KAAK,YAAa,IAAI,GACxFyK,IAAc,KAAK,eAAe,OAAOzK,EAAQ,aAAa,KAAK,UAAW,IAAI,GAClF0K,IAAatB,EAAe,uBAAuBpJ,GAASA,EAAQ,uBAAuB,KAAK,UAAU,CAAC,GAC3G2K,IAAY,KAAK,aAAa,OAAO3K,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E4K,IAAoB,KAAK,qBAAqB,OAAO5K,EAAQ,aAAa,KAAK,gBAAiB,IAAI,GACpG6K,IAAkB,KAAK,mBAAmB,OAAO7K,EAAQ,aAAa,KAAK,cAAe,IAAI,GAC9F8K,IAAgB,KAAK,iBAAiB,OAAO9K,EAAQ,aAAa,KAAK,YAAa,IAAI,GACxF+K,IAAe3B,EAAe,yBAAyBpJ,GAASA,EAAQ,uBAAuB,KAAK,YAAY,CAAC,GACjHgL,IAAY5B,EAAe,sBAAsBpJ,GAASA,EAAQ,uBAAuB,KAAK,SAAS,CAAC,GACxGiL,IAAW7B,EAAe,qBAAqBpJ,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC;AAE3G,WAAOoJ,EAAe;AAAA,MAAqBpJ;AAAA,MACzCuB;AAAA,MACA8I;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACLC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACLC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACjZO,MAAMC,GAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvL,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAIqL,GAAA,GAAmB,OAAOtL,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqL,GAAA,GAAmB,OAAOtL,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAc;AACZ,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,WAAWA,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,qBAAqBN,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,UAAUf,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,cAAcd,GAA6BmL,GAAqC;AACrF,IAAAnL,EAAQ,eAAe,GAAGmL,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,SAASnL,GAA6BoL,GAAgC;AAC3E,IAAApL,EAAQ,eAAe,GAAGoL,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,mBAAmBpL,GAAgD;AACxE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBC,GAA6Be,GAAaD,GAAiCqK,GAAqCC,GAAmD;AAC9L,WAAAF,GAAgB,qBAAqBlL,CAAO,GAC5CkL,GAAgB,QAAQlL,GAASe,CAAI,GACrCmK,GAAgB,UAAUlL,GAASc,CAAY,GAC/CoK,GAAgB,cAAclL,GAASmL,CAAgB,GACvDD,GAAgB,SAASlL,GAASoL,CAAW,GACtCF,GAAgB,mBAAmBlL,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAIqL;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,WAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAASlL,GAA4B;AACnC,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAMkL,GAAyD;AAAA,EACtE,YACStK,IAAe,GACfO,IAAqC,MACrCgK,IAAyC,MACzCC,IAAoC,MAC5C;AAJQ,SAAA,OAAAxK,GACA,KAAA,SAAAO,GACA,KAAA,aAAAgK,GACA,KAAA,QAAAC;AAAA,EACP;AAAA,EAGF,KAAKvL,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEsL,IAAc,KAAK,eAAe,OAAOtL,EAAQ,aAAa,KAAK,UAAW,IAAI,GAClFuL,IAAS,KAAK,UAAU,OAAOvL,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAOkL,GAAgB;AAAA,MAAsBlL;AAAA,MAC3C,KAAK;AAAA,MACLsB;AAAA,MACAgK;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACvHO,MAAMC,GAAmF;AAAA,EAAzF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7L,GAAUC,GAA+C;AAChE,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,6BAA6BA,GAA2BC,GAA8C;AAC3G,YAAQA,KAAO,IAAI2L,GAAA,GAAuB,OAAO5L,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAClG;AAAA,EAEA,OAAO,yCAAyCA,GAA2BC,GAA8C;AACvH,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2L,GAAA,GAAuB,OAAO5L,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAClG;AAAA,EAIA,OAAOU,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,yBAAyBN,GAA6B;AAC3D,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,SAASd,GAA6BoL,GAAgC;AAC3E,IAAApL,EAAQ,eAAe,GAAGoL,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,uBAAuBpL,GAAgD;AAC5E,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,0BAA0BC,GAA6Bc,GAAiCsK,GAAmD;AAChJ,WAAAI,GAAoB,yBAAyBxL,CAAO,GACpDwL,GAAoB,UAAUxL,GAASc,CAAY,GACnD0K,GAAoB,SAASxL,GAASoL,CAAW,GAC1CI,GAAoB,uBAAuBxL,CAAO;AAAA,EAC3D;AAAA,EAEA,SAA+B;AAC7B,WAAO,IAAIyL;AAAA,MACT,KAAK,OAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAAStL,GAAgC;AACvC,IAAAA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAMsL,GAA6D;AAAA,EAC1E,YACSnK,IAAqC,MACrCiK,IAAoC,MAC5C;AAFQ,SAAA,SAAAjK,GACA,KAAA,QAAAiK;AAAA,EACP;AAAA,EAGF,KAAKvL,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEuL,IAAS,KAAK,UAAU,OAAOvL,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAOwL,GAAoB;AAAA,MAA0BxL;AAAA,MACnDsB;AAAA,MACAiK;AAAA,IAAA;AAAA,EAEJ;AACA;ACvFO,MAAMG,GAA+E;AAAA,EAArF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO/L,GAAUC,GAA6C;AAC9D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,2BAA2BA,GAA2BC,GAA0C;AACrG,YAAQA,KAAO,IAAI6L,GAAA,GAAqB,OAAO9L,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAChG;AAAA,EAEA,OAAO,uCAAuCA,GAA2BC,GAA0C;AACjH,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI6L,GAAA,GAAqB,OAAO9L,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAChG;AAAA,EAIA,QAAQU,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,uBAAuBN,GAA6B;AACzD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,WAAWA,GAA6B2L,GAAkC;AAC/E,IAAA3L,EAAQ,eAAe,GAAG2L,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,SAAS3L,GAA6BoL,GAAgC;AAC3E,IAAApL,EAAQ,eAAe,GAAGoL,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,qBAAqBpL,GAAgD;AAC1E,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBC,GAA6B2L,GAAkCP,GAAmD;AAC/I,WAAAM,GAAkB,uBAAuB1L,CAAO,GAChD0L,GAAkB,WAAW1L,GAAS2L,CAAa,GACnDD,GAAkB,SAAS1L,GAASoL,CAAW,GACxCM,GAAkB,qBAAqB1L,CAAO;AAAA,EACvD;AAAA,EAEA,SAA6B;AAC3B,WAAO,IAAI4L;AAAA,MACT,KAAK,QAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAASzL,GAA8B;AACrC,IAAAA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAMyL,GAA2D;AAAA,EACxE,YACSC,IAAsC,MACtCN,IAAoC,MAC5C;AAFQ,SAAA,UAAAM,GACA,KAAA,QAAAN;AAAA,EACP;AAAA,EAGF,KAAKvL,GAAiD;AACpD,UAAM6L,IAAW,KAAK,YAAY,OAAO7L,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEuL,IAAS,KAAK,UAAU,OAAOvL,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAO0L,GAAkB;AAAA,MAAwB1L;AAAA,MAC/C6L;AAAA,MACAN;AAAA,IAAA;AAAA,EAEJ;AACA;ACnFO,MAAMO,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOnM,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAIiM,EAAA,GAAkB,OAAOlM,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIiM,EAAA,GAAkB,OAAOlM,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,QAAQU,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,cAAcD,GAAeR,GAAqC;AAChE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyI,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASvI,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,sBAA6B;AAC3B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,SAASF,GAA2C;AAClD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIqL,GAAA,GAAmB,OAAO,KAAK,GAAI,WAAW,KAAK,SAASnL,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC/G;AAAA,EAEA,WAAWM,GAAeR,GAA+C;AACvE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAI6L,GAAA,GAAqB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS3L,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAChJ;AAAA,EAEA,mBAA0B;AACxB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,SAASM,GAAeR,GAAmD;AACzE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAI2L,GAAA,GAAuB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASzL,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAClJ;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,WAAWA,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,iBAAiBhB,GAA6BqJ,GAAwC;AAC3F,IAAArJ,EAAQ,eAAe,GAAGqJ,GAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,0BAA0BrJ,GAA6BQ,GAA8C;AAC1G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,yBAAyBA,GAA6BS,GAAiB;AAC5E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6B+L,GAAmC;AACjF,IAAA/L,EAAQ,eAAe,GAAG+L,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,cAAc/L,GAA6BgM,GAAqC;AACrF,IAAAhM,EAAQ,eAAe,GAAGgM,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,uBAAuBhM,GAA6BQ,GAA8C;AACvG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BS,GAAiB;AACzE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6BmK,GAAmC;AACjF,IAAAnK,EAAQ,eAAe,GAAGmK,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBnK,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAA0B;AACxB,WAAO,IAAIkM;AAAA,MACT,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,qBAAqB;AAAA,MAC5G,KAAK,eAAe,OAAO,KAAK,SAAA,EAAY,WAAW;AAAA,MACxD,KAAK,GAAI,cAAqD,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,kBAAkB;AAAA,MACjH,KAAK,GAAI,cAAyD,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,IAAA;AAAA,EAErH;AAAA,EAGA,SAAS9L,GAA2B;AAClC,IAAAA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,gBAAgB,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,oBAAA,CAAqB,GAChIA,EAAG,WAAY,KAAK,SAAA,MAAe,OAAO,KAAK,SAAA,EAAY,OAAA,IAAW,MACtEA,EAAG,aAAa,KAAK,GAAI,cAAqD,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB,GACjIA,EAAG,WAAW,KAAK,GAAI,cAAyD,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,EACjI;AACA;AAEO,MAAM8L,GAAwD;AAAA,EACrE,YACS1K,IAAsC,MACtC8I,IAAmC,CAAA,GACnC6B,IAAkC,MAClCC,IAAqC,IACrClB,IAAqC,CAAA,GAC7C;AALQ,SAAA,UAAA1J,GACA,KAAA,gBAAA8I,GACA,KAAA,WAAA6B,GACA,KAAA,aAAAC,GACA,KAAA,WAAAlB;AAAA,EACP;AAAA,EAGF,KAAKjL,GAAiD;AACpD,UAAMuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEqK,IAAgByB,EAAe,0BAA0B9L,GAASA,EAAQ,uBAAuB,KAAK,aAAa,CAAC,GACpHkM,IAAY,KAAK,aAAa,OAAO,KAAK,SAAU,KAAKlM,CAAO,IAAI,GACpEmM,IAAaL,EAAe,uBAAuB9L,GAASA,EAAQ,uBAAuB,KAAK,UAAU,CAAC,GAC3GiL,IAAWa,EAAe,qBAAqB9L,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC;AAE3G,WAAA8L,EAAe,oBAAoB9L,CAAO,GAC1C8L,EAAe,WAAW9L,GAASuB,CAAO,GAC1CuK,EAAe,iBAAiB9L,GAASqK,CAAa,GACtDyB,EAAe,YAAY9L,GAASkM,CAAQ,GAC5CJ,EAAe,cAAc9L,GAASmM,CAAU,GAChDL,EAAe,YAAY9L,GAASiL,CAAQ,GAErCa,EAAe,kBAAkB9L,CAAO;AAAA,EACjD;AACA;AClLO,MAAMoM,EAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOzM,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAIuM,EAAA,GAAmB,OAAOxM,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuM,EAAA,GAAmB,OAAOxM,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAIA,MAAMS,GAAcC,GAAmD;AACrE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,cAAqB;AACnB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,YAAYO,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,WAAWA,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,YAAoB;AAClB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,qBAAqBC,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6BqM,GAAgC;AAC3E,IAAArM,EAAQ,eAAe,GAAGqM,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkBrM,GAA6BQ,GAA8C;AAClG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAA6BsM,GAAsC;AACvF,IAAAtM,EAAQ,eAAe,GAAGsM,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,cAActM,GAA6BuM,GAAqC;AACrF,IAAAvM,EAAQ,eAAe,GAAGuM,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,aAAavM,GAA6BwM,GAAmB;AAClE,IAAAxM,EAAQ,aAAa,GAAG,CAACwM,GAAW,CAAM;AAAA,EAC5C;AAAA,EAEA,OAAO,mBAAmBxM,GAAgD;AACxE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBC,GAA6BqM,GAAgCC,GAAsCC,GAAqCC,GAAsC;AACzM,WAAAJ,EAAgB,qBAAqBpM,CAAO,GAC5CoM,EAAgB,SAASpM,GAASqM,CAAW,GAC7CD,EAAgB,eAAepM,GAASsM,CAAiB,GACzDF,EAAgB,cAAcpM,GAASuM,CAAgB,GACvDH,EAAgB,aAAapM,GAASwM,CAAS,GACxCJ,EAAgB,mBAAmBpM,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAIyM;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,aAAa;AAAA,MAC3E,KAAK,YAAA;AAAA,MACL,KAAK,WAAA;AAAA,MACL,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAAStM,GAA4B;AACnC,IAAAA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa,GACtFA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAMsM,GAAyD;AAAA,EACtE,YACSC,IAAoB,CAAA,GACpBC,IAA0C,MAC1CC,IAAyC,MACzCJ,IAAqB,IAC7B;AAJQ,SAAA,QAAAE,GACA,KAAA,cAAAC,GACA,KAAA,aAAAC,GACA,KAAA,YAAAJ;AAAA,EACP;AAAA,EAGF,KAAKxM,GAAiD;AACpD,UAAM0M,IAAQN,EAAgB,kBAAkBpM,GAASA,EAAQ,uBAAuB,KAAK,KAAK,CAAC,GAC7F2M,IAAe,KAAK,gBAAgB,OAAO3M,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrF4M,IAAc,KAAK,eAAe,OAAO5M,EAAQ,aAAa,KAAK,UAAW,IAAI;AAExF,WAAOoM,EAAgB;AAAA,MAAsBpM;AAAA,MAC3C0M;AAAA,MACAC;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACvIO,MAAMC,GAAuD;AAAA,EAA7D,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOlN,GAAUC,GAAiC;AAClD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,eAAeA,GAA2BC,GAAkB;AACjE,YAAQA,KAAO,IAAIgN,GAAA,GAAS,OAAOjN,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACpF;AAAA,EAEA,OAAO,2BAA2BA,GAA2BC,GAAkB;AAC7E,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIgN,GAAA,GAAS,OAAOjN,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACpF;AAAA,EAIA,UAAUU,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,WAAWN,GAA6B;AAC7C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6B8M,GAAoC;AACnF,IAAA9M,EAAQ,eAAe,GAAG8M,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,OAAO9M,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,SAASnE,GAAgD;AAC9D,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,YAAYC,GAA6B8M,GAAoC3I,GAAiD;AACnI,WAAA0I,GAAM,WAAW7M,CAAO,GACxB6M,GAAM,aAAa7M,GAAS8M,CAAe,GAC3CD,GAAM,OAAO7M,GAASmE,CAAS,GACxB0I,GAAM,SAAS7M,CAAO;AAAA,EAC/B;AAAA,EAEA,SAAiB;AACf,WAAO,IAAI+M;AAAA,MACT,KAAK,UAAA;AAAA,MACL,KAAK,IAAA;AAAA,IAAI;AAAA,EAEb;AAAA,EAGA,SAAS5M,GAAkB;AACzB,IAAAA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,MAAM,KAAK,IAAA;AAAA,EAChB;AACA;AAEO,MAAM4M,GAA+C;AAAA,EAC5D,YACSC,IAAwC,MACxCzI,IAAkC,MAC1C;AAFQ,SAAA,YAAAyI,GACA,KAAA,MAAAzI;AAAA,EACP;AAAA,EAGF,KAAKvE,GAAiD;AACpD,UAAMgN,IAAa,KAAK,cAAc,OAAOhN,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/EuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI;AAEnE,WAAO6M,GAAM;AAAA,MAAY7M;AAAA,MACvBgN;AAAA,MACAzI;AAAA,IAAA;AAAA,EAEJ;AACA;AC5FO,IAAK0I,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,UAAU,CAAA,IAAV,WACAA,EAAAA,EAAA,QAAQ,CAAA,IAAR,SACAA,EAAAA,EAAA,SAAS,CAAA,IAAT,UAJUA,IAAAA,MAAA,CAAA,CAAA;ACML,MAAMC,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvN,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAIqN,EAAA,GAAgB,OAAOtN,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqN,EAAA,GAAgB,OAAOtN,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,eAA4B;AAC1B,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIkN,GAAa;AAAA,EACzE;AAAA,EAIA,QAAQ3M,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,YAAmB;AACjB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,MAAMF,GAAuB;AAC3B,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIgN,GAAA,GAAS,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS9M,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACrG;AAAA,EAIA,kBAAkBO,GAAmD;AACnE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,kBAAkBN,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BmN,GAA2B;AAC7E,IAAAnN,EAAQ,aAAa,GAAGmN,GAAcF,GAAa,IAAI;AAAA,EACzD;AAAA,EAEA,OAAO,WAAWjN,GAA6B2L,GAAkC;AAC/E,IAAA3L,EAAQ,eAAe,GAAG2L,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAU3L,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAad,GAA6BoN,GAAkB;AACjE,IAAApN,EAAQ,cAAc,GAAGoN,GAAW,OAAO,GAAG,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,SAASpN,GAA6BqN,GAAgC;AAC3E,IAAArN,EAAQ,eAAe,GAAGqN,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,qBAAqBrN,GAA6BsN,GAA4C;AACnG,IAAAtN,EAAQ,eAAe,GAAGsN,GAAyB,CAAC;AAAA,EACtD;AAAA,EAEA,OAAO,gBAAgBtN,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAAwB;AACtB,WAAO,IAAIwN;AAAA,MACT,KAAK,aAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACJ,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,MAClD,KAAK,kBAAA;AAAA,IAAkB;AAAA,EAE3B;AAAA,EAGA,SAASpN,GAAyB;AAChC,IAAAA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW,MAC7DA,EAAG,oBAAoB,KAAK,kBAAA;AAAA,EAC9B;AACA;AAEO,MAAMoN,GAAsD;AAAA,EACnE,YACSJ,IAA6BF,GAAa,MAC1CpB,IAAsC,MACtCvK,IAAqC,MACrC8L,IAAoB,OAAO,GAAG,GAC9BI,IAAqB,MACrBC,IAAgD,MACxD;AANQ,SAAA,eAAAN,GACA,KAAA,UAAAtB,GACA,KAAA,SAAAvK,GACA,KAAA,YAAA8L,GACA,KAAA,QAAAI,GACA,KAAA,oBAAAC;AAAA,EACP;AAAA,EAGF,KAAKzN,GAAiD;AACpD,UAAM6L,IAAW,KAAK,YAAY,OAAO7L,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEwN,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAKxN,CAAO,IAAI,GAC3DyN,IAAqB,KAAK,sBAAsB,OAAOzN,EAAQ,aAAa,KAAK,iBAAkB,IAAI;AAE7G,WAAAkN,EAAa,kBAAkBlN,CAAO,GACtCkN,EAAa,gBAAgBlN,GAAS,KAAK,YAAY,GACvDkN,EAAa,WAAWlN,GAAS6L,CAAO,GACxCqB,EAAa,UAAUlN,GAASsB,CAAM,GACtC4L,EAAa,aAAalN,GAAS,KAAK,SAAS,GACjDkN,EAAa,SAASlN,GAASwN,CAAK,GACpCN,EAAa,qBAAqBlN,GAASyN,CAAiB,GAErDP,EAAa,gBAAgBlN,CAAO;AAAA,EAC7C;AACA;AC1IO,MAAM0N,EAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO/N,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI6N,EAAA,GAAe,OAAO9N,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI6N,EAAA,GAAe,OAAO9N,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,cAAcS,GAAeR,GAAqC;AAChE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyI,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASvI,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,sBAA6B;AAC3B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,iBAAiBM,GAAeR,GAAqC;AACnE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyI,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASvI,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,yBAAgC;AAC9B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAOM,GAAeR,GAAyC;AAC7D,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAImJ,EAAA,GAAkB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASjJ,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC7I;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,SAASM,GAAeR,GAAqC;AAC3D,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIiJ,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS/I,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,MAAMF,GAAqC;AACzC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIiJ,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS/I,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC5G;AAAA,EAEA,KAAKF,GAAqC;AACxC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIiJ,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS/I,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC5G;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BqJ,GAAwC;AAC3F,IAAArJ,EAAQ,eAAe,GAAGqJ,GAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,0BAA0BrJ,GAA6BQ,GAA8C;AAC1G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,yBAAyBA,GAA6BS,GAAiB;AAC5E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,oBAAoBT,GAA6B2N,GAA2C;AACjG,IAAA3N,EAAQ,eAAe,GAAG2N,GAAwB,CAAC;AAAA,EACrD;AAAA,EAEA,OAAO,6BAA6B3N,GAA6BQ,GAA8C;AAC7G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,4BAA4BA,GAA6BS,GAAiB;AAC/E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6B4N,GAAiC;AAC7E,IAAA5N,EAAQ,eAAe,GAAG4N,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmB5N,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6BmK,GAAmC;AACjF,IAAAnK,EAAQ,eAAe,GAAGmK,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBnK,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAST,GAA6B6N,GAAgC;AAC3E,IAAA7N,EAAQ,eAAe,GAAG6N,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,QAAQ7N,GAA6B8N,GAA+B;AACzE,IAAA9N,EAAQ,eAAe,GAAG8N,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,eAAe9N,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAAuB;AACrB,WAAO,IAAIgO;AAAA,MACT,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,qBAAqB;AAAA,MAC7G,KAAK,GAAI,cAA2C,KAAK,iBAAiB,KAAK,IAAI,GAAG,KAAK,wBAAwB;AAAA,MACnH,KAAK,GAAI,cAA+C,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MACnG,KAAK,GAAI,cAA2C,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MAClG,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,MACjD,KAAK,WAAW,OAAO,KAAK,KAAA,EAAQ,WAAW;AAAA,IAAA;AAAA,EAEpD;AAAA,EAGA,SAAS5N,GAAwB;AAC/B,IAAAA,EAAG,gBAAgB,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,oBAAA,CAAqB,GAChIA,EAAG,mBAAmB,KAAK,GAAI,cAA2C,KAAK,iBAAiB,KAAK,IAAI,GAAG,KAAK,uBAAA,CAAwB,GACzIA,EAAG,SAAS,KAAK,GAAI,cAA+C,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GAC/GA,EAAG,WAAW,KAAK,GAAI,cAA2C,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GACjHA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW,MAC7DA,EAAG,OAAQ,KAAK,KAAA,MAAW,OAAO,KAAK,KAAA,EAAQ,OAAA,IAAW;AAAA,EAC5D;AACA;AAEO,MAAM4N,GAAqD;AAAA,EAClE,YACS1D,IAAmC,CAAA,GACnC2D,IAAsC,CAAA,GACtCC,IAA8B,IAC9BhD,IAA8B,CAAA,GAC9BiD,IAA4B,MAC5BC,IAA2B,MACnC;AANQ,SAAA,gBAAA9D,GACA,KAAA,mBAAA2D,GACA,KAAA,SAAAC,GACA,KAAA,WAAAhD,GACA,KAAA,QAAAiD,GACA,KAAA,OAAAC;AAAA,EACP;AAAA,EAGF,KAAKnO,GAAiD;AACpD,UAAMqK,IAAgBqD,EAAY,0BAA0B1N,GAASA,EAAQ,uBAAuB,KAAK,aAAa,CAAC,GACjHgO,IAAmBN,EAAY,6BAA6B1N,GAASA,EAAQ,uBAAuB,KAAK,gBAAgB,CAAC,GAC1HiO,IAASP,EAAY,mBAAmB1N,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC5FiL,IAAWyC,EAAY,qBAAqB1N,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GAClGkO,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAKlO,CAAO,IAAI,GAC3DmO,IAAQ,KAAK,SAAS,OAAO,KAAK,KAAM,KAAKnO,CAAO,IAAI;AAE9D,WAAA0N,EAAY,iBAAiB1N,CAAO,GACpC0N,EAAY,iBAAiB1N,GAASqK,CAAa,GACnDqD,EAAY,oBAAoB1N,GAASgO,CAAgB,GACzDN,EAAY,UAAU1N,GAASiO,CAAM,GACrCP,EAAY,YAAY1N,GAASiL,CAAQ,GACzCyC,EAAY,SAAS1N,GAASkO,CAAK,GACnCR,EAAY,QAAQ1N,GAASmO,CAAI,GAE1BT,EAAY,eAAe1N,CAAO;AAAA,EAC3C;AACA;AC7MO,MAAMoO,EAA6D;AAAA,EAAnE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOzO,GAAUC,GAAoC;AACrD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBA,GAA2BC,GAAwB;AAC1E,YAAQA,KAAO,IAAIuO,EAAA,GAAY,OAAOxO,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAEA,OAAO,8BAA8BA,GAA2BC,GAAwB;AACtF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuO,EAAA,GAAY,OAAOxO,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASD,GAAcC,GAAmD;AACxE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,iBAAwB;AACtB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,aAAaO,GAAmD;AAC9D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,cAAcN,GAA6B;AAChD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,YAAYnE,GAA6BqO,GAAmC;AACjF,IAAArO,EAAQ,eAAe,GAAGqO,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,OAAOrO,GAA6BwG,GAA8B;AACvE,IAAAxG,EAAQ,eAAe,GAAGwG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,OAAOxG,GAA6BuG,GAA8B;AACvE,IAAAvG,EAAQ,eAAe,GAAGuG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,YAAYvG,GAA6BsO,GAAmC;AACjF,IAAAtO,EAAQ,eAAe,GAAGsO,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,QAAQtO,GAA6BuO,GAA+B;AACzE,IAAAvO,EAAQ,eAAe,GAAGuO,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,YAAYvO,GAA6BwO,GAAmC;AACjF,IAAAxO,EAAQ,eAAe,GAAGwO,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBxO,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAA6ByO,GAAuC;AACzF,IAAAzO,EAAQ,eAAe,GAAGyO,GAAoB,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,YAAYzO,GAAgD;AACjE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,eAAeC,GAA6BmE,GAA8BkK,GAAmC7H,GAA8BD,GAA8B+H,GAAmCC,GAA+BC,GAAmCC,GAA0D;AAC7U,WAAAL,EAAS,cAAcpO,CAAO,GAC9BoO,EAAS,OAAOpO,GAASmE,CAAS,GAClCiK,EAAS,YAAYpO,GAASqO,CAAc,GAC5CD,EAAS,OAAOpO,GAASwG,CAAS,GAClC4H,EAAS,OAAOpO,GAASuG,CAAS,GAClC6H,EAAS,YAAYpO,GAASsO,CAAc,GAC5CF,EAAS,QAAQpO,GAASuO,CAAU,GACpCH,EAAS,YAAYpO,GAASwO,CAAc,GAC5CJ,EAAS,gBAAgBpO,GAASyO,CAAkB,GAC7CL,EAAS,YAAYpO,CAAO;AAAA,EACrC;AAAA,EAEA,SAAoB;AAClB,WAAO,IAAI0O;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,IAAA;AAAA,MACL,KAAK,IAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACjF,KAAK,aAAA;AAAA,IAAa;AAAA,EAEtB;AAAA,EAGA,SAASvO,GAAqB;AAC5B,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,WAAW,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GAC/FA,EAAG,eAAe,KAAK,aAAA;AAAA,EACzB;AACA;AAEO,MAAMuO,GAAkD;AAAA,EAC/D,YACSnK,IAAkC,MAClCoK,IAAuC,MACvChI,IAAkC,MAClCD,IAAkC,MAClCkI,IAAuC,MACvCC,IAAmC,MACnCC,IAAuB,CAAA,GACvBC,IAA2C,MACnD;AARQ,SAAA,MAAAxK,GACA,KAAA,WAAAoK,GACA,KAAA,MAAAhI,GACA,KAAA,MAAAD,GACA,KAAA,WAAAkI,GACA,KAAA,OAAAC,GACA,KAAA,WAAAC,GACA,KAAA,eAAAC;AAAA,EACP;AAAA,EAGF,KAAK/O,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D2O,IAAY,KAAK,aAAa,OAAO3O,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E2G,IAAO,KAAK,QAAQ,OAAO3G,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D0G,IAAO,KAAK,QAAQ,OAAO1G,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D4O,IAAY,KAAK,aAAa,OAAO5O,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E6O,IAAQ,KAAK,SAAS,OAAO7O,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChE8O,IAAWV,EAAS,qBAAqBpO,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GAC/F+O,IAAgB,KAAK,iBAAiB,OAAO/O,EAAQ,aAAa,KAAK,YAAa,IAAI;AAE9F,WAAOoO,EAAS;AAAA,MAAepO;AAAA,MAC7BuE;AAAA,MACAoK;AAAA,MACAhI;AAAA,MACAD;AAAA,MACAkI;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;AC5MO,MAAMC,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOrP,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAImP,EAAA,GAAgB,OAAOpP,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImP,EAAA,GAAgB,OAAOpP,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,YAAYA,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAOD,GAAeR,GAA6B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIuO,EAAA,GAAY,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASrO,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACvI;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,eAAeO,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASD,GAAcC,GAAmD;AACxE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,iBAAwB;AACtB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,SAASM,GAAeR,GAAyC;AAC/D,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAImJ,EAAA,GAAkB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASjJ,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC7I;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,kBAAkBC,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B6G,GAAgC;AAC3E,IAAA7G,EAAQ,eAAe,GAAG6G,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAe7G,GAA6B8G,GAAsC;AACvF,IAAA9G,EAAQ,eAAe,GAAG8G,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,UAAU9G,GAA6BiP,GAAiC;AAC7E,IAAAjP,EAAQ,eAAe,GAAGiP,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBjP,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAA6BkP,GAAyC;AAC7F,IAAAlP,EAAQ,eAAe,GAAGkP,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,YAAYlP,GAA6BmP,GAAmC;AACjF,IAAAnP,EAAQ,eAAe,GAAGmP,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,WAAWnP,GAA6BoP,GAAkC;AAC/E,IAAApP,EAAQ,eAAe,GAAGoP,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,YAAYpP,GAA6BqP,GAAmC;AACjF,IAAArP,EAAQ,eAAe,GAAGqP,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBrP,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6BmK,GAAmC;AACjF,IAAAnK,EAAQ,eAAe,GAAGmK,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBnK,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBC,GAA6B6G,GAAgCC,GAAsCmI,GAAiCC,GAAyCC,GAAmCC,GAAkCC,GAAmClF,GAAsD;AACnW,WAAA6E,EAAa,kBAAkBhP,CAAO,GACtCgP,EAAa,SAAShP,GAAS6G,CAAW,GAC1CmI,EAAa,eAAehP,GAAS8G,CAAiB,GACtDkI,EAAa,UAAUhP,GAASiP,CAAY,GAC5CD,EAAa,kBAAkBhP,GAASkP,CAAoB,GAC5DF,EAAa,YAAYhP,GAASmP,CAAc,GAChDH,EAAa,WAAWhP,GAASoP,CAAa,GAC9CJ,EAAa,YAAYhP,GAASqP,CAAc,GAChDL,EAAa,YAAYhP,GAASmK,CAAc,GACzC6E,EAAa,gBAAgBhP,CAAO;AAAA,EAC7C;AAAA,EAEA,SAAwB;AACtB,WAAO,IAAIsP;AAAA,MACT,KAAK,MAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,GAAI,cAAmC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MACvF,KAAK,eAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACjF,KAAK,GAAI,cAA+C,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,IAAA;AAAA,EAE3G;AAAA,EAGA,SAASnP,GAAyB;AAChC,IAAAA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,SAAS,KAAK,GAAI,cAAmC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACnGA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,WAAW,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GAC/FA,EAAG,WAAW,KAAK,GAAI,cAA+C,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,EACvH;AACA;AAEO,MAAMmP,GAAsD;AAAA,EACnE,YACStI,IAAoC,MACpCC,IAA0C,MAC1CsI,IAAwB,CAAA,GACxBC,IAA6C,MAC7CC,IAAuC,MACvCC,IAAsC,MACtCC,IAAuB,CAAA,GACvB1E,IAAgC,IACxC;AARQ,SAAA,QAAAjE,GACA,KAAA,cAAAC,GACA,KAAA,SAAAsI,GACA,KAAA,iBAAAC,GACA,KAAA,WAAAC,GACA,KAAA,UAAAC,GACA,KAAA,WAAAC,GACA,KAAA,WAAA1E;AAAA,EACP;AAAA,EAGF,KAAKjL,GAAiD;AACpD,UAAMgH,IAAS,KAAK,UAAU,OAAOhH,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEiH,IAAe,KAAK,gBAAgB,OAAOjH,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrFuP,IAASP,EAAa,mBAAmBhP,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC7FwP,IAAkB,KAAK,mBAAmB,OAAOxP,EAAQ,aAAa,KAAK,cAAe,IAAI,GAC9FyP,IAAY,KAAK,aAAa,OAAOzP,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E0P,IAAW,KAAK,YAAY,OAAO1P,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzE2P,IAAWX,EAAa,qBAAqBhP,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GACnGiL,IAAW+D,EAAa,qBAAqBhP,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC;AAEzG,WAAOgP,EAAa;AAAA,MAAmBhP;AAAA,MACrCgH;AAAA,MACAC;AAAA,MACAsI;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACA1E;AAAA,IAAA;AAAA,EAEJ;AACA;AC9OO,MAAM2E,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjQ,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAI+P,EAAA,GAAgB,OAAOhQ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+P,EAAA,GAAgB,OAAOhQ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,WAAkB;AAChB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,YAAY,KAAK,SAASA,CAAM,IAAI;AAAA,EAC/D;AAAA,EAEA,UAAiB;AACf,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,MAAMO,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASD,GAAcC,GAAmD;AACxE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,iBAAwB;AACtB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,kBAAkBC,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,YAAYnE,GAA6BqO,GAAmC;AACjF,IAAArO,EAAQ,eAAe,GAAGqO,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,OAAOrO,GAA6BwG,GAA8B;AACvE,IAAAxG,EAAQ,eAAe,GAAGwG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,YAAYxG,GAA6BsO,GAAmC;AACjF,IAAAtO,EAAQ,eAAe,GAAGsO,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,QAAQtO,GAA6BuO,GAA+B;AACzE,IAAAvO,EAAQ,eAAe,GAAGuO,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,YAAYvO,GAA6B6P,GAAiB;AAC/D,IAAA7P,EAAQ,gBAAgB,GAAG6P,GAAU,CAAG;AAAA,EAC1C;AAAA,EAEA,OAAO,WAAW7P,GAA6B8P,GAAgB;AAC7D,IAAA9P,EAAQ,cAAc,GAAG8P,GAAS,OAAO,GAAG,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,SAAS9P,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,GAAG2C,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,YAAY3C,GAA6BwO,GAAmC;AACjF,IAAAxO,EAAQ,eAAe,GAAGwO,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBxO,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBC,GAA6BmE,GAA8BkK,GAAmC7H,GAA8B8H,GAAmCC,GAA+BsB,GAAiBC,GAAgBnN,GAAgC6L,GAAsD;AAC7U,WAAAoB,EAAa,kBAAkB5P,CAAO,GACtC4P,EAAa,OAAO5P,GAASmE,CAAS,GACtCyL,EAAa,YAAY5P,GAASqO,CAAc,GAChDuB,EAAa,OAAO5P,GAASwG,CAAS,GACtCoJ,EAAa,YAAY5P,GAASsO,CAAc,GAChDsB,EAAa,QAAQ5P,GAASuO,CAAU,GACxCqB,EAAa,YAAY5P,GAAS6P,CAAQ,GAC1CD,EAAa,WAAW5P,GAAS8P,CAAO,GACxCF,EAAa,SAAS5P,GAAS2C,CAAW,GAC1CiN,EAAa,YAAY5P,GAASwO,CAAc,GACzCoB,EAAa,gBAAgB5P,CAAO;AAAA,EAC7C;AAAA,EAEA,SAAwB;AACtB,WAAO,IAAI+P;AAAA,MACT,KAAK,IAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,IAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,IAAA;AAAA,EAErF;AAAA,EAGA,SAAS5P,GAAyB;AAChC,IAAAA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,WAAW,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,EACjG;AACA;AAEO,MAAM4P,GAAsD;AAAA,EACnE,YACSxL,IAAkC,MAClCoK,IAAuC,MACvChI,IAAkC,MAClCiI,IAAuC,MACvCC,IAAmC,MACnCgB,IAAmB,GACnBC,IAAkB,OAAO,GAAG,GAC5B/L,IAAoC,MACpC+K,IAAuB,IAC/B;AATQ,SAAA,MAAAvK,GACA,KAAA,WAAAoK,GACA,KAAA,MAAAhI,GACA,KAAA,WAAAiI,GACA,KAAA,OAAAC,GACA,KAAA,WAAAgB,GACA,KAAA,UAAAC,GACA,KAAA,QAAA/L,GACA,KAAA,WAAA+K;AAAA,EACP;AAAA,EAGF,KAAK9O,GAAiD;AACpD,UAAMuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D2O,IAAY,KAAK,aAAa,OAAO3O,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E2G,IAAO,KAAK,QAAQ,OAAO3G,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7D4O,IAAY,KAAK,aAAa,OAAO5O,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E6O,IAAQ,KAAK,SAAS,OAAO7O,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChE+D,IAAS,KAAK,UAAU,OAAO/D,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE8O,IAAWc,EAAa,qBAAqB5P,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC;AAEzG,WAAO4P,EAAa;AAAA,MAAmB5P;AAAA,MACrCuE;AAAA,MACAoK;AAAA,MACAhI;AAAA,MACAiI;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL9K;AAAA,MACA+K;AAAA,IAAA;AAAA,EAEJ;AACA;ACvNO,MAAMkB,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOrQ,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAImQ,EAAA,GAAgB,OAAOpQ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImQ,EAAA,GAAgB,OAAOpQ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,YAAYA,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAOD,GAAeR,GAAqC;AACzD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI+P,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS7P,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,IAAIO,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,eAAeA,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,WAAkB;AAChB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,YAAY,KAAK,SAASA,CAAM,IAAI;AAAA,EAC/D;AAAA,EAEA,cAAqB;AACnB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,SAASM,GAAcC,GAAmD;AACxE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,iBAAwB;AACtB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,aAAaM,GAAeR,GAAyC;AACnE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAImJ,EAAA,GAAkB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASjJ,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC7I;AAAA,EAEA,qBAA4B;AAC1B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,kBAAkBC,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B6G,GAAgC;AAC3E,IAAA7G,EAAQ,eAAe,GAAG6G,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAe7G,GAA6B8G,GAAsC;AACvF,IAAA9G,EAAQ,eAAe,GAAG8G,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,UAAU9G,GAA6BiQ,GAAiC;AAC7E,IAAAjQ,EAAQ,eAAe,GAAGiQ,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBjQ,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,OAAOT,GAA6BuG,GAA8B;AACvE,IAAAvG,EAAQ,eAAe,GAAGuG,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,kBAAkBvG,GAA6BkP,GAAyC;AAC7F,IAAAlP,EAAQ,eAAe,GAAGkP,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,YAAYlP,GAA6B6P,GAAiB;AAC/D,IAAA7P,EAAQ,gBAAgB,GAAG6P,GAAU,CAAG;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAe7P,GAA6BkQ,GAAoB;AACrE,IAAAlQ,EAAQ,cAAc,GAAGkQ,GAAa,OAAO,GAAG,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,YAAYlQ,GAA6BqP,GAAmC;AACjF,IAAArP,EAAQ,eAAe,GAAGqP,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBrP,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAA6BmQ,GAAuC;AACzF,IAAAnQ,EAAQ,eAAe,GAAGmQ,GAAoB,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,yBAAyBnQ,GAA6BQ,GAA8C;AACzG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,wBAAwBA,GAA6BS,GAAiB;AAC3E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBC,GAA6B6G,GAAgCC,GAAsCmJ,GAAiC1J,GAA8B2I,GAAyCW,GAAiBK,GAAoBb,GAAmCc,GAA0D;AACrW,WAAAH,EAAa,kBAAkBhQ,CAAO,GACtCgQ,EAAa,SAAShQ,GAAS6G,CAAW,GAC1CmJ,EAAa,eAAehQ,GAAS8G,CAAiB,GACtDkJ,EAAa,UAAUhQ,GAASiQ,CAAY,GAC5CD,EAAa,OAAOhQ,GAASuG,CAAS,GACtCyJ,EAAa,kBAAkBhQ,GAASkP,CAAoB,GAC5Dc,EAAa,YAAYhQ,GAAS6P,CAAQ,GAC1CG,EAAa,eAAehQ,GAASkQ,CAAW,GAChDF,EAAa,YAAYhQ,GAASqP,CAAc,GAChDW,EAAa,gBAAgBhQ,GAASmQ,CAAkB,GACjDH,EAAa,gBAAgBhQ,CAAO;AAAA,EAC7C;AAAA,EAEA,SAAwB;AACtB,WAAO,IAAIoQ;AAAA,MACT,KAAK,MAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,GAAI,cAA2C,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC/F,KAAK,IAAA;AAAA,MACL,KAAK,eAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACjF,KAAK,GAAI,cAA+C,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,mBAAA,CAAoB;AAAA,IAAA;AAAA,EAEnH;AAAA,EAGA,SAASjQ,GAAyB;AAChC,IAAAA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,SAAS,KAAK,GAAI,cAA2C,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GAC3GA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,WAAW,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GAC/FA,EAAG,eAAe,KAAK,GAAI,cAA+C,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,mBAAA,CAAoB;AAAA,EACnI;AACA;AAEO,MAAMiQ,GAAsD;AAAA,EACnE,YACSpJ,IAAoC,MACpCC,IAA0C,MAC1CoJ,IAA4B,CAAA,GAC5B3J,IAAkC,MAClC8I,IAA6C,MAC7CK,IAAmB,GACnBK,IAAsB,OAAO,GAAG,GAChCP,IAAuB,CAAA,GACvBW,IAAoC,IAC5C;AATQ,SAAA,QAAAtJ,GACA,KAAA,cAAAC,GACA,KAAA,SAAAoJ,GACA,KAAA,MAAA3J,GACA,KAAA,iBAAA8I,GACA,KAAA,WAAAK,GACA,KAAA,cAAAK,GACA,KAAA,WAAAP,GACA,KAAA,eAAAW;AAAA,EACP;AAAA,EAGF,KAAKtQ,GAAiD;AACpD,UAAMgH,IAAS,KAAK,UAAU,OAAOhH,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEiH,IAAe,KAAK,gBAAgB,OAAOjH,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrFqQ,IAASL,EAAa,mBAAmBhQ,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC7F0G,IAAO,KAAK,QAAQ,OAAO1G,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7DwP,IAAkB,KAAK,mBAAmB,OAAOxP,EAAQ,aAAa,KAAK,cAAe,IAAI,GAC9F2P,IAAWK,EAAa,qBAAqBhQ,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GACnGsQ,IAAeN,EAAa,yBAAyBhQ,GAASA,EAAQ,uBAAuB,KAAK,YAAY,CAAC;AAErH,WAAOgQ,EAAa;AAAA,MAAmBhQ;AAAA,MACrCgH;AAAA,MACAC;AAAA,MACAoJ;AAAA,MACA3J;AAAA,MACA8I;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACLG;AAAA,MACAW;AAAA,IAAA;AAAA,EAEJ;AACA;AC1PO,MAAMC,EAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO5Q,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAI0Q,EAAA,GAAmB,OAAO3Q,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI0Q,EAAA,GAAmB,OAAO3Q,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAIA,KAAKU,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUA,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,cAAqB;AACnB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,MAAMO,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,qBAAqBN,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6BwQ,GAA+B;AACzE,IAAAxQ,EAAQ,eAAe,GAAGwQ,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,SAASxQ,GAA6B6G,GAAgC;AAC3E,IAAA7G,EAAQ,eAAe,GAAG6G,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,WAAW7G,GAA6ByQ,GAAkC;AAC/E,IAAAzQ,EAAQ,eAAe,GAAGyQ,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,SAASzQ,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,GAAG2C,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,aAAa3C,GAA6B0Q,GAAoC;AACnF,IAAA1Q,EAAQ,eAAe,GAAG0Q,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,UAAU1Q,GAA6B2Q,GAAiC;AAC7E,IAAA3Q,EAAQ,eAAe,GAAG2Q,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmB3Q,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAA6BkQ,GAAoB;AACrE,IAAAlQ,EAAQ,cAAc,GAAGkQ,GAAa,OAAO,GAAG,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,SAASlQ,GAA6B4Q,GAAgC;AAC3E,IAAA5Q,EAAQ,eAAe,GAAG4Q,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,WAAW5Q,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,mBAAmBhB,GAAgD;AAExE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BwQ,GAA+B3J,GAAgC4J,GAAkC9N,GAAgC+N,GAAoCC,GAAiCT,GAAoBU,GAAgC5P,GAAqD;AACvW,WAAAuP,EAAgB,qBAAqBvQ,CAAO,GAC5CuQ,EAAgB,QAAQvQ,GAASwQ,CAAU,GAC3CD,EAAgB,SAASvQ,GAAS6G,CAAW,GAC7C0J,EAAgB,WAAWvQ,GAASyQ,CAAa,GACjDF,EAAgB,SAASvQ,GAAS2C,CAAW,GAC7C4N,EAAgB,aAAavQ,GAAS0Q,CAAe,GACrDH,EAAgB,UAAUvQ,GAAS2Q,CAAY,GAC/CJ,EAAgB,eAAevQ,GAASkQ,CAAW,GACnDK,EAAgB,SAASvQ,GAAS4Q,CAAW,GAC7CL,EAAgB,WAAWvQ,GAASgB,CAAa,GAC1CuP,EAAgB,mBAAmBvQ,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAI6Q;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,YAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,QAAA;AAAA,IAAQ;AAAA,EAEjB;AAAA,EAGA,SAAS1Q,GAA4B;AACnC,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,UAAU,KAAK,QAAA;AAAA,EACpB;AACA;AAEO,MAAM0Q,GAAyD;AAAA,EACtE,YACSC,IAAmC,MACnC9J,IAAoC,MACpC+J,IAAsC,MACtChN,IAAoC,MACpCiN,IAAwC,MACxCC,IAAqB,CAAA,GACrBf,IAAsB,OAAO,GAAG,GAChCgB,IAAoC,MACpC3P,IAAsC,MAC9C;AATQ,SAAA,OAAAuP,GACA,KAAA,QAAA9J,GACA,KAAA,UAAA+J,GACA,KAAA,QAAAhN,GACA,KAAA,YAAAiN,GACA,KAAA,SAAAC,GACA,KAAA,cAAAf,GACA,KAAA,QAAAgB,GACA,KAAA,UAAA3P;AAAA,EACP;AAAA,EAGF,KAAKvB,GAAiD;AACpD,UAAM8Q,IAAQ,KAAK,SAAS,OAAO9Q,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEgH,IAAS,KAAK,UAAU,OAAOhH,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE+Q,IAAW,KAAK,YAAY,OAAO/Q,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzE+D,IAAS,KAAK,UAAU,OAAO/D,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEgR,IAAa,KAAK,cAAc,OAAOhR,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/EiR,IAASV,EAAgB,mBAAmBvQ,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAChGkR,IAAS,KAAK,UAAU,OAAOlR,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI;AAE/E,WAAOuQ,EAAgB;AAAA,MAAsBvQ;AAAA,MAC3C8Q;AAAA,MACA9J;AAAA,MACA+J;AAAA,MACAhN;AAAA,MACAiN;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACLC;AAAA,MACA3P;AAAA,IAAA;AAAA,EAEJ;AACA;AC3NO,MAAM4P,GAA2D;AAAA,EAAjE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOxR,GAAUC,GAAmC;AACpD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBA,GAA2BC,GAAsB;AACvE,YAAQA,KAAO,IAAIsR,GAAA,GAAW,OAAOvR,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACtF;AAAA,EAEA,OAAO,6BAA6BA,GAA2BC,GAAsB;AACnF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIsR,GAAA,GAAW,OAAOvR,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACtF;AAAA,EAIA,OAAOU,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,QAAQO,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,aAAaN,GAA6B;AAC/C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAUd,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,WAAWT,GAA6BoR,GAAkC;AAC/E,IAAApR,EAAQ,eAAe,GAAGoR,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,WAAWpR,GAAgD;AAChE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,cAAcC,GAA6Bc,GAAiC2D,GAAiC2M,GAAqD;AACvK,WAAAD,GAAQ,aAAanR,CAAO,GAC5BmR,GAAQ,UAAUnR,GAASc,CAAY,GACvCqQ,GAAQ,UAAUnR,GAASyE,CAAY,GACvC0M,GAAQ,WAAWnR,GAASoR,CAAa,GAClCD,GAAQ,WAAWnR,CAAO;AAAA,EACnC;AAAA,EAEA,SAAmB;AACjB,WAAO,IAAIqR;AAAA,MACT,KAAK,OAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,QAAA;AAAA,IAAQ;AAAA,EAEjB;AAAA,EAGA,SAASlR,GAAoB;AAC3B,IAAAA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,UAAU,KAAK,QAAA;AAAA,EACpB;AACA;AAEO,MAAMkR,GAAiD;AAAA,EAC9D,YACS/P,IAAqC,MACrCqD,IAAqB,CAAA,GACrB2M,IAAsC,MAC9C;AAHQ,SAAA,SAAAhQ,GACA,KAAA,SAAAqD,GACA,KAAA,UAAA2M;AAAA,EACP;AAAA,EAGF,KAAKtR,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE2E,IAASwM,GAAQ,mBAAmBnR,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GACxFsR,IAAW,KAAK,YAAY,OAAOtR,EAAQ,aAAa,KAAK,OAAQ,IAAI;AAE/E,WAAOmR,GAAQ;AAAA,MAAcnR;AAAA,MAC3BsB;AAAA,MACAqD;AAAA,MACA2M;AAAA,IAAA;AAAA,EAEJ;AACA;ACxHO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO5R,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI0R,GAAA,GAAe,OAAO3R,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI0R,GAAA,GAAe,OAAO3R,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,SAASS,GAAeR,GAA2B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIsR,GAAA,GAAW,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASpR,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACtI;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,YAAYA,GAA6BwR,GAAmC;AACjF,IAAAxR,EAAQ,eAAe,GAAGwR,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBxR,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6BwR,GAAsD;AAC1G,WAAAD,GAAY,iBAAiBvR,CAAO,GACpCuR,GAAY,YAAYvR,GAASwR,CAAc,GACxCD,GAAY,eAAevR,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAIyR;AAAA,MACT,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,IAAA;AAAA,EAE7F;AAAA,EAGA,SAAStR,GAAwB;AAC/B,IAAAA,EAAG,WAAW,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,EACzG;AACA;AAEO,MAAMsR,GAAqD;AAAA,EAClE,YACSC,IAAyB,IACjC;AADQ,SAAA,WAAAA;AAAA,EACP;AAAA,EAGF,KAAK1R,GAAiD;AACpD,UAAM0R,IAAWH,GAAY,qBAAqBvR,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC;AAExG,WAAOuR,GAAY;AAAA,MAAkBvR;AAAA,MACnC0R;AAAA,IAAA;AAAA,EAEJ;AACA;ACrFO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhS,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI8R,GAAA,GAAe,OAAO/R,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8R,GAAA,GAAe,OAAO/R,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,cAAcS,GAAeR,GAAqC;AAChE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIyI,EAAA,GAAgB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASvI,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3I;AAAA,EAEA,sBAA6B;AAC3B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,iBAAiBO,GAAmD;AAClE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUA,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiBN,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BqJ,GAAwC;AAC3F,IAAArJ,EAAQ,eAAe,GAAGqJ,GAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,0BAA0BrJ,GAA6BQ,GAA8C;AAC1G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,yBAAyBA,GAA6BS,GAAiB;AAC5E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,oBAAoBT,GAA6B4R,GAA2C;AACjG,IAAA5R,EAAQ,eAAe,GAAG4R,GAAwB,CAAC;AAAA,EACrD;AAAA,EAEA,OAAO,UAAU5R,GAA6B6R,GAAiC;AAC7E,IAAA7R,EAAQ,eAAe,GAAG6R,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAa7R,GAA6B8R,GAAoC;AACnF,IAAA9R,EAAQ,eAAe,GAAG8R,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,eAAe9R,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6BqJ,GAAwCuI,GAA2CC,GAAiCC,GAAuD;AAC/N,WAAAH,GAAY,iBAAiB3R,CAAO,GACpC2R,GAAY,iBAAiB3R,GAASqJ,CAAmB,GACzDsI,GAAY,oBAAoB3R,GAAS4R,CAAsB,GAC/DD,GAAY,UAAU3R,GAAS6R,CAAY,GAC3CF,GAAY,aAAa3R,GAAS8R,CAAe,GAC1CH,GAAY,eAAe3R,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI+R;AAAA,MACT,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,qBAAqB;AAAA,MAC7G,KAAK,iBAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAAS5R,GAAwB;AAC/B,IAAAA,EAAG,gBAAgB,KAAK,GAAI,cAA2C,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,oBAAA,CAAqB,GAChIA,EAAG,mBAAmB,KAAK,iBAAA,GAC3BA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAM4R,GAAqD;AAAA,EAClE,YACS1H,IAAmC,CAAA,GACnC2H,IAA+C,MAC/CC,IAAqC,MACrCC,IAAwC,MAChD;AAJQ,SAAA,gBAAA7H,GACA,KAAA,mBAAA2H,GACA,KAAA,SAAAC,GACA,KAAA,YAAAC;AAAA,EACP;AAAA,EAGF,KAAKlS,GAAiD;AACpD,UAAMqK,IAAgBsH,GAAY,0BAA0B3R,GAASA,EAAQ,uBAAuB,KAAK,aAAa,CAAC,GACjHgS,IAAoB,KAAK,qBAAqB,OAAOhS,EAAQ,aAAa,KAAK,gBAAiB,IAAI,GACpGiS,IAAU,KAAK,WAAW,OAAOjS,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEkS,IAAa,KAAK,cAAc,OAAOlS,EAAQ,aAAa,KAAK,SAAU,IAAI;AAErF,WAAO2R,GAAY;AAAA,MAAkB3R;AAAA,MACnCqK;AAAA,MACA2H;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACzIO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOxS,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIsS,GAAA,GAAe,OAAOvS,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIsS,GAAA,GAAe,OAAOvS,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,cAAcC,GAAmC;AAC/C,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIuS,EAAA,GAAe,OAAO,KAAK,GAAI,WAAW,KAAK,SAASrS,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3G;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BqS,GAAwC;AAC3F,IAAArS,EAAQ,eAAe,GAAGqS,GAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,eAAerS,GAAgD;AAEpE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BqS,GAA2D;AAC/G,WAAAF,GAAY,iBAAiBnS,CAAO,GACpCmS,GAAY,iBAAiBnS,GAASqS,CAAmB,GAClDF,GAAY,eAAenS,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAIsS;AAAA,MACR,KAAK,oBAAoB,OAAO,KAAK,cAAA,EAAiB,WAAW;AAAA,IAAA;AAAA,EAEtE;AAAA,EAGA,SAASnS,GAAwB;AAC/B,IAAAA,EAAG,gBAAiB,KAAK,cAAA,MAAoB,OAAO,KAAK,cAAA,EAAiB,OAAA,IAAW;AAAA,EACvF;AACA;AAEO,MAAMmS,GAAqD;AAAA,EAClE,YACSC,IAAmC,MAC3C;AADQ,SAAA,gBAAAA;AAAA,EACP;AAAA,EAGF,KAAKvS,GAAiD;AACpD,UAAMuS,IAAiB,KAAK,kBAAkB,OAAO,KAAK,cAAe,KAAKvS,CAAO,IAAI;AAEzF,WAAOmS,GAAY;AAAA,MAAkBnS;AAAA,MACnCuS;AAAA,IAAA;AAAA,EAEJ;AACA;ACpEO,MAAMC,GAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7S,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI2S,GAAA,GAAkB,OAAO5S,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2S,GAAA,GAAkB,OAAO5S,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,QAAQU,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,aAAoB;AAClB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,WAAWA,GAA6ByS,GAAkC;AAC/E,IAAAzS,EAAQ,eAAe,GAAGyS,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,WAAWzS,GAA6B0S,GAAkC;AAC/E,IAAA1S,EAAQ,eAAe,GAAG0S,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,cAAc1S,GAA6B2S,GAAmB;AACnE,IAAA3S,EAAQ,cAAc,GAAG2S,GAAY,OAAO,GAAG,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,kBAAkB3S,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6ByS,GAAkCC,GAAkCC,GAAsC;AACjK,WAAAH,GAAe,oBAAoBxS,CAAO,GAC1CwS,GAAe,WAAWxS,GAASyS,CAAa,GAChDD,GAAe,WAAWxS,GAAS0S,CAAa,GAChDF,GAAe,cAAcxS,GAAS2S,CAAU,GACzCH,GAAe,kBAAkBxS,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAI4S;AAAA,MACT,KAAK,QAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,WAAA;AAAA,IAAW;AAAA,EAEpB;AAAA,EAGA,SAASzS,GAA2B;AAClC,IAAAA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,aAAa,KAAK,WAAA;AAAA,EACvB;AACA;AAEO,MAAMyS,GAAwD;AAAA,EACrE,YACSC,IAAsC,MACtCC,IAAsC,MACtCH,IAAqB,OAAO,GAAG,GACvC;AAHQ,SAAA,UAAAE,GACA,KAAA,UAAAC,GACA,KAAA,aAAAH;AAAA,EACP;AAAA,EAGF,KAAK3S,GAAiD;AACpD,UAAM6S,IAAW,KAAK,YAAY,OAAO7S,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzE8S,IAAW,KAAK,YAAY,OAAO9S,EAAQ,aAAa,KAAK,OAAQ,IAAI;AAE/E,WAAOwS,GAAe;AAAA,MAAqBxS;AAAA,MACzC6S;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACtGO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOpT,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIkT,GAAA,GAAa,OAAOnT,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIkT,GAAA,GAAa,OAAOnT,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,EAAEU,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,EAAEA,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,EAAEA,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,eAAeN,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,KAAKA,GAA6BgT,GAA4B;AACnE,IAAAhT,EAAQ,eAAe,GAAGgT,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,KAAKhT,GAA6BiT,GAA4B;AACnE,IAAAjT,EAAQ,eAAe,GAAGiT,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,KAAKjT,GAA6BkT,GAA4B;AACnE,IAAAlT,EAAQ,eAAe,GAAGkT,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,aAAalT,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6BgT,GAA4BC,GAA4BC,GAA+C;AACzJ,WAAAH,GAAU,eAAe/S,CAAO,GAChC+S,GAAU,KAAK/S,GAASgT,CAAO,GAC/BD,GAAU,KAAK/S,GAASiT,CAAO,GAC/BF,GAAU,KAAK/S,GAASkT,CAAO,GACxBH,GAAU,aAAa/S,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAImT;AAAA,MACT,KAAK,EAAA;AAAA,MACL,KAAK,EAAA;AAAA,MACL,KAAK,EAAA;AAAA,IAAE;AAAA,EAEX;AAAA,EAGA,SAAShT,GAAsB;AAC7B,IAAAA,EAAG,IAAI,KAAK,EAAA,GACZA,EAAG,IAAI,KAAK,EAAA,GACZA,EAAG,IAAI,KAAK,EAAA;AAAA,EACd;AACA;AAEO,MAAMgT,GAAmD;AAAA,EAChE,YACSC,IAAgC,MAChC,IAAgC,MAChCC,IAAgC,MACxC;AAHQ,SAAA,IAAAD,GACA,KAAA,IAAA,GACA,KAAA,IAAAC;AAAA,EACP;AAAA,EAGF,KAAKrT,GAAiD;AACpD,UAAMoT,IAAK,KAAK,MAAM,OAAOpT,EAAQ,aAAa,KAAK,CAAE,IAAI,GACvDsT,IAAK,KAAK,MAAM,OAAOtT,EAAQ,aAAa,KAAK,CAAE,IAAI,GACvDqT,IAAK,KAAK,MAAM,OAAOrT,EAAQ,aAAa,KAAK,CAAE,IAAI;AAE7D,WAAO+S,GAAU;AAAA,MAAgB/S;AAAA,MAC/BoT;AAAA,MACAE;AAAA,MACAD;AAAA,IAAA;AAAA,EAEJ;AACA;AC1GO,MAAME,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO5T,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI0T,GAAA,GAAe,OAAO3T,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI0T,GAAA,GAAe,OAAO3T,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,SAASU,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,WAAWD,GAAcC,GAAmD;AAC1E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,mBAA0B;AACxB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,YAAYA,GAA6BwT,GAAmC;AACjF,IAAAxT,EAAQ,eAAe,GAAGwT,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,cAAcxT,GAA6ByT,GAAqC;AACrF,IAAAzT,EAAQ,eAAe,GAAGyT,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,uBAAuBzT,GAA6BQ,GAA8C;AACvG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BS,GAAiB;AACzE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6BwT,GAAmCC,GAAwD;AAC/I,WAAAF,GAAY,iBAAiBvT,CAAO,GACpCuT,GAAY,YAAYvT,GAASwT,CAAc,GAC/CD,GAAY,cAAcvT,GAASyT,CAAgB,GAC5CF,GAAY,eAAevT,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI0T;AAAA,MACT,KAAK,SAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB;AAAA,IAAA;AAAA,EAEzF;AAAA,EAGA,SAASvT,GAAwB;AAC/B,IAAAA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,aAAa,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB;AAAA,EACvG;AACA;AAEO,MAAMuT,GAAqD;AAAA,EAClE,YACSC,IAAuC,MACvCC,IAAyB,CAAA,GACjC;AAFQ,SAAA,WAAAD,GACA,KAAA,aAAAC;AAAA,EACP;AAAA,EAGF,KAAK5T,GAAiD;AACpD,UAAM2T,IAAY,KAAK,aAAa,OAAO3T,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E4T,IAAaL,GAAY,uBAAuBvT,GAASA,EAAQ,uBAAuB,KAAK,UAAU,CAAC;AAE9G,WAAOuT,GAAY;AAAA,MAAkBvT;AAAA,MACnC2T;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACxGO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOlU,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIgU,GAAA,GAAe,OAAOjU,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIgU,GAAA,GAAe,OAAOjU,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,WAAWS,GAAcC,GAAmD;AAC1E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,mBAA0B;AACxB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,cAAcA,GAA6ByT,GAAqC;AACrF,IAAAzT,EAAQ,eAAe,GAAGyT,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,uBAAuBzT,GAA6BQ,GAA8C;AACvG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BS,GAAiB;AACzE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAAgD;AAEpE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,kBAAkBA,GAA6ByT,GAAwD;AAC5G,WAAAI,GAAY,iBAAiB7T,CAAO,GACpC6T,GAAY,cAAc7T,GAASyT,CAAgB,GAC5CI,GAAY,eAAe7T,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI8T;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB;AAAA,IAAA;AAAA,EAEzF;AAAA,EAGA,SAAS3T,GAAwB;AAC/B,IAAAA,EAAG,aAAa,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB;AAAA,EACvG;AACA;AAEO,MAAM2T,GAAqD;AAAA,EAClE,YACSF,IAAyB,IACjC;AADQ,SAAA,aAAAA;AAAA,EACP;AAAA,EAGF,KAAK5T,GAAiD;AACpD,UAAM4T,IAAaC,GAAY,uBAAuB7T,GAASA,EAAQ,uBAAuB,KAAK,UAAU,CAAC;AAE9G,WAAO6T,GAAY;AAAA,MAAkB7T;AAAA,MACnC4T;AAAA,IAAA;AAAA,EAEJ;AACA;ACtFO,MAAMG,GAAuE;AAAA,EAA7E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOpU,GAAUC,GAAyC;AAC1D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,uBAAuBA,GAA2BC,GAAkC;AACzF,YAAQA,KAAO,IAAIkU,GAAA,GAAiB,OAAOnU,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,mCAAmCA,GAA2BC,GAAkC;AACrG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIkU,GAAA,GAAiB,OAAOnU,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,mBAAmBN,GAA6B;AACrD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6BgU,GAAgC;AAC3E,IAAAhU,EAAQ,eAAe,GAAGgU,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,iBAAiBhU,GAAgD;AAEtE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BgU,GAAmD;AACzG,WAAAD,GAAc,mBAAmB/T,CAAO,GACxC+T,GAAc,SAAS/T,GAASgU,CAAW,GACpCD,GAAc,iBAAiB/T,CAAO;AAAA,EAC/C;AAAA,EAEA,SAAyB;AACvB,WAAO,IAAIiU;AAAA,MACT,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAAS9T,GAA0B;AACjC,IAAAA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAM8T,GAAuD;AAAA,EACpE,YACSC,IAAoC,MAC5C;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAKlU,GAAiD;AACpD,UAAMkU,IAAS,KAAK,UAAU,OAAOlU,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAO+T,GAAc;AAAA,MAAoB/T;AAAA,MACvCkU;AAAA,IAAA;AAAA,EAEJ;AACA;ACpEO,IAAKC,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,gBAAgB,CAAA,IAAhB,iBACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eAJUA,IAAAA,MAAA,CAAA,CAAA;AAOL,SAASC,GACdhM,GACAC,GAC4C;AAC5C,UAAO8L,GAAQ/L,CAAI,GAAA;AAAA,IACjB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAiB,aAAOC,EAAS,IAAI0L,IAAe;AAAA,IACzD,KAAK;AAAe,aAAO1L,EAAS,IAAIwL,IAAa;AAAA,IACrD,KAAK;AAAe,aAAOxL,EAAS,IAAIkL,IAAa;AAAA,IACrD;AAAS,aAAO;AAAA,EAAA;AAEpB;ACdO,MAAMc,EAAuD;AAAA,EAA7D,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO1U,GAAUC,GAAiC;AAClD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,eAAeA,GAA2BC,GAAkB;AACjE,YAAQA,KAAO,IAAIwU,EAAA,GAAS,OAAOzU,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACpF;AAAA,EAEA,OAAO,2BAA2BA,GAA2BC,GAAkB;AAC7E,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIwU,EAAA,GAAS,OAAOzU,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACpF;AAAA,EAEA,SAAgB;AACd,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,GAAGO,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,EAAEA,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,KAAKT,GAA+B;AAClC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIkT,GAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,SAAShT,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACzG;AAAA,EAEA,cAAsB;AACpB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAIoU,GAAQ;AAAA,EACrE;AAAA,EAEA,QAAqCtU,GAAkB;AACrD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,UAAiB;AACf,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAEA,OAAO,WAAWC,GAA6B;AAC7C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6BsU,GAAe;AAC3D,IAAAtU,EAAQ,cAAc,GAAGsU,GAAQ,OAAO,GAAG,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,MAAMtU,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6BuU,GAAiC;AAC7E,IAAAvU,EAAQ,eAAe,GAAGuU,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,KAAKvU,GAA6BwU,GAA4B;AACnE,IAAAxU,EAAQ,eAAe,GAAGwU,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,QAAQxU,GAA6ByU,GAA+B;AACzE,IAAAzU,EAAQ,eAAe,GAAGyU,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,eAAezU,GAA6B0U,GAAqB;AACtE,IAAA1U,EAAQ,aAAa,GAAG0U,GAAaP,GAAQ,IAAI;AAAA,EACnD;AAAA,EAEA,OAAO,WAAWnU,GAA6B2U,GAAkC;AAC/E,IAAA3U,EAAQ,eAAe,GAAG2U,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,WAAW3U,GAA6B4U,GAAgB;AAC7D,IAAA5U,EAAQ,aAAa,GAAG4U,GAAS,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAS5U,GAAgD;AAC9D,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAGA,SAAiB;AACf,WAAO,IAAI8U;AAAA,MACT,KAAK,OAAA;AAAA,MACL,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,EAAA;AAAA,MACJ,KAAK,WAAW,OAAO,KAAK,KAAA,EAAQ,WAAW;AAAA,MAChD,KAAK,YAAA;AAAA,OACJ,MAAM;AACL,cAAMjM,IAAOwL,GAAe,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AACvE,eAAGxL,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,MACE,KAAK,QAAA;AAAA,IAAQ;AAAA,EAEjB;AAAA,EAGA,SAASzI,GAAkB;AACzB,IAAAA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,IAAI,KAAK,EAAA,GACZA,EAAG,OAAQ,KAAK,KAAA,MAAW,OAAO,KAAK,KAAA,EAAQ,OAAA,IAAW,MAC1DA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,WAAW,MAAM;AAChB,YAAMyI,IAAOwL,GAAe,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AACvE,aAAGxL,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA,GACAzI,EAAG,UAAU,KAAK,QAAA;AAAA,EACpB;AACA;AAEO,MAAM0U,GAA+C;AAAA,EAC5D,YACSP,IAAiB,OAAO,GAAG,GAC3BjT,IAAiC,MACjCyT,IAAqC,MACrCC,IAAgC,MAChCC,IAAwB,MACxBN,IAAuBP,GAAQ,MAC/Bc,IAAyD,MACzDL,IAAkB,GAC1B;AARQ,SAAA,SAAAN,GACA,KAAA,KAAAjT,GACA,KAAA,SAAAyT,GACA,KAAA,IAAAC,GACA,KAAA,OAAAC,GACA,KAAA,cAAAN,GACA,KAAA,UAAAO,GACA,KAAA,UAAAL;AAAA,EACP;AAAA,EAGF,KAAK5U,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1D8U,IAAU,KAAK,WAAW,OAAO9U,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE+U,IAAK,KAAK,MAAM,OAAO/U,EAAQ,aAAa,KAAK,CAAE,IAAI,GACvDgV,IAAQ,KAAK,SAAS,OAAO,KAAK,KAAM,KAAKhV,CAAO,IAAI,GACxDiV,IAAUjV,EAAQ,mBAAmB,KAAK,OAAO;AAEvD,WAAAqU,EAAM,WAAWrU,CAAO,GACxBqU,EAAM,UAAUrU,GAAS,KAAK,MAAM,GACpCqU,EAAM,MAAMrU,GAASqB,CAAE,GACvBgT,EAAM,UAAUrU,GAAS8U,CAAM,GAC/BT,EAAM,KAAKrU,GAAS+U,CAAC,GACrBV,EAAM,QAAQrU,GAASgV,CAAI,GAC3BX,EAAM,eAAerU,GAAS,KAAK,WAAW,GAC9CqU,EAAM,WAAWrU,GAASiV,CAAO,GACjCZ,EAAM,WAAWrU,GAAS,KAAK,OAAO,GAE/BqU,EAAM,SAASrU,CAAO;AAAA,EAC/B;AACA;ACnLO,MAAMkV,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvV,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAIqV,EAAA,GAAkB,OAAOtV,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqV,EAAA,GAAkB,OAAOtV,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,QAAQU,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAOD,GAAeR,GAAuB;AAC3C,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIwU,EAAA,GAAS,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAStU,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACpI;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,WAAWM,GAAcC,GAAmD;AAC1E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,mBAA0B;AACxB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,YAAoB;AAClB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,WAAWA,GAA6B0S,GAAkC;AAC/E,IAAA1S,EAAQ,eAAe,GAAG0S,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAU1S,GAA6BmV,GAAiC;AAC7E,IAAAnV,EAAQ,eAAe,GAAGmV,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBnV,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,cAAcT,GAA6BoV,GAAqC;AACrF,IAAApV,EAAQ,eAAe,GAAGoV,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,uBAAuBpV,GAA6BQ,GAA8C;AACvG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,sBAAsBA,GAA6BS,GAAiB;AACzE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BwM,GAAmB;AAClE,IAAAxM,EAAQ,aAAa,GAAG,CAACwM,GAAW,CAAM;AAAA,EAC5C;AAAA,EAEA,OAAO,kBAAkBxM,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6B0S,GAAkCyC,GAAiCC,GAAqC5I,GAAsC;AACrM,WAAA0I,EAAe,oBAAoBlV,CAAO,GAC1CkV,EAAe,WAAWlV,GAAS0S,CAAa,GAChDwC,EAAe,UAAUlV,GAASmV,CAAY,GAC9CD,EAAe,cAAclV,GAASoV,CAAgB,GACtDF,EAAe,aAAalV,GAASwM,CAAS,GACvC0I,EAAe,kBAAkBlV,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAIqV;AAAA,MACT,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,cAA6B,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MACjF,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,kBAAkB;AAAA,MACrF,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAASlV,GAA2B;AAClC,IAAAA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,SAAS,KAAK,GAAI,cAA6B,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GAC7FA,EAAG,aAAa,KAAK,GAAI,iBAAyB,KAAK,WAAW,KAAK,IAAI,GAAG,KAAK,iBAAA,CAAkB,GACrGA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAMkV,GAAwD;AAAA,EACrE,YACSvC,IAAsC,MACtCwC,IAAqB,CAAA,GACrBC,IAAyB,CAAA,GACzB/I,IAAqB,IAC7B;AAJQ,SAAA,UAAAsG,GACA,KAAA,SAAAwC,GACA,KAAA,aAAAC,GACA,KAAA,YAAA/I;AAAA,EACP;AAAA,EAGF,KAAKxM,GAAiD;AACpD,UAAM8S,IAAW,KAAK,YAAY,OAAO9S,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEsV,IAASJ,EAAe,mBAAmBlV,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC/FuV,IAAaL,EAAe,uBAAuBlV,GAASA,EAAQ,uBAAuB,KAAK,UAAU,CAAC;AAEjH,WAAOkV,EAAe;AAAA,MAAqBlV;AAAA,MACzC8S;AAAA,MACAwC;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACxJO,MAAMC,GAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7V,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAI2V,GAAA,GAAc,OAAO5V,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2V,GAAA,GAAc,OAAO5V,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAIA,KAAKU,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,gBAAgBN,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6B2B,GAA+B;AACzE,IAAA3B,EAAQ,eAAe,GAAG2B,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,SAAS3B,GAA6BgU,GAAgC;AAC3E,IAAAhU,EAAQ,eAAe,GAAGgU,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,SAAShU,GAA6BoL,GAAgC;AAC3E,IAAApL,EAAQ,eAAe,GAAGoL,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,UAAUpL,GAA6ByV,GAAiC;AAC7E,IAAAzV,EAAQ,eAAe,GAAGyV,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,cAAczV,GAAgD;AACnE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBC,GAA6B2B,GAA+BqS,GAAgC5I,GAAgCqK,GAAoD;AACtM,WAAAD,GAAW,gBAAgBxV,CAAO,GAClCwV,GAAW,QAAQxV,GAAS2B,CAAU,GACtC6T,GAAW,SAASxV,GAASgU,CAAW,GACxCwB,GAAW,SAASxV,GAASoL,CAAW,GACxCoK,GAAW,UAAUxV,GAASyV,CAAY,GACnCD,GAAW,cAAcxV,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAI0V;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,OAAA;AAAA,IAAO;AAAA,EAEhB;AAAA,EAGA,SAASvV,GAAuB;AAC9B,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,SAAS,KAAK,OAAA;AAAA,EACnB;AACA;AAEO,MAAMuV,GAAoD;AAAA,EACjE,YACS3S,IAAmC,MACnCmR,IAAoC,MACpC3I,IAAoC,MACpCoK,IAAqC,MAC7C;AAJQ,SAAA,OAAA5S,GACA,KAAA,QAAAmR,GACA,KAAA,QAAA3I,GACA,KAAA,SAAAoK;AAAA,EACP;AAAA,EAGF,KAAK3V,GAAiD;AACpD,UAAM+C,IAAQ,KAAK,SAAS,OAAO/C,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEkU,IAAS,KAAK,UAAU,OAAOlU,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEuL,IAAS,KAAK,UAAU,OAAOvL,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE2V,IAAU,KAAK,WAAW,OAAO3V,EAAQ,aAAa,KAAK,MAAO,IAAI;AAE5E,WAAOwV,GAAW;AAAA,MAAiBxV;AAAA,MACjC+C;AAAA,MACAmR;AAAA,MACA3I;AAAA,MACAoK;AAAA,IAAA;AAAA,EAEJ;AACA;ACzHO,MAAMC,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjW,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI+V,EAAA,GAAkB,OAAOhW,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+V,EAAA,GAAkB,OAAOhW,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,UAAUU,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAAgB;AACd,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAIA,cAAcM,GAAcC,GAAmD;AAC7E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,sBAA6B;AAC3B,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,gBAAgBM,GAAcC,GAAmD;AAC/E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,wBAA+B;AAC7B,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,eAAeM,GAAcC,GAAmD;AAC9E,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,uBAA8B;AAC5B,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,KAAKM,GAAeR,GAAiC;AACnD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAI2V,GAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASzV,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACzI;AAAA,EAEA,aAAoB;AAClB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,YAAoB;AAClB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6B6V,GAAoC;AACnF,IAAA7V,EAAQ,eAAe,GAAG6V,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,UAAU7V,GAA6BsU,GAAe;AAC3D,IAAAtU,EAAQ,cAAc,GAAGsU,GAAQ,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,iBAAiBtU,GAA6B8V,GAAwC;AAC3F,IAAA9V,EAAQ,eAAe,GAAG8V,GAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,0BAA0B9V,GAA6BQ,GAA8C;AAC1G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,yBAAyBA,GAA6BS,GAAiB;AAC5E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,mBAAmBT,GAA6B+V,GAA0C;AAC/F,IAAA/V,EAAQ,eAAe,GAAG+V,GAAuB,CAAC;AAAA,EACpD;AAAA,EAEA,OAAO,4BAA4B/V,GAA6BQ,GAA8C;AAC5G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,2BAA2BA,GAA6BS,GAAiB;AAC9E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAA6BgW,GAAyC;AAC7F,IAAAhW,EAAQ,eAAe,GAAGgW,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,2BAA2BhW,GAA6BQ,GAA8C;AAC3G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,0BAA0BA,GAA6BS,GAAiB;AAC7E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,QAAQT,GAA6BiB,GAA+B;AACzE,IAAAjB,EAAQ,eAAe,GAAGiB,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,iBAAiBjB,GAA6BQ,GAA8C;AACjG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BS,GAAiB;AACnE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BwM,GAAmB;AAClE,IAAAxM,EAAQ,aAAa,GAAG,CAACwM,GAAW,CAAM;AAAA,EAC5C;AAAA,EAEA,OAAO,kBAAkBxM,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6B6V,GAAoCvB,GAAewB,GAAwCC,GAA0CC,GAAyC/U,GAA+BuL,GAAsC;AAC1S,WAAAoJ,EAAe,oBAAoB5V,CAAO,GAC1C4V,EAAe,aAAa5V,GAAS6V,CAAe,GACpDD,EAAe,UAAU5V,GAASsU,CAAM,GACxCsB,EAAe,iBAAiB5V,GAAS8V,CAAmB,GAC5DF,EAAe,mBAAmB5V,GAAS+V,CAAqB,GAChEH,EAAe,kBAAkB5V,GAASgW,CAAoB,GAC9DJ,EAAe,QAAQ5V,GAASiB,CAAU,GAC1C2U,EAAe,aAAa5V,GAASwM,CAAS,GACvCoJ,EAAe,kBAAkB5V,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAIiW;AAAA,MACT,KAAK,UAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,qBAAqB;AAAA,MAC3F,KAAK,GAAI,iBAAyB,KAAK,gBAAgB,KAAK,IAAI,GAAG,KAAK,uBAAuB;AAAA,MAC/F,KAAK,GAAI,iBAAyB,KAAK,eAAe,KAAK,IAAI,GAAG,KAAK,sBAAsB;AAAA,MAC7F,KAAK,GAAI,cAAuC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,YAAY;AAAA,MACvF,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAAS9V,GAA2B;AAClC,IAAAA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,gBAAgB,KAAK,GAAI,iBAAyB,KAAK,cAAc,KAAK,IAAI,GAAG,KAAK,oBAAA,CAAqB,GAC9GA,EAAG,kBAAkB,KAAK,GAAI,iBAAyB,KAAK,gBAAgB,KAAK,IAAI,GAAG,KAAK,sBAAA,CAAuB,GACpHA,EAAG,iBAAiB,KAAK,GAAI,iBAAyB,KAAK,eAAe,KAAK,IAAI,GAAG,KAAK,qBAAA,CAAsB,GACjHA,EAAG,OAAO,KAAK,GAAI,cAAuC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY,GACjGA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAM8V,GAAwD;AAAA,EACrE,YACSC,IAAwC,MACxC5B,IAAiB,GACjB6B,IAA4B,CAAA,GAC5BC,IAA8B,CAAA,GAC9BC,IAA6B,CAAA,GAC7B7U,IAAwB,CAAA,GACxBgL,IAAqB,IAC7B;AAPQ,SAAA,YAAA0J,GACA,KAAA,SAAA5B,GACA,KAAA,gBAAA6B,GACA,KAAA,kBAAAC,GACA,KAAA,iBAAAC,GACA,KAAA,OAAA7U,GACA,KAAA,YAAAgL;AAAA,EACP;AAAA,EAGF,KAAKxM,GAAiD;AACpD,UAAMkW,IAAa,KAAK,cAAc,OAAOlW,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/EmW,IAAgBP,EAAe,0BAA0B5V,GAASA,EAAQ,uBAAuB,KAAK,aAAa,CAAC,GACpHoW,IAAkBR,EAAe,4BAA4B5V,GAASA,EAAQ,uBAAuB,KAAK,eAAe,CAAC,GAC1HqW,IAAiBT,EAAe,2BAA2B5V,GAASA,EAAQ,uBAAuB,KAAK,cAAc,CAAC,GACvHwB,IAAOoU,EAAe,iBAAiB5V,GAASA,EAAQ,uBAAuB,KAAK,IAAI,CAAC;AAE/F,WAAO4V,EAAe;AAAA,MAAqB5V;AAAA,MACzCkW;AAAA,MACA,KAAK;AAAA,MACLC;AAAA,MACAC;AAAA,MACAC;AAAA,MACA7U;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACvOO,MAAM8U,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3W,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIyW,GAAA,GAAe,OAAO1W,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIyW,GAAA,GAAe,OAAO1W,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,eAA4B;AAC1B,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIkN,GAAa;AAAA,EACzE;AAAA,EAIA,QAAQ3M,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,YAAmB;AACjB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,MAAMF,GAAuB;AAC3B,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIgN,GAAA,GAAS,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS9M,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACrG;AAAA,EAIA,kBAAkBO,GAAmD;AACnE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiBN,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BmN,GAA2B;AAC7E,IAAAnN,EAAQ,aAAa,GAAGmN,GAAcF,GAAa,IAAI;AAAA,EACzD;AAAA,EAEA,OAAO,WAAWjN,GAA6B2L,GAAkC;AAC/E,IAAA3L,EAAQ,eAAe,GAAG2L,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAU3L,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAad,GAA6BoN,GAAkB;AACjE,IAAApN,EAAQ,cAAc,GAAGoN,GAAW,OAAO,GAAG,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,SAASpN,GAA6BqN,GAAgC;AAC3E,IAAArN,EAAQ,eAAe,GAAGqN,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,qBAAqBrN,GAA6BsN,GAA4C;AACnG,IAAAtN,EAAQ,eAAe,GAAGsN,GAAyB,CAAC;AAAA,EACtD;AAAA,EAEA,OAAO,eAAetN,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAAuB;AACrB,WAAO,IAAIwW;AAAA,MACT,KAAK,aAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACJ,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,MAClD,KAAK,kBAAA;AAAA,IAAkB;AAAA,EAE3B;AAAA,EAGA,SAASpW,GAAwB;AAC/B,IAAAA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW,MAC7DA,EAAG,oBAAoB,KAAK,kBAAA;AAAA,EAC9B;AACA;AAEO,MAAMoW,GAAqD;AAAA,EAClE,YACSpJ,IAA6BF,GAAa,MAC1CpB,IAAsC,MACtCvK,IAAqC,MACrC8L,IAAoB,OAAO,GAAG,GAC9BI,IAAqB,MACrBC,IAAgD,MACxD;AANQ,SAAA,eAAAN,GACA,KAAA,UAAAtB,GACA,KAAA,SAAAvK,GACA,KAAA,YAAA8L,GACA,KAAA,QAAAI,GACA,KAAA,oBAAAC;AAAA,EACP;AAAA,EAGF,KAAKzN,GAAiD;AACpD,UAAM6L,IAAW,KAAK,YAAY,OAAO7L,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEwN,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAKxN,CAAO,IAAI,GAC3DyN,IAAqB,KAAK,sBAAsB,OAAOzN,EAAQ,aAAa,KAAK,iBAAkB,IAAI;AAE7G,WAAAsW,GAAY,iBAAiBtW,CAAO,GACpCsW,GAAY,gBAAgBtW,GAAS,KAAK,YAAY,GACtDsW,GAAY,WAAWtW,GAAS6L,CAAO,GACvCyK,GAAY,UAAUtW,GAASsB,CAAM,GACrCgV,GAAY,aAAatW,GAAS,KAAK,SAAS,GAChDsW,GAAY,SAAStW,GAASwN,CAAK,GACnC8I,GAAY,qBAAqBtW,GAASyN,CAAiB,GAEpD6I,GAAY,eAAetW,CAAO;AAAA,EAC3C;AACA;AC5IO,MAAMwW,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7W,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI2W,EAAA,GAAkB,OAAO5W,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2W,EAAA,GAAkB,OAAO5W,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAAgB;AACd,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAIA,UAAUO,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,WAAmB;AACjB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAOM,GAAeR,GAAuB;AAC3C,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIwU,EAAA,GAAS,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAStU,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACpI;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,QAAQO,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,eAAuB;AACrB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,WAAWO,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,oBAAoBN,GAA6B;AACtD,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6BsU,GAAe;AAC3D,IAAAtU,EAAQ,cAAc,GAAGsU,GAAQ,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAatU,GAA6B8R,GAAoC;AACnF,IAAA9R,EAAQ,eAAe,GAAG8R,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,UAAU9R,GAA6ByW,GAAiC;AAC7E,IAAAzW,EAAQ,eAAe,GAAGyW,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,WAAWzW,GAA6B2L,GAAkC;AAC/E,IAAA3L,EAAQ,eAAe,GAAG2L,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,WAAW3L,GAA6B0S,GAAkC;AAC/E,IAAA1S,EAAQ,eAAe,GAAG0S,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,YAAY1S,GAA6B0W,GAAkB;AAChE,IAAA1W,EAAQ,aAAa,GAAG,CAAC0W,GAAU,CAAM;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAU1W,GAA6BmV,GAAiC;AAC7E,IAAAnV,EAAQ,eAAe,GAAGmV,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBnV,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,WAAWT,GAA6B2W,GAAkC;AAC/E,IAAA3W,EAAQ,eAAe,GAAG2W,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,gBAAgB3W,GAA6B4W,GAAsB;AACxE,IAAA5W,EAAQ,aAAa,GAAG,CAAC4W,GAAc,CAAM;AAAA,EAC/C;AAAA,EAEA,OAAO,cAAc5W,GAA6BkF,GAAqC;AACrF,IAAAlF,EAAQ,eAAe,IAAIkF,GAAkB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,kBAAkBlF,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6Ba,GAA6ByT,GAAexC,GAAoC2E,GAAiC9K,GAAkC+G,GAAkCgE,GAAkBvB,GAAiCwB,GAAkCC,GAAsB1R,GAAwD;AAC/Y,WAAAsR,EAAe,oBAAoBxW,CAAO,GAC1CwW,EAAe,MAAMxW,GAASa,CAAQ,GACtC2V,EAAe,UAAUxW,GAASsU,CAAM,GACxCkC,EAAe,aAAaxW,GAAS8R,CAAe,GACpD0E,EAAe,UAAUxW,GAASyW,CAAY,GAC9CD,EAAe,WAAWxW,GAAS2L,CAAa,GAChD6K,EAAe,WAAWxW,GAAS0S,CAAa,GAChD8D,EAAe,YAAYxW,GAAS0W,CAAQ,GAC5CF,EAAe,UAAUxW,GAASmV,CAAY,GAC9CqB,EAAe,WAAWxW,GAAS2W,CAAa,GAChDH,EAAe,gBAAgBxW,GAAS4W,CAAY,GACpDJ,EAAe,cAAcxW,GAASkF,CAAgB,GAC/CsR,EAAe,kBAAkBxW,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAI6W;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,GAAI,cAA6B,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MACjF,KAAK,QAAA;AAAA,MACL,KAAK,aAAA;AAAA,MACL,KAAK,WAAA;AAAA,IAAW;AAAA,EAEpB;AAAA,EAGA,SAAS1W,GAA2B;AAClC,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,SAAS,KAAK,GAAI,cAA6B,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GAC7FA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,aAAa,KAAK,WAAA;AAAA,EACvB;AACA;AAEO,MAAM0W,GAAwD;AAAA,EACrE,YACSxV,IAAiC,MACjCiT,IAAiB,GACjBpC,IAAwC,MACxC4E,IAAqC,MACrCjL,IAAsC,MACtCiH,IAAsC,MACtC4D,IAAoB,IACpBpB,IAAqB,CAAA,GACrByB,IAAsC,MACtCH,IAAwB,IACxBtR,IAAyC,MACjD;AAXQ,SAAA,KAAAjE,GACA,KAAA,SAAAiT,GACA,KAAA,YAAApC,GACA,KAAA,SAAA4E,GACA,KAAA,UAAAjL,GACA,KAAA,UAAAiH,GACA,KAAA,WAAA4D,GACA,KAAA,SAAApB,GACA,KAAA,UAAAyB,GACA,KAAA,eAAAH,GACA,KAAA,aAAAtR;AAAA,EACP;AAAA,EAGF,KAAKtF,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1DkS,IAAa,KAAK,cAAc,OAAOlS,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/E8W,IAAU,KAAK,WAAW,OAAO9W,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE6L,IAAW,KAAK,YAAY,OAAO7L,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzE8S,IAAW,KAAK,YAAY,OAAO9S,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEsV,IAASkB,EAAe,mBAAmBxW,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC/F+W,IAAW,KAAK,YAAY,OAAO/W,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEsF,IAAc,KAAK,eAAe,OAAOtF,EAAQ,aAAa,KAAK,UAAW,IAAI;AAExF,WAAOwW,EAAe;AAAA,MAAqBxW;AAAA,MACzCqB;AAAA,MACA,KAAK;AAAA,MACL6Q;AAAA,MACA4E;AAAA,MACAjL;AAAA,MACAiH;AAAA,MACA,KAAK;AAAA,MACLwC;AAAA,MACAyB;AAAA,MACA,KAAK;AAAA,MACLzR;AAAA,IAAA;AAAA,EAEJ;AACA;AC1PO,MAAM0R,EAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOrX,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAImX,EAAA,GAAc,OAAOpX,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImX,EAAA,GAAc,OAAOpX,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAc;AACZ,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,KAAKD,GAAeR,GAA+B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIO,EAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASL,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,aAAoB;AAClB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,UAAUO,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,gBAAgBN,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,UAAUf,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,WAAWd,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,QAAQhB,GAA6BiB,GAA+B;AACzE,IAAAjB,EAAQ,eAAe,GAAGiB,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,iBAAiBjB,GAA6BQ,GAA8C;AACjG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BS,GAAiB;AACnE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BiX,GAAoC;AACnF,IAAAjX,EAAQ,eAAe,GAAGiX,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,cAAcjX,GAAgD;AACnE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBC,GAA6Be,GAAaD,GAAiCE,GAAkCC,GAA+BgW,GAAuD;AACzN,WAAAD,EAAW,gBAAgBhX,CAAO,GAClCgX,EAAW,QAAQhX,GAASe,CAAI,GAChCiW,EAAW,UAAUhX,GAASc,CAAY,GAC1CkW,EAAW,WAAWhX,GAASgB,CAAa,GAC5CgW,EAAW,QAAQhX,GAASiB,CAAU,GACtC+V,EAAW,aAAahX,GAASiX,CAAe,GACzCD,EAAW,cAAchX,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIkX;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,YAAY;AAAA,MACrF,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAAS/W,GAAuB;AAC9B,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,OAAO,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY,GAC/FA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAM+W,GAAoD;AAAA,EACjE,YACSnW,IAAe,GACfO,IAAqC,MACrCC,IAAsC,MACtCC,IAAuB,IACvB2V,IAAwC,MAChD;AALQ,SAAA,OAAApW,GACA,KAAA,SAAAO,GACA,KAAA,UAAAC,GACA,KAAA,OAAAC,GACA,KAAA,YAAA2V;AAAA,EACP;AAAA,EAGF,KAAKnX,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEwB,IAAOwV,EAAW,iBAAiBhX,GAASA,EAAQ,uBAAuB,KAAK,IAAI,CAAC,GACrFmX,IAAa,KAAK,cAAc,OAAOnX,EAAQ,aAAa,KAAK,SAAU,IAAI;AAErF,WAAOgX,EAAW;AAAA,MAAiBhX;AAAA,MACjC,KAAK;AAAA,MACLsB;AAAA,MACAC;AAAA,MACAC;AAAA,MACA2V;AAAA,IAAA;AAAA,EAEJ;AACA;ACxJO,MAAMC,EAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOzX,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAIuX,EAAA,GAAkB,OAAOxX,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuX,EAAA,GAAkB,OAAOxX,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAAgB;AACd,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAIA,QAAQO,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUA,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,gBAAgBA,GAAmD;AACjE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,YAAmB;AACjB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,QAAgB;AACd,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,YAAYF,GAAiC;AAC3C,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAImX,EAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,SAASjX,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC1G;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6BsU,GAAe;AAC3D,IAAAtU,EAAQ,cAAc,GAAGsU,GAAQ,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,WAAWtU,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAUhB,GAA6BqX,GAAiC;AAC7E,IAAArX,EAAQ,eAAe,GAAGqX,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,YAAYrX,GAA6BwT,GAAmC;AACjF,IAAAxT,EAAQ,eAAe,GAAGwT,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,UAAUxT,GAA6ByW,GAAiC;AAC7E,IAAAzW,EAAQ,eAAe,GAAGyW,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAazW,GAA6B8R,GAAoC;AACnF,IAAA9R,EAAQ,eAAe,GAAG8R,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,SAAS9R,GAA6BsX,GAAgC;AAC3E,IAAAtX,EAAQ,eAAe,GAAGsX,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,mBAAmBtX,GAA6BuX,GAA0C;AAC/F,IAAAvX,EAAQ,eAAe,GAAGuX,GAAuB,CAAC;AAAA,EACpD;AAAA,EAEA,OAAO,aAAavX,GAA6BwX,GAAkB;AACjE,IAAAxX,EAAQ,cAAc,GAAGwX,GAAW,OAAO,GAAG,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,SAASxX,GAA6ByX,GAAe;AAC1D,IAAAzX,EAAQ,aAAa,IAAI,CAACyX,GAAO,CAAM;AAAA,EACzC;AAAA,EAEA,OAAO,eAAezX,GAA6B8G,GAAsC;AACvF,IAAA9G,EAAQ,eAAe,IAAI8G,GAAmB,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,kBAAkB9G,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GAChCC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAGA,SAA0B;AACxB,WAAO,IAAI2X;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,gBAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACJ,KAAK,kBAAkB,OAAO,KAAK,YAAA,EAAe,WAAW;AAAA,IAAA;AAAA,EAElE;AAAA,EAGA,SAASvX,GAA2B;AAClC,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,kBAAkB,KAAK,gBAAA,GAC1BA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,cAAe,KAAK,YAAA,MAAkB,OAAO,KAAK,YAAA,EAAe,OAAA,IAAW;AAAA,EACjF;AACA;AAEO,MAAMuX,GAAwD;AAAA,EACrE,YACSrW,IAAiC,MACjCiT,IAAiB,GACjB/S,IAAsC,MACtCoW,IAAqC,MACrChE,IAAuC,MACvCmD,IAAqC,MACrC5E,IAAwC,MACxC0F,IAAoC,MACpCC,IAA8C,MAC9CL,IAAoB,OAAO,GAAG,GAC9BC,IAAiB,IACjBxQ,IAAgC,MACxC;AAZQ,SAAA,KAAA5F,GACA,KAAA,SAAAiT,GACA,KAAA,UAAA/S,GACA,KAAA,SAAAoW,GACA,KAAA,WAAAhE,GACA,KAAA,SAAAmD,GACA,KAAA,YAAA5E,GACA,KAAA,QAAA0F,GACA,KAAA,kBAAAC,GACA,KAAA,YAAAL,GACA,KAAA,QAAAC,GACA,KAAA,cAAAxQ;AAAA,EACP;AAAA,EAGF,KAAKjH,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1DuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzE2X,IAAU,KAAK,WAAW,OAAO3X,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE2T,IAAY,KAAK,aAAa,OAAO3T,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5E8W,IAAU,KAAK,WAAW,OAAO9W,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEkS,IAAa,KAAK,cAAc,OAAOlS,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/E4X,IAAS,KAAK,UAAU,OAAO5X,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE6X,IAAmB,KAAK,oBAAoB,OAAO7X,EAAQ,aAAa,KAAK,eAAgB,IAAI,GACjGiH,IAAe,KAAK,gBAAgB,OAAO,KAAK,YAAa,KAAKjH,CAAO,IAAI;AAEnF,WAAAoX,EAAe,oBAAoBpX,CAAO,GAC1CoX,EAAe,MAAMpX,GAASqB,CAAE,GAChC+V,EAAe,UAAUpX,GAAS,KAAK,MAAM,GAC7CoX,EAAe,WAAWpX,GAASuB,CAAO,GAC1C6V,EAAe,UAAUpX,GAAS2X,CAAM,GACxCP,EAAe,YAAYpX,GAAS2T,CAAQ,GAC5CyD,EAAe,UAAUpX,GAAS8W,CAAM,GACxCM,EAAe,aAAapX,GAASkS,CAAS,GAC9CkF,EAAe,SAASpX,GAAS4X,CAAK,GACtCR,EAAe,mBAAmBpX,GAAS6X,CAAe,GAC1DT,EAAe,aAAapX,GAAS,KAAK,SAAS,GACnDoX,EAAe,SAASpX,GAAS,KAAK,KAAK,GAC3CoX,EAAe,eAAepX,GAASiH,CAAW,GAE3CmQ,EAAe,kBAAkBpX,CAAO;AAAA,EACjD;AACA;AC7OO,MAAM8X,EAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOnY,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAIiY,EAAA,GAAc,OAAOlY,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIiY,EAAA,GAAc,OAAOlY,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAc;AACZ,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,EAAEA,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,gBAAgBC,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,OAAO,GAAG,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAUf,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,KAAKd,GAA6B+X,GAA4B;AACnE,IAAA/X,EAAQ,eAAe,GAAG+X,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,UAAU/X,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,cAAcT,GAAgD;AACnE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBC,GAA6Be,GAAaD,GAAiCiX,GAA4BtT,GAAoD;AACjL,WAAAqT,EAAW,gBAAgB9X,CAAO,GAClC8X,EAAW,QAAQ9X,GAASe,CAAI,GAChC+W,EAAW,UAAU9X,GAASc,CAAY,GAC1CgX,EAAW,KAAK9X,GAAS+X,CAAO,GAChCD,EAAW,UAAU9X,GAASyE,CAAY,GACnCqT,EAAW,cAAc9X,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIgY;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,EAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAEjF;AAAA,EAGA,SAAS7X,GAAuB;AAC9B,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,IAAI,KAAK,EAAA,GACZA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EAC3F;AACA;AAEO,MAAM6X,GAAoD;AAAA,EACjE,YACSjX,IAAe,OAAO,GAAG,GACzBO,IAAqC,MACrC2W,IAAgC,MAChCtT,IAAqB,IAC7B;AAJQ,SAAA,OAAA5D,GACA,KAAA,SAAAO,GACA,KAAA,IAAA2W,GACA,KAAA,SAAAtT;AAAA,EACP;AAAA,EAGF,KAAK3E,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEiY,IAAK,KAAK,MAAM,OAAOjY,EAAQ,aAAa,KAAK,CAAE,IAAI,GACvD2E,IAASmT,EAAW,mBAAmB9X,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAEjG,WAAO8X,EAAW;AAAA,MAAiB9X;AAAA,MACjC,KAAK;AAAA,MACLsB;AAAA,MACA2W;AAAA,MACAtT;AAAA,IAAA;AAAA,EAEJ;AACA;ACvIO,MAAMuT,EAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvY,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAIqY,EAAA,GAAc,OAAOtY,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqY,EAAA,GAAc,OAAOtY,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,WAAkB;AAChB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,EAAEO,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,YAAYA,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOM,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOM,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,UAAUM,GAAeR,GAAiC;AACxD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIiY,EAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS/X,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACzI;AAAA,EAEA,kBAAyB;AACvB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,gBAAgBC,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,YAAYA,GAA6BmY,GAAiB;AAC/D,IAAAnY,EAAQ,cAAc,GAAGmY,GAAU,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,KAAKnY,GAA6B+X,GAA4B;AACnE,IAAA/X,EAAQ,eAAe,GAAG+X,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,SAAS/X,GAA6B6G,GAAgC;AAC3E,IAAA7G,EAAQ,eAAe,GAAG6G,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAe7G,GAA6B8G,GAAsC;AACvF,IAAA9G,EAAQ,eAAe,GAAG8G,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,SAAS9G,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,GAAG2C,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,UAAU3C,GAA6B2Q,GAAiC;AAC7E,IAAA3Q,EAAQ,eAAe,GAAG2Q,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmB3Q,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6BoY,GAAiC;AAC7E,IAAApY,EAAQ,eAAe,GAAGoY,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBpY,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6BqY,GAAiC;AAC7E,IAAArY,EAAQ,eAAe,GAAGqY,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBrY,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BsY,GAAoC;AACnF,IAAAtY,EAAQ,eAAe,GAAGsY,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,sBAAsBtY,GAA6BQ,GAA8C;AACtG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,qBAAqBA,GAA6BS,GAAiB;AACxE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,cAAcT,GAAgD;AAEnE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BmY,GAAiBJ,GAA4BlR,GAAgCC,GAAsCnE,GAAgCgO,GAAiCyH,GAAiCC,GAAiCC,GAAuD;AAChW,WAAAJ,EAAW,gBAAgBlY,CAAO,GAClCkY,EAAW,YAAYlY,GAASmY,CAAQ,GACxCD,EAAW,KAAKlY,GAAS+X,CAAO,GAChCG,EAAW,SAASlY,GAAS6G,CAAW,GACxCqR,EAAW,eAAelY,GAAS8G,CAAiB,GACpDoR,EAAW,SAASlY,GAAS2C,CAAW,GACxCuV,EAAW,UAAUlY,GAAS2Q,CAAY,GAC1CuH,EAAW,UAAUlY,GAASoY,CAAY,GAC1CF,EAAW,UAAUlY,GAASqY,CAAY,GAC1CH,EAAW,aAAalY,GAASsY,CAAe,GACzCJ,EAAW,cAAclY,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIuY;AAAA,MACT,KAAK,SAAA;AAAA,MACL,KAAK,EAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,GAAI,cAAuC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB;AAAA,IAAA;AAAA,EAErG;AAAA,EAGA,SAASpY,GAAuB;AAC9B,IAAAA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,IAAI,KAAK,EAAA,GACZA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,YAAY,KAAK,GAAI,cAAuC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB;AAAA,EAClH;AACA;AAEO,MAAMoY,GAAoD;AAAA,EACjE,YACSJ,IAAmB,GACnBF,IAAgC,MAChCjR,IAAoC,MACpCC,IAA0C,MAC1ClD,IAAoC,MACpCkN,IAAqB,CAAA,GACrBuH,IAAqB,CAAA,GACrBC,IAAqB,CAAA,GACrBC,IAA6B,IACrC;AATQ,SAAA,WAAAP,GACA,KAAA,IAAAF,GACA,KAAA,QAAAjR,GACA,KAAA,cAAAC,GACA,KAAA,QAAAlD,GACA,KAAA,SAAAkN,GACA,KAAA,SAAAuH,GACA,KAAA,SAAAC,GACA,KAAA,YAAAC;AAAA,EACP;AAAA,EAGF,KAAK1Y,GAAiD;AACpD,UAAMiY,IAAK,KAAK,MAAM,OAAOjY,EAAQ,aAAa,KAAK,CAAE,IAAI,GACvDgH,IAAS,KAAK,UAAU,OAAOhH,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEiH,IAAe,KAAK,gBAAgB,OAAOjH,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrF+D,IAAS,KAAK,UAAU,OAAO/D,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEiR,IAASiH,EAAW,mBAAmBlY,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC3FwY,IAASN,EAAW,mBAAmBlY,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC3FyY,IAASP,EAAW,mBAAmBlY,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC3F0Y,IAAYR,EAAW,sBAAsBlY,GAASA,EAAQ,uBAAuB,KAAK,SAAS,CAAC;AAE1G,WAAOkY,EAAW;AAAA,MAAiBlY;AAAA,MACjC,KAAK;AAAA,MACLiY;AAAA,MACAjR;AAAA,MACAC;AAAA,MACAlD;AAAA,MACAkN;AAAA,MACAuH;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;AC7QO,MAAMC,GAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhZ,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI8Y,GAAA,GAAkB,OAAO/Y,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8Y,GAAA,GAAkB,OAAO/Y,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAIA,OAAOU,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,oBAAoBN,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,SAASd,GAA6BoL,GAAgC;AAC3E,IAAApL,EAAQ,eAAe,GAAGoL,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,QAAQpL,GAA6B4Y,GAA+B;AACzE,IAAA5Y,EAAQ,eAAe,GAAG4Y,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,SAAS5Y,GAA6B6Y,GAAgC;AAC3E,IAAA7Y,EAAQ,eAAe,GAAG6Y,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkB7Y,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6Bc,GAAiCsK,GAAgCwN,GAA+BC,GAAmD;AAC1M,WAAAF,GAAe,oBAAoB3Y,CAAO,GAC1C2Y,GAAe,UAAU3Y,GAASc,CAAY,GAC9C6X,GAAe,SAAS3Y,GAASoL,CAAW,GAC5CuN,GAAe,QAAQ3Y,GAAS4Y,CAAU,GAC1CD,GAAe,SAAS3Y,GAAS6Y,CAAW,GACrCF,GAAe,kBAAkB3Y,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAI8Y;AAAA,MACT,KAAK,OAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAAS3Y,GAA2B;AAClC,IAAAA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAM2Y,GAAwD;AAAA,EACrE,YACSxX,IAAqC,MACrCiK,IAAoC,MACpCwN,IAAmC,MACnCC,IAAoC,MAC5C;AAJQ,SAAA,SAAA1X,GACA,KAAA,QAAAiK,GACA,KAAA,OAAAwN,GACA,KAAA,QAAAC;AAAA,EACP;AAAA,EAGF,KAAKhZ,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEuL,IAAS,KAAK,UAAU,OAAOvL,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE+Y,IAAQ,KAAK,SAAS,OAAO/Y,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEgZ,IAAS,KAAK,UAAU,OAAOhZ,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAO2Y,GAAe;AAAA,MAAqB3Y;AAAA,MACzCsB;AAAA,MACAiK;AAAA,MACAwN;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACzHO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOtZ,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIoZ,GAAA,GAAe,OAAOrZ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIoZ,GAAA,GAAe,OAAOrZ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiBN,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,SAASb,GAA6BoL,GAAgC;AAC3E,IAAApL,EAAQ,eAAe,GAAGoL,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,UAAUpL,GAA6ByV,GAAiC;AAC7E,IAAAzV,EAAQ,eAAe,GAAGyV,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,eAAezV,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6Ba,GAA6BuK,GAAgCqK,GAAoD;AACrK,WAAAwD,GAAY,iBAAiBjZ,CAAO,GACpCiZ,GAAY,MAAMjZ,GAASa,CAAQ,GACnCoY,GAAY,SAASjZ,GAASoL,CAAW,GACzC6N,GAAY,UAAUjZ,GAASyV,CAAY,GACpCwD,GAAY,eAAejZ,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAIkZ;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,OAAA;AAAA,IAAO;AAAA,EAEhB;AAAA,EAGA,SAAS/Y,GAAwB;AAC/B,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,SAAS,KAAK,OAAA;AAAA,EACnB;AACA;AAEO,MAAM+Y,GAAqD;AAAA,EAClE,YACS7X,IAAiC,MACjCkK,IAAoC,MACpCoK,IAAqC,MAC7C;AAHQ,SAAA,KAAAtU,GACA,KAAA,QAAAkK,GACA,KAAA,SAAAoK;AAAA,EACP;AAAA,EAGF,KAAK3V,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1DuL,IAAS,KAAK,UAAU,OAAOvL,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnE2V,IAAU,KAAK,WAAW,OAAO3V,EAAQ,aAAa,KAAK,MAAO,IAAI;AAE5E,WAAOiZ,GAAY;AAAA,MAAkBjZ;AAAA,MACnCqB;AAAA,MACAkK;AAAA,MACAoK;AAAA,IAAA;AAAA,EAEJ;AACA;ACrGO,MAAMwD,EAA6E;AAAA,EAAnF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOxZ,GAAUC,GAA4C;AAC7D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,0BAA0BA,GAA2BC,GAAwC;AAClG,YAAQA,KAAO,IAAIsZ,EAAA,GAAoB,OAAOvZ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC/F;AAAA,EAEA,OAAO,sCAAsCA,GAA2BC,GAAwC;AAC9G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIsZ,EAAA,GAAoB,OAAOvZ,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC/F;AAAA,EAEA,OAAc;AACZ,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,EAAEO,GAAmD;AACnD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,YAAYA,GAAmD;AAC7D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUA,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,UAAUA,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,SAASA,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,KAAKA,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAAgB;AACd,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,OAAc;AACZ,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,sBAA6B;AAC3B,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,oBAA2B;AACzB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,MAAMM,GAAcC,GAAmD;AACrE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,cAAqB;AACnB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOM,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,aAAaM,GAAeR,GAAyC;AACnE,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAI8Y,GAAA,GAAkB,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS5Y,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC7I;AAAA,EAEA,qBAA4B;AAC1B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAOM,GAAeR,GAAmC;AACvD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIoZ,GAAA,GAAe,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASlZ,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EAC1I;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,UAAUM,GAAeR,GAAiC;AACxD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIiY,EAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS/X,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACzI;AAAA,EAEA,kBAAyB;AACvB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,sBAAsBC,GAA6B;AACxD,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,QAAQA,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,KAAKf,GAA6B+X,GAA4B;AACnE,IAAA/X,EAAQ,eAAe,GAAG+X,GAAS,CAAC;AAAA,EACtC;AAAA,EAEA,OAAO,SAAS/X,GAA6B6G,GAAgC;AAC3E,IAAA7G,EAAQ,eAAe,GAAG6G,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAe7G,GAA6B8G,GAAsC;AACvF,IAAA9G,EAAQ,eAAe,GAAG8G,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,SAAS9G,GAA6B2C,GAAgC;AAC3E,IAAA3C,EAAQ,eAAe,GAAG2C,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,aAAa3C,GAA6BoZ,GAAoC;AACnF,IAAApZ,EAAQ,eAAe,GAAGoZ,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,aAAapZ,GAA6BqZ,GAAoC;AACnF,IAAArZ,EAAQ,eAAe,GAAGqZ,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,WAAWrZ,GAA6BsZ,GAAkC;AAC/E,IAAAtZ,EAAQ,eAAe,GAAGsZ,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,YAAYtZ,GAA6BuZ,GAAmC;AACjF,IAAAvZ,EAAQ,eAAe,GAAGuZ,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,QAAQvZ,GAA6BwZ,GAA+B;AACzE,IAAAxZ,EAAQ,eAAe,GAAGwZ,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,UAAUxZ,GAA6ByZ,GAAiC;AAC7E,IAAAzZ,EAAQ,eAAe,IAAIyZ,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAUzZ,GAA6B0Z,GAAe;AAC3D,IAAA1Z,EAAQ,cAAc,IAAI0Z,GAAQ,OAAO,GAAG,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,QAAQ1Z,GAA6B2Z,GAAa;AACvD,IAAA3Z,EAAQ,cAAc,IAAI2Z,GAAM,OAAO,GAAG,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,uBAAuB3Z,GAA6B4Z,GAA4B;AACrF,IAAA5Z,EAAQ,cAAc,IAAI4Z,GAAqB,OAAO,GAAG,CAAC;AAAA,EAC5D;AAAA,EAEA,OAAO,qBAAqB5Z,GAA6B6Z,GAA0B;AACjF,IAAA7Z,EAAQ,cAAc,IAAI6Z,GAAmB,OAAO,GAAG,CAAC;AAAA,EAC1D;AAAA,EAEA,OAAO,UAAU7Z,GAA6B8Z,GAAiC;AAC7E,IAAA9Z,EAAQ,eAAe,IAAI8Z,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAU9Z,GAA6B2Q,GAAiC;AAC7E,IAAA3Q,EAAQ,eAAe,IAAI2Q,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,mBAAmB3Q,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAST,GAA6B+Z,GAAgC;AAC3E,IAAA/Z,EAAQ,eAAe,IAAI+Z,GAAa,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,kBAAkB/Z,GAA6BQ,GAA8C;AAClG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,IAAIyE,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAA6BmQ,GAAuC;AACzF,IAAAnQ,EAAQ,eAAe,IAAImQ,GAAoB,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO,yBAAyBnQ,GAA6BQ,GAA8C;AACzG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,wBAAwBA,GAA6BS,GAAiB;AAC3E,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6BqY,GAAiC;AAC7E,IAAArY,EAAQ,eAAe,IAAIqY,GAAc,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,mBAAmBrY,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,aAAaT,GAA6BsY,GAAoC;AACnF,IAAAtY,EAAQ,eAAe,IAAIsY,GAAiB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,sBAAsBtY,GAA6BQ,GAA8C;AACtG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,qBAAqBA,GAA6BS,GAAiB;AACxE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,oBAAoBT,GAAgD;AAEzE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,uBAAuBA,GAA6Be,GAAagX,GAA4BlR,GAAgCC,GAAsCnE,GAAgCyW,GAAoCC,GAAoCC,GAAkCC,GAAmCC,GAA+BC,GAAiCC,GAAeC,GAAaC,GAA4BC,GAA0BC,GAAiCnJ,GAAiCoJ,IAAgCtV,IAAiC0L,IAAuCkI,IAAiCC,IAAuD;AACzuB,WAAAa,EAAiB,sBAAsBnZ,CAAO,GAC9CmZ,EAAiB,QAAQnZ,GAASe,CAAI,GACtCoY,EAAiB,KAAKnZ,GAAS+X,CAAO,GACtCoB,EAAiB,SAASnZ,GAAS6G,CAAW,GAC9CsS,EAAiB,eAAenZ,GAAS8G,CAAiB,GAC1DqS,EAAiB,SAASnZ,GAAS2C,CAAW,GAC9CwW,EAAiB,aAAanZ,GAASoZ,CAAe,GACtDD,EAAiB,aAAanZ,GAASqZ,CAAe,GACtDF,EAAiB,WAAWnZ,GAASsZ,CAAa,GAClDH,EAAiB,YAAYnZ,GAASuZ,CAAc,GACpDJ,EAAiB,QAAQnZ,GAASwZ,CAAU,GAC5CL,EAAiB,UAAUnZ,GAASyZ,CAAY,GAChDN,EAAiB,UAAUnZ,GAAS0Z,CAAM,GAC1CP,EAAiB,QAAQnZ,GAAS2Z,CAAI,GACtCR,EAAiB,uBAAuBnZ,GAAS4Z,CAAmB,GACpET,EAAiB,qBAAqBnZ,GAAS6Z,CAAiB,GAChEV,EAAiB,UAAUnZ,GAAS8Z,CAAY,GAChDX,EAAiB,UAAUnZ,GAAS2Q,CAAY,GAChDwI,EAAiB,SAASnZ,GAAS+Z,EAAW,GAC9CZ,EAAiB,UAAUnZ,GAASyE,EAAY,GAChD0U,EAAiB,gBAAgBnZ,GAASmQ,EAAkB,GAC5DgJ,EAAiB,UAAUnZ,GAASqY,EAAY,GAChDc,EAAiB,aAAanZ,GAASsY,EAAe,GAC/Ca,EAAiB,oBAAoBnZ,CAAO;AAAA,EACrD;AAAA,EAEA,SAA4B;AAC1B,WAAO,IAAIga;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,EAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,YAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,oBAAA;AAAA,MACL,KAAK,kBAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,aAAa;AAAA,MAC3E,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,GAAI,cAA+C,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,oBAAoB;AAAA,MAC/G,KAAK,GAAI,cAAyC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7F,KAAK,GAAI,cAAuC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB;AAAA,IAAA;AAAA,EAErG;AAAA,EAGA,SAAS7Z,GAA6B;AACpC,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,IAAI,KAAK,EAAA,GACZA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,sBAAsB,KAAK,oBAAA,GAC9BA,EAAG,oBAAoB,KAAK,kBAAA,GAC5BA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa,GACtFA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,eAAe,KAAK,GAAI,cAA+C,KAAK,aAAa,KAAK,IAAI,GAAG,KAAK,mBAAA,CAAoB,GACjIA,EAAG,SAAS,KAAK,GAAI,cAAyC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzGA,EAAG,YAAY,KAAK,GAAI,cAAuC,KAAK,UAAU,KAAK,IAAI,GAAG,KAAK,gBAAA,CAAiB;AAAA,EAClH;AACA;AAEO,MAAM6Z,GAA0D;AAAA,EACvE,YACSjZ,IAAe,GACfkX,IAAgC,MAChCjR,IAAoC,MACpCC,IAA0C,MAC1ClD,IAAoC,MACpCkW,IAAwC,MACxCC,IAAwC,MACxCC,IAAsC,MACtCC,IAAuC,MACvCC,IAAmC,MACnCC,IAAqC,MACrCZ,IAAiB,OAAO,GAAG,GAC3BC,IAAe,OAAO,GAAG,GACzBC,IAA8B,OAAO,GAAG,GACxCC,IAA4B,OAAO,GAAG,GACtCU,IAAqC,MACrCtJ,IAAqB,CAAA,GACrBuJ,IAAoB,CAAA,GACpB7V,KAAqB,CAAA,GACrB2L,KAAoC,CAAA,GACpCmI,KAA2B,IAC3BC,KAA6B,CAAA,GACrC;AAtBQ,SAAA,OAAA3X,GACA,KAAA,IAAAkX,GACA,KAAA,QAAAjR,GACA,KAAA,cAAAC,GACA,KAAA,QAAAlD,GACA,KAAA,YAAAkW,GACA,KAAA,YAAAC,GACA,KAAA,UAAAC,GACA,KAAA,WAAAC,GACA,KAAA,OAAAC,GACA,KAAA,SAAAC,GACA,KAAA,SAAAZ,GACA,KAAA,OAAAC,GACA,KAAA,sBAAAC,GACA,KAAA,oBAAAC,GACA,KAAA,SAAAU,GACA,KAAA,SAAAtJ,GACA,KAAA,QAAAuJ,GACA,KAAA,SAAA7V,IACA,KAAA,eAAA2L,IACA,KAAA,SAAAmI,IACA,KAAA,YAAAC;AAAA,EACP;AAAA,EAGF,KAAK1Y,GAAiD;AACpD,UAAMiY,IAAK,KAAK,MAAM,OAAOjY,EAAQ,aAAa,KAAK,CAAE,IAAI,GACvDgH,IAAS,KAAK,UAAU,OAAOhH,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEiH,IAAe,KAAK,gBAAgB,OAAOjH,EAAQ,aAAa,KAAK,WAAY,IAAI,GACrF+D,IAAS,KAAK,UAAU,OAAO/D,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEia,IAAa,KAAK,cAAc,OAAOja,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/Eka,IAAa,KAAK,cAAc,OAAOla,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/Ema,IAAW,KAAK,YAAY,OAAOna,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEoa,IAAY,KAAK,aAAa,OAAOpa,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5Eqa,IAAQ,KAAK,SAAS,OAAOra,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEsa,IAAU,KAAK,WAAW,OAAOta,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEua,IAAU,KAAK,WAAW,OAAOva,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEiR,IAASkI,EAAiB,mBAAmBnZ,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GACjGwa,IAAQrB,EAAiB,kBAAkBnZ,GAASA,EAAQ,uBAAuB,KAAK,KAAK,CAAC,GAC9F2E,IAASwU,EAAiB,mBAAmBnZ,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GACjGsQ,IAAe6I,EAAiB,yBAAyBnZ,GAASA,EAAQ,uBAAuB,KAAK,YAAY,CAAC,GACnHyY,IAASU,EAAiB,mBAAmBnZ,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GACjG0Y,IAAYS,EAAiB,sBAAsBnZ,GAASA,EAAQ,uBAAuB,KAAK,SAAS,CAAC;AAEhH,WAAOmZ,EAAiB;AAAA,MAAuBnZ;AAAA,MAC7C,KAAK;AAAA,MACLiY;AAAA,MACAjR;AAAA,MACAC;AAAA,MACAlD;AAAA,MACAkW;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACLC;AAAA,MACAtJ;AAAA,MACAuJ;AAAA,MACA7V;AAAA,MACA2L;AAAA,MACAmI;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;AC1eO,IAAK+B,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,kBAAkB,EAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,EAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,EAAA,IAAlB,mBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,EAAA,IAAjB,kBACAA,EAAAA,EAAA,kBAAkB,EAAA,IAAlB,mBACAA,EAAAA,EAAA,aAAa,EAAA,IAAb,cACAA,EAAAA,EAAA,mBAAmB,EAAA,IAAnB,oBAvBUA,IAAAA,MAAA,CAAA,CAAA;AA0BL,SAASC,GACdtS,GACAC,GAC0T;AAC1T,UAAOoS,GAAWrS,CAAI,GAAA;AAAA,IACpB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAe,aAAOC,EAAS,IAAI3G,GAAa;AAAA,IACrD,KAAK;AAAe,aAAO2G,EAAS,IAAIqF,GAAa;AAAA,IACrD,KAAK;AAAe,aAAOrF,EAAS,IAAIkJ,IAAa;AAAA,IACrD,KAAK;AAAe,aAAOlJ,EAAS,IAAIsJ,IAAa;AAAA,IACrD,KAAK;AAAe,aAAOtJ,EAAS,IAAI8J,IAAa;AAAA,IACrD,KAAK;AAAe,aAAO9J,EAAS,IAAIiO,IAAa;AAAA,IACrD,KAAK;AAAgB,aAAOjO,EAAS,IAAI6E,GAAc;AAAA,IACvD,KAAK;AAAgB,aAAO7E,EAAS,IAAI2G,GAAc;AAAA,IACvD,KAAK;AAAgB,aAAO3G,EAAS,IAAI2H,GAAc;AAAA,IACvD,KAAK;AAAkB,aAAO3H,EAAS,IAAIe,GAAgB;AAAA,IAC3D,KAAK;AAAkB,aAAOf,EAAS,IAAIyD,GAAgB;AAAA,IAC3D,KAAK;AAAmB,aAAOzD,EAAS,IAAI7D,IAAiB;AAAA,IAC7D,KAAK;AAAmB,aAAO6D,EAAS,IAAIrD,IAAiB;AAAA,IAC7D,KAAK;AAAmB,aAAOqD,EAAS,IAAI+D,GAAiB;AAAA,IAC7D,KAAK;AAAkB,aAAO/D,EAAS,IAAImK,IAAgB;AAAA,IAC3D,KAAK;AAAkB,aAAOnK,EAAS,IAAI6M,GAAgB;AAAA,IAC3D,KAAK;AAAkB,aAAO7M,EAAS,IAAIuN,GAAgB;AAAA,IAC3D,KAAK;AAAkB,aAAOvN,EAAS,IAAImO,GAAgB;AAAA,IAC3D,KAAK;AAAkB,aAAOnO,EAAS,IAAI+O,GAAgB;AAAA,IAC3D,KAAK;AAAmB,aAAO/O,EAAS,IAAIkI,GAAiB;AAAA,IAC7D,KAAK;AAAc,aAAOlI,EAAS,IAAI6P,GAAY;AAAA,IACnD,KAAK;AAAoB,aAAO7P,EAAS,IAAI8Q,GAAkB;AAAA,IAC/D;AAAS,aAAO;AAAA,EAAA;AAEpB;AC3EO,MAAMwB,EAA2D;AAAA,EAAjE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhb,GAAUC,GAAmC;AACpD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBA,GAA2BC,GAAsB;AACvE,YAAQA,KAAO,IAAI8a,EAAA,GAAW,OAAO/a,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACtF;AAAA,EAEA,OAAO,6BAA6BA,GAA2BC,GAAsB;AACnF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8a,EAAA,GAAW,OAAO/a,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACtF;AAAA,EAIA,IAAIS,GAAcC,GAAmD;AACnE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,YAAmB;AACjB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,QAAQM,GAAcC,GAAmD;AACvE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,gBAAuB;AACrB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,MAAMM,GAA2B;AAC/B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,CAAC,IAAI;AAAA,EAC7F;AAAA,EAEA,cAAqB;AACnB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,aAA8B;AAC5B,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,IAAI,YAAY,KAAK,GAAI,QAAQ,QAAQ,KAAK,GAAI,MAAA,EAAQ,aAAa,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,GAAG,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,CAAC,IAAI;AAAA,EACjL;AAAA,EAEA,KAAKM,GAAeR,GAA+B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIO,EAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASL,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,aAAoB;AAClB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,QAAe;AACb,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAEA,QAAe;AACb,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAEA,QAAe;AACb,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOD,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,cAAsB;AACpB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,aAAqB;AACnB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,UAAkB;AAChB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,YAAmB;AACjB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,aAAaC,GAA6B;AAC/C,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,OAAOA,GAA6B4a,GAA8B;AACvE,IAAA5a,EAAQ,eAAe,GAAG4a,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,gBAAgB5a,GAA6BQ,GAA8C;AAChG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,eAAeA,GAA6BS,GAAiB;AAClE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,WAAWT,GAA6B6a,GAAkC;AAC/E,IAAA7a,EAAQ,eAAe,GAAG6a,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,oBAAoB7a,GAA6BQ,GAA8C;AACpG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,mBAAmBA,GAA6BS,GAAiB;AACtE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAST,GAA6B8a,GAAgC;AAC3E,IAAA9a,EAAQ,eAAe,GAAG8a,GAAa,CAAC;AAAA,EAC1C;AAAA,EAOA,OAAO,kBAAkB9a,GAA6BQ,GAAyD;AAC7G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,SAASQ,EAAKb,CAAC,CAAE;AAE3B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,QAAQT,GAA6BiB,GAA+B;AACzE,IAAAjB,EAAQ,eAAe,GAAGiB,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,iBAAiBjB,GAA6BQ,GAA8C;AACjG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BS,GAAiB;AACnE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAST,GAA6B+a,GAAc;AACzD,IAAA/a,EAAQ,cAAc,GAAG+a,GAAO,CAAC;AAAA,EACnC;AAAA,EAEA,OAAO,SAAS/a,GAA6Bgb,GAAc;AACzD,IAAAhb,EAAQ,cAAc,GAAGgb,GAAO,CAAC;AAAA,EACnC;AAAA,EAEA,OAAO,SAAShb,GAA6Bib,GAAc;AACzD,IAAAjb,EAAQ,cAAc,GAAGib,GAAO,CAAC;AAAA,EACnC;AAAA,EAEA,OAAO,UAAUjb,GAA6Bkb,GAAiC;AAC7E,IAAAlb,EAAQ,eAAe,GAAGkb,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAUlb,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAA6Bmb,GAAqB;AACtE,IAAAnb,EAAQ,aAAa,GAAG,CAACmb,GAAa,CAAM;AAAA,EAC9C;AAAA,EAEA,OAAO,cAAcnb,GAA6Bob,GAAoB;AACpE,IAAApb,EAAQ,aAAa,IAAI,CAACob,GAAY,CAAM;AAAA,EAC9C;AAAA,EAEA,OAAO,WAAWpb,GAA6Bqb,GAAiB;AAC9D,IAAArb,EAAQ,aAAa,IAAI,CAACqb,GAAS,CAAM;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAarb,GAA6Bsb,GAAkB;AACjE,IAAAtb,EAAQ,cAAc,IAAIsb,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,WAAWtb,GAAgD;AAEhE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,cAAcA,GAA6B4a,GAA8BC,GAAkCC,GAAgC7Z,GAA+B8Z,GAAcC,GAAcC,GAAcC,GAAiCzW,GAAiC0W,GAAqBC,GAAoBC,GAAiBC,GAAqC;AAC1X,WAAAX,EAAQ,aAAa3a,CAAO,GAC5B2a,EAAQ,OAAO3a,GAAS4a,CAAS,GACjCD,EAAQ,WAAW3a,GAAS6a,CAAa,GACzCF,EAAQ,SAAS3a,GAAS8a,CAAW,GACrCH,EAAQ,QAAQ3a,GAASiB,CAAU,GACnC0Z,EAAQ,SAAS3a,GAAS+a,CAAK,GAC/BJ,EAAQ,SAAS3a,GAASgb,CAAK,GAC/BL,EAAQ,SAAS3a,GAASib,CAAK,GAC/BN,EAAQ,UAAU3a,GAASkb,CAAY,GACvCP,EAAQ,UAAU3a,GAASyE,CAAY,GACvCkW,EAAQ,eAAe3a,GAASmb,CAAW,GAC3CR,EAAQ,cAAc3a,GAASob,CAAU,GACzCT,EAAQ,WAAW3a,GAASqb,CAAO,GACnCV,EAAQ,aAAa3a,GAASsb,CAAS,GAChCX,EAAQ,WAAW3a,CAAO;AAAA,EACnC;AAAA,EAEA,SAAmB;AACjB,WAAO,IAAIub;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,IAAI,KAAK,IAAI,GAAG,KAAK,WAAW;AAAA,MACvE,KAAK,GAAI,iBAAyB,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,eAAe;AAAA,MAC/E,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,aAAa;AAAA,MAC3E,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,YAAY;AAAA,MACrF,KAAK,MAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,YAAA;AAAA,MACL,KAAK,WAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAASpb,GAAoB;AAC3B,IAAAA,EAAG,MAAM,KAAK,GAAI,iBAAyB,KAAK,IAAI,KAAK,IAAI,GAAG,KAAK,UAAA,CAAW,GAChFA,EAAG,UAAU,KAAK,GAAI,iBAAyB,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,cAAA,CAAe,GAC5FA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa,GACtFA,EAAG,OAAO,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY,GAC/FA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAMob,GAAiD;AAAA,EAC9D,YACSC,IAAkB,CAAA,GAClBC,IAAsB,CAAA,GACtBC,IAAoB,IACpBla,IAAuB,CAAA,GACvBuZ,IAAgB,GAChBC,IAAgB,GAChBC,IAAgB,GAChBU,IAAqC,MACrChX,IAAqB,CAAA,GACrBwW,IAAuB,IACvBC,IAAsB,IACtBC,IAAmB,IACnBC,IAAoB,GAC5B;AAbQ,SAAA,MAAAE,GACA,KAAA,UAAAC,GACA,KAAA,QAAAC,GACA,KAAA,OAAAla,GACA,KAAA,QAAAuZ,GACA,KAAA,QAAAC,GACA,KAAA,QAAAC,GACA,KAAA,SAAAU,GACA,KAAA,SAAAhX,GACA,KAAA,cAAAwW,GACA,KAAA,aAAAC,GACA,KAAA,UAAAC,GACA,KAAA,YAAAC;AAAA,EACP;AAAA,EAGF,KAAKtb,GAAiD;AACpD,UAAMwb,IAAMb,EAAQ,gBAAgB3a,GAASA,EAAQ,uBAAuB,KAAK,GAAG,CAAC,GAC/Eyb,IAAUd,EAAQ,oBAAoB3a,GAASA,EAAQ,uBAAuB,KAAK,OAAO,CAAC,GAC3F0b,IAAQf,EAAQ,kBAAkB3a,GAAS,KAAK,KAAK,GACrDwB,IAAOmZ,EAAQ,iBAAiB3a,GAASA,EAAQ,uBAAuB,KAAK,IAAI,CAAC,GAClF2b,IAAU,KAAK,WAAW,OAAO3b,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE2E,IAASgW,EAAQ,mBAAmB3a,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAE9F,WAAO2a,EAAQ;AAAA,MAAc3a;AAAA,MAC3Bwb;AAAA,MACAC;AAAA,MACAC;AAAA,MACAla;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACLma;AAAA,MACAhX;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAET;AACA;AC/TO,MAAMyN,EAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOzS,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIuS,EAAA,GAAe,OAAOxS,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuS,EAAA,GAAe,OAAOxS,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,GAAGU,GAAmD;AACpD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAc;AACZ,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,YAAmB;AACjB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,aAAwB;AACtB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI0a,GAAW;AAAA,EACxE;AAAA,EAEA,OAAoC5a,GAAkB;AACpD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,SAASM,GAAeR,GAA2B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAI8a,EAAA,GAAW,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS5a,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACtI;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,OAAOM,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,KAAKM,GAAeR,GAA+B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIO,EAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASL,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,aAAoB;AAClB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,MAAMA,GAA6Ba,GAA6B;AACrE,IAAAb,EAAQ,eAAe,GAAGa,GAAU,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,UAAUb,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,QAAQd,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,aAAaf,GAA6BkB,GAAkB;AACjE,IAAAlB,EAAQ,cAAc,GAAGkB,GAAW,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,cAAclB,GAA6B4b,GAAuB;AACvE,IAAA5b,EAAQ,aAAa,GAAG4b,GAAYnB,GAAW,IAAI;AAAA,EACrD;AAAA,EAEA,OAAO,UAAUza,GAA6B6b,GAAiC;AAC7E,IAAA7b,EAAQ,eAAe,GAAG6b,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,YAAY7b,GAA6B8b,GAAmC;AACjF,IAAA9b,EAAQ,eAAe,GAAG8b,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqB9b,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,QAAQT,GAA6BiB,GAA+B;AACzE,IAAAjB,EAAQ,eAAe,GAAGiB,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,iBAAiBjB,GAA6BQ,GAA8C;AACjG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BS,GAAiB;AACnE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6Ba,GAA6BC,GAAiCC,GAAaG,GAAkB0a,GAAuBC,GAAiCC,GAAmCrX,GAAiCxD,GAAkD;AAC/T,WAAAmR,EAAY,iBAAiBpS,CAAO,GACpCoS,EAAY,MAAMpS,GAASa,CAAQ,GACnCuR,EAAY,UAAUpS,GAASc,CAAY,GAC3CsR,EAAY,QAAQpS,GAASe,CAAI,GACjCqR,EAAY,aAAapS,GAASkB,CAAS,GAC3CkR,EAAY,cAAcpS,GAAS4b,CAAU,GAC7CxJ,EAAY,UAAUpS,GAAS6b,CAAY,GAC3CzJ,EAAY,YAAYpS,GAAS8b,CAAc,GAC/C1J,EAAY,UAAUpS,GAASyE,CAAY,GAC3C2N,EAAY,QAAQpS,GAASiB,CAAU,GAChCmR,EAAY,eAAepS,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI+b;AAAA,MACT,KAAK,GAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,WAAA;AAAA,OACJ,MAAM;AACL,cAAMnT,IAAO8R,GAAkB,KAAK,WAAA,GAAc,KAAK,OAAO,KAAK,IAAI,CAAC;AACxE,eAAG9R,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,MACE,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACzF,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,cAAc;AAAA,MAC7E,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY;AAAA,IAAA;AAAA,EAEzF;AAAA,EAGA,SAASzI,GAAwB;AAC/B,IAAAA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,UAAU,MAAM;AACf,YAAMyI,IAAO8R,GAAkB,KAAK,WAAA,GAAc,KAAK,OAAO,KAAK,IAAI,CAAC;AACxE,aAAG9R,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA,GACAzI,EAAG,WAAW,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GACvGA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc,GACzFA,EAAG,OAAO,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY;AAAA,EACjG;AACA;AAEO,MAAM4b,GAAqD;AAAA,EAClE,YACS1a,IAAiC,MACjCC,IAAqC,MACrCP,IAAe,GACfG,IAAoB,GACpB0a,IAAyBnB,GAAW,MACpCuB,IAAyV,MACzVC,IAAyB,CAAA,GACzBtX,IAAqB,CAAA,GACrBnD,IAAuB,IAC/B;AATQ,SAAA,KAAAH,GACA,KAAA,SAAAC,GACA,KAAA,OAAAP,GACA,KAAA,YAAAG,GACA,KAAA,aAAA0a,GACA,KAAA,SAAAI,GACA,KAAA,WAAAC,GACA,KAAA,SAAAtX,GACA,KAAA,OAAAnD;AAAA,EACP;AAAA,EAGF,KAAKxB,GAAiD;AACpD,UAAMqB,IAAM,KAAK,OAAO,OAAOrB,EAAQ,aAAa,KAAK,EAAG,IAAI,GAC1DsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEgc,IAAShc,EAAQ,mBAAmB,KAAK,MAAM,GAC/Cic,IAAW7J,EAAY,qBAAqBpS,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GAClG2E,IAASyN,EAAY,mBAAmBpS,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC,GAC5FwB,IAAO4Q,EAAY,iBAAiBpS,GAASA,EAAQ,uBAAuB,KAAK,IAAI,CAAC;AAE5F,WAAOoS,EAAY;AAAA,MAAkBpS;AAAA,MACnCqB;AAAA,MACAC;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL0a;AAAA,MACAC;AAAA,MACAtX;AAAA,MACAnD;AAAA,IAAA;AAAA,EAEJ;AACA;AClRO,MAAM0a,EAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvc,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAIqc,EAAA,GAAgB,OAAOtc,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqc,EAAA,GAAgB,OAAOtc,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAASD,GAAeR,GAA2B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI8a,EAAA,GAAW,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS5a,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACtI;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,MAAMF,GAAiC;AACrC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIe,EAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,SAASb,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC1G;AAAA,EAEA,YAAYF,GAAmC;AAC7C,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIuS,EAAA,GAAe,OAAO,KAAK,GAAI,WAAW,KAAK,SAASrS,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC3G;AAAA,EAIA,OAAOM,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,kBAAkBC,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6Bmc,GAAgC;AAC3E,IAAAnc,EAAQ,eAAe,GAAGmc,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,YAAYnc,GAA6B8b,GAAmC;AACjF,IAAA9b,EAAQ,eAAe,GAAG8b,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqB9b,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAST,GAA6BsX,GAAgC;AAC3E,IAAAtX,EAAQ,eAAe,GAAGsX,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAetX,GAA6Boc,GAAsC;AACvF,IAAApc,EAAQ,eAAe,GAAGoc,GAAmB,CAAC;AAAA,EAChD;AAAA,EAEA,OAAO,UAAUpc,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,gBAAgBT,GAAgD;AACrE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAAwB;AACtB,WAAO,IAAIsc;AAAA,MACT,KAAK,MAAA;AAAA,MACL,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACxF,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,MACjD,KAAK,kBAAkB,OAAO,KAAK,YAAA,EAAe,WAAW;AAAA,MAC9D,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAEjF;AAAA,EAGA,SAASlc,GAAyB;AAChC,IAAAA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,WAAW,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GACvGA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW,MAC7DA,EAAG,cAAe,KAAK,YAAA,MAAkB,OAAO,KAAK,YAAA,EAAe,OAAA,IAAW,MAC/EA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EAC3F;AACA;AAEO,MAAMkc,GAAsD;AAAA,EACnE,YACSC,IAAoC,MACpCL,IAAyB,CAAA,GACzBrE,IAA0B,MAC1B2E,IAAiC,MACjC5X,IAAqB,CAAA,GAC7B;AALQ,SAAA,QAAA2X,GACA,KAAA,WAAAL,GACA,KAAA,QAAArE,GACA,KAAA,cAAA2E,GACA,KAAA,SAAA5X;AAAA,EACP;AAAA,EAGF,KAAK3E,GAAiD;AACpD,UAAMsc,IAAS,KAAK,UAAU,OAAOtc,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEic,IAAWC,EAAa,qBAAqBlc,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GACnG4X,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAK5X,CAAO,IAAI,GAC3Duc,IAAe,KAAK,gBAAgB,OAAO,KAAK,YAAa,KAAKvc,CAAO,IAAI,GAC7E2E,IAASuX,EAAa,mBAAmBlc,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAEnG,WAAAkc,EAAa,kBAAkBlc,CAAO,GACtCkc,EAAa,SAASlc,GAASsc,CAAK,GACpCJ,EAAa,YAAYlc,GAASic,CAAQ,GAC1CC,EAAa,SAASlc,GAAS4X,CAAK,GACpCsE,EAAa,eAAelc,GAASuc,CAAW,GAChDL,EAAa,UAAUlc,GAAS2E,CAAM,GAE/BuX,EAAa,gBAAgBlc,CAAO;AAAA,EAC7C;AACA;ACjKO,MAAMwc,GAA6E;AAAA,EAAnF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7c,GAAUC,GAA4C;AAC7D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,0BAA0BA,GAA2BC,GAAwC;AAClG,YAAQA,KAAO,IAAI2c,GAAA,GAAoB,OAAO5c,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC/F;AAAA,EAEA,OAAO,sCAAsCA,GAA2BC,GAAwC;AAC9G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2c,GAAA,GAAoB,OAAO5c,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC/F;AAAA,EAIA,SAASU,GAAmD;AAC1D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,QAAQA,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,sBAAsBN,GAA6B;AACxD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,YAAYA,GAA6Byc,GAAmC;AACjF,IAAAzc,EAAQ,eAAe,GAAGyc,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,UAAUzc,GAA6ByZ,GAAiC;AAC7E,IAAAzZ,EAAQ,eAAe,GAAGyZ,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,WAAWzZ,GAA6B0c,GAAkC;AAC/E,IAAA1c,EAAQ,eAAe,GAAG0c,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,oBAAoB1c,GAAgD;AACzE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,uBAAuBC,GAA6Byc,GAAmChD,GAAiCiD,GAAqD;AAClL,WAAAF,GAAiB,sBAAsBxc,CAAO,GAC9Cwc,GAAiB,YAAYxc,GAASyc,CAAc,GACpDD,GAAiB,UAAUxc,GAASyZ,CAAY,GAChD+C,GAAiB,WAAWxc,GAAS0c,CAAa,GAC3CF,GAAiB,oBAAoBxc,CAAO;AAAA,EACrD;AAAA,EAEA,SAA4B;AAC1B,WAAO,IAAI2c;AAAA,MACT,KAAK,SAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,QAAA;AAAA,IAAQ;AAAA,EAEjB;AAAA,EAGA,SAASxc,GAA6B;AACpC,IAAAA,EAAG,WAAW,KAAK,SAAA,GACnBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,UAAU,KAAK,QAAA;AAAA,EACpB;AACA;AAEO,MAAMwc,GAA0D;AAAA,EACvE,YACSC,IAAuC,MACvCtC,IAAqC,MACrCuC,IAAsC,MAC9C;AAHQ,SAAA,WAAAD,GACA,KAAA,SAAAtC,GACA,KAAA,UAAAuC;AAAA,EACP;AAAA,EAGF,KAAK7c,GAAiD;AACpD,UAAM4c,IAAY,KAAK,aAAa,OAAO5c,EAAQ,aAAa,KAAK,QAAS,IAAI,GAC5Esa,IAAU,KAAK,WAAW,OAAOta,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtE6c,IAAW,KAAK,YAAY,OAAO7c,EAAQ,aAAa,KAAK,OAAQ,IAAI;AAE/E,WAAOwc,GAAiB;AAAA,MAAuBxc;AAAA,MAC7C4c;AAAA,MACAtC;AAAA,MACAuC;AAAA,IAAA;AAAA,EAEJ;AACA;ACzGO,MAAMC,GAAuE;AAAA,EAA7E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOnd,GAAUC,GAAyC;AAC1D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,uBAAuBA,GAA2BC,GAAkC;AACzF,YAAQA,KAAO,IAAIid,GAAA,GAAiB,OAAOld,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,mCAAmCA,GAA2BC,GAAkC;AACrG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIid,GAAA,GAAiB,OAAOld,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,QAAe;AACb,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAc;AACZ,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,MAAc;AACZ,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,mBAAmBC,GAA6B;AACrD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B+c,GAAc;AACzD,IAAA/c,EAAQ,cAAc,GAAG+c,GAAO,CAAC;AAAA,EACnC;AAAA,EAEA,OAAO,QAAQ/c,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,OAAOf,GAA6Bgd,GAAa;AACtD,IAAAhd,EAAQ,aAAa,GAAG,CAACgd,GAAK,CAAM;AAAA,EACtC;AAAA,EAEA,OAAO,iBAAiBhd,GAAgD;AAEtE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,oBAAoBA,GAA6B+c,GAAchc,GAAaic,GAAgC;AACjH,WAAAF,GAAc,mBAAmB9c,CAAO,GACxC8c,GAAc,SAAS9c,GAAS+c,CAAK,GACrCD,GAAc,QAAQ9c,GAASe,CAAI,GACnC+b,GAAc,OAAO9c,GAASgd,CAAG,GAC1BF,GAAc,iBAAiB9c,CAAO;AAAA,EAC/C;AAAA,EAEA,SAAyB;AACvB,WAAO,IAAIid;AAAA,MACT,KAAK,MAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,IAAA;AAAA,IAAI;AAAA,EAEb;AAAA,EAGA,SAAS9c,GAA0B;AACjC,IAAAA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,MAAM,KAAK,IAAA;AAAA,EAChB;AACA;AAEO,MAAM8c,GAAuD;AAAA,EACpE,YACSF,IAAgB,GAChBhc,IAAe,GACfic,IAAe,IACvB;AAHQ,SAAA,QAAAD,GACA,KAAA,OAAAhc,GACA,KAAA,MAAAic;AAAA,EACP;AAAA,EAGF,KAAKhd,GAAiD;AACpD,WAAO8c,GAAc;AAAA,MAAoB9c;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAET;AACA;AC7FO,MAAMkd,GAAqD;AAAA,EAA3D,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvd,GAAUC,GAAgC;AACjD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,cAAcA,GAA2BC,GAAgB;AAC9D,YAAQA,KAAO,IAAIqd,GAAA,GAAQ,OAAOtd,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnF;AAAA,EAEA,OAAO,0BAA0BA,GAA2BC,GAAgB;AAC1E,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqd,GAAA,GAAQ,OAAOtd,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnF;AAAA,EAIA,eAAeU,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,UAAUN,GAA6B;AAC5C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,kBAAkBA,GAA6Bmd,GAAyC;AAC7F,IAAAnd,EAAQ,eAAe,GAAGmd,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,QAAQnd,GAAgD;AAC7D,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,WAAWC,GAA6Bmd,GAA4D;AACzG,WAAAD,GAAK,UAAUld,CAAO,GACtBkd,GAAK,kBAAkBld,GAASmd,CAAoB,GAC7CD,GAAK,QAAQld,CAAO;AAAA,EAC7B;AAAA,EAEA,SAAgB;AACd,WAAO,IAAIod;AAAA,MACT,KAAK,eAAA;AAAA,IAAe;AAAA,EAExB;AAAA,EAGA,SAASjd,GAAiB;AACxB,IAAAA,EAAG,iBAAiB,KAAK,eAAA;AAAA,EAC3B;AACA;AAEO,MAAMid,GAA8C;AAAA,EAC3D,YACSC,IAA6C,MACrD;AADQ,SAAA,iBAAAA;AAAA,EACP;AAAA,EAGF,KAAKrd,GAAiD;AACpD,UAAMqd,IAAkB,KAAK,mBAAmB,OAAOrd,EAAQ,aAAa,KAAK,cAAe,IAAI;AAEpG,WAAOkd,GAAK;AAAA,MAAWld;AAAA,MACrBqd;AAAA,IAAA;AAAA,EAEJ;AACA;ACtEO,MAAMC,GAAyD;AAAA,EAA/D,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3d,GAAUC,GAAkC;AACnD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBA,GAA2BC,GAAoB;AACpE,YAAQA,KAAO,IAAIyd,GAAA,GAAU,OAAO1d,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACrF;AAAA,EAEA,OAAO,4BAA4BA,GAA2BC,GAAoB;AAChF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIyd,GAAA,GAAU,OAAO1d,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACrF;AAAA,EAIA,OAAOU,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,YAAYN,GAA6B;AAC9C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAUd,GAAgD;AAC/D,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,aAAaC,GAA6Bc,GAAoD;AACnG,WAAAwc,GAAO,YAAYtd,CAAO,GAC1Bsd,GAAO,UAAUtd,GAASc,CAAY,GAC/Bwc,GAAO,UAAUtd,CAAO;AAAA,EACjC;AAAA,EAEA,SAAkB;AAChB,WAAO,IAAIud;AAAA,MACT,KAAK,OAAA;AAAA,IAAO;AAAA,EAEhB;AAAA,EAGA,SAASpd,GAAmB;AAC1B,IAAAA,EAAG,SAAS,KAAK,OAAA;AAAA,EACnB;AACA;AAEO,MAAMod,GAAgD;AAAA,EAC7D,YACSjc,IAAqC,MAC7C;AADQ,SAAA,SAAAA;AAAA,EACP;AAAA,EAGF,KAAKtB,GAAiD;AACpD,UAAMsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI;AAE5E,WAAOsd,GAAO;AAAA,MAAatd;AAAA,MACzBsB;AAAA,IAAA;AAAA,EAEJ;AACA;ACtEO,MAAMkc,GAAmD;AAAA,EAAzD,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7d,GAAUC,GAA+B;AAChD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,aAAaA,GAA2BC,GAAc;AAC3D,YAAQA,KAAO,IAAI2d,GAAA,GAAO,OAAO5d,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAClF;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAc;AACvE,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2d,GAAA,GAAO,OAAO5d,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAClF;AAAA,EAIA,IAAIU,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,SAASN,GAA6B;AAC3C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,OAAOA,GAA6Byd,GAA8B;AACvE,IAAAzd,EAAQ,eAAe,GAAGyd,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,OAAOzd,GAAgD;AAC5D,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,UAAUC,GAA6Byd,GAAiD;AAC7F,WAAAD,GAAI,SAASxd,CAAO,GACpBwd,GAAI,OAAOxd,GAASyd,CAAS,GACtBD,GAAI,OAAOxd,CAAO;AAAA,EAC3B;AAAA,EAEA,SAAe;AACb,WAAO,IAAI0d;AAAA,MACT,KAAK,IAAA;AAAA,IAAI;AAAA,EAEb;AAAA,EAGA,SAASvd,GAAgB;AACvB,IAAAA,EAAG,MAAM,KAAK,IAAA;AAAA,EAChB;AACA;AAEO,MAAMud,GAA6C;AAAA,EAC1D,YACSC,IAAkC,MAC1C;AADQ,SAAA,MAAAA;AAAA,EACP;AAAA,EAGF,KAAK3d,GAAiD;AACpD,UAAM2d,IAAO,KAAK,QAAQ,OAAO3d,EAAQ,aAAa,KAAK,GAAI,IAAI;AAEnE,WAAOwd,GAAI;AAAA,MAAUxd;AAAA,MACnB2d;AAAA,IAAA;AAAA,EAEJ;AACA;ACrEO,MAAMC,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOje,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI+d,GAAA,GAAe,OAAOhe,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+d,GAAA,GAAe,OAAOhe,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,MAAMC,GAAiC;AACrC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIe,EAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,SAASb,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC1G;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6BsX,GAAgC;AAC3E,IAAAtX,EAAQ,eAAe,GAAGsX,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,eAAetX,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6BsX,GAAmD;AACvG,WAAAsG,GAAY,iBAAiB5d,CAAO,GACpC4d,GAAY,SAAS5d,GAASsX,CAAW,GAClCsG,GAAY,eAAe5d,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI6d;AAAA,MACR,KAAK,YAAY,OAAO,KAAK,MAAA,EAAS,WAAW;AAAA,IAAA;AAAA,EAEtD;AAAA,EAGA,SAAS1d,GAAwB;AAC/B,IAAAA,EAAG,QAAS,KAAK,MAAA,MAAY,OAAO,KAAK,MAAA,EAAS,OAAA,IAAW;AAAA,EAC/D;AACA;AAEO,MAAM0d,GAAqD;AAAA,EAClE,YACSjG,IAA0B,MAClC;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAK5X,GAAiD;AACpD,UAAM4X,IAAS,KAAK,UAAU,OAAO,KAAK,MAAO,KAAK5X,CAAO,IAAI;AAEjE,WAAO4d,GAAY;AAAA,MAAkB5d;AAAA,MACnC4X;AAAA,IAAA;AAAA,EAEJ;AACA;ACpEO,MAAMkG,GAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOne,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAIie,GAAA,GAAc,OAAOle,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIie,GAAA,GAAc,OAAOle,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAIA,KAAKU,GAAmD;AACtD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAOD,GAAeR,GAAuB;AAC3C,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIwU,EAAA,GAAS,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAStU,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACpI;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,gBAAgBC,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6B+d,GAA+B;AACzE,IAAA/d,EAAQ,eAAe,GAAG+d,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,UAAU/d,GAA6BmV,GAAiC;AAC7E,IAAAnV,EAAQ,eAAe,GAAGmV,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBnV,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,cAAcT,GAAgD;AACnE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBC,GAA6B+d,GAA+B5I,GAAoD;AACtI,WAAA2I,GAAW,gBAAgB9d,CAAO,GAClC8d,GAAW,QAAQ9d,GAAS+d,CAAU,GACtCD,GAAW,UAAU9d,GAASmV,CAAY,GACnC2I,GAAW,cAAc9d,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIge;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,GAAI,cAA6B,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAErF;AAAA,EAGA,SAAS7d,GAAuB;AAC9B,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,SAAS,KAAK,GAAI,cAA6B,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EAC/F;AACA;AAEO,MAAM6d,GAAoD;AAAA,EACjE,YACSC,IAAmC,MACnC3I,IAAqB,CAAA,GAC7B;AAFQ,SAAA,OAAA2I,GACA,KAAA,SAAA3I;AAAA,EACP;AAAA,EAGF,KAAKtV,GAAiD;AACpD,UAAMie,IAAQ,KAAK,SAAS,OAAOje,EAAQ,aAAa,KAAK,IAAK,IAAI,GAChEsV,IAASwI,GAAW,mBAAmB9d,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAEjG,WAAO8d,GAAW;AAAA,MAAiB9d;AAAA,MACjCie;AAAA,MACA3I;AAAA,IAAA;AAAA,EAEJ;AACA;ACvGO,MAAM4I,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOve,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIqe,GAAA,GAAe,OAAOte,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqe,GAAA,GAAe,OAAOte,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAOS,GAAeR,GAAiC;AACrD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIie,GAAA,GAAc,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS/d,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACzI;AAAA,EAEA,eAAsB;AACpB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,UAAUA,GAA6BmV,GAAiC;AAC7E,IAAAnV,EAAQ,eAAe,GAAGmV,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBnV,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,eAAeT,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6BmV,GAAoD;AACxG,WAAA+I,GAAY,iBAAiBle,CAAO,GACpCke,GAAY,UAAUle,GAASmV,CAAY,GACpC+I,GAAY,eAAele,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAIme;AAAA,MACT,KAAK,GAAI,cAAuC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAE/F;AAAA,EAGA,SAAShe,GAAwB;AAC/B,IAAAA,EAAG,SAAS,KAAK,GAAI,cAAuC,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EACzG;AACA;AAEO,MAAMge,GAAqD;AAAA,EAClE,YACS7I,IAA0B,IAClC;AADQ,SAAA,SAAAA;AAAA,EACP;AAAA,EAGF,KAAKtV,GAAiD;AACpD,UAAMsV,IAAS4I,GAAY,mBAAmBle,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAElG,WAAOke,GAAY;AAAA,MAAkBle;AAAA,MACnCsV;AAAA,IAAA;AAAA,EAEJ;AACA;AC9EO,IAAK8I,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cACAA,EAAAA,EAAA,mBAAmB,CAAA,IAAnB,oBACAA,EAAAA,EAAA,gBAAgB,CAAA,IAAhB,iBACAA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,SAAS,CAAA,IAAT,UACAA,EAAAA,EAAA,MAAM,EAAA,IAAN,OAXUA,IAAAA,MAAA,CAAA,CAAA;AAcL,SAASC,GACdjW,GACAC,GAC+G;AAC/G,UAAO+V,GAAQhW,CAAI,GAAA;AAAA,IACjB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAe,aAAOC,EAAS,IAAI+J,GAAa;AAAA,IACrD,KAAK;AAAc,aAAO/J,EAAS,IAAIzH,GAAY;AAAA,IACnD,KAAK;AAAoB,aAAOyH,EAAS,IAAImU,IAAkB;AAAA,IAC/D,KAAK;AAAiB,aAAOnU,EAAS,IAAIyU,IAAe;AAAA,IACzD,KAAK;AAAQ,aAAOzU,EAAS,IAAI6U,IAAM;AAAA,IACvC,KAAK;AAAc,aAAO7U,EAAS,IAAI3I,IAAY;AAAA,IACnD,KAAK;AAAe,aAAO2I,EAAS,IAAI6V,IAAa;AAAA,IACrD,KAAK;AAAe,aAAO7V,EAAS,IAAIuV,IAAa;AAAA,IACrD,KAAK;AAAU,aAAOvV,EAAS,IAAIiV,IAAQ;AAAA,IAC3C,KAAK;AAAO,aAAOjV,EAAS,IAAImV,IAAK;AAAA,IACrC;AAAS,aAAO;AAAA,EAAA;AAEpB;AC5CO,IAAKc,uBAAAA,OACVA,EAAAA,EAAA,mBAAmB,CAAA,IAAnB,oBACAA,EAAAA,EAAA,mBAAmB,CAAA,IAAnB,oBACAA,EAAAA,EAAA,gBAAgB,CAAA,IAAhB,iBACAA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,SAAS,CAAA,IAAT,UACAA,EAAAA,EAAA,MAAM,CAAA,IAAN,OACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cAVUA,IAAAA,MAAA,CAAA,CAAA;ACgBL,MAAMC,EAAuE;AAAA,EAA7E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO5e,GAAUC,GAAyC;AAC1D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,uBAAuBA,GAA2BC,GAAkC;AACzF,YAAQA,KAAO,IAAI0e,EAAA,GAAiB,OAAO3e,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,mCAAmCA,GAA2BC,GAAkC;AACrG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI0e,EAAA,GAAiB,OAAO3e,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,IAAIA,GAAmD;AACrD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAmB;AACjB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAIue,GAAY;AAAA,EAC1E;AAAA,EAEA,cAAsB;AACpB,UAAMve,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAIqe,GAAQ;AAAA,EACrE;AAAA,EAEA,QAAqCve,GAAkB;AACrD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,mBAAmBC,GAA6B;AACrD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6Bmc,GAAgC;AAC3E,IAAAnc,EAAQ,eAAe,GAAGmc,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,OAAOnc,GAA6BmE,GAA8B;AACvE,IAAAnE,EAAQ,eAAe,GAAGmE,GAAW,CAAC;AAAA,EACxC;AAAA,EAEA,OAAO,QAAQnE,GAA6BoI,GAAkB;AAC5D,IAAApI,EAAQ,cAAc,GAAGoI,GAAMkW,GAAY,gBAAgB;AAAA,EAC7D;AAAA,EAEA,OAAO,eAAete,GAA6Bwe,GAAqB;AACtE,IAAAxe,EAAQ,aAAa,GAAGwe,GAAaJ,GAAQ,IAAI;AAAA,EACnD;AAAA,EAEA,OAAO,WAAWpe,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,iBAAiBhB,GAAgD;AAEtE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,0BAA0BA,GAA6BD,GAA2B;AACvF,IAAAC,EAAQ,OAAOD,CAAM;AAAA,EACvB;AAAA,EAEA,OAAO,sCAAsCC,GAA6BD,GAA2B;AACnG,IAAAC,EAAQ,OAAOD,GAAQ,QAAW,EAAI;AAAA,EACxC;AAAA,EAEA,OAAO,oBAAoBC,GAA6Bmc,GAAgChY,GAA8BiE,GAAkBoW,GAAqBxd,GAAqD;AAChN,WAAAud,EAAc,mBAAmBve,CAAO,GACxCue,EAAc,SAASve,GAASmc,CAAW,GAC3CoC,EAAc,OAAOve,GAASmE,CAAS,GACvCoa,EAAc,QAAQve,GAASoI,CAAI,GACnCmW,EAAc,eAAeve,GAASwe,CAAW,GACjDD,EAAc,WAAWve,GAASgB,CAAa,GACxCud,EAAc,iBAAiBve,CAAO;AAAA,EAC/C;AAAA,EAEA,SAAyB;AACvB,WAAO,IAAIye;AAAA,MACT,KAAK,MAAA;AAAA,MACL,KAAK,IAAA;AAAA,MACL,KAAK,KAAA;AAAA,MACL,KAAK,YAAA;AAAA,OACJ,MAAM;AACL,cAAM7V,IAAOyV,GAAe,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AACvE,eAAGzV,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,IAAG;AAAA,EAEL;AAAA,EAGA,SAASzI,GAA0B;AACjC,IAAAA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,MAAM,KAAK,IAAA,GACdA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,WAAW,MAAM;AAChB,YAAMyI,IAAOyV,GAAe,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AACvE,aAAGzV,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA;AAAA,EACF;AACA;AAEO,MAAM6V,GAAuD;AAAA,EACpE,YACSnC,IAAoC,MACpC/X,IAAkC,MAClC6D,IAAoBkW,GAAY,kBAChCE,IAAuBJ,GAAQ,MAC/B7c,IAAmI,MAC3I;AALQ,SAAA,QAAA+a,GACA,KAAA,MAAA/X,GACA,KAAA,OAAA6D,GACA,KAAA,cAAAoW,GACA,KAAA,UAAAjd;AAAA,EACP;AAAA,EAGF,KAAKvB,GAAiD;AACpD,UAAMsc,IAAS,KAAK,UAAU,OAAOtc,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEuE,IAAO,KAAK,QAAQ,OAAOvE,EAAQ,aAAa,KAAK,GAAI,IAAI,GAC7DuB,IAAUvB,EAAQ,mBAAmB,KAAK,OAAO;AAEvD,WAAOue,EAAc;AAAA,MAAoBve;AAAA,MACvCsc;AAAA,MACA/X;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACLhD;AAAA,IAAA;AAAA,EAEJ;AACA;AC7JO,IAAKmd,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,gBAAgB,CAAA,IAAhB,iBACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBAHUA,IAAAA,MAAA,CAAA,CAAA;AAML,SAASC,GACdvW,GACAC,GACiC;AACjC,UAAOqW,GAAWtW,CAAI,GAAA;AAAA,IACpB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAiB,aAAOC,EAAS,IAAIkW,GAAe;AAAA,IACzD,KAAK;AAAgB,aAAOlW,EAAS,IAAI6T,GAAc;AAAA,IACvD;AAAS,aAAO;AAAA,EAAA;AAEpB;ACbO,MAAM0C,GAA+E;AAAA,EAArF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOjf,GAAUC,GAA6C;AAC9D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,2BAA2BA,GAA2BC,GAA0C;AACrG,YAAQA,KAAO,IAAI+e,GAAA,GAAqB,OAAOhf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAChG;AAAA,EAEA,OAAO,uCAAuCA,GAA2BC,GAA0C;AACjH,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI+e,GAAA,GAAqB,OAAOhf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAChG;AAAA,EAEA,cAAyB;AACvB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI2e,GAAW;AAAA,EACxE;AAAA,EAEA,QAAqC7e,GAAkB;AACrD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,uBAAuBC,GAA6B;AACzD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,eAAeA,GAA6Bwe,GAAwB;AACzE,IAAAxe,EAAQ,aAAa,GAAGwe,GAAaE,GAAW,IAAI;AAAA,EACtD;AAAA,EAEA,OAAO,WAAW1e,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,qBAAqBhB,GAAgD;AAC1E,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBC,GAA6Bwe,GAAwBxd,GAAqD;AACvI,WAAA4d,GAAkB,uBAAuB5e,CAAO,GAChD4e,GAAkB,eAAe5e,GAASwe,CAAW,GACrDI,GAAkB,WAAW5e,GAASgB,CAAa,GAC5C4d,GAAkB,qBAAqB5e,CAAO;AAAA,EACvD;AAAA,EAEA,SAA6B;AAC3B,WAAO,IAAI6e;AAAA,MACT,KAAK,YAAA;AAAA,OACJ,MAAM;AACL,cAAMjW,IAAO+V,GAAkB,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AAC1E,eAAG/V,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,IAAG;AAAA,EAEL;AAAA,EAGA,SAASzI,GAA8B;AACrC,IAAAA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,WAAW,MAAM;AAChB,YAAMyI,IAAO+V,GAAkB,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AAC1E,aAAG/V,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA;AAAA,EACF;AACA;AAEO,MAAMiW,GAA2D;AAAA,EACxE,YACSL,IAA0BE,GAAW,MACrCnd,IAA6C,MACrD;AAFQ,SAAA,cAAAid,GACA,KAAA,UAAAjd;AAAA,EACP;AAAA,EAGF,KAAKvB,GAAiD;AACpD,UAAMuB,IAAUvB,EAAQ,mBAAmB,KAAK,OAAO;AAEvD,WAAO4e,GAAkB;AAAA,MAAwB5e;AAAA,MAC/C,KAAK;AAAA,MACLuB;AAAA,IAAA;AAAA,EAEJ;AACA;AC7FO,MAAMud,GAAuE;AAAA,EAA7E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOnf,GAAUC,GAAyC;AAC1D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,uBAAuBA,GAA2BC,GAAkC;AACzF,YAAQA,KAAO,IAAIif,GAAA,GAAiB,OAAOlf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,mCAAmCA,GAA2BC,GAAkC;AACrG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIif,GAAA,GAAiB,OAAOlf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAIA,MAAMU,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,QAAQD,GAA2B;AACjC,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,CAAK,IAAI;AAAA,EACxF;AAAA,EAEA,gBAAuB;AACrB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,eAA+B;AAC7B,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,IAAI,WAAW,KAAK,GAAI,QAAQ,QAAQ,KAAK,GAAI,MAAA,EAAQ,aAAa,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,GAAG,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,CAAC,IAAI;AAAA,EAChL;AAAA,EAEA,OAAO,mBAAmBC,GAA6B;AACrD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6Bmc,GAAgC;AAC3E,IAAAnc,EAAQ,eAAe,GAAGmc,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,WAAWnc,GAA6B+e,GAAkC;AAC/E,IAAA/e,EAAQ,eAAe,GAAG+e,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,oBAAoB/e,GAA6BQ,GAA6C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,QAAQQ,EAAKb,CAAC,CAAE;AAE1B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,mBAAmBA,GAA6BS,GAAiB;AACtE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,iBAAiBT,GAAgD;AACtE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBC,GAA6Bmc,GAAgC4C,GAAqD;AAC3I,WAAAD,GAAc,mBAAmB9e,CAAO,GACxC8e,GAAc,SAAS9e,GAASmc,CAAW,GAC3C2C,GAAc,WAAW9e,GAAS+e,CAAa,GACxCD,GAAc,iBAAiB9e,CAAO;AAAA,EAC/C;AAAA,EAEA,SAAyB;AACvB,WAAO,IAAIgf;AAAA,MACT,KAAK,MAAA;AAAA,MACL,KAAK,GAAI,iBAAyB,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,cAAA,CAAe;AAAA,IAAA;AAAA,EAEnF;AAAA,EAGA,SAAS7e,GAA0B;AACjC,IAAAA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,UAAU,KAAK,GAAI,iBAAyB,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,cAAA,CAAe;AAAA,EAC9F;AACA;AAEO,MAAM6e,GAAuD;AAAA,EACpE,YACS1C,IAAoC,MACpC2C,IAAsB,CAAA,GAC9B;AAFQ,SAAA,QAAA3C,GACA,KAAA,UAAA2C;AAAA,EACP;AAAA,EAGF,KAAKjf,GAAiD;AACpD,UAAMsc,IAAS,KAAK,UAAU,OAAOtc,EAAQ,aAAa,KAAK,KAAM,IAAI,GACnEif,IAAUH,GAAc,oBAAoB9e,GAAS,KAAK,OAAO;AAEvE,WAAO8e,GAAc;AAAA,MAAoB9e;AAAA,MACvCsc;AAAA,MACA2C;AAAA,IAAA;AAAA,EAEJ;AACA;AC3GO,MAAMC,GAA+E;AAAA,EAArF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOvf,GAAUC,GAA6C;AAC9D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,2BAA2BA,GAA2BC,GAA0C;AACrG,YAAQA,KAAO,IAAIqf,GAAA,GAAqB,OAAOtf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAChG;AAAA,EAEA,OAAO,uCAAuCA,GAA2BC,GAA0C;AACjH,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIqf,GAAA,GAAqB,OAAOtf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAChG;AAAA,EAEA,MAAMS,GAA2B;AAC/B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,CAAC,IAAI;AAAA,EAC7F;AAAA,EAEA,cAAqB;AACnB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,aAA8B;AAC5B,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,IAAI,YAAY,KAAK,GAAI,QAAQ,QAAQ,KAAK,GAAI,MAAA,EAAQ,aAAa,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,GAAG,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,CAAC,IAAI;AAAA,EACjL;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,uBAAuBN,GAA6B;AACzD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B8a,GAAgC;AAC3E,IAAA9a,EAAQ,eAAe,GAAG8a,GAAa,CAAC;AAAA,EAC1C;AAAA,EAOA,OAAO,kBAAkB9a,GAA6BQ,GAAyD;AAC7G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,SAASQ,EAAKb,CAAC,CAAE;AAE3B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,qBAAqBd,GAAgD;AAC1E,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBC,GAA6B8a,GAAgCha,GAAoD;AAC9I,WAAAoe,GAAkB,uBAAuBlf,CAAO,GAChDkf,GAAkB,SAASlf,GAAS8a,CAAW,GAC/CoE,GAAkB,UAAUlf,GAASc,CAAY,GAC1Coe,GAAkB,qBAAqBlf,CAAO;AAAA,EACvD;AAAA,EAEA,SAA6B;AAC3B,WAAO,IAAImf;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,aAAa;AAAA,MAC3E,KAAK,OAAA;AAAA,IAAO;AAAA,EAEhB;AAAA,EAGA,SAAShf,GAA8B;AACrC,IAAAA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa,GACtFA,EAAG,SAAS,KAAK,OAAA;AAAA,EACnB;AACA;AAEO,MAAMgf,GAA2D;AAAA,EACxE,YACSzD,IAAoB,IACpBpa,IAAqC,MAC7C;AAFQ,SAAA,QAAAoa,GACA,KAAA,SAAApa;AAAA,EACP;AAAA,EAGF,KAAKtB,GAAiD;AACpD,UAAM0b,IAAQwD,GAAkB,kBAAkBlf,GAAS,KAAK,KAAK,GAC/DsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI;AAE5E,WAAOkf,GAAkB;AAAA,MAAwBlf;AAAA,MAC/C0b;AAAA,MACApa;AAAA,IAAA;AAAA,EAEJ;AACA;ACjHO,MAAM8d,GAAqE;AAAA,EAA3E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOzf,GAAUC,GAAwC;AACzD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,sBAAsBA,GAA2BC,GAAgC;AACtF,YAAQA,KAAO,IAAIuf,GAAA,GAAgB,OAAOxf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kCAAkCA,GAA2BC,GAAgC;AAClG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuf,GAAA,GAAgB,OAAOxf,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC3F;AAAA,EAEA,OAAO,kBAAkBI,GAA6B;AACpD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,gBAAgBA,GAAgD;AAErE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,mBAAmBA,GAAgD;AACxE,WAAAof,GAAa,kBAAkBpf,CAAO,GAC/Bof,GAAa,gBAAgBpf,CAAO;AAAA,EAC7C;AAAA,EAEA,SAAwB;AACtB,WAAO,IAAIqf,GAAA;AAAA,EACb;AAAA,EAGA,SAASlf,GAAyB;AAAA,EAAC;AACnC;AAEO,MAAMkf,GAAsD;AAAA,EACnE,cAAa;AAAA,EAAC;AAAA,EAGd,KAAKrf,GAAiD;AACpD,WAAOof,GAAa,mBAAmBpf,CAAO;AAAA,EAChD;AACA;AC/CO,MAAMsf,GAAqF;AAAA,EAA3F,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3f,GAAUC,GAAgD;AACjE,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,8BAA8BA,GAA2BC,GAAgD;AAC9G,YAAQA,KAAO,IAAIyf,GAAA,GAAwB,OAAO1f,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnG;AAAA,EAEA,OAAO,0CAA0CA,GAA2BC,GAAgD;AAC1H,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIyf,GAAA,GAAwB,OAAO1f,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnG;AAAA,EAEA,MAAMS,GAA2B;AAC/B,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,CAAC,IAAI;AAAA,EAC7F;AAAA,EAEA,cAAqB;AACnB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,aAA8B;AAC5B,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,IAAI,YAAY,KAAK,GAAI,QAAQ,QAAQ,KAAK,GAAI,MAAA,EAAQ,aAAa,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,GAAG,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,CAAC,IAAI;AAAA,EACjL;AAAA,EAEA,OAAO,0BAA0BC,GAA6B;AAC5D,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B8a,GAAgC;AAC3E,IAAA9a,EAAQ,eAAe,GAAG8a,GAAa,CAAC;AAAA,EAC1C;AAAA,EAOA,OAAO,kBAAkB9a,GAA6BQ,GAAyD;AAC7G,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,SAASQ,EAAKb,CAAC,CAAE;AAE3B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,wBAAwBT,GAAgD;AAC7E,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,2BAA2BC,GAA6B8a,GAAmD;AAChH,WAAAwE,GAAqB,0BAA0Btf,CAAO,GACtDsf,GAAqB,SAAStf,GAAS8a,CAAW,GAC3CwE,GAAqB,wBAAwBtf,CAAO;AAAA,EAC7D;AAAA,EAEA,SAAgC;AAC9B,WAAO,IAAIuf;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,IAAA;AAAA,EAE/E;AAAA,EAGA,SAASpf,GAAiC;AACxC,IAAAA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,EACxF;AACA;AAEO,MAAMof,GAA8D;AAAA,EAC3E,YACS7D,IAAoB,IAC5B;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAK1b,GAAiD;AACpD,UAAM0b,IAAQ4D,GAAqB,kBAAkBtf,GAAS,KAAK,KAAK;AAExE,WAAOsf,GAAqB;AAAA,MAA2Btf;AAAA,MACrD0b;AAAA,IAAA;AAAA,EAEJ;AACA;AC9FO,MAAM8D,EAA6D;AAAA,EAAnE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO7f,GAAUC,GAAoC;AACrD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBA,GAA2BC,GAAwB;AAC1E,YAAQA,KAAO,IAAI2f,EAAA,GAAY,OAAO5f,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAEA,OAAO,8BAA8BA,GAA2BC,GAAwB;AACtF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI2f,EAAA,GAAY,OAAO5f,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACvF;AAAA,EAEA,OAAc;AACZ,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,YAAmB;AACjB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI;AAAA,EAC7D;AAAA,EAIA,QAAQO,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,KAAKD,GAAeR,GAA+B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,KAAUF,KAAO,IAAIO,EAAA,GAAa,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASL,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACxI;AAAA,EAEA,aAAoB;AAClB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,cAAcC,GAA6B;AAChD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,aAAaf,GAA6BkB,GAAkB;AACjE,IAAAlB,EAAQ,cAAc,GAAGkB,GAAW,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,WAAWlB,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,QAAQhB,GAA6BiB,GAA+B;AACzE,IAAAjB,EAAQ,eAAe,GAAGiB,GAAY,CAAC;AAAA,EACzC;AAAA,EAEA,OAAO,iBAAiBjB,GAA6BQ,GAA8C;AACjG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,gBAAgBA,GAA6BS,GAAiB;AACnE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAAgD;AACjE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,EAAE,GACzBA;AAAA,EACT;AAAA,EAEA,OAAO,eAAeC,GAA6Be,GAAaG,GAAkBF,GAAkCC,GAAkD;AACpK,WAAAue,EAAS,cAAcxf,CAAO,GAC9Bwf,EAAS,QAAQxf,GAASe,CAAI,GAC9Bye,EAAS,aAAaxf,GAASkB,CAAS,GACxCse,EAAS,WAAWxf,GAASgB,CAAa,GAC1Cwe,EAAS,QAAQxf,GAASiB,CAAU,GAC7Bue,EAAS,YAAYxf,CAAO;AAAA,EACrC;AAAA,EAEA,SAAoB;AAClB,WAAO,IAAIyf;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY;AAAA,IAAA;AAAA,EAEzF;AAAA,EAGA,SAAStf,GAAqB;AAC5B,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,OAAO,KAAK,GAAI,cAAqC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,WAAA,CAAY;AAAA,EACjG;AACA;AAEO,MAAMsf,GAAkD;AAAA,EAC/D,YACS1e,IAAe,GACfG,IAAoB,GACpBK,IAAsC,MACtCC,IAAuB,IAC/B;AAJQ,SAAA,OAAAT,GACA,KAAA,YAAAG,GACA,KAAA,UAAAK,GACA,KAAA,OAAAC;AAAA,EACP;AAAA,EAGF,KAAKxB,GAAiD;AACpD,UAAMuB,IAAW,KAAK,YAAY,OAAOvB,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEwB,IAAOge,EAAS,iBAAiBxf,GAASA,EAAQ,uBAAuB,KAAK,IAAI,CAAC;AAEzF,WAAOwf,EAAS;AAAA,MAAexf;AAAA,MAC7B,KAAK;AAAA,MACL,KAAK;AAAA,MACLuB;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACnIO,MAAMke,GAA2D;AAAA,EAAjE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO/f,GAAUC,GAAmC;AACpD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBA,GAA2BC,GAAsB;AACvE,YAAQA,KAAO,IAAI6f,GAAA,GAAW,OAAO9f,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACtF;AAAA,EAEA,OAAO,6BAA6BA,GAA2BC,GAAsB;AACnF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI6f,GAAA,GAAW,OAAO9f,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACtF;AAAA,EAIA,UAAUU,GAAmD;AAC3D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAAST,GAA6B;AACpC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI2f,EAAA,GAAY,OAAO,KAAK,GAAI,WAAW,KAAK,SAASzf,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACxG;AAAA,EAIA,OAAOM,GAAcC,GAAmD;AACtE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,eAAsB;AACpB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,aAAaC,GAA6B;AAC/C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6B2f,GAAoC;AACnF,IAAA3f,EAAQ,eAAe,GAAG2f,GAAiB,CAAC;AAAA,EAC9C;AAAA,EAEA,OAAO,YAAY3f,GAA6B4f,GAAmC;AACjF,IAAA5f,EAAQ,eAAe,GAAG4f,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,UAAU5f,GAA6ByE,GAAiC;AAC7E,IAAAzE,EAAQ,eAAe,GAAGyE,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,mBAAmBzE,GAA6BQ,GAA8C;AACnG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BS,GAAiB;AACrE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,WAAWT,GAAgD;AAChE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAAmB;AACjB,WAAO,IAAI8f;AAAA,MACT,KAAK,UAAA;AAAA,MACJ,KAAK,eAAe,OAAO,KAAK,SAAA,EAAY,WAAW;AAAA,MACxD,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,IAAA;AAAA,EAEjF;AAAA,EAGA,SAAS1f,GAAoB;AAC3B,IAAAA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,WAAY,KAAK,SAAA,MAAe,OAAO,KAAK,SAAA,EAAY,OAAA,IAAW,MACtEA,EAAG,SAAS,KAAK,GAAI,iBAAyB,KAAK,OAAO,KAAK,IAAI,GAAG,KAAK,aAAA,CAAc;AAAA,EAC3F;AACA;AAEO,MAAM0f,GAAiD;AAAA,EAC9D,YACSC,IAAwC,MACxCC,IAA2B,MAC3Bpb,IAAqB,IAC7B;AAHQ,SAAA,YAAAmb,GACA,KAAA,WAAAC,GACA,KAAA,SAAApb;AAAA,EACP;AAAA,EAGF,KAAK3E,GAAiD;AACpD,UAAM8f,IAAa,KAAK,cAAc,OAAO9f,EAAQ,aAAa,KAAK,SAAU,IAAI,GAC/E+f,IAAY,KAAK,aAAa,OAAO,KAAK,SAAU,KAAK/f,CAAO,IAAI,GACpE2E,IAAS+a,GAAQ,mBAAmB1f,GAASA,EAAQ,uBAAuB,KAAK,MAAM,CAAC;AAE9F,WAAA0f,GAAQ,aAAa1f,CAAO,GAC5B0f,GAAQ,aAAa1f,GAAS8f,CAAS,GACvCJ,GAAQ,YAAY1f,GAAS+f,CAAQ,GACrCL,GAAQ,UAAU1f,GAAS2E,CAAM,GAE1B+a,GAAQ,WAAW1f,CAAO;AAAA,EACnC;AACA;ACpHO,MAAMggB,GAAiE;AAAA,EAAvE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOrgB,GAAUC,GAAsC;AACvD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,oBAAoBA,GAA2BC,GAA4B;AAChF,YAAQA,KAAO,IAAImgB,GAAA,GAAc,OAAOpgB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAEA,OAAO,gCAAgCA,GAA2BC,GAA4B;AAC5F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImgB,GAAA,GAAc,OAAOpgB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACzF;AAAA,EAIA,WAAWU,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,gBAAgBN,GAA6B;AAClD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,cAAcA,GAA6BigB,GAAqC;AACrF,IAAAjgB,EAAQ,eAAe,GAAGigB,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,cAAcjgB,GAAgD;AACnE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,iBAAiBC,GAA6BigB,GAAwD;AAC3G,WAAAD,GAAW,gBAAgBhgB,CAAO,GAClCggB,GAAW,cAAchgB,GAASigB,CAAgB,GAC3CD,GAAW,cAAchgB,CAAO;AAAA,EACzC;AAAA,EAEA,SAAsB;AACpB,WAAO,IAAIkgB;AAAA,MACT,KAAK,WAAA;AAAA,IAAW;AAAA,EAEpB;AAAA,EAGA,SAAS/f,GAAuB;AAC9B,IAAAA,EAAG,aAAa,KAAK,WAAA;AAAA,EACvB;AACA;AAEO,MAAM+f,GAAoD;AAAA,EACjE,YACSC,IAAyC,MACjD;AADQ,SAAA,aAAAA;AAAA,EACP;AAAA,EAGF,KAAKngB,GAAiD;AACpD,UAAMmgB,IAAc,KAAK,eAAe,OAAOngB,EAAQ,aAAa,KAAK,UAAW,IAAI;AAExF,WAAOggB,GAAW;AAAA,MAAiBhgB;AAAA,MACjCmgB;AAAA,IAAA;AAAA,EAEJ;AACA;ACvEO,IAAKC,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cAFUA,IAAAA,MAAA,CAAA,CAAA;AAKL,SAASC,GACdjY,GACAC,GACiB;AACjB,UAAO+X,GAAWhY,CAAI,GAAA;AAAA,IACpB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAc,aAAOC,EAAS,IAAI2X,IAAY;AAAA,IACnD;AAAS,aAAO;AAAA,EAAA;AAEpB;ACXO,MAAMM,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO3gB,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAIygB,GAAA,GAAa,OAAO1gB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIygB,GAAA,GAAa,OAAO1gB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,iBAA4B;AAC1B,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAIqgB,GAAW;AAAA,EACxE;AAAA,EAEA,WAAwCvgB,GAAkB;AACxD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,kBAAkBA,GAA6BugB,GAA2B;AAC/E,IAAAvgB,EAAQ,aAAa,GAAGugB,GAAgBH,GAAW,IAAI;AAAA,EACzD;AAAA,EAEA,OAAO,cAAcpgB,GAA6BwgB,GAAqC;AACrF,IAAAxgB,EAAQ,eAAe,GAAGwgB,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,aAAaxgB,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6BugB,GAA2BC,GAAwD;AACrI,WAAAF,GAAU,eAAetgB,CAAO,GAChCsgB,GAAU,kBAAkBtgB,GAASugB,CAAc,GACnDD,GAAU,cAActgB,GAASwgB,CAAgB,GAC1CF,GAAU,aAAatgB,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAIygB;AAAA,MACT,KAAK,eAAA;AAAA,OACJ,MAAM;AACL,cAAM7X,IAAOyX,GAAkB,KAAK,eAAA,GAAkB,KAAK,WAAW,KAAK,IAAI,CAAC;AAChF,eAAGzX,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,IAAG;AAAA,EAEL;AAAA,EAGA,SAASzI,GAAsB;AAC7B,IAAAA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,cAAc,MAAM;AACnB,YAAMyI,IAAOyX,GAAkB,KAAK,eAAA,GAAkB,KAAK,WAAW,KAAK,IAAI,CAAC;AAChF,aAAGzX,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA;AAAA,EACF;AACA;AAEO,MAAM6X,GAAmD;AAAA,EAChE,YACSF,IAA6BH,GAAW,MACxCM,IAA+B,MACvC;AAFQ,SAAA,iBAAAH,GACA,KAAA,aAAAG;AAAA,EACP;AAAA,EAGF,KAAK1gB,GAAiD;AACpD,UAAM0gB,IAAa1gB,EAAQ,mBAAmB,KAAK,UAAU;AAE7D,WAAOsgB,GAAU;AAAA,MAAgBtgB;AAAA,MAC/B,KAAK;AAAA,MACL0gB;AAAA,IAAA;AAAA,EAEJ;AACA;AC3FO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhhB,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAI8gB,GAAA,GAAa,OAAO/gB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8gB,GAAA,GAAa,OAAO/gB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,SAASC,GAA6B;AACpC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI2f,EAAA,GAAY,OAAO,KAAK,GAAI,WAAW,KAAK,SAASzf,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EACxG;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,YAAYA,GAA6B4f,GAAmC;AACjF,IAAA5f,EAAQ,eAAe,GAAG4f,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,aAAa5f,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gBAAgBC,GAA6B4f,GAAsD;AACxG,WAAAe,GAAU,eAAe3gB,CAAO,GAChC2gB,GAAU,YAAY3gB,GAAS4f,CAAc,GACtCe,GAAU,aAAa3gB,CAAO;AAAA,EACvC;AAAA,EAEA,SAAqB;AACnB,WAAO,IAAI4gB;AAAA,MACR,KAAK,eAAe,OAAO,KAAK,SAAA,EAAY,WAAW;AAAA,IAAA;AAAA,EAE5D;AAAA,EAGA,SAASzgB,GAAsB;AAC7B,IAAAA,EAAG,WAAY,KAAK,SAAA,MAAe,OAAO,KAAK,SAAA,EAAY,OAAA,IAAW;AAAA,EACxE;AACA;AAEO,MAAMygB,GAAmD;AAAA,EAChE,YACSb,IAA2B,MACnC;AADQ,SAAA,WAAAA;AAAA,EACP;AAAA,EAGF,KAAK/f,GAAiD;AACpD,UAAM+f,IAAY,KAAK,aAAa,OAAO,KAAK,SAAU,KAAK/f,CAAO,IAAI;AAE1E,WAAO2gB,GAAU;AAAA,MAAgB3gB;AAAA,MAC/B+f;AAAA,IAAA;AAAA,EAEJ;AACA;ACrEO,MAAMc,EAAqF;AAAA,EAA3F,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOlhB,GAAUC,GAAgD;AACjE,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,8BAA8BA,GAA2BC,GAAgD;AAC9G,YAAQA,KAAO,IAAIghB,EAAA,GAAwB,OAAOjhB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnG;AAAA,EAEA,OAAO,0CAA0CA,GAA2BC,GAAgD;AAC1H,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIghB,EAAA,GAAwB,OAAOjhB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnG;AAAA,EAIA,QAAQS,GAAcC,GAAmD;AACvE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,gBAAuB;AACrB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,SAASM,GAAcC,GAAmD;AACxE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,iBAAwB;AACtB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,MAAMM,GAAcC,GAAmD;AACrE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,cAAqB;AACnB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAIA,SAASM,GAAcC,GAAmD;AACxE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAIM,IAAQ,GAAGC,CAAgB,IAAI;AAAA,EACvH;AAAA,EAEA,iBAAwB;AACtB,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,0BAA0BC,GAA6B;AAC5D,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,WAAWA,GAA6B8gB,GAAkC;AAC/E,IAAA9gB,EAAQ,eAAe,GAAG8gB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,oBAAoB9gB,GAA6BQ,GAA8C;AACpG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,mBAAmBA,GAA6BS,GAAiB;AACtE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6BqP,GAAmC;AACjF,IAAArP,EAAQ,eAAe,GAAGqP,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBrP,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,SAAST,GAA6B+gB,GAAgC;AAC3E,IAAA/gB,EAAQ,eAAe,GAAG+gB,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkB/gB,GAA6BQ,GAA8C;AAClG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,YAAYT,GAA6BghB,GAAmC;AACjF,IAAAhhB,EAAQ,eAAe,GAAGghB,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqBhhB,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,wBAAwBT,GAAgD;AAE7E,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,2BAA2BA,GAA6B8gB,GAAkCzR,GAAmC0R,GAAgCC,GAAsD;AACxN,WAAAH,EAAqB,0BAA0B7gB,CAAO,GACtD6gB,EAAqB,WAAW7gB,GAAS8gB,CAAa,GACtDD,EAAqB,YAAY7gB,GAASqP,CAAc,GACxDwR,EAAqB,SAAS7gB,GAAS+gB,CAAW,GAClDF,EAAqB,YAAY7gB,GAASghB,CAAc,GACjDH,EAAqB,wBAAwB7gB,CAAO;AAAA,EAC7D;AAAA,EAEA,SAAgC;AAC9B,WAAO,IAAIihB;AAAA,MACT,KAAK,GAAI,iBAAyB,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,eAAe;AAAA,MAC/E,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACjF,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,aAAa;AAAA,MAC3E,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,IAAA;AAAA,EAErF;AAAA,EAGA,SAAS9gB,GAAiC;AACxC,IAAAA,EAAG,UAAU,KAAK,GAAI,iBAAyB,KAAK,QAAQ,KAAK,IAAI,GAAG,KAAK,cAAA,CAAe,GAC5FA,EAAG,WAAW,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GAC/FA,EAAG,QAAQ,KAAK,GAAI,iBAAyB,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa,GACtFA,EAAG,WAAW,KAAK,GAAI,iBAAyB,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB;AAAA,EACjG;AACA;AAEO,MAAM8gB,GAA8D;AAAA,EAC3E,YACSC,IAAsB,CAAA,GACtBvR,IAAuB,CAAA,GACvBwR,IAAoB,CAAA,GACpBC,IAAuB,IAC/B;AAJQ,SAAA,UAAAF,GACA,KAAA,WAAAvR,GACA,KAAA,QAAAwR,GACA,KAAA,WAAAC;AAAA,EACP;AAAA,EAGF,KAAKphB,GAAiD;AACpD,UAAMkhB,IAAUL,EAAqB,oBAAoB7gB,GAASA,EAAQ,uBAAuB,KAAK,OAAO,CAAC,GACxG2P,IAAWkR,EAAqB,qBAAqB7gB,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GAC3GmhB,IAAQN,EAAqB,kBAAkB7gB,GAASA,EAAQ,uBAAuB,KAAK,KAAK,CAAC,GAClGohB,IAAWP,EAAqB,qBAAqB7gB,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC;AAEjH,WAAO6gB,EAAqB;AAAA,MAA2B7gB;AAAA,MACrDkhB;AAAA,MACAvR;AAAA,MACAwR;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;AC5LO,MAAMC,GAAuF;AAAA,EAA7F,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO1hB,GAAUC,GAAiD;AAClE,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAAkD;AACjH,YAAQA,KAAO,IAAIwhB,GAAA,GAAyB,OAAOzhB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACpG;AAAA,EAEA,OAAO,2CAA2CA,GAA2BC,GAAkD;AAC7H,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIwhB,GAAA,GAAyB,OAAOzhB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACpG;AAAA,EAEA,OAAc;AACZ,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,eAAsB;AACpB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,gBAAuB;AACrB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,2BAA2BC,GAA6B;AAC7D,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,QAAQA,GAA6Be,GAAa;AACvD,IAAAf,EAAQ,cAAc,GAAGe,GAAM,CAAC;AAAA,EAClC;AAAA,EAEA,OAAO,gBAAgBf,GAA6BshB,GAAqB;AACvE,IAAAthB,EAAQ,cAAc,GAAGshB,GAAc,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,iBAAiBthB,GAA6BuhB,GAAsB;AACzE,IAAAvhB,EAAQ,cAAc,GAAGuhB,GAAe,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,yBAAyBvhB,GAAgD;AAE9E,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,4BAA4BA,GAA6Be,GAAaugB,GAAqBC,GAAyC;AACzI,WAAAF,GAAsB,2BAA2BrhB,CAAO,GACxDqhB,GAAsB,QAAQrhB,GAASe,CAAI,GAC3CsgB,GAAsB,gBAAgBrhB,GAASshB,CAAY,GAC3DD,GAAsB,iBAAiBrhB,GAASuhB,CAAa,GACtDF,GAAsB,yBAAyBrhB,CAAO;AAAA,EAC/D;AAAA,EAEA,SAAiC;AAC/B,WAAO,IAAIwhB;AAAA,MACT,KAAK,KAAA;AAAA,MACL,KAAK,aAAA;AAAA,MACL,KAAK,cAAA;AAAA,IAAc;AAAA,EAEvB;AAAA,EAGA,SAASrhB,GAAkC;AACzC,IAAAA,EAAG,OAAO,KAAK,KAAA,GACfA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,gBAAgB,KAAK,cAAA;AAAA,EAC1B;AACA;AAEO,MAAMqhB,GAA+D;AAAA,EAC5E,YACSzgB,IAAe,GACfugB,IAAuB,GACvBC,IAAwB,GAChC;AAHQ,SAAA,OAAAxgB,GACA,KAAA,eAAAugB,GACA,KAAA,gBAAAC;AAAA,EACP;AAAA,EAGF,KAAKvhB,GAAiD;AACpD,WAAOqhB,GAAsB;AAAA,MAA4BrhB;AAAA,MACvD,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAET;AACA;AC7FO,MAAMyhB,GAA2E;AAAA,EAAjF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO9hB,GAAUC,GAA2C;AAC5D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,yBAAyBA,GAA2BC,GAAsC;AAC/F,YAAQA,KAAO,IAAI4hB,GAAA,GAAmB,OAAO7hB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAAsC;AAC3G,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI4hB,GAAA,GAAmB,OAAO7hB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC9F;AAAA,EAEA,OAAO,qBAAqBI,GAA6B;AACvD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,mBAAmBA,GAAgD;AAExE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,sBAAsBA,GAAgD;AAC3E,WAAAyhB,GAAgB,qBAAqBzhB,CAAO,GACrCyhB,GAAgB,mBAAmBzhB,CAAO;AAAA,EACnD;AAAA,EAEA,SAA2B;AACzB,WAAO,IAAI0hB,GAAA;AAAA,EACb;AAAA,EAGA,SAASvhB,GAA4B;AAAA,EAAC;AACtC;AAEO,MAAMuhB,GAAyD;AAAA,EACtE,cAAa;AAAA,EAAC;AAAA,EAGd,KAAK1hB,GAAiD;AACpD,WAAOyhB,GAAgB,sBAAsBzhB,CAAO;AAAA,EACtD;AACA;AC/CO,MAAM2hB,GAAmG;AAAA,EAAzG,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhiB,GAAUC,GAAuD;AACxE,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qCAAqCA,GAA2BC,GAA8D;AACnI,YAAQA,KAAO,IAAI8hB,GAAA,GAA+B,OAAO/hB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1G;AAAA,EAEA,OAAO,iDAAiDA,GAA2BC,GAA8D;AAC/I,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8hB,GAAA,GAA+B,OAAO/hB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1G;AAAA,EAEA,YAAmB;AACjB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,OAAO,iCAAiCC,GAA6B;AACnE,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6B4hB,GAAkB;AACjE,IAAA5hB,EAAQ,cAAc,GAAG4hB,GAAW,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,+BAA+B5hB,GAAgD;AAEpF,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,kCAAkCA,GAA6B4hB,GAAqC;AACzG,WAAAD,GAA4B,iCAAiC3hB,CAAO,GACpE2hB,GAA4B,aAAa3hB,GAAS4hB,CAAS,GACpDD,GAA4B,+BAA+B3hB,CAAO;AAAA,EAC3E;AAAA,EAEA,SAAuC;AACrC,WAAO,IAAI6hB;AAAA,MACT,KAAK,UAAA;AAAA,IAAU;AAAA,EAEnB;AAAA,EAGA,SAAS1hB,GAAwC;AAC/C,IAAAA,EAAG,YAAY,KAAK,UAAA;AAAA,EACtB;AACA;AAEO,MAAM0hB,GAAqE;AAAA,EAClF,YACSD,IAAoB,GAC5B;AADQ,SAAA,YAAAA;AAAA,EACP;AAAA,EAGF,KAAK5hB,GAAiD;AACpD,WAAO2hB,GAA4B;AAAA,MAAkC3hB;AAAA,MACnE,KAAK;AAAA,IAAA;AAAA,EAET;AACA;ACjEO,MAAM8hB,GAAiF;AAAA,EAAvF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOniB,GAAUC,GAA8C;AAC/D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,4BAA4BA,GAA2BC,GAA4C;AACxG,YAAQA,KAAO,IAAIiiB,GAAA,GAAsB,OAAOliB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACjG;AAAA,EAEA,OAAO,wCAAwCA,GAA2BC,GAA4C;AACpH,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIiiB,GAAA,GAAsB,OAAOliB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACjG;AAAA,EAEA,OAAO,wBAAwBI,GAA6B;AAC1D,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,sBAAsBA,GAAgD;AAE3E,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,yBAAyBA,GAAgD;AAC9E,WAAA8hB,GAAmB,wBAAwB9hB,CAAO,GAC3C8hB,GAAmB,sBAAsB9hB,CAAO;AAAA,EACzD;AAAA,EAEA,SAA8B;AAC5B,WAAO,IAAI+hB,GAAA;AAAA,EACb;AAAA,EAGA,SAAS5hB,GAA+B;AAAA,EAAC;AACzC;AAEO,MAAM4hB,GAA4D;AAAA,EACzE,cAAa;AAAA,EAAC;AAAA,EAGd,KAAK/hB,GAAiD;AACpD,WAAO8hB,GAAmB,yBAAyB9hB,CAAO;AAAA,EAC5D;AACA;AC/CO,MAAMgiB,GAA+F;AAAA,EAArG,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOriB,GAAUC,GAAqD;AACtE,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mCAAmCA,GAA2BC,GAA0D;AAC7H,YAAQA,KAAO,IAAImiB,GAAA,GAA6B,OAAOpiB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxG;AAAA,EAEA,OAAO,+CAA+CA,GAA2BC,GAA0D;AACzI,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAImiB,GAAA,GAA6B,OAAOpiB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxG;AAAA,EAIA,eAAeU,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BN,GAA6B;AACjE,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,kBAAkBA,GAA6Bmd,GAAyC;AAC7F,IAAAnd,EAAQ,eAAe,GAAGmd,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,6BAA6Bnd,GAAgD;AAClF,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,gCAAgCC,GAA6Bmd,GAA4D;AAC9H,WAAA6E,GAA0B,+BAA+BhiB,CAAO,GAChEgiB,GAA0B,kBAAkBhiB,GAASmd,CAAoB,GAClE6E,GAA0B,6BAA6BhiB,CAAO;AAAA,EACvE;AAAA,EAEA,SAAqC;AACnC,WAAO,IAAIiiB;AAAA,MACT,KAAK,eAAA;AAAA,IAAe;AAAA,EAExB;AAAA,EAGA,SAAS9hB,GAAsC;AAC7C,IAAAA,EAAG,iBAAiB,KAAK,eAAA;AAAA,EAC3B;AACA;AAEO,MAAM8hB,GAAmE;AAAA,EAChF,YACS5E,IAA6C,MACrD;AADQ,SAAA,iBAAAA;AAAA,EACP;AAAA,EAGF,KAAKrd,GAAiD;AACpD,UAAMqd,IAAkB,KAAK,mBAAmB,OAAOrd,EAAQ,aAAa,KAAK,cAAe,IAAI;AAEpG,WAAOgiB,GAA0B;AAAA,MAAgChiB;AAAA,MAC/Dqd;AAAA,IAAA;AAAA,EAEJ;AACA;AChEO,IAAK6E,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,kBAAkB,CAAA,IAAlB,mBACAA,EAAAA,EAAA,uBAAuB,CAAA,IAAvB,wBACAA,EAAAA,EAAA,oBAAoB,CAAA,IAApB,qBACAA,EAAAA,EAAA,wBAAwB,CAAA,IAAxB,yBACAA,EAAAA,EAAA,qBAAqB,CAAA,IAArB,sBACAA,EAAAA,EAAA,4BAA4B,CAAA,IAA5B,6BACAA,EAAAA,EAAA,8BAA8B,CAAA,IAA9B,+BACAA,EAAAA,EAAA,uBAAuB,CAAA,IAAvB,wBATUA,IAAAA,MAAA,CAAA,CAAA;AAYL,SAASC,GACd/Z,GACAC,GACiL;AACjL,UAAO6Z,GAAW9Z,CAAI,GAAA;AAAA,IACpB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAmB,aAAOC,EAAS,IAAIoZ,IAAiB;AAAA,IAC7D,KAAK;AAAwB,aAAOpZ,EAAS,IAAIiX,IAAsB;AAAA,IACvE,KAAK;AAAqB,aAAOjX,EAAS,IAAI6W,IAAmB;AAAA,IACjE,KAAK;AAAyB,aAAO7W,EAAS,IAAIgZ,IAAuB;AAAA,IACzE,KAAK;AAAsB,aAAOhZ,EAAS,IAAIyZ,IAAoB;AAAA,IACnE,KAAK;AAA6B,aAAOzZ,EAAS,IAAI2Z,IAA2B;AAAA,IACjF,KAAK;AAA+B,aAAO3Z,EAAS,IAAIsZ,IAA6B;AAAA,IACrF,KAAK;AAAwB,aAAOtZ,EAAS,IAAIwY,GAAsB;AAAA,IACvE;AAAS,aAAO;AAAA,EAAA;AAEpB;ACzBO,MAAMuB,GAAqD;AAAA,EAA3D,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOziB,GAAUC,GAAgC;AACjD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,cAAcA,GAA2BC,GAAgB;AAC9D,YAAQA,KAAO,IAAIuiB,GAAA,GAAQ,OAAOxiB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnF;AAAA,EAEA,OAAO,0BAA0BA,GAA2BC,GAAgB;AAC1E,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIuiB,GAAA,GAAQ,OAAOxiB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACnF;AAAA,EAEA,aAAwB;AACtB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAImiB,GAAW;AAAA,EACxE;AAAA,EAEA,OAAoCriB,GAAkB;AACpD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,UAAUC,GAA6B;AAC5C,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,cAAcA,GAA6BqiB,GAAuB;AACvE,IAAAriB,EAAQ,aAAa,GAAGqiB,GAAYH,GAAW,IAAI;AAAA,EACrD;AAAA,EAEA,OAAO,UAAUliB,GAA6BsiB,GAAiC;AAC7E,IAAAtiB,EAAQ,eAAe,GAAGsiB,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,QAAQtiB,GAAgD;AAC7D,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,WAAWC,GAA6BqiB,GAAuBC,GAAoD;AACxH,WAAAF,GAAK,UAAUpiB,CAAO,GACtBoiB,GAAK,cAAcpiB,GAASqiB,CAAU,GACtCD,GAAK,UAAUpiB,GAASsiB,CAAY,GAC7BF,GAAK,QAAQpiB,CAAO;AAAA,EAC7B;AAAA,EAEA,SAAgB;AACd,WAAO,IAAIuiB;AAAA,MACT,KAAK,WAAA;AAAA,OACJ,MAAM;AACL,cAAM3Z,IAAOuZ,GAAkB,KAAK,WAAA,GAAc,KAAK,OAAO,KAAK,IAAI,CAAC;AACxE,eAAGvZ,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,IAAG;AAAA,EAEL;AAAA,EAGA,SAASzI,GAAiB;AACxB,IAAAA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,UAAU,MAAM;AACf,YAAMyI,IAAOuZ,GAAkB,KAAK,WAAA,GAAc,KAAK,OAAO,KAAK,IAAI,CAAC;AACxE,aAAGvZ,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA;AAAA,EACF;AACA;AAEO,MAAM2Z,GAA8C;AAAA,EAC3D,YACSF,IAAyBH,GAAW,MACpCM,IAAkM,MAC1M;AAFQ,SAAA,aAAAH,GACA,KAAA,SAAAG;AAAA,EACP;AAAA,EAGF,KAAKxiB,GAAiD;AACpD,UAAMwiB,IAASxiB,EAAQ,mBAAmB,KAAK,MAAM;AAErD,WAAOoiB,GAAK;AAAA,MAAWpiB;AAAA,MACrB,KAAK;AAAA,MACLwiB;AAAA,IAAA;AAAA,EAEJ;AACA;AClGO,MAAMC,GAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO9iB,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI4iB,GAAA,GAAkB,OAAO7iB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI4iB,GAAA,GAAkB,OAAO7iB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,MAAMS,GAAeR,GAAqB;AACxC,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIuiB,GAAA,GAAQ,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAASriB,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACnI;AAAA,EAEA,cAAqB;AACnB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,oBAAoBC,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,SAASA,GAA6B0iB,GAAgC;AAC3E,IAAA1iB,EAAQ,eAAe,GAAG0iB,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkB1iB,GAA6BQ,GAA8C;AAClG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,iBAAiBA,GAA6BS,GAAiB;AACpE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,kBAAkBT,GAAgD;AACvE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBC,GAA6B0iB,GAAmD;AAC1G,WAAAD,GAAe,oBAAoBziB,CAAO,GAC1CyiB,GAAe,SAASziB,GAAS0iB,CAAW,GACrCD,GAAe,kBAAkBziB,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAI2iB;AAAA,MACT,KAAK,GAAI,cAA2B,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,IAAA;AAAA,EAEjF;AAAA,EAGA,SAASxiB,GAA2B;AAClC,IAAAA,EAAG,QAAQ,KAAK,GAAI,cAA2B,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,YAAA,CAAa;AAAA,EAC1F;AACA;AAEO,MAAMwiB,GAAwD;AAAA,EACrE,YACSC,IAAmB,IAC3B;AADQ,SAAA,QAAAA;AAAA,EACP;AAAA,EAGF,KAAK5iB,GAAiD;AACpD,UAAM4iB,IAAQH,GAAe,kBAAkBziB,GAASA,EAAQ,uBAAuB,KAAK,KAAK,CAAC;AAElG,WAAOyiB,GAAe;AAAA,MAAqBziB;AAAA,MACzC4iB;AAAA,IAAA;AAAA,EAEJ;AACA;ACrFO,MAAMC,EAAiF;AAAA,EAAvF,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOljB,GAAUC,GAA8C;AAC/D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,4BAA4BA,GAA2BC,GAA4C;AACxG,YAAQA,KAAO,IAAIgjB,EAAA,GAAsB,OAAOjjB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACjG;AAAA,EAEA,OAAO,wCAAwCA,GAA2BC,GAA4C;AACpH,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIgjB,EAAA,GAAsB,OAAOjjB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACjG;AAAA,EAEA,SAASC,GAAyC;AAChD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI4iB,GAAA,GAAkB,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS1iB,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAC9G;AAAA,EAEA,cAAsB;AACpB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,aAAqB;AACnB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,YAAmB;AACjB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,YAAmB;AACjB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,YAAoB;AAClB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,QAAgB;AACd,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,gBAAuB;AACrB,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAEA,SAAiB;AACf,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,CAAC,CAAC,KAAK,GAAI,SAAS,KAAK,SAASA,CAAM,IAAI;AAAA,EAC9D;AAAA,EAIA,WAAWO,GAAmD;AAC5D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,wBAAwBN,GAA6B;AAC1D,IAAAA,EAAQ,YAAY,EAAE;AAAA,EACxB;AAAA,EAEA,OAAO,YAAYA,GAA6B8iB,GAAmC;AACjF,IAAA9iB,EAAQ,eAAe,GAAG8iB,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,eAAe9iB,GAA6Bmb,GAAqB;AACtE,IAAAnb,EAAQ,aAAa,GAAG,CAACmb,GAAa,CAAM;AAAA,EAC9C;AAAA,EAEA,OAAO,cAAcnb,GAA6Bob,GAAoB;AACpE,IAAApb,EAAQ,aAAa,GAAG,CAACob,GAAY,CAAK;AAAA,EAC5C;AAAA,EAEA,OAAO,aAAapb,GAA6B+iB,GAAkB;AACjE,IAAA/iB,EAAQ,cAAc,GAAG+iB,GAAW,OAAO,GAAG,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,aAAa/iB,GAA6BgjB,GAAkB;AACjE,IAAAhjB,EAAQ,cAAc,GAAGgjB,GAAW,CAAC;AAAA,EACvC;AAAA,EAEA,OAAO,aAAahjB,GAA6BijB,GAAmB;AAClE,IAAAjjB,EAAQ,aAAa,GAAG,CAACijB,GAAW,CAAM;AAAA,EAC5C;AAAA,EAEA,OAAO,SAASjjB,GAA6BkjB,GAAe;AAC1D,IAAAljB,EAAQ,aAAa,GAAG,CAACkjB,GAAO,CAAM;AAAA,EACxC;AAAA,EAEA,OAAO,iBAAiBljB,GAA6BmjB,GAAsB;AACzE,IAAAnjB,EAAQ,cAAc,GAAGmjB,GAAe,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,UAAUnjB,GAA6BojB,GAAgB;AAC5D,IAAApjB,EAAQ,aAAa,GAAG,CAACojB,GAAQ,CAAM;AAAA,EACzC;AAAA,EAEA,OAAO,cAAcpjB,GAA6BqjB,GAAqC;AACrF,IAAArjB,EAAQ,eAAe,GAAGqjB,GAAkB,CAAC;AAAA,EAC/C;AAAA,EAEA,OAAO,sBAAsBrjB,GAAgD;AAE3E,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,yBAAyBA,GAA6B8iB,GAAmC3H,GAAqBC,GAAoB2H,GAAkBC,GAAkBC,GAAmBC,GAAeC,GAAsBC,GAAgBC,GAAwD;AAC3S,WAAAR,EAAmB,wBAAwB7iB,CAAO,GAClD6iB,EAAmB,YAAY7iB,GAAS8iB,CAAc,GACtDD,EAAmB,eAAe7iB,GAASmb,CAAW,GACtD0H,EAAmB,cAAc7iB,GAASob,CAAU,GACpDyH,EAAmB,aAAa7iB,GAAS+iB,CAAS,GAClDF,EAAmB,aAAa7iB,GAASgjB,CAAS,GAClDH,EAAmB,aAAa7iB,GAASijB,CAAS,GAClDJ,EAAmB,SAAS7iB,GAASkjB,CAAK,GAC1CL,EAAmB,iBAAiB7iB,GAASmjB,CAAa,GAC1DN,EAAmB,UAAU7iB,GAASojB,CAAM,GAC5CP,EAAmB,cAAc7iB,GAASqjB,CAAgB,GACnDR,EAAmB,sBAAsB7iB,CAAO;AAAA,EACzD;AAAA,EAEA,SAA8B;AAC5B,WAAO,IAAIsjB;AAAA,MACR,KAAK,eAAe,OAAO,KAAK,SAAA,EAAY,WAAW;AAAA,MACxD,KAAK,YAAA;AAAA,MACL,KAAK,WAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,MAAA;AAAA,MACL,KAAK,cAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,WAAA;AAAA,IAAW;AAAA,EAEpB;AAAA,EAGA,SAASnjB,GAA+B;AACtC,IAAAA,EAAG,WAAY,KAAK,SAAA,MAAe,OAAO,KAAK,SAAA,EAAY,OAAA,IAAW,MACtEA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,aAAa,KAAK,WAAA,GACrBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,QAAQ,KAAK,MAAA,GAChBA,EAAG,gBAAgB,KAAK,cAAA,GACxBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,aAAa,KAAK,WAAA;AAAA,EACvB;AACA;AAEO,MAAMmjB,GAA4D;AAAA,EACzE,YACSC,IAAiC,MACjCpI,IAAuB,IACvBC,IAAsB,IACtB2H,IAAoB,OAAO,GAAG,GAC9BC,IAAoB,GACpBC,IAAqB,IACrBC,IAAiB,IACjBC,IAAwB,GACxBC,IAAkB,IAClBI,IAAyC,MACjD;AAVQ,SAAA,WAAAD,GACA,KAAA,cAAApI,GACA,KAAA,aAAAC,GACA,KAAA,YAAA2H,GACA,KAAA,YAAAC,GACA,KAAA,YAAAC,GACA,KAAA,QAAAC,GACA,KAAA,gBAAAC,GACA,KAAA,SAAAC,GACA,KAAA,aAAAI;AAAA,EACP;AAAA,EAGF,KAAKxjB,GAAiD;AACpD,UAAMujB,IAAY,KAAK,aAAa,OAAO,KAAK,SAAU,KAAKvjB,CAAO,IAAI,GACpEwjB,IAAc,KAAK,eAAe,OAAOxjB,EAAQ,aAAa,KAAK,UAAW,IAAI;AAExF,WAAO6iB,EAAmB;AAAA,MAAyB7iB;AAAA,MACjDujB;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACLC;AAAA,IAAA;AAAA,EAEJ;AACA;ACnMO,MAAMC,GAA+D;AAAA,EAArE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAO9jB,GAAUC,GAAqC;AACtD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,mBAAmBA,GAA2BC,GAA0B;AAC7E,YAAQA,KAAO,IAAI4jB,GAAA,GAAa,OAAO7jB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAEA,OAAO,+BAA+BA,GAA2BC,GAA0B;AACzF,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI4jB,GAAA,GAAa,OAAO7jB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EACxF;AAAA,EAIA,eAAeU,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,SAASD,GAAeR,GAA2B;AACjD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAI8a,EAAA,GAAW,OAAO,KAAK,GAAI,WAAW,KAAK,GAAI,SAAS,KAAK,SAAS5a,CAAM,IAAIM,IAAQ,CAAC,GAAG,KAAK,EAAG,IAAI;AAAA,EACtI;AAAA,EAEA,iBAAwB;AACtB,UAAMN,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,aAAa,KAAK,SAASA,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAOF,GAAiD;AACtD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,KAAUF,KAAO,IAAIgjB,EAAA,GAAsB,OAAO,KAAK,GAAI,WAAW,KAAK,SAAS9iB,CAAM,GAAG,KAAK,EAAG,IAAI;AAAA,EAClH;AAAA,EAEA,OAAO,eAAeC,GAA6B;AACjD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,kBAAkBA,GAA6Bmd,GAAyC;AAC7F,IAAAnd,EAAQ,eAAe,GAAGmd,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,YAAYnd,GAA6B8b,GAAmC;AACjF,IAAA9b,EAAQ,eAAe,GAAG8b,GAAgB,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,qBAAqB9b,GAA6BQ,GAA8C;AACrG,IAAAR,EAAQ,YAAY,GAAGQ,EAAK,QAAQ,CAAC;AACrC,aAASb,IAAIa,EAAK,SAAS,GAAGb,KAAK,GAAGA;AACpC,MAAAK,EAAQ,UAAUQ,EAAKb,CAAC,CAAE;AAE5B,WAAOK,EAAQ,UAAA;AAAA,EACjB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BS,GAAiB;AACvE,IAAAT,EAAQ,YAAY,GAAGS,GAAU,CAAC;AAAA,EACpC;AAAA,EAEA,OAAO,UAAUT,GAA6BsiB,GAAiC;AAC7E,IAAAtiB,EAAQ,eAAe,GAAGsiB,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAatiB,GAAgD;AAClE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GAC/BC,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAGA,SAAqB;AACnB,WAAO,IAAI2jB;AAAA,MACT,KAAK,eAAA;AAAA,MACL,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,gBAAgB;AAAA,MACxF,KAAK,aAAa,OAAO,KAAK,OAAA,EAAU,WAAW;AAAA,IAAA;AAAA,EAExD;AAAA,EAGA,SAASvjB,GAAsB;AAC7B,IAAAA,EAAG,iBAAiB,KAAK,eAAA,GACzBA,EAAG,WAAW,KAAK,GAAI,cAAiC,KAAK,SAAS,KAAK,IAAI,GAAG,KAAK,eAAA,CAAgB,GACvGA,EAAG,SAAU,KAAK,OAAA,MAAa,OAAO,KAAK,OAAA,EAAU,OAAA,IAAW;AAAA,EAClE;AACA;AAEO,MAAMujB,GAAmD;AAAA,EAChE,YACSrG,IAA6C,MAC7CpB,IAAyB,CAAA,GACzBuG,IAAmC,MAC3C;AAHQ,SAAA,iBAAAnF,GACA,KAAA,WAAApB,GACA,KAAA,SAAAuG;AAAA,EACP;AAAA,EAGF,KAAKxiB,GAAiD;AACpD,UAAMqd,IAAkB,KAAK,mBAAmB,OAAOrd,EAAQ,aAAa,KAAK,cAAe,IAAI,GAC9Fic,IAAWwH,GAAU,qBAAqBzjB,GAASA,EAAQ,uBAAuB,KAAK,QAAQ,CAAC,GAChGwiB,IAAU,KAAK,WAAW,OAAO,KAAK,OAAQ,KAAKxiB,CAAO,IAAI;AAEpE,WAAAyjB,GAAU,eAAezjB,CAAO,GAChCyjB,GAAU,kBAAkBzjB,GAASqd,CAAc,GACnDoG,GAAU,YAAYzjB,GAASic,CAAQ,GACvCwH,GAAU,UAAUzjB,GAASwiB,CAAM,GAE5BiB,GAAU,aAAazjB,CAAO;AAAA,EACvC;AACA;ACnHO,MAAM2jB,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhkB,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAI8jB,GAAA,GAAe,OAAO/jB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8jB,GAAA,GAAe,OAAO/jB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAIA,eAAeU,GAAmD;AAChE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiBN,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,kBAAkBA,GAA6Bmd,GAAyC;AAC7F,IAAAnd,EAAQ,eAAe,GAAGmd,GAAsB,CAAC;AAAA,EACnD;AAAA,EAEA,OAAO,eAAend,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6Bmd,GAA4D;AAChH,WAAAwG,GAAY,iBAAiB3jB,CAAO,GACpC2jB,GAAY,kBAAkB3jB,GAASmd,CAAoB,GACpDwG,GAAY,eAAe3jB,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAI4jB;AAAA,MACT,KAAK,eAAA;AAAA,IAAe;AAAA,EAExB;AAAA,EAGA,SAASzjB,GAAwB;AAC/B,IAAAA,EAAG,iBAAiB,KAAK,eAAA;AAAA,EAC3B;AACA;AAEO,MAAMyjB,GAAqD;AAAA,EAClE,YACSvG,IAA6C,MACrD;AADQ,SAAA,iBAAAA;AAAA,EACP;AAAA,EAGF,KAAKrd,GAAiD;AACpD,UAAMqd,IAAkB,KAAK,mBAAmB,OAAOrd,EAAQ,aAAa,KAAK,cAAe,IAAI;AAEpG,WAAO2jB,GAAY;AAAA,MAAkB3jB;AAAA,MACnCqd;AAAA,IAAA;AAAA,EAEJ;AACA;AClEO,IAAKwG,uBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,UAAU,CAAA,IAAV,WACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBAPUA,IAAAA,MAAA,CAAA,CAAA;AAUL,SAASC,GACd1b,GACAC,GACqE;AACrE,UAAOwb,GAAYzb,CAAI,GAAA;AAAA,IACrB,KAAK;AAAQ,aAAO;AAAA,IACpB,KAAK;AAAa,aAAOC,EAAS,IAAIob,IAAW;AAAA,IACjD,KAAK;AAAe,aAAOpb,EAAS,IAAIsb,IAAa;AAAA,IACrD,KAAK;AAAW,aAAOtb,EAAS,IAAIqX,IAAS;AAAA,IAC7C,KAAK;AAAa,aAAOrX,EAAS,IAAIsY,IAAW;AAAA,IACjD,KAAK;AAAa,aAAOtY,EAAS,IAAIiY,IAAW;AAAA,IACjD,KAAK;AAAgB,aAAOjY,EAAS,IAAI+W,IAAc;AAAA,IACvD;AAAS,aAAO;AAAA,EAAA;AAEpB;ACrBO,MAAM2E,GAAmE;AAAA,EAAzE,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOpkB,GAAUC,GAAuC;AACxD,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,qBAAqBA,GAA2BC,GAA8B;AACnF,YAAQA,KAAO,IAAIkkB,GAAA,GAAe,OAAOnkB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,OAAO,iCAAiCA,GAA2BC,GAA8B;AAC/F,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIkkB,GAAA,GAAe,OAAOnkB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC1F;AAAA,EAEA,cAA0B;AACxB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,UAAU,KAAK,SAASA,CAAM,IAAI8jB,GAAY;AAAA,EACzE;AAAA,EAEA,QAAqChkB,GAAkB;AACrD,UAAME,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,QAAQF,GAAK,KAAK,SAASE,CAAM,IAAI;AAAA,EAChE;AAAA,EAEA,OAAO,iBAAiBC,GAA6B;AACnD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,eAAeA,GAA6Bwe,GAAyB;AAC1E,IAAAxe,EAAQ,aAAa,GAAGwe,GAAaqF,GAAY,IAAI;AAAA,EACvD;AAAA,EAEA,OAAO,WAAW7jB,GAA6BgB,GAAkC;AAC/E,IAAAhB,EAAQ,eAAe,GAAGgB,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,eAAehB,GAAgD;AACpE,UAAMD,IAASC,EAAQ,UAAA;AACvB,WAAAA,EAAQ,cAAcD,GAAQ,CAAC,GACxBA;AAAA,EACT;AAAA,EAEA,OAAO,kBAAkBC,GAA6Bwe,GAAyBxd,GAAqD;AAClI,WAAA+iB,GAAY,iBAAiB/jB,CAAO,GACpC+jB,GAAY,eAAe/jB,GAASwe,CAAW,GAC/CuF,GAAY,WAAW/jB,GAASgB,CAAa,GACtC+iB,GAAY,eAAe/jB,CAAO;AAAA,EAC3C;AAAA,EAEA,SAAuB;AACrB,WAAO,IAAIgkB;AAAA,MACT,KAAK,YAAA;AAAA,OACJ,MAAM;AACL,cAAMpb,IAAOkb,GAAmB,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AAC3E,eAAGlb,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,MAChB,GAAA;AAAA,IAAG;AAAA,EAEL;AAAA,EAGA,SAASzI,GAAwB;AAC/B,IAAAA,EAAG,cAAc,KAAK,YAAA,GACtBA,EAAG,WAAW,MAAM;AAChB,YAAMyI,IAAOkb,GAAmB,KAAK,YAAA,GAAe,KAAK,QAAQ,KAAK,IAAI,CAAC;AAC3E,aAAGlb,MAAS,OAAe,OACpBA,EAAK,OAAA;AAAA,IAChB,GAAA;AAAA,EACF;AACA;AAEO,MAAMob,GAAqD;AAAA,EAClE,YACSxF,IAA2BqF,GAAY,MACvCtiB,IAAqF,MAC7F;AAFQ,SAAA,cAAAid,GACA,KAAA,UAAAjd;AAAA,EACP;AAAA,EAGF,KAAKvB,GAAiD;AACpD,UAAMuB,IAAUvB,EAAQ,mBAAmB,KAAK,OAAO;AAEvD,WAAO+jB,GAAY;AAAA,MAAkB/jB;AAAA,MACnC,KAAK;AAAA,MACLuB;AAAA,IAAA;AAAA,EAEJ;AACA;ACrGO,IAAK0iB,uBAAAA,OACVA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,eAAe,EAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,EAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,EAAA,IAAf,gBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,iBAAiB,IAAA,IAAjB,kBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,kBAAkB,KAAA,IAAlB,mBACAA,EAAAA,EAAA,aAAa,IAAA,IAAb,cACAA,EAAAA,EAAA,mBAAmB,IAAA,IAAnB,oBAvBUA,IAAAA,MAAA,CAAA,CAAA,GCAAC,uBAAAA,OACVA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,sBAAsB,CAAA,IAAtB,uBACAA,EAAAA,EAAA,sBAAsB,CAAA,IAAtB,uBACAA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,YAAY,CAAA,IAAZ,aAVUA,IAAAA,MAAA,CAAA,CAAA;ACKL,MAAMC,EAAuE;AAAA,EAA7E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOxkB,GAAUC,GAAyC;AAC1D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,uBAAuBA,GAA2BC,GAAkC;AACzF,YAAQA,KAAO,IAAIskB,EAAA,GAAiB,OAAOvkB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,mCAAmCA,GAA2BC,GAAkC;AACrG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAIskB,EAAA,GAAiB,OAAOvkB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC5F;AAAA,EAEA,YAAmB;AACjB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAEA,KAAc;AACZ,UAAMA,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAImkB,GAAS;AAAA,EACvE;AAAA,EAIA,QAAQ5jB,GAAmD;AACzD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,OAAOA,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,aAAaA,GAAmD;AAC9D,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,gBAAgBA,GAAmD;AACjE,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,EAAE;AAChD,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,mBAAmBN,GAA6B;AACrD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6BokB,GAAkB;AACjE,IAAApkB,EAAQ,cAAc,GAAGokB,GAAW,OAAO,GAAG,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,MAAMpkB,GAA6BqkB,GAAa;AACrD,IAAArkB,EAAQ,cAAc,GAAGqkB,GAAIH,GAAS,SAAS;AAAA,EACjD;AAAA,EAEA,OAAO,WAAWlkB,GAA6B+e,GAAkC;AAC/E,IAAA/e,EAAQ,eAAe,GAAG+e,GAAe,CAAC;AAAA,EAC5C;AAAA,EAEA,OAAO,UAAU/e,GAA6Bc,GAAiC;AAC7E,IAAAd,EAAQ,eAAe,GAAGc,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,gBAAgBd,GAA6BskB,GAAuC;AACzF,IAAAtkB,EAAQ,eAAe,GAAGskB,GAAoB,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,mBAAmBtkB,GAA6BukB,GAA0C;AAC/F,IAAAvkB,EAAQ,eAAe,GAAGukB,GAAuB,CAAC;AAAA,EACpD;AAAA,EAEA,OAAO,iBAAiBvkB,GAAgD;AAEtE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,oBAAoBA,GAA6BokB,GAAkBC,GAAatF,GAAkCje,GAAiCwjB,GAAuCC,GAA6D;AAC5P,WAAAJ,EAAc,mBAAmBnkB,CAAO,GACxCmkB,EAAc,aAAankB,GAASokB,CAAS,GAC7CD,EAAc,MAAMnkB,GAASqkB,CAAE,GAC/BF,EAAc,WAAWnkB,GAAS+e,CAAa,GAC/CoF,EAAc,UAAUnkB,GAASc,CAAY,GAC7CqjB,EAAc,gBAAgBnkB,GAASskB,CAAkB,GACzDH,EAAc,mBAAmBnkB,GAASukB,CAAqB,GACxDJ,EAAc,iBAAiBnkB,CAAO;AAAA,EAC/C;AAAA,EAEA,SAAyB;AACvB,WAAO,IAAIwkB;AAAA,MACT,KAAK,UAAA;AAAA,MACL,KAAK,GAAA;AAAA,MACL,KAAK,QAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,aAAA;AAAA,MACL,KAAK,gBAAA;AAAA,IAAgB;AAAA,EAEzB;AAAA,EAGA,SAASrkB,GAA0B;AACjC,IAAAA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,KAAK,KAAK,GAAA,GACbA,EAAG,UAAU,KAAK,QAAA,GAClBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,eAAe,KAAK,aAAA,GACvBA,EAAG,kBAAkB,KAAK,gBAAA;AAAA,EAC5B;AACA;AAEO,MAAMqkB,GAAuD;AAAA,EACpE,YACSJ,IAAoB,OAAO,GAAG,GAC9BC,IAAeH,GAAS,WACxBjF,IAAsC,MACtC3d,IAAqC,MACrCmjB,IAA2C,MAC3CC,IAA8C,MACtD;AANQ,SAAA,YAAAN,GACA,KAAA,KAAAC,GACA,KAAA,UAAApF,GACA,KAAA,SAAA3d,GACA,KAAA,eAAAmjB,GACA,KAAA,kBAAAC;AAAA,EACP;AAAA,EAGF,KAAK1kB,GAAiD;AACpD,UAAMif,IAAW,KAAK,YAAY,OAAOjf,EAAQ,aAAa,KAAK,OAAQ,IAAI,GACzEsB,IAAU,KAAK,WAAW,OAAOtB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEykB,IAAgB,KAAK,iBAAiB,OAAOzkB,EAAQ,aAAa,KAAK,YAAa,IAAI,GACxF0kB,IAAmB,KAAK,oBAAoB,OAAO1kB,EAAQ,aAAa,KAAK,eAAgB,IAAI;AAEvG,WAAOmkB,EAAc;AAAA,MAAoBnkB;AAAA,MACvC,KAAK;AAAA,MACL,KAAK;AAAA,MACLif;AAAA,MACA3d;AAAA,MACAmjB;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACrJO,MAAMC,GAAyE;AAAA,EAA/E,cAAA;AACL,SAAA,KAAkC,MAClC,KAAA,SAAS;AAAA,EAAA;AAAA,EACT,OAAOhlB,GAAUC,GAA0C;AAC3D,gBAAK,SAASD,GACd,KAAK,KAAKC,GACH;AAAA,EACT;AAAA,EAEA,OAAO,wBAAwBA,GAA2BC,GAAoC;AAC5F,YAAQA,KAAO,IAAI8kB,GAAA,GAAkB,OAAO/kB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,OAAO,oCAAoCA,GAA2BC,GAAoC;AACxG,WAAAD,EAAG,YAAYA,EAAG,SAAA,IAAaE,EAAY,kBAAkB,IACrDD,KAAO,IAAI8kB,GAAA,GAAkB,OAAO/kB,EAAG,UAAUA,EAAG,SAAA,CAAU,IAAIA,EAAG,SAAA,GAAYA,CAAE;AAAA,EAC7F;AAAA,EAEA,YAAmB;AACjB,UAAMG,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,WAAW,KAAK,SAASA,CAAM,IAAI,OAAO,GAAG;AAAA,EACxE;AAAA,EAIA,OAAOO,GAAmD;AACxD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAIA,MAAMA,GAAmD;AACvD,UAAMP,IAAS,KAAK,GAAI,SAAS,KAAK,QAAQ,CAAC;AAC/C,WAAOA,IAAS,KAAK,GAAI,mBAAmB,KAAK,SAASA,GAAQO,CAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO,oBAAoBN,GAA6B;AACtD,IAAAA,EAAQ,YAAY,CAAC;AAAA,EACvB;AAAA,EAEA,OAAO,aAAaA,GAA6BokB,GAAkB;AACjE,IAAApkB,EAAQ,cAAc,GAAGokB,GAAW,OAAO,GAAG,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO,UAAUpkB,GAA6B4kB,GAAiC;AAC7E,IAAA5kB,EAAQ,eAAe,GAAG4kB,GAAc,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,SAAS5kB,GAA6B6kB,GAAgC;AAC3E,IAAA7kB,EAAQ,eAAe,GAAG6kB,GAAa,CAAC;AAAA,EAC1C;AAAA,EAEA,OAAO,kBAAkB7kB,GAAgD;AAEvE,WADeA,EAAQ,UAAA;AAAA,EAEzB;AAAA,EAEA,OAAO,qBAAqBA,GAA6BokB,GAAkBQ,GAAiCC,GAAmD;AAC7J,WAAAF,GAAe,oBAAoB3kB,CAAO,GAC1C2kB,GAAe,aAAa3kB,GAASokB,CAAS,GAC9CO,GAAe,UAAU3kB,GAAS4kB,CAAY,GAC9CD,GAAe,SAAS3kB,GAAS6kB,CAAW,GACrCF,GAAe,kBAAkB3kB,CAAO;AAAA,EACjD;AAAA,EAEA,SAA0B;AACxB,WAAO,IAAI8kB;AAAA,MACT,KAAK,UAAA;AAAA,MACL,KAAK,OAAA;AAAA,MACL,KAAK,MAAA;AAAA,IAAM;AAAA,EAEf;AAAA,EAGA,SAAS3kB,GAA2B;AAClC,IAAAA,EAAG,YAAY,KAAK,UAAA,GACpBA,EAAG,SAAS,KAAK,OAAA,GACjBA,EAAG,QAAQ,KAAK,MAAA;AAAA,EAClB;AACA;AAEO,MAAM2kB,GAAwD;AAAA,EACrE,YACSV,IAAoB,OAAO,GAAG,GAC9BW,IAAqC,MACrCC,IAAoC,MAC5C;AAHQ,SAAA,YAAAZ,GACA,KAAA,SAAAW,GACA,KAAA,QAAAC;AAAA,EACP;AAAA,EAGF,KAAKhlB,GAAiD;AACpD,UAAM+kB,IAAU,KAAK,WAAW,OAAO/kB,EAAQ,aAAa,KAAK,MAAO,IAAI,GACtEglB,IAAS,KAAK,UAAU,OAAOhlB,EAAQ,aAAa,KAAK,KAAM,IAAI;AAEzE,WAAO2kB,GAAe;AAAA,MAAqB3kB;AAAA,MACzC,KAAK;AAAA,MACL+kB;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AACA;ACxGO,IAAKC,uBAAAA,OACVA,EAAAA,EAAA,cAAc,CAAA,IAAd,eACAA,EAAAA,EAAA,eAAe,CAAA,IAAf,gBACAA,EAAAA,EAAA,QAAQ,CAAA,IAAR,SACAA,EAAAA,EAAA,mBAAmB,CAAA,IAAnB,oBACAA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,aAAa,CAAA,IAAb,cANUA,IAAAA,MAAA,CAAA,CAAA;ACML,MAAMC,GAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,OAAO,iBAAiBC,GAA2B;AAGlD,IAFa,IAAI,SAASA,CAAM,EAE3B,UAAU,GAAG,GAAG,EAAI;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,aAAaA,GAAqB3kB,GAA2B;AACnE,UAAM4kB,IAAO,IAAI,SAASD,CAAM,GAC1BE,IAAY,IAAI,WAAWF,CAAM,GAGjCG,IAAuBF,EAAK,UAAU,GAAG,EAAI,GAG7CG,IAAgB,IAAI/kB,EAAK;AAC/B,QAAI8kB,IAAuBC,IAAgBJ,EAAO;AACjD,qBAAQ,KAAK,mCAAmC,GACzC;AAIR,IAAAC,EAAK,UAAUE,GAAsB9kB,EAAK,QAAQ,EAAI,GAGtD6kB,EAAU,IAAI7kB,GAAM8kB,IAAuB,CAAC;AAG5C,UAAME,IAAmBF,IAAuBC;AAChD,WAAAH,EAAK,UAAU,GAAGI,GAAkB,EAAI,GAEjC;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAO,iBAAiBL,GAAqB3kB,GAAkBilB,GAA4B;AAC1F,UAAML,IAAO,IAAI,SAASD,CAAM,GAC1BE,IAAY,IAAI,WAAWF,CAAM,GAGjCG,IAAuBF,EAAK,UAAU,GAAG,EAAI;AAGnD,QAAIE,IAAuB9kB,EAAK,SAAS2kB,EAAO;AAC/C,qBAAQ;AAAA,QACP,gCAAgCM,IAAW,2BAA2BA,CAAQ,MAAM,OAAO,kBAC3EH,CAAoB,IAAIH,EAAO,UAAU,qBACjD3kB,EAAK,MAAM;AAAA,MAAA,GAGb;AAIR,IAAA6kB,EAAU,IAAI7kB,GAAM8kB,CAAoB;AAGxC,UAAME,IAAmBF,IAAuB9kB,EAAK;AACrD,WAAA4kB,EAAK,UAAU,GAAGI,GAAkB,EAAI,GAEjC;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,aAAaL,GAAqBO,IAA2B,GAAGD,GAAmB;AACzF,UAAML,IAAO,IAAI,SAASD,CAAM,GAC1BE,IAAY,IAAI,WAAWF,CAAM,GAEjCG,IAAuBF,EAAK,UAAU,GAAG,EAAI,GAC7CO,IAAkB;AACxB,QAAIC,IAAaF,IAAmBC,IAAkBA,IAAkBD;AACxE,QAAIJ,KAAwBM;AAC3B,aAAO,EAAE,UAAU,CAAA,GAAI,iBAAiBA,GAAY,YAAY,GAAA;AAGjE,UAAMC,IAAc,KACdC,IAA4B,IAAI,MAAMD,CAAW;AACvD,QAAIE,IAAW;AAEf,QAAI;AACH,aAAOH,IAAaN,KAEf,EAAAS,KAAYF,KAGZD,IAAa,IAAIN,MALoB;AAOzC,cAAMU,IAAYJ,GACZK,IAAcb,EAAK,UAAUY,GAAW,EAAI,GAC5CE,IAAeF,IAAY,GAC3BG,IAAUD,IAAeD;AAG/B,YAAIE,IAAUb,EAAsB;AAGpC,cAAMc,IAAiB,IAAI,WAAWf,EAAU,SAASa,GAAcC,CAAO,CAAC,GAGzEvmB,IAAK,IAAIymB,GAAWD,CAAc,GAClCvJ,IAAU0B,EAAc,uBAAuB3e,CAAE;AAEvD,QAAAkmB,EAASC,GAAU,IAAIlJ,GAGvB+I,IAAaO;AAAA,MACd;AAEA,aAAAL,EAAS,SAASC,GACX;AAAA,QACN,UAAAD;AAAA,QACA,iBAAiBF;AAAA,QACjB,YAAYG,IAAW;AAAA,MAAA;AAAA,IAEzB,SAASf,GAAO;AACf,qBAAQ,MAAM,sDAAsDA,CAAK,GACzEc,EAAS,SAASC,GACX;AAAA,QACN,UAAAD;AAAA,QACA,iBAAiBJ,IAAmBC,IAAkBA,IAAkBD;AAAA,QACxE,YAAY;AAAA,MAAA;AAAA,IAEd;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,gBAAgBP,GAGrB;AACD,UAAMJ,IAAS,KAAK,aAAaI,GAAQ,CAAC;AAC1C,WAAO;AAAA,MACN,UAAUJ,EAAO;AAAA,MACjB,eAAeA,EAAO,SAAS;AAAA,IAAA;AAAA,EAEjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,wBAAwBI,GAA6B;AAE3D,WADa,IAAI,SAASA,CAAM,EACpB,UAAU,GAAG,EAAI;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,WAAWA,GAAqBO,GAAmC;AACzE,UAAMJ,IAAuB,KAAK,wBAAwBH,CAAM,GAE1DmB,IAAyB,KAAK,IAAIZ,GADhB,CACiD;AACzE,WAAOJ,IAAuBgB;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,oBAAoBC,IAA0B,KAAKpD,IAAwB,MAAc;AAE/F,UAAMqD,IAAWD,IAAkBpD,GAC7BsD,IAAW,KAAK,MAAMD,IAAW,IAAI;AAC3C,WAAO,IAAaA,IAAWC;AAAA,EAChC;AACD;ACxLO,SAASC,GACf3lB,GACA4lB,GACA1O,GACAtT,GACS;AACT,MAAI,CAAC,OAAO,UAAU5D,CAAI,KAAKA,IAAO,KAAKA,IAAO;AACjD,UAAM,IAAI,MAAM,iBAAiBA,CAAI,EAAE;AAExC,MAAI,CAAC6lB,GAAQD,CAAS;AACrB,UAAM,IAAI,MAAM,yDAAyDA,CAAS,EAAE;AAErF,MAAI,CAAC1O,KAAK,OAAOA,KAAM;AACtB,UAAM,IAAI,MAAM,kBAAkBA,CAAC,EAAE;AAEtC,SAAO4O,GAAM,YAAY;AAAA,IACxB,YAAY5O;AAAA,IACZ,MAAAlX;AAAA,IACA,QAAQ4lB;AAAA,IACR,QAAQhiB,KAAUA,EAAO,SAASA,IAAS;AAAA,EAAA,CACpC;AACT;AAKO,SAASmiB,GAAkBC,GAAwBpiB,GAAkC;AAC3F,QAAMsT,IAAI+O,GAAiBD,EAAI,IAAI;AACnC,MAAI,CAAC9O;AACJ,UAAM,IAAI,MAAM,yCAAyC8O,EAAI,IAAI,EAAE;AAEpE,SAAOL,GAAUK,EAAI,MAAMA,EAAI,QAAQ9O,GAAGtT,CAAM;AACjD;AAKO,SAASsiB,GAAW/V,GAKzB;AACD,QAAMgW,IAAUL,GAAM,OAAO3V,CAAK;AAClC,MAAIgW,EAAQ,SAAS;AACpB,UAAM,IAAI,MAAM,uBAAuBA,EAAQ,IAAI,EAAE;AAEtD,QAAM,EAAE,YAAA5b,GAAY,MAAAvK,GAAM,QAAAO,GAAQ,QAAAqD,EAAA,IAAWuiB,EAAQ;AACrD,SAAO;AAAA,IACN,MAAAnmB;AAAA,IACA,QAAAO;AAAA,IACA,GAAGgK;AAAA,IACH,QAAA3G;AAAA,EAAA;AAEF;AAgBO,SAASiiB,GAAQtT,GAAoB;AAC3C,SAAO,iBAAiB,KAAKA,CAAC;AAC/B;AASO,SAAS6T,GAAcC,GAAuB;AAIpD,SAHcA,EAAM,YAAA,EACG,QAAQ,eAAe,GAAG,EACtB,QAAQ,OAAO,GAAG,EAC5B,QAAQ,YAAY,EAAE;AACxC;AAMO,SAASC,GAASC,IAAgB,GAAW;AACnD,QAAMC,IAAM,KAAK,IAAI,GAAG,KAAK,IAAID,GAAO,EAAE,CAAC;AAC3C,MAAIE;AACJ,MAAI,OAAO,aAAe,OAAe,WAAW,QAAQ;AAC3D,IAAAA,IAAM,IAAI,WAAWD,CAAG,GACxB,WAAW,OAAO,gBAAgBC,CAAG;AAAA,OAC/B;AAEN,IAAAA,IAAM,IAAI,WAAWD,CAAG;AACxB,aAAS5nB,IAAI,GAAGA,IAAI4nB,GAAK5nB;AACxB,MAAA6nB,EAAI7nB,CAAC,IAAI,KAAK,MAAM,KAAK,OAAA,IAAW,GAAG;AAAA,EAEzC;AAMA,UAHC,OAAO,SAAW,MACf,OAAO,KAAK6nB,CAAG,EAAE,SAAS,QAAQ,IAClC,KAAK,OAAO,aAAa,GAAGA,CAAG,CAAC,GACzB,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,QAAQ,EAAE;AACtE;AAOO,SAASR,GAAiBxlB,GAAsC;AACtE,aAAW,KAAKA;AACf,QAAI,EAAE,CAAC,MAAM,OAAO,OAAO,EAAE,CAAC,KAAM,YAAY,EAAE,CAAC,EAAE,SAAS;AAC7D,aAAO,EAAE,CAAC;AAIb;AAQO,SAASimB,GACfjmB,GACAkmB,GACAC,GACS;AACT,QAAMC,IAAWZ,GAAiBxlB,CAAI;AACtC,MAAIomB,EAAU,QAAOA;AACrB,MAAIF,KAAUA,EAAO,KAAA,EAAO,SAAS,GAAG;AACvC,UAAM5W,IAAOqW,GAAcO,EAAO,KAAA,CAAM;AACxC,WAAO5W,EAAK,SAAS,IAAIA,IAAOuW,GAASM,GAAS,eAAe,CAAC;AAAA,EACnE;AACA,SAAON,GAASM,GAAS,eAAe,CAAC;AAC1C;AAOO,SAASE,GAAa9mB,GAAc4lB,GAAmB1O,GAAmB;AAChF,MAAI,CAAC,OAAO,UAAUlX,CAAI,KAAKA,IAAO,KAAKA,IAAO;AACjD,UAAM,IAAI,MAAM,iBAAiBA,CAAI,EAAE;AAExC,MAAI,CAAC6lB,GAAQD,CAAS;AACrB,UAAM,IAAI,MAAM,yDAAyDA,CAAS,EAAE;AAErF,MAAI,CAAC1O,KAAK,OAAOA,KAAM;AACtB,UAAM,IAAI,MAAM,kBAAkBA,CAAC,EAAE;AAEtC,SAAO,GAAGlX,CAAI,IAAI4lB,CAAS,IAAI1O,CAAC;AACjC;AAKO,SAAS6P,GAAcC,GAAqB;AAClD,QAAMC,IAAQD,EAAE,MAAM,GAAG;AACzB,MAAIC,EAAM,WAAW;AACpB,UAAM,IAAI,MAAM,6BAA6BD,CAAC,EAAE;AAEjD,QAAMhnB,IAAO,OAAOinB,EAAM,CAAC,CAAC,GACtB1mB,IAAS0mB,EAAM,CAAC,GAChB/P,IAAI+P,EAAM,CAAC;AACjB,MAAI,CAAC,OAAO,UAAUjnB,CAAI;AACzB,UAAM,IAAI,MAAM,8BAA8BinB,EAAM,CAAC,CAAC,EAAE;AAEzD,MAAI,CAACpB,GAAQtlB,CAAM;AAClB,UAAM,IAAI,MAAM,gCAAgCA,CAAM,EAAE;AAEzD,MAAI,CAAC2W;AACJ,UAAM,IAAI,MAAM,2BAA2BA,CAAC,EAAE;AAE/C,SAAO,EAAE,MAAAlX,GAAM,QAAAO,GAAQ,GAAA2W,EAAA;AACxB;AAKO,SAASgQ,GAAqBlB,GAAgC;AACpE,QAAM9O,IAAI+O,GAAiBD,EAAI,IAAI;AACnC,MAAI,CAAC9O;AACJ,UAAM,IAAI,MAAM,yCAAyC8O,EAAI,IAAI,EAAE;AAEpE,SAAOc,GAAad,EAAI,MAAMA,EAAI,QAAQ9O,CAAC;AAC5C;AAaO,SAASiQ,GACfnnB,GACA4lB,GACA1O,GACAtT,GACS;AACT,QAAMojB,IAAIF,GAAa9mB,GAAM4lB,GAAW1O,CAAC;AACzC,MAAItT,KAAUA,EAAO,SAAS,GAAG;AAChC,UAAMwjB,IAAgBxjB,EAAO,IAAI,CAAC0O,MAAM,mBAAmBA,CAAC,CAAC,EAAE,KAAK,GAAG;AACvE,WAAO,cAAc0U,CAAC,WAAWI,CAAa;AAAA,EAC/C;AACA,SAAO,cAAcJ,CAAC;AACvB;AAMO,SAASK,GAAsBrB,GAAwBpiB,GAAkC;AAC/F,QAAMsT,IAAI+O,GAAiBD,EAAI,IAAI;AACnC,MAAI,CAAC9O;AACJ,UAAM,IAAI,MAAM,yCAAyC8O,EAAI,IAAI,EAAE;AAEpE,SAAOmB,GAAcnB,EAAI,MAAMA,EAAI,QAAQ9O,GAAGtT,CAAM;AACrD;AAKO,SAAS0jB,GAAeC,GAAuD;AACrF,MAAI,CAACA,EAAU,WAAW,aAAa;AACtC,UAAM,IAAI,MAAM,8BAA8BA,CAAS,EAAE;AAE1D,QAAMC,IAAOD,EAAU,MAAM,EAAoB,GAC3C,CAACE,GAAOC,CAAE,IAAIF,EAAK,MAAM,KAAK,CAAC,GAC/BR,IAAID,GAAcU,CAAK;AAC7B,MAAI,CAACC,EAAI,QAAO,EAAE,GAAAV,EAAA;AAElB,QAAMW,IADS,IAAI,gBAAgBD,CAAE,EACV,IAAI,QAAQ,GACjC9jB,IAAS+jB,IAAcA,EAAY,MAAM,GAAG,EAAE,IAAI,kBAAkB,IAAI;AAC9E,SAAO,EAAE,GAAAX,GAAG,QAAApjB,EAAA;AACb;AAIO,SAASgkB,GAAU5nB,GAAuB;AAChD,SAAO,OAAO,UAAUA,CAAI,KAAKA,KAAQ,OAASA,IAAO;AAC1D;AAQO,SAAS6nB,GAAWpnB,GAAkByW,GAAuB;AACnE,QAAM4Q,IAAkB,CAAA;AACxB,MAAIC,IAAW;AACf,aAAWC,KAAKvnB;AACf,IAAI,CAACsnB,KAAYC,EAAE,CAAC,MAAM,OACzBF,EAAI,KAAK,CAAC,KAAK5Q,CAAC,CAAC,GACjB6Q,IAAW,MAEXD,EAAI,KAAKE,CAAC;AAGZ,SAAKD,KAAUD,EAAI,KAAK,CAAC,KAAK5Q,CAAC,CAAC,GACzB4Q;AACR;AAOO,SAASG,GACfxnB,GACAkmB,GACAC,GACa;AAEb,MADiBX,GAAiBxlB,CAAI,EACxB,QAAOA,EAAK,MAAA;AAC1B,QAAMyW,IAAIwP,GAAQjmB,GAAMkmB,GAAQC,CAAO;AACvC,SAAOiB,GAAWpnB,GAAMyW,CAAC;AAC1B;ACjSO,MAAMgR,GAAa;AAAA,EAoCzB,cAAc;AA/Bd,SAAQ,cAAc,IAAI,YAAA,GAC1B,KAAQ,oCAAoB,IAAA,GAQ5B,KAAQ,gCAAgB,IAAA,GAExB,KAAQ,eAA8B,MACtC,KAAQ,kBAAyD,MAEjE,KAAQ,SAAS,CAACC,MAAgB;AAAA,IAAC,GACnC,KAAQ,cAAc,IAAI,YAAA,GAS1B,KAAQ,oCAAoB,IAAA,GAK5B,KAAO,0BAA0B,CAAC,iBAAiB,aAAa;AAM/D,UAAMC,IAAe,IAAI,eAAA,GACnBC,IAAqB,IAAI,eAAA,GACzBC,IAAgB,IAAI,eAAA,GACpBC,IAAoB,IAAI,eAAA,GACxBC,IAAqB,IAAI,eAAA,GACzBC,IAAc,IAAI,eAAA,GAClBC,IAAc,IAAI,eAAA,GAClBC,IAAmB,IAAI,eAAA,GAEvBC,IAAgB,IAAA,IAAA,0BAAA,YAAA,GAAA,GAChBC,IAAW,IAAA,IAAA,oBAAA,YAAA,GAAA,GACXC,IAAY,IAAA,IAAA,qBAAA,YAAA,GAAA,GACZC,IAAY,IAAA,IAAA,qBAAA,YAAA,GAAA;AAElB,SAAK,cAAc,IAAI,OAAOH,GAAe,EAAE,MAAM,UAAU,GAC/D,KAAK,QAAQ,IAAI,OAAOC,GAAU,EAAE,MAAM,UAAU,GACpD,KAAK,SAAS,IAAI,OAAOC,GAAW,EAAE,MAAM,UAAU,GACtD,KAAK,SAAS,IAAI,OAAOC,GAAW,EAAE,MAAM,UAAU,GAItD,KAAK,YAAY;AAAA,MAChB;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,UACR,UAAUJ,EAAiB;AAAA,UAC3B,WAAWJ,EAAkB;AAAA,UAC7B,YAAYF,EAAmB;AAAA,UAC/B,YAAYG,EAAmB;AAAA,QAAA;AAAA,MAChC;AAAA,MAED;AAAA,QACCG,EAAiB;AAAA,QACjBJ,EAAkB;AAAA,QAClBF,EAAmB;AAAA,QACnBG,EAAmB;AAAA,MAAA;AAAA,IACpB,GAKD,KAAK,MAAM;AAAA,MACV;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,UACR,YAAYJ,EAAa;AAAA,UACzB,iBAAiBG,EAAkB;AAAA,QAAA;AAAA,MACpC;AAAA,MAED,CAACH,EAAa,OAAOG,EAAkB,KAAK;AAAA,IAAA,GAI7C,KAAK,iBAAiBG,EAAY,OAGlC,KAAK,eAAe,YAAY,CAAC7R,MAAU;AAC1C,YAAM,EAAE,OAAA0E,GAAO,MAAA9b,EAAA,IAASoX,EAAM;AAE9B,UAAI,CAAC0E,KAAS,CAAC9b,GAAM;AACpB,gBAAQ,IAAI,iDAAiD;AAC7D;AAAA,MACD;AAIA,YAAMupB,IAAe,KAAK,cAAc,IAAIzN,CAAK;AACjD,UAAIyN,GAAc;AAGjB,QADgB7E,GAAkB,iBAAiB6E,EAAa,QAAQvpB,GAAM8b,CAAK,KAElF,KAAK,SAAS,gBAAgBA,CAAK,IAAIA,CAAK;AAE7C;AAAA,MACD;AAEA,YAAM0N,IAAU,KAAK,UAAU,IAAI1N,CAAK;AACxC,UAAI0N,GAAS;AAGZ,QADgB9E,GAAkB,iBAAiB8E,EAAQ,QAAQxpB,GAAM8b,CAAK,KAE7E,KAAK,SAAS,WAAWA,CAAK,IAAIA,CAAK;AAExC;AAAA,MACD;AAEA,cAAQ,IAAI,sDAAsDA,CAAK;AAAA,IACxE,GAGA,KAAK,sBAAsBoN,EAAiB,OAC5C,KAAK,oBAAoB,YAAY,CAAC9R,MAAU;AAC/C,YAAM,EAAE,MAAAxP,GAAM,QAAAkS,GAAQ,KAAA/V,EAAA,IAAQ,KAAK,MAAMqT,EAAM,IAAI;AACnD,MAAIxP,MAAS,kBAAkB7D,KAAO+V,KACrC,KAAK,cAAc,IAAI/V,GAAK,EAAE,QAAA+V,GAAQ,WAAW,KAAK,IAAA,GAAO,GAC7D,KAAK,SAAS,gBAAgB,EAAE,QAAAA,GAAQ,KAAA/V,GAAK,KAE7C,QAAQ,IAAI,mCAAmC6D,GAAM,QAAQ7D,GAAK,WAAW+V,CAAM;AAAA,IAErF,GAIA,KAAK,OAAO;AAAA,MACX;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,UACR,iBAAiB8O,EAAmB;AAAA,UACpC,WAAWD,EAAa;AAAA,UACxB,YAAYE,EAAc;AAAA,UAC1B,UAAUI,EAAY;AAAA,QAAA;AAAA,MACvB;AAAA,MAED,CAACL,EAAmB,OAAOD,EAAa,OAAOE,EAAc,OAAOI,EAAY,KAAK;AAAA,IAAA,GAKtF,KAAK,OAAO;AAAA,MACX;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,UACR,YAAYJ,EAAc;AAAA,UAC1B,iBAAiBE,EAAmB;AAAA,UACpC,UAAUC,EAAY;AAAA,QAAA;AAAA,MACvB;AAAA,MAED,CAACH,EAAc,OAAOE,EAAmB,OAAOC,EAAY,KAAK;AAAA,IAAA,GAIlEA,EAAY,MAAM,YAAY,CAAC5R,MAAU;AACxC,YAAMqS,IAAMrS,EAAM;AAClB,MAAIqS,EAAI,SAAS,cAChB,KAAK,qBAAqBA,CAAG;AAAA,IAE/B,GAEA,KAAK,oBAAA,GAEL,eAAe,MAAM,KAAK,gBAAgB;AAAA,EAC3C;AAAA,EAEQ,aAAapN,GAAcqN,GAA2B;AAC7D,IAAIA,KAAYA,EAAS,SACxB,KAAK,OAAO,YAAYrN,GAASqN,CAAQ,IAEzC,KAAK,OAAO,YAAYrN,CAAO;AAAA,EAEjC;AAAA,EAEQ,qBAAqBoN,GAAU;AACtC,QAAIA,EAAI,OAAO,cAAc;AAC5B,cAAQ,IAAI,sBAAsBA,EAAI,KAAK,YAAY,UAAUA,EAAI,MAAM,GACvEA,EAAI,OACP,KAAK,eAAeA,EAAI,QAEpB,KAAK,wBAAwB,KAAK,iBAAiB,SAAS,cAAc,KAAK,iBAAiB,SAAS,gBAC5G,QAAQ,IAAI,8CAA8C,KAAK,YAAY,GAC3E,KAAK,YAAY,KAAK,cAAe,gBAAgB;AAAA,QACpD,KAAK,KAAK;AAAA,QACV,cAAc,KAAK,gBAAgB,QAAQ;AAAA,MAAA,CAC3C,GACD,KAAK,kBAAkB,MACvB,KAAK,uBAAuB,QAClB,KAAK,oBAEf,KAAK;AAAA,QACJ,KAAK;AAAA,QACL,KAAK,gBAAgB;AAAA,QACrB,KAAK,gBAAgB;AAAA,MAAA,GAEtB,KAAK,kBAAkB;AAGzB,YAAME,IAAYF,EAAI,MAAM,CAAC,CAAC,KAAK;AACnC,WAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,cAAc,WAAAE,GAAW;AAAA,IAC/D,WAAWF,EAAI,OAAO,gBAAgBA,EAAI,IAAI;AAC7C,YAAMjO,IAAS,KAAK,MAAMiO,EAAI,MAAM;AACpC,WAAK,OAAOjO,CAAM;AAAA,IACnB;AAAA,EACD;AAAA,EAEQ,sBAAsB;AAC7B,SAAK,OAAO,YAAY,OAAOpE,MAAU;AACxC,YAAMvW,IAAK,OAAOuW,EAAM,QAAS,WAAWA,EAAM,OAAO;AACzD,UAAKvW,GACL;AAAA,YAAI,KAAK,cAAc,IAAIA,CAAE,GAAG;AAC/B,eAAK,SAAS,gBAAgBA,CAAE,IAAIA,CAAE;AACtC;AAAA,QACD;AACA,YAAI,KAAK,UAAU,IAAIA,CAAE,GAAG;AAC3B,eAAK,SAAS,WAAWA,CAAE,IAAIA,CAAE;AACjC;AAAA,QACD;AAAA;AAAA,IACD,GAIA,KAAK,OAAO,YAAY,OAAOuW,MAAU;AACxC,YAAMqS,IAAMrS,EAAM;AAIlB,UAAIqS,GAAK,SAAS,gBAAgB;AACjC,gBAAQ,IAAI,wBAAwBA,EAAI,aAAaA,EAAI,MAAM,GAC/D,KAAK,eAAeA,EAAI,QAGpBA,EAAI,gBAAgB,WAAWA,EAAI,cAAc,KAAK,iBAAiB,SAAS,gBACnF,QAAQ,IAAI,oCAAoCA,EAAI,MAAM,GAC1D,KAAK,YAAYA,EAAI,QAAQ,SAAS;AAAA,UACrC,KAAKA,EAAI;AAAA,UACT,cAAc,KAAK,gBAAgB,QAAQ;AAAA,QAAA,CAC3C,GACD,KAAK,kBAAkB,QACb,KAAK,oBAEf,KAAK,YAAYA,EAAI,QAAQA,EAAI,aAAa,KAAK,gBAAgB,OAAO,GAC1E,KAAK,kBAAkB,OAExB,KAAK,SAAS,QAAQ,EAAE,QAAQA,EAAI,QAAQ,WAAW,IAAM;AAC7D;AAAA,MACD;AAGA,UAAIA,GAAK,SAAS,YAAY;AAC7B,aAAK,qBAAqBA,CAAG;AAC7B;AAAA,MACD;AAGA,UAAIA,GAAK,SAAS,qBAAqB;AACtC,cAAM,EAAE,IAAA5oB,GAAI,IAAAgjB,GAAI,SAAApF,EAAA,IAAYgL;AAC5B,YAAI;AACH,gBAAMtmB,IAAS,OAAe;AAC9B,cAAI,CAACA,EAAO,OAAM,IAAI,MAAM,2CAA2C;AAEvE,cAAIohB;AACJ,kBAAQV,GAAA;AAAA,YACP,KAAK;AACJ,cAAAU,IAAS,MAAMphB,EAAM,aAAA;AACrB;AAAA,YACD,KAAK;AACJ,cAAAohB,IAAS,MAAMphB,EAAM,UAAU,KAAK,MAAMsb,CAAO,CAAC;AAClD;AAAA,YACD,KAAK;AACJ,cAAA8F,IAAS,MAAMphB,EAAM,MAAM,QAAQsb,EAAQ,QAAQA,EAAQ,SAAS;AACpE;AAAA,YACD,KAAK;AACJ,cAAA8F,IAAS,MAAMphB,EAAM,MAAM,QAAQsb,EAAQ,QAAQA,EAAQ,UAAU;AACrE;AAAA,YACD,KAAK;AACJ,cAAA8F,IAAS,MAAMphB,EAAM,MAAM,QAAQsb,EAAQ,QAAQA,EAAQ,SAAS;AACpE;AAAA,YACD,KAAK;AACJ,cAAA8F,IAAS,MAAMphB,EAAM,MAAM,QAAQsb,EAAQ,QAAQA,EAAQ,UAAU;AACrE;AAAA,YACD;AACC,oBAAM,IAAI,MAAM,gCAAgCoF,CAAE,EAAE;AAAA,UAAA;AAEtD,eAAK,OAAO,YAAY,EAAE,MAAM,sBAAsB,IAAAhjB,GAAI,IAAI,IAAM,QAAA0jB,GAAQ;AAAA,QAC7E,SAAS3R,GAAQ;AAChB,eAAK,OAAO,YAAY;AAAA,YACvB,MAAM;AAAA,YACN,IAAA/R;AAAA,YACA,IAAI;AAAA,YACJ,OAAO+R,EAAE,WAAW,OAAOA,CAAC;AAAA,UAAA,CAC5B;AAAA,QACF;AACA;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEO,cAAcgU,GAAuB;AAC3C,QAAIA,EAAM,SAAS,GAAI,QAAOA;AAC9B,QAAIvY,IAAO;AACX,aAASlP,IAAI,GAAGA,IAAIynB,EAAM,QAAQznB,KAAK;AACtC,YAAMyqB,IAAOhD,EAAM,WAAWznB,CAAC;AAC/B,MAAAkP,KAAQA,KAAQ,KAAKA,IAAOub,GAC5Bvb,IAAOA,IAAOA;AAAA,IACf;AAEA,WADgB,KAAK,IAAIA,CAAI,EAAE,SAAS,EAAE,EAC3B,UAAU,GAAG,EAAE;AAAA,EAC/B;AAAA,EAEO,iBACNzG,GACAiiB,GACA1C,GACO;AACP,SAAK,YAAY,iBAAiBvf,GAAMiiB,GAA2B1C,CAAO;AAAA,EAC3E;AAAA,EAEO,oBACNvf,GACAiiB,GACA1C,GACO;AACP,SAAK,YAAY,oBAAoBvf,GAAMiiB,GAA2B1C,CAAO;AAAA,EAC9E;AAAA,EAEQ,SAASvf,GAAckiB,GAAwB;AACtD,SAAK,YAAY,cAAc,IAAI,YAAYliB,GAAM,EAAE,QAAAkiB,EAAA,CAAQ,CAAC;AAAA,EACjE;AAAA,EAEA,UACCjN,GACApB,GACA0L,GACc;AACd,UAAMrL,IAAQ,KAAK,cAAce,CAAc,GACzCkN,IAAuB,KAAK,cAAc,IAAIjO,CAAK;AACzD,QAAIiO;AACH,aAAAA,EAAqB,YACdA,EAAqB;AAG7B,UAAMC,IAAavO,EAAS,OAAO,CAACwO,GAAKC,MAAQD,KAAOC,EAAI,SAAS,MAAM,CAAC,GACtEC,IAAazF,GAAkB,oBAAoBsF,GAAY7C,EAAQ,aAAa,GACpFxC,IAAS,IAAI,YAAYwF,CAAU;AACzC,IAAAzF,GAAkB,iBAAiBC,CAAM,GAEzC,KAAK,cAAc,IAAI7I,GAAO,EAAE,QAAA6I,GAAQ,SAAAwC,GAAS,UAAU,GAAG;AAE9D,UAAMiD,IAAW,IAAItH;AAAA,MACpB,IAAIX,GAAgBgF,EAAQ,YAAY,EAAE;AAAA,MAC1CA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ,YAAY,OAAOA,EAAQ,SAAS,IAAI;AAAA,MAChDA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ,aAAa,KAAK,YAAY,OAAOA,EAAQ,UAAU,IAAI;AAAA,IAAA,GAG9DkD,IAAa,IAAInH;AAAA,MACtB,KAAK,YAAY,OAAOpH,CAAK;AAAA,MAC7BL,EAAS;AAAA,QACR,CAAC5I,MACA,IAAIkI;AAAA,UACHlI,EAAE;AAAA,UACFA,EAAE;AAAA,UACFA,EAAE;AAAA,UACF,OAAO,QAAQA,EAAE,QAAQ,CAAA,CAAE,EAAE;AAAA,YAC5B,CAAC,CAACyX,GAAKC,CAAM,MAAM,IAAIrqB,GAAW,CAACoqB,GAAK,GAAGC,CAAM,CAAC;AAAA,UAAA;AAAA,UAEnD1X,EAAE;AAAA,UACFA,EAAE;AAAA,UACFA,EAAE;AAAA,UACF,KAAK,YAAY,OAAOA,EAAE,MAAM;AAAA,UAChCA,EAAE;AAAA,UACFA,EAAE;AAAA,UACFA,EAAE;AAAA,UACFA,EAAE;AAAA,QAAA;AAAA,MACH;AAAA,MAEFuX;AAAA,IAAA,GAGKI,IAAQ,IAAIhH,GAAaH,GAAY,WAAWgH,CAAU,GAC1D7qB,IAAU,IAAIF,EAAY,QAAQ,IAAI;AAC5C,IAAAE,EAAQ,OAAOgrB,EAAM,KAAKhrB,CAAO,CAAC;AAClC,UAAMirB,IAAajrB,EAAQ,aAAA;AAE3B,gBAAK,aAAa,EAAE,mBAAmBirB,EAAA,GAAc,CAACA,EAAW,MAAM,CAAC,GAEjE9F;AAAA,EACR;AAAA,EAEA,UAAU7I,GAAwC;AACjD,UAAMiO,IAAuB,KAAK,cAAc,IAAIjO,CAAK;AACzD,QAAIiO;AACH,aAAAA,EAAqB,YACdA,EAAqB;AAAA,EAG9B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,mBAAiG;AAChG,WAAO,IAAI,IAAI,KAAK,aAAa;AAAA,EAClC;AAAA,EAEA,YAAYlN,GAA8B;AACzC,UAAMf,IAAQe,EAAe,SAAS,KAAKA,IAAiB,KAAK,cAAcA,CAAc,GACvF0M,IAAe,KAAK,cAAc,IAAIzN,CAAK;AACjD,IAAIyN,KACHA,EAAa;AAAA,EAEf;AAAA,EAEA,QAAQmB,GAAoBtT,GAAmBuT,IAA0B,CAAA,GAAiB;AACzF,UAAMhG,IAAS,IAAI,YAAY,IAAI;AACnC,IAAAD,GAAkB,iBAAiBC,CAAM;AAEzC,UAAMiG,IAAY,IAAI3L;AAAA,MACrB7H,EAAM;AAAA,MACNA,EAAM;AAAA,MACN,KAAK,YAAY,OAAOA,EAAM,OAAO;AAAA,MACrCA,EAAM,KAAK,IAAI,CAACmR,MAAM,IAAIroB,GAAWqoB,CAAC,CAAC,KAAK,CAAA;AAAA,IAAC,GAExCsC,IAAW,IAAIxL,GAAS,KAAK,YAAY,OAAOqL,CAAU,GAAGE,GAAWD,CAAa,GACrFH,IAAQ,IAAIhH,GAAaH,GAAY,SAASwH,CAAQ,GACtDrrB,IAAU,IAAIF,EAAY,QAAQ,IAAI;AAC5C,IAAAE,EAAQ,OAAOgrB,EAAM,KAAKhrB,CAAO,CAAC;AAClC,UAAMirB,IAAajrB,EAAQ,aAAA;AAE3B,gBAAK,aAAa,EAAE,mBAAmBirB,EAAA,GAAc,CAACA,EAAW,MAAM,CAAC,GACxE,KAAK,UAAU,IAAIC,GAAY,EAAE,QAAA/F,GAAQ,GAClCA;AAAA,EACR;AAAA,EAEA,UAAUpiB,GAAckc,GAAgE;AAKvF,YAHA,KAAK,kBAAkB,EAAE,MAAMlc,GAAM,SAAAkc,EAAA,GACrC,QAAQ,IAAI,+BAA+Blc,CAAI,GAEvCA,GAAA;AAAA,MACP,KAAK;AAEJ,aAAK,eAAekc,GACpB,KAAK,YAAY,KAAK,cAAc,UAAUA,CAAO,GACrD,KAAK,kBAAkB,MACvB,KAAK,SAAS,QAAQ,EAAE,QAAQ,KAAK,cAAc,WAAW,IAAO;AACrE;AAAA,MACD,KAAK;AACJ,aAAK,OAAO,YAAY,EAAE,MAAM,mBAAmB,SAAAA,GAAS;AAC5D;AAAA,MACD,KAAK;AACJ,aAAK,OAAO,YAAY,EAAE,MAAM,aAAa;AAC7C;AAAA,MACD,KAAK;AAEJ,QAAIA,GAAS,KAAK,WAAW,WAAW,IACvC,KAAK,OAAO,YAAY,EAAE,MAAM,oBAAoB,SAAAA,GAAS,IACnDA,GAAS,KAAK,WAAW,iBAAiB,IACpD,KAAK,OAAO,YAAY,EAAE,MAAM,gBAAgB,SAAAA,GAAS,IAEzD,QAAQ,MAAM,qCAAqCA,GAAS,GAAG;AAEhE;AAAA,IAAA;AAAA,EAGH;AAAA,EAEA,UAAUrH,GAAsB0T,GAAiC;AAChE,SAAK,SAASA,GACd,KAAK,OAAO,YAAY,EAAE,MAAM,cAAc,SAAS,KAAK,UAAU1T,CAAK,GAAG;AAAA,EAC/E;AAAA,EAEA,eAAe;AACd,UAAMoT,IAAQ,IAAIhH,GAAaH,GAAY,cAAc,IAAIxE,IAAe,GACtErf,IAAU,IAAIF,EAAY,QAAQ,IAAI;AAC5C,IAAAE,EAAQ,OAAOgrB,EAAM,KAAKhrB,CAAO,CAAC;AAClC,UAAMirB,IAAajrB,EAAQ,aAAA;AAE3B,SAAK,OAAO,YAAY,EAAE,mBAAmBirB,KAAc,CAACA,EAAW,MAAM,CAAC;AAAA,EAC/E;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,uBAA+B;AACtC,UAAMM,IAAQ,IAAI,WAAW,EAAE;AAC/B,kBAAO,gBAAgBA,CAAK,GACrB,MAAM,KAAKA,GAAO,CAACC,MAAMA,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAAA,EACzE;AAAA,EAEA,eAAeC,GAAmBC,GAA6B;AAC9D,UAAM5W,IAAS4W,KAAgB,KAAK,qBAAA;AACpC,YAAQ,IAAI,yBAAyBD,EAAU,MAAM,GAAG,EAAE,IAAI,KAAK,GACnE,KAAK,UAAU,SAAS,EAAE,KAAKA,GAAW,cAAc3W,GAAQ;AAAA,EACjE;AAAA,EAEA,WAAW6W,GAAyBD,GAA6B;AAChE,UAAM5W,IAAS4W,KAAgB,KAAK,qBAAA;AACpC,YAAQ,IAAI,qBAAqBC,EAAgB,MAAM,GAAG,EAAE,IAAI,KAAK,GACrE,KAAK,UAAU,SAAS,EAAE,KAAKA,GAAiB,cAAc7W,GAAQ;AAAA,EACvE;AAAA,EAEA,WAAiB;AAChB,SAAK,UAAU,SAAS,EAAE;AAAA,EAC3B;AAAA,EAEA,UAAUxT,GAAsB;AAC/B,SAAK,UAAU,UAAUA,CAAM;AAAA,EAChC;AAAA,EAEO,kBAAiC;AACvC,WAAO,KAAK;AAAA,EACb;AAAA,EAEO,uBAA+B;AACrC,WAAO,KAAK,cAAc;AAAA,EAC3B;AAAA,EAEO,cAA8D;AACpE,UAAMsqB,IAAe,aAAa,QAAQ,uBAAuB,KAAK;AACtE,QAAI;AACH,aAAO,KAAK,MAAMA,CAAY;AAAA,IAC/B,QAAY;AACX,aAAO,CAAA;AAAA,IACR;AAAA,EACD;AAAA,EAEO,cAActqB,GAAgB;AAEpC,UAAMuqB,IADW,KAAK,YAAA,EACGvqB,CAAM;AAC/B,IAAIuqB,KACH,KAAK,UAAUA,EAAQ,MAAMA,EAAQ,OAAO;AAAA,EAE9C;AAAA,EAEQ,YAAYvqB,GAAgB8G,GAAc6W,GAAc;AAC/D,YAAQ,IAAI,uBAAuB;AAAA,MAClC,QAAQ3d,EAAO,MAAM,GAAG,EAAE,IAAI;AAAA,MAC9B,MAAA8G;AAAA,MACA,iBAAiB,CAAC,CAAC6W,EAAQ;AAAA,IAAA,CAC3B;AACD,UAAM6M,IAAW,KAAK,YAAA;AACtB,IAAAA,EAASxqB,CAAM,IAAI,EAAE,MAAA8G,GAAM,SAAA6W,EAAA,GAC3B,aAAa,QAAQ,yBAAyB,KAAK,UAAU6M,CAAQ,CAAC,GACtE,aAAa,QAAQ,uBAAuBxqB,CAAM,GAClD,QAAQ,IAAI,sCAAsC;AAAA,EACnD;AAAA,EAEQ,iBAAiB;AACxB,UAAMyqB,IAAe,aAAa,QAAQ,qBAAqB;AAC/D,IAAIA,IACH,KAAK,cAAcA,CAAY,IAE/B,KAAK,SAAS,QAAQ,EAAE,QAAQ,MAAM,WAAW,IAAO;AAAA,EAE1D;AAAA,EAEO,SAAe;AACrB,SAAK,kBAAkB,MACvB,KAAK,eAAe,MACpB,KAAK,OAAO,YAAY,EAAE,MAAM,gBAAgB,GAChD,aAAa,WAAW,qBAAqB,GAC7C,KAAK,SAAS,QAAQ;AAAA,EACvB;AAAA,EAEO,gBAAsB;AAC5B,UAAMC,IAAgB,KAAK;AAC3B,QAAI,CAACA,EAAe;AAGpB,UAAMF,IAAW,KAAK,YAAA;AACtB,WAAOA,EAASE,CAAa,GAC7B,aAAa,QAAQ,yBAAyB,KAAK,UAAUF,CAAQ,CAAC;AAGtE,UAAMG,IAAmB,OAAO,KAAKH,CAAQ;AAC7C,QAAIG,EAAiB,SAAS,GAAG;AAEhC,YAAMC,IAAaD,EAAiB,CAAC;AACrC,MAAIC,KACH,KAAK,cAAcA,CAAU;AAAA,IAE/B;AAEC,WAAK,OAAA;AAAA,EAEP;AAAA,EAEA,UAAgB;AACf,UAAMC,IAAkC,CAAA;AAExC,eAAW,CAAC7P,GAAOyN,CAAY,KAAK,KAAK,cAAc;AACtD,MAAIA,EAAa,YAAY,KAAK,CAAC,KAAK,wBAAwB,SAASzN,CAAK,KAC7E6P,EAAsB,KAAK7P,CAAK;AAKlC,eAAWA,KAAS6P,GAAuB;AAE1C,YAAMC,IAAe,IAAIxI,GAAa,KAAK,YAAY,OAAOtH,CAAK,CAAC,GAC9D0O,IAAQ,IAAIhH,GAAaH,GAAY,aAAauI,CAAY,GAC9DpsB,IAAU,IAAIF,EAAY,QAAQ,GAAG;AAC3C,MAAAE,EAAQ,OAAOgrB,EAAM,KAAKhrB,CAAO,CAAC;AAClC,YAAMirB,IAAajrB,EAAQ,aAAA;AAE3B,WAAK,aAAa,EAAE,mBAAmBirB,EAAA,GAAc,CAACA,EAAW,MAAM,CAAC,GAGxE,KAAK,YAAY,YAAY3O,CAAK,GAGlC,KAAK,cAAc,OAAOA,CAAK;AAAA,IAChC;AAAA,EACD;AACD;AAEO,MAAM+P,KAAU,IAAIpD,GAAA;"}
|
|
1
|
+
{"version":3,"file":"index2.js","sources":["../src/generated/nostr/fb/cache-request.ts","../src/generated/nostr/fb/cache-input.ts","../src/generated/nostr/fb/cache-input-message.ts","../src/generated/nostr/fb/cache-response.ts","../src/generated/nostr/fb/counter-pipe-config.ts","../src/generated/nostr/fb/get-public-key.ts","../src/generated/nostr/fb/kind-filter-pipe-config.ts","../src/generated/nostr/fb/template.ts","../src/generated/nostr/fb/publish.ts","../src/generated/nostr/fb/private-key.ts","../src/generated/nostr/fb/signer-type.ts","../src/generated/nostr/fb/set-signer.ts","../src/generated/nostr/fb/sign-event.ts","../src/generated/nostr/fb/mute-filter-pipe-config.ts","../src/generated/nostr/fb/npub-limiter-pipe-config.ts","../src/generated/nostr/fb/parse-pipe-config.ts","../src/generated/nostr/fb/proof-verification-pipe-config.ts","../src/generated/nostr/fb/save-to-db-pipe-config.ts","../src/generated/nostr/fb/serialize-events-pipe-config.ts","../src/generated/nostr/fb/pipe-config.ts","../src/generated/nostr/fb/pipe.ts","../src/generated/nostr/fb/pipeline-config.ts","../src/generated/nostr/fb/subscription-config.ts","../src/generated/nostr/fb/subscribe.ts","../src/generated/nostr/fb/unsubscribe.ts","../src/generated/nostr/fb/main-content.ts","../src/generated/nostr/fb/main-message.ts","../src/generated/nostr/fb/parsed-data-union.ts","../src/generated/nostr/fb/subscribe-kind.ts","../src/lib/ArrayBufferReader.ts","../src/lib/NostrUtils.ts","../src/index.ts"],"sourcesContent":["import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { NostrEvent, NostrEventT } from '../../nostr/fb/nostr-event.js';\nimport { ParsedEvent, ParsedEventT } from '../../nostr/fb/parsed-event.js';\nimport { Request, RequestT } from '../../nostr/fb/request.js';\n\n\nexport class CacheRequest implements flatbuffers.IUnpackableObject<CacheRequestT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CacheRequest {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCacheRequest(bb:flatbuffers.ByteBuffer, obj?:CacheRequest):CacheRequest {\n return (obj || new CacheRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCacheRequest(bb:flatbuffers.ByteBuffer, obj?:CacheRequest):CacheRequest {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CacheRequest()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubId(): ByteString|null\nsubId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrequests(index: number, obj?:Request):Request|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Request()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nrequestsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nevent(obj?:NostrEvent):NostrEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new NostrEvent()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nparsedEvent(obj?:ParsedEvent):ParsedEvent|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new ParsedEvent()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startCacheRequest(builder:flatbuffers.Builder) {\n builder.startObject(5);\n}\n\nstatic addSubId(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subIdOffset, 0);\n}\n\nstatic addRequests(builder:flatbuffers.Builder, requestsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, requestsOffset, 0);\n}\n\nstatic createRequestsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRequestsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addEvent(builder:flatbuffers.Builder, eventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, eventOffset, 0);\n}\n\nstatic addParsedEvent(builder:flatbuffers.Builder, parsedEventOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, parsedEventOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(4, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endCacheRequest(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // sub_id\n return offset;\n}\n\n\nunpack(): CacheRequestT {\n return new CacheRequestT(\n this.subId(),\n this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength()),\n (this.event() !== null ? this.event()!.unpack() : null),\n (this.parsedEvent() !== null ? this.parsedEvent()!.unpack() : null),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: CacheRequestT): void {\n _o.subId = this.subId();\n _o.requests = this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength());\n _o.event = (this.event() !== null ? this.event()!.unpack() : null);\n _o.parsedEvent = (this.parsedEvent() !== null ? this.parsedEvent()!.unpack() : null);\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class CacheRequestT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subId: ByteString|Uint8Array|null = null,\n public requests: (RequestT)[] = [],\n public event: NostrEventT|null = null,\n public parsedEvent: ParsedEventT|null = null,\n public relays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subId = (this.subId !== null ? builder.createString(this.subId!) : 0);\n const requests = CacheRequest.createRequestsVector(builder, builder.createObjectOffsetList(this.requests));\n const event = (this.event !== null ? this.event!.pack(builder) : 0);\n const parsedEvent = (this.parsedEvent !== null ? this.parsedEvent!.pack(builder) : 0);\n const relays = CacheRequest.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n CacheRequest.startCacheRequest(builder);\n CacheRequest.addSubId(builder, subId);\n CacheRequest.addRequests(builder, requests);\n CacheRequest.addEvent(builder, event);\n CacheRequest.addParsedEvent(builder, parsedEvent);\n CacheRequest.addRelays(builder, relays);\n\n return CacheRequest.endCacheRequest(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { CacheRequest, CacheRequestT } from '../../nostr/fb/cache-request.js';\nimport { WorkerMessage, WorkerMessageT } from '../../nostr/fb/worker-message.js';\n\n\nexport enum CacheInput {\n NONE = 0,\n WorkerMessage = 1,\n CacheRequest = 2\n}\n\nexport function unionToCacheInput(\n type: CacheInput,\n accessor: (obj:CacheRequest|WorkerMessage) => CacheRequest|WorkerMessage|null\n): CacheRequest|WorkerMessage|null {\n switch(CacheInput[type]) {\n case 'NONE': return null; \n case 'WorkerMessage': return accessor(new WorkerMessage())! as WorkerMessage;\n case 'CacheRequest': return accessor(new CacheRequest())! as CacheRequest;\n default: return null;\n }\n}\n\nexport function unionListToCacheInput(\n type: CacheInput, \n accessor: (index: number, obj:CacheRequest|WorkerMessage) => CacheRequest|WorkerMessage|null, \n index: number\n): CacheRequest|WorkerMessage|null {\n switch(CacheInput[type]) {\n case 'NONE': return null; \n case 'WorkerMessage': return accessor(index, new WorkerMessage())! as WorkerMessage;\n case 'CacheRequest': return accessor(index, new CacheRequest())! as CacheRequest;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { CacheInput, unionToCacheInput, unionListToCacheInput } from '../../nostr/fb/cache-input.js';\nimport { CacheRequest, CacheRequestT } from '../../nostr/fb/cache-request.js';\nimport { WorkerMessage, WorkerMessageT } from '../../nostr/fb/worker-message.js';\n\n\nexport class CacheInputMessage implements flatbuffers.IUnpackableObject<CacheInputMessageT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CacheInputMessage {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCacheInputMessage(bb:flatbuffers.ByteBuffer, obj?:CacheInputMessage):CacheInputMessage {\n return (obj || new CacheInputMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCacheInputMessage(bb:flatbuffers.ByteBuffer, obj?:CacheInputMessage):CacheInputMessage {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CacheInputMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontentType():CacheInput {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : CacheInput.NONE;\n}\n\ncontent<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startCacheInputMessage(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addContentType(builder:flatbuffers.Builder, contentType:CacheInput) {\n builder.addFieldInt8(0, contentType, CacheInput.NONE);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, contentOffset, 0);\n}\n\nstatic endCacheInputMessage(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // content\n return offset;\n}\n\nstatic createCacheInputMessage(builder:flatbuffers.Builder, contentType:CacheInput, contentOffset:flatbuffers.Offset):flatbuffers.Offset {\n CacheInputMessage.startCacheInputMessage(builder);\n CacheInputMessage.addContentType(builder, contentType);\n CacheInputMessage.addContent(builder, contentOffset);\n return CacheInputMessage.endCacheInputMessage(builder);\n}\n\nunpack(): CacheInputMessageT {\n return new CacheInputMessageT(\n this.contentType(),\n (() => {\n const temp = unionToCacheInput(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: CacheInputMessageT): void {\n _o.contentType = this.contentType();\n _o.content = (() => {\n const temp = unionToCacheInput(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class CacheInputMessageT implements flatbuffers.IGeneratedObject {\nconstructor(\n public contentType: CacheInput = CacheInput.NONE,\n public content: CacheRequestT|WorkerMessageT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = builder.createObjectOffset(this.content);\n\n return CacheInputMessage.createCacheInputMessage(builder,\n this.contentType,\n content\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CacheResponse implements flatbuffers.IUnpackableObject<CacheResponseT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CacheResponse {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCacheResponse(bb:flatbuffers.ByteBuffer, obj?:CacheResponse):CacheResponse {\n return (obj || new CacheResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCacheResponse(bb:flatbuffers.ByteBuffer, obj?:CacheResponse):CacheResponse {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CacheResponse()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubId(): ByteString|null\nsubId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\npayload(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0;\n}\n\npayloadLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\npayloadArray():Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\nstatic startCacheResponse(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addSubId(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subIdOffset, 0);\n}\n\nstatic addPayload(builder:flatbuffers.Builder, payloadOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, payloadOffset, 0);\n}\n\nstatic createPayloadVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset {\n builder.startVector(1, data.length, 1);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt8(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPayloadVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(1, numElems, 1);\n}\n\nstatic endCacheResponse(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // sub_id\n return offset;\n}\n\nstatic createCacheResponse(builder:flatbuffers.Builder, subIdOffset:flatbuffers.Offset, payloadOffset:flatbuffers.Offset):flatbuffers.Offset {\n CacheResponse.startCacheResponse(builder);\n CacheResponse.addSubId(builder, subIdOffset);\n CacheResponse.addPayload(builder, payloadOffset);\n return CacheResponse.endCacheResponse(builder);\n}\n\nunpack(): CacheResponseT {\n return new CacheResponseT(\n this.subId(),\n this.bb!.createScalarList<number>(this.payload.bind(this), this.payloadLength())\n );\n}\n\n\nunpackTo(_o: CacheResponseT): void {\n _o.subId = this.subId();\n _o.payload = this.bb!.createScalarList<number>(this.payload.bind(this), this.payloadLength());\n}\n}\n\nexport class CacheResponseT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subId: ByteString|Uint8Array|null = null,\n public payload: (number)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subId = (this.subId !== null ? builder.createString(this.subId!) : 0);\n const payload = CacheResponse.createPayloadVector(builder, this.payload);\n\n return CacheResponse.createCacheResponse(builder,\n subId,\n payload\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class CounterPipeConfig implements flatbuffers.IUnpackableObject<CounterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):CounterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsCounterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:CounterPipeConfig):CounterPipeConfig {\n return (obj || new CounterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsCounterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:CounterPipeConfig):CounterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new CounterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkinds(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb!.__vector(this.bb_pos + offset) + index * 2) : 0;\n}\n\nkindsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nkindsArray():Uint16Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? new Uint16Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\npubkey(): ByteString|null\npubkey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npubkey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startCounterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addKinds(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, kindsOffset, 0);\n}\n\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array):flatbuffers.Offset;\n/**\n * @deprecated This Uint8Array overload will be removed in the future.\n */\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array|Uint8Array):flatbuffers.Offset {\n builder.startVector(2, data.length, 2);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt16(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startKindsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(2, numElems, 2);\n}\n\nstatic addPubkey(builder:flatbuffers.Builder, pubkeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, pubkeyOffset, 0);\n}\n\nstatic endCounterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // kinds\n builder.requiredField(offset, 6) // pubkey\n return offset;\n}\n\nstatic createCounterPipeConfig(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset, pubkeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n CounterPipeConfig.startCounterPipeConfig(builder);\n CounterPipeConfig.addKinds(builder, kindsOffset);\n CounterPipeConfig.addPubkey(builder, pubkeyOffset);\n return CounterPipeConfig.endCounterPipeConfig(builder);\n}\n\nunpack(): CounterPipeConfigT {\n return new CounterPipeConfigT(\n this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength()),\n this.pubkey()\n );\n}\n\n\nunpackTo(_o: CounterPipeConfigT): void {\n _o.kinds = this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength());\n _o.pubkey = this.pubkey();\n}\n}\n\nexport class CounterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kinds: (number)[] = [],\n public pubkey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const kinds = CounterPipeConfig.createKindsVector(builder, this.kinds);\n const pubkey = (this.pubkey !== null ? builder.createString(this.pubkey!) : 0);\n\n return CounterPipeConfig.createCounterPipeConfig(builder,\n kinds,\n pubkey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class GetPublicKey implements flatbuffers.IUnpackableObject<GetPublicKeyT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):GetPublicKey {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsGetPublicKey(bb:flatbuffers.ByteBuffer, obj?:GetPublicKey):GetPublicKey {\n return (obj || new GetPublicKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsGetPublicKey(bb:flatbuffers.ByteBuffer, obj?:GetPublicKey):GetPublicKey {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new GetPublicKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startGetPublicKey(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endGetPublicKey(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createGetPublicKey(builder:flatbuffers.Builder):flatbuffers.Offset {\n GetPublicKey.startGetPublicKey(builder);\n return GetPublicKey.endGetPublicKey(builder);\n}\n\nunpack(): GetPublicKeyT {\n return new GetPublicKeyT();\n}\n\n\nunpackTo(_o: GetPublicKeyT): void {}\n}\n\nexport class GetPublicKeyT implements flatbuffers.IGeneratedObject {\nconstructor(){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return GetPublicKey.createGetPublicKey(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class KindFilterPipeConfig implements flatbuffers.IUnpackableObject<KindFilterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):KindFilterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsKindFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:KindFilterPipeConfig):KindFilterPipeConfig {\n return (obj || new KindFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsKindFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:KindFilterPipeConfig):KindFilterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new KindFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkinds(index: number):number|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb!.__vector(this.bb_pos + offset) + index * 2) : 0;\n}\n\nkindsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nkindsArray():Uint16Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? new Uint16Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;\n}\n\nstatic startKindFilterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addKinds(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, kindsOffset, 0);\n}\n\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array):flatbuffers.Offset;\n/**\n * @deprecated This Uint8Array overload will be removed in the future.\n */\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;\nstatic createKindsVector(builder:flatbuffers.Builder, data:number[]|Uint16Array|Uint8Array):flatbuffers.Offset {\n builder.startVector(2, data.length, 2);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addInt16(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startKindsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(2, numElems, 2);\n}\n\nstatic endKindFilterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // kinds\n return offset;\n}\n\nstatic createKindFilterPipeConfig(builder:flatbuffers.Builder, kindsOffset:flatbuffers.Offset):flatbuffers.Offset {\n KindFilterPipeConfig.startKindFilterPipeConfig(builder);\n KindFilterPipeConfig.addKinds(builder, kindsOffset);\n return KindFilterPipeConfig.endKindFilterPipeConfig(builder);\n}\n\nunpack(): KindFilterPipeConfigT {\n return new KindFilterPipeConfigT(\n this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength())\n );\n}\n\n\nunpackTo(_o: KindFilterPipeConfigT): void {\n _o.kinds = this.bb!.createScalarList<number>(this.kinds.bind(this), this.kindsLength());\n}\n}\n\nexport class KindFilterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kinds: (number)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const kinds = KindFilterPipeConfig.createKindsVector(builder, this.kinds);\n\n return KindFilterPipeConfig.createKindFilterPipeConfig(builder,\n kinds\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { StringVec, StringVecT } from '../../nostr/fb/string-vec.js';\n\n\nexport class Template implements flatbuffers.IUnpackableObject<TemplateT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Template {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsTemplate(bb:flatbuffers.ByteBuffer, obj?:Template):Template {\n return (obj || new Template()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsTemplate(bb:flatbuffers.ByteBuffer, obj?:Template):Template {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Template()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\ncreatedAt():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;\n}\n\ncontent(): ByteString|null\ncontent(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\ncontent(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntags(index: number, obj?:StringVec):StringVec|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? (obj || new StringVec()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\ntagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startTemplate(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addCreatedAt(builder:flatbuffers.Builder, createdAt:number) {\n builder.addFieldInt32(1, createdAt, 0);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, contentOffset, 0);\n}\n\nstatic addTags(builder:flatbuffers.Builder, tagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, tagsOffset, 0);\n}\n\nstatic createTagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startTagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endTemplate(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 8) // content\n builder.requiredField(offset, 10) // tags\n return offset;\n}\n\nstatic createTemplate(builder:flatbuffers.Builder, kind:number, createdAt:number, contentOffset:flatbuffers.Offset, tagsOffset:flatbuffers.Offset):flatbuffers.Offset {\n Template.startTemplate(builder);\n Template.addKind(builder, kind);\n Template.addCreatedAt(builder, createdAt);\n Template.addContent(builder, contentOffset);\n Template.addTags(builder, tagsOffset);\n return Template.endTemplate(builder);\n}\n\nunpack(): TemplateT {\n return new TemplateT(\n this.kind(),\n this.createdAt(),\n this.content(),\n this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength())\n );\n}\n\n\nunpackTo(_o: TemplateT): void {\n _o.kind = this.kind();\n _o.createdAt = this.createdAt();\n _o.content = this.content();\n _o.tags = this.bb!.createObjList<StringVec, StringVecT>(this.tags.bind(this), this.tagsLength());\n}\n}\n\nexport class TemplateT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public createdAt: number = 0,\n public content: ByteString|Uint8Array|null = null,\n public tags: (StringVecT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = (this.content !== null ? builder.createString(this.content!) : 0);\n const tags = Template.createTagsVector(builder, builder.createObjectOffsetList(this.tags));\n\n return Template.createTemplate(builder,\n this.kind,\n this.createdAt,\n content,\n tags\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Template, TemplateT } from '../../nostr/fb/template.js';\n\n\nexport class Publish implements flatbuffers.IUnpackableObject<PublishT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Publish {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPublish(bb:flatbuffers.ByteBuffer, obj?:Publish):Publish {\n return (obj || new Publish()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPublish(bb:flatbuffers.ByteBuffer, obj?:Publish):Publish {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Publish()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npublishId(): ByteString|null\npublishId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npublishId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\ntemplate(obj?:Template):Template|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Template()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nrelays(index: number): ByteString\nrelays(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nrelays(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nrelaysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startPublish(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addPublishId(builder:flatbuffers.Builder, publishIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, publishIdOffset, 0);\n}\n\nstatic addTemplate(builder:flatbuffers.Builder, templateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, templateOffset, 0);\n}\n\nstatic addRelays(builder:flatbuffers.Builder, relaysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, relaysOffset, 0);\n}\n\nstatic createRelaysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRelaysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endPublish(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // publish_id\n builder.requiredField(offset, 6) // template\n builder.requiredField(offset, 8) // relays\n return offset;\n}\n\n\nunpack(): PublishT {\n return new PublishT(\n this.publishId(),\n (this.template() !== null ? this.template()!.unpack() : null),\n this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength())\n );\n}\n\n\nunpackTo(_o: PublishT): void {\n _o.publishId = this.publishId();\n _o.template = (this.template() !== null ? this.template()!.unpack() : null);\n _o.relays = this.bb!.createScalarList<string>(this.relays.bind(this), this.relaysLength());\n}\n}\n\nexport class PublishT implements flatbuffers.IGeneratedObject {\nconstructor(\n public publishId: ByteString|Uint8Array|null = null,\n public template: TemplateT|null = null,\n public relays: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const publishId = (this.publishId !== null ? builder.createString(this.publishId!) : 0);\n const template = (this.template !== null ? this.template!.pack(builder) : 0);\n const relays = Publish.createRelaysVector(builder, builder.createObjectOffsetList(this.relays));\n\n Publish.startPublish(builder);\n Publish.addPublishId(builder, publishId);\n Publish.addTemplate(builder, template);\n Publish.addRelays(builder, relays);\n\n return Publish.endPublish(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class PrivateKey implements flatbuffers.IUnpackableObject<PrivateKeyT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PrivateKey {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPrivateKey(bb:flatbuffers.ByteBuffer, obj?:PrivateKey):PrivateKey {\n return (obj || new PrivateKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPrivateKey(bb:flatbuffers.ByteBuffer, obj?:PrivateKey):PrivateKey {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PrivateKey()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nprivateKey(): ByteString|null\nprivateKey(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nprivateKey(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startPrivateKey(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addPrivateKey(builder:flatbuffers.Builder, privateKeyOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, privateKeyOffset, 0);\n}\n\nstatic endPrivateKey(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // private_key\n return offset;\n}\n\nstatic createPrivateKey(builder:flatbuffers.Builder, privateKeyOffset:flatbuffers.Offset):flatbuffers.Offset {\n PrivateKey.startPrivateKey(builder);\n PrivateKey.addPrivateKey(builder, privateKeyOffset);\n return PrivateKey.endPrivateKey(builder);\n}\n\nunpack(): PrivateKeyT {\n return new PrivateKeyT(\n this.privateKey()\n );\n}\n\n\nunpackTo(_o: PrivateKeyT): void {\n _o.privateKey = this.privateKey();\n}\n}\n\nexport class PrivateKeyT implements flatbuffers.IGeneratedObject {\nconstructor(\n public privateKey: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const privateKey = (this.privateKey !== null ? builder.createString(this.privateKey!) : 0);\n\n return PrivateKey.createPrivateKey(builder,\n privateKey\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { PrivateKey, PrivateKeyT } from '../../nostr/fb/private-key.js';\n\n\nexport enum SignerType {\n NONE = 0,\n PrivateKey = 1\n}\n\nexport function unionToSignerType(\n type: SignerType,\n accessor: (obj:PrivateKey) => PrivateKey|null\n): PrivateKey|null {\n switch(SignerType[type]) {\n case 'NONE': return null; \n case 'PrivateKey': return accessor(new PrivateKey())! as PrivateKey;\n default: return null;\n }\n}\n\nexport function unionListToSignerType(\n type: SignerType, \n accessor: (index: number, obj:PrivateKey) => PrivateKey|null, \n index: number\n): PrivateKey|null {\n switch(SignerType[type]) {\n case 'NONE': return null; \n case 'PrivateKey': return accessor(index, new PrivateKey())! as PrivateKey;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { PrivateKey, PrivateKeyT } from '../../nostr/fb/private-key.js';\nimport { SignerType, unionToSignerType, unionListToSignerType } from '../../nostr/fb/signer-type.js';\n\n\nexport class SetSigner implements flatbuffers.IUnpackableObject<SetSignerT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SetSigner {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSetSigner(bb:flatbuffers.ByteBuffer, obj?:SetSigner):SetSigner {\n return (obj || new SetSigner()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSetSigner(bb:flatbuffers.ByteBuffer, obj?:SetSigner):SetSigner {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SetSigner()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsignerTypeType():SignerType {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : SignerType.NONE;\n}\n\nsignerType<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startSetSigner(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addSignerTypeType(builder:flatbuffers.Builder, signerTypeType:SignerType) {\n builder.addFieldInt8(0, signerTypeType, SignerType.NONE);\n}\n\nstatic addSignerType(builder:flatbuffers.Builder, signerTypeOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, signerTypeOffset, 0);\n}\n\nstatic endSetSigner(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // signer_type\n return offset;\n}\n\nstatic createSetSigner(builder:flatbuffers.Builder, signerTypeType:SignerType, signerTypeOffset:flatbuffers.Offset):flatbuffers.Offset {\n SetSigner.startSetSigner(builder);\n SetSigner.addSignerTypeType(builder, signerTypeType);\n SetSigner.addSignerType(builder, signerTypeOffset);\n return SetSigner.endSetSigner(builder);\n}\n\nunpack(): SetSignerT {\n return new SetSignerT(\n this.signerTypeType(),\n (() => {\n const temp = unionToSignerType(this.signerTypeType(), this.signerType.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: SetSignerT): void {\n _o.signerTypeType = this.signerTypeType();\n _o.signerType = (() => {\n const temp = unionToSignerType(this.signerTypeType(), this.signerType.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class SetSignerT implements flatbuffers.IGeneratedObject {\nconstructor(\n public signerTypeType: SignerType = SignerType.NONE,\n public signerType: PrivateKeyT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const signerType = builder.createObjectOffset(this.signerType);\n\n return SetSigner.createSetSigner(builder,\n this.signerTypeType,\n signerType\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Template, TemplateT } from '../../nostr/fb/template.js';\n\n\nexport class SignEvent implements flatbuffers.IUnpackableObject<SignEventT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SignEvent {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSignEvent(bb:flatbuffers.ByteBuffer, obj?:SignEvent):SignEvent {\n return (obj || new SignEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSignEvent(bb:flatbuffers.ByteBuffer, obj?:SignEvent):SignEvent {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SignEvent()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ntemplate(obj?:Template):Template|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new Template()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startSignEvent(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addTemplate(builder:flatbuffers.Builder, templateOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, templateOffset, 0);\n}\n\nstatic endSignEvent(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // template\n return offset;\n}\n\nstatic createSignEvent(builder:flatbuffers.Builder, templateOffset:flatbuffers.Offset):flatbuffers.Offset {\n SignEvent.startSignEvent(builder);\n SignEvent.addTemplate(builder, templateOffset);\n return SignEvent.endSignEvent(builder);\n}\n\nunpack(): SignEventT {\n return new SignEventT(\n (this.template() !== null ? this.template()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: SignEventT): void {\n _o.template = (this.template() !== null ? this.template()!.unpack() : null);\n}\n}\n\nexport class SignEventT implements flatbuffers.IGeneratedObject {\nconstructor(\n public template: TemplateT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const template = (this.template !== null ? this.template!.pack(builder) : 0);\n\n return SignEvent.createSignEvent(builder,\n template\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class MuteFilterPipeConfig implements flatbuffers.IUnpackableObject<MuteFilterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MuteFilterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMuteFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:MuteFilterPipeConfig):MuteFilterPipeConfig {\n return (obj || new MuteFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMuteFilterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:MuteFilterPipeConfig):MuteFilterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MuteFilterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npubkeys(index: number): ByteString\npubkeys(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\npubkeys(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\npubkeysLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nhashtags(index: number): ByteString\nhashtags(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nhashtags(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nhashtagsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nwords(index: number): ByteString\nwords(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\nwords(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\nwordsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\neventIds(index: number): ByteString\neventIds(index: number,optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array\neventIds(index: number,optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__stringByteString(this.bb!.__vector(this.bb_pos + offset) + index * 4, optionalEncoding) : null;\n}\n\neventIdsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startMuteFilterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(4);\n}\n\nstatic addPubkeys(builder:flatbuffers.Builder, pubkeysOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pubkeysOffset, 0);\n}\n\nstatic createPubkeysVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPubkeysVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addHashtags(builder:flatbuffers.Builder, hashtagsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, hashtagsOffset, 0);\n}\n\nstatic createHashtagsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startHashtagsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addWords(builder:flatbuffers.Builder, wordsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, wordsOffset, 0);\n}\n\nstatic createWordsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startWordsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addEventIds(builder:flatbuffers.Builder, eventIdsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(3, eventIdsOffset, 0);\n}\n\nstatic createEventIdsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startEventIdsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endMuteFilterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createMuteFilterPipeConfig(builder:flatbuffers.Builder, pubkeysOffset:flatbuffers.Offset, hashtagsOffset:flatbuffers.Offset, wordsOffset:flatbuffers.Offset, eventIdsOffset:flatbuffers.Offset):flatbuffers.Offset {\n MuteFilterPipeConfig.startMuteFilterPipeConfig(builder);\n MuteFilterPipeConfig.addPubkeys(builder, pubkeysOffset);\n MuteFilterPipeConfig.addHashtags(builder, hashtagsOffset);\n MuteFilterPipeConfig.addWords(builder, wordsOffset);\n MuteFilterPipeConfig.addEventIds(builder, eventIdsOffset);\n return MuteFilterPipeConfig.endMuteFilterPipeConfig(builder);\n}\n\nunpack(): MuteFilterPipeConfigT {\n return new MuteFilterPipeConfigT(\n this.bb!.createScalarList<string>(this.pubkeys.bind(this), this.pubkeysLength()),\n this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength()),\n this.bb!.createScalarList<string>(this.words.bind(this), this.wordsLength()),\n this.bb!.createScalarList<string>(this.eventIds.bind(this), this.eventIdsLength())\n );\n}\n\n\nunpackTo(_o: MuteFilterPipeConfigT): void {\n _o.pubkeys = this.bb!.createScalarList<string>(this.pubkeys.bind(this), this.pubkeysLength());\n _o.hashtags = this.bb!.createScalarList<string>(this.hashtags.bind(this), this.hashtagsLength());\n _o.words = this.bb!.createScalarList<string>(this.words.bind(this), this.wordsLength());\n _o.eventIds = this.bb!.createScalarList<string>(this.eventIds.bind(this), this.eventIdsLength());\n}\n}\n\nexport class MuteFilterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pubkeys: (string)[] = [],\n public hashtags: (string)[] = [],\n public words: (string)[] = [],\n public eventIds: (string)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pubkeys = MuteFilterPipeConfig.createPubkeysVector(builder, builder.createObjectOffsetList(this.pubkeys));\n const hashtags = MuteFilterPipeConfig.createHashtagsVector(builder, builder.createObjectOffsetList(this.hashtags));\n const words = MuteFilterPipeConfig.createWordsVector(builder, builder.createObjectOffsetList(this.words));\n const eventIds = MuteFilterPipeConfig.createEventIdsVector(builder, builder.createObjectOffsetList(this.eventIds));\n\n return MuteFilterPipeConfig.createMuteFilterPipeConfig(builder,\n pubkeys,\n hashtags,\n words,\n eventIds\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class NpubLimiterPipeConfig implements flatbuffers.IUnpackableObject<NpubLimiterPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):NpubLimiterPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsNpubLimiterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:NpubLimiterPipeConfig):NpubLimiterPipeConfig {\n return (obj || new NpubLimiterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsNpubLimiterPipeConfig(bb:flatbuffers.ByteBuffer, obj?:NpubLimiterPipeConfig):NpubLimiterPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new NpubLimiterPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nkind():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint16(this.bb_pos + offset) : 0;\n}\n\nlimitPerNpub():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nmaxTotalNpubs():number {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nstatic startNpubLimiterPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addKind(builder:flatbuffers.Builder, kind:number) {\n builder.addFieldInt16(0, kind, 0);\n}\n\nstatic addLimitPerNpub(builder:flatbuffers.Builder, limitPerNpub:number) {\n builder.addFieldInt32(1, limitPerNpub, 0);\n}\n\nstatic addMaxTotalNpubs(builder:flatbuffers.Builder, maxTotalNpubs:number) {\n builder.addFieldInt32(2, maxTotalNpubs, 0);\n}\n\nstatic endNpubLimiterPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createNpubLimiterPipeConfig(builder:flatbuffers.Builder, kind:number, limitPerNpub:number, maxTotalNpubs:number):flatbuffers.Offset {\n NpubLimiterPipeConfig.startNpubLimiterPipeConfig(builder);\n NpubLimiterPipeConfig.addKind(builder, kind);\n NpubLimiterPipeConfig.addLimitPerNpub(builder, limitPerNpub);\n NpubLimiterPipeConfig.addMaxTotalNpubs(builder, maxTotalNpubs);\n return NpubLimiterPipeConfig.endNpubLimiterPipeConfig(builder);\n}\n\nunpack(): NpubLimiterPipeConfigT {\n return new NpubLimiterPipeConfigT(\n this.kind(),\n this.limitPerNpub(),\n this.maxTotalNpubs()\n );\n}\n\n\nunpackTo(_o: NpubLimiterPipeConfigT): void {\n _o.kind = this.kind();\n _o.limitPerNpub = this.limitPerNpub();\n _o.maxTotalNpubs = this.maxTotalNpubs();\n}\n}\n\nexport class NpubLimiterPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public kind: number = 0,\n public limitPerNpub: number = 0,\n public maxTotalNpubs: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return NpubLimiterPipeConfig.createNpubLimiterPipeConfig(builder,\n this.kind,\n this.limitPerNpub,\n this.maxTotalNpubs\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ParsePipeConfig implements flatbuffers.IUnpackableObject<ParsePipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ParsePipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsParsePipeConfig(bb:flatbuffers.ByteBuffer, obj?:ParsePipeConfig):ParsePipeConfig {\n return (obj || new ParsePipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsParsePipeConfig(bb:flatbuffers.ByteBuffer, obj?:ParsePipeConfig):ParsePipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ParsePipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startParsePipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endParsePipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createParsePipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n ParsePipeConfig.startParsePipeConfig(builder);\n return ParsePipeConfig.endParsePipeConfig(builder);\n}\n\nunpack(): ParsePipeConfigT {\n return new ParsePipeConfigT();\n}\n\n\nunpackTo(_o: ParsePipeConfigT): void {}\n}\n\nexport class ParsePipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return ParsePipeConfig.createParsePipeConfig(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class ProofVerificationPipeConfig implements flatbuffers.IUnpackableObject<ProofVerificationPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):ProofVerificationPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsProofVerificationPipeConfig(bb:flatbuffers.ByteBuffer, obj?:ProofVerificationPipeConfig):ProofVerificationPipeConfig {\n return (obj || new ProofVerificationPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsProofVerificationPipeConfig(bb:flatbuffers.ByteBuffer, obj?:ProofVerificationPipeConfig):ProofVerificationPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new ProofVerificationPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nmaxProofs():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nstatic startProofVerificationPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addMaxProofs(builder:flatbuffers.Builder, maxProofs:number) {\n builder.addFieldInt32(0, maxProofs, 0);\n}\n\nstatic endProofVerificationPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createProofVerificationPipeConfig(builder:flatbuffers.Builder, maxProofs:number):flatbuffers.Offset {\n ProofVerificationPipeConfig.startProofVerificationPipeConfig(builder);\n ProofVerificationPipeConfig.addMaxProofs(builder, maxProofs);\n return ProofVerificationPipeConfig.endProofVerificationPipeConfig(builder);\n}\n\nunpack(): ProofVerificationPipeConfigT {\n return new ProofVerificationPipeConfigT(\n this.maxProofs()\n );\n}\n\n\nunpackTo(_o: ProofVerificationPipeConfigT): void {\n _o.maxProofs = this.maxProofs();\n}\n}\n\nexport class ProofVerificationPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public maxProofs: number = 0\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return ProofVerificationPipeConfig.createProofVerificationPipeConfig(builder,\n this.maxProofs\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class SaveToDbPipeConfig implements flatbuffers.IUnpackableObject<SaveToDbPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SaveToDbPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSaveToDbPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SaveToDbPipeConfig):SaveToDbPipeConfig {\n return (obj || new SaveToDbPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSaveToDbPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SaveToDbPipeConfig):SaveToDbPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SaveToDbPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic startSaveToDbPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(0);\n}\n\nstatic endSaveToDbPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createSaveToDbPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n SaveToDbPipeConfig.startSaveToDbPipeConfig(builder);\n return SaveToDbPipeConfig.endSaveToDbPipeConfig(builder);\n}\n\nunpack(): SaveToDbPipeConfigT {\n return new SaveToDbPipeConfigT();\n}\n\n\nunpackTo(_o: SaveToDbPipeConfigT): void {}\n}\n\nexport class SaveToDbPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n return SaveToDbPipeConfig.createSaveToDbPipeConfig(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class SerializeEventsPipeConfig implements flatbuffers.IUnpackableObject<SerializeEventsPipeConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SerializeEventsPipeConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSerializeEventsPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SerializeEventsPipeConfig):SerializeEventsPipeConfig {\n return (obj || new SerializeEventsPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSerializeEventsPipeConfig(bb:flatbuffers.ByteBuffer, obj?:SerializeEventsPipeConfig):SerializeEventsPipeConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SerializeEventsPipeConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startSerializeEventsPipeConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic endSerializeEventsPipeConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n return offset;\n}\n\nstatic createSerializeEventsPipeConfig(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset):flatbuffers.Offset {\n SerializeEventsPipeConfig.startSerializeEventsPipeConfig(builder);\n SerializeEventsPipeConfig.addSubscriptionId(builder, subscriptionIdOffset);\n return SerializeEventsPipeConfig.endSerializeEventsPipeConfig(builder);\n}\n\nunpack(): SerializeEventsPipeConfigT {\n return new SerializeEventsPipeConfigT(\n this.subscriptionId()\n );\n}\n\n\nunpackTo(_o: SerializeEventsPipeConfigT): void {\n _o.subscriptionId = this.subscriptionId();\n}\n}\n\nexport class SerializeEventsPipeConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n\n return SerializeEventsPipeConfig.createSerializeEventsPipeConfig(builder,\n subscriptionId\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { CounterPipeConfig, CounterPipeConfigT } from '../../nostr/fb/counter-pipe-config.js';\nimport { KindFilterPipeConfig, KindFilterPipeConfigT } from '../../nostr/fb/kind-filter-pipe-config.js';\nimport { MuteFilterPipeConfig, MuteFilterPipeConfigT } from '../../nostr/fb/mute-filter-pipe-config.js';\nimport { NpubLimiterPipeConfig, NpubLimiterPipeConfigT } from '../../nostr/fb/npub-limiter-pipe-config.js';\nimport { ParsePipeConfig, ParsePipeConfigT } from '../../nostr/fb/parse-pipe-config.js';\nimport { ProofVerificationPipeConfig, ProofVerificationPipeConfigT } from '../../nostr/fb/proof-verification-pipe-config.js';\nimport { SaveToDbPipeConfig, SaveToDbPipeConfigT } from '../../nostr/fb/save-to-db-pipe-config.js';\nimport { SerializeEventsPipeConfig, SerializeEventsPipeConfigT } from '../../nostr/fb/serialize-events-pipe-config.js';\n\n\nexport enum PipeConfig {\n NONE = 0,\n ParsePipeConfig = 1,\n KindFilterPipeConfig = 2,\n CounterPipeConfig = 3,\n NpubLimiterPipeConfig = 4,\n SaveToDbPipeConfig = 5,\n SerializeEventsPipeConfig = 6,\n ProofVerificationPipeConfig = 7,\n MuteFilterPipeConfig = 8\n}\n\nexport function unionToPipeConfig(\n type: PipeConfig,\n accessor: (obj:CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig) => CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null\n): CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null {\n switch(PipeConfig[type]) {\n case 'NONE': return null; \n case 'ParsePipeConfig': return accessor(new ParsePipeConfig())! as ParsePipeConfig;\n case 'KindFilterPipeConfig': return accessor(new KindFilterPipeConfig())! as KindFilterPipeConfig;\n case 'CounterPipeConfig': return accessor(new CounterPipeConfig())! as CounterPipeConfig;\n case 'NpubLimiterPipeConfig': return accessor(new NpubLimiterPipeConfig())! as NpubLimiterPipeConfig;\n case 'SaveToDbPipeConfig': return accessor(new SaveToDbPipeConfig())! as SaveToDbPipeConfig;\n case 'SerializeEventsPipeConfig': return accessor(new SerializeEventsPipeConfig())! as SerializeEventsPipeConfig;\n case 'ProofVerificationPipeConfig': return accessor(new ProofVerificationPipeConfig())! as ProofVerificationPipeConfig;\n case 'MuteFilterPipeConfig': return accessor(new MuteFilterPipeConfig())! as MuteFilterPipeConfig;\n default: return null;\n }\n}\n\nexport function unionListToPipeConfig(\n type: PipeConfig, \n accessor: (index: number, obj:CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig) => CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null, \n index: number\n): CounterPipeConfig|KindFilterPipeConfig|MuteFilterPipeConfig|NpubLimiterPipeConfig|ParsePipeConfig|ProofVerificationPipeConfig|SaveToDbPipeConfig|SerializeEventsPipeConfig|null {\n switch(PipeConfig[type]) {\n case 'NONE': return null; \n case 'ParsePipeConfig': return accessor(index, new ParsePipeConfig())! as ParsePipeConfig;\n case 'KindFilterPipeConfig': return accessor(index, new KindFilterPipeConfig())! as KindFilterPipeConfig;\n case 'CounterPipeConfig': return accessor(index, new CounterPipeConfig())! as CounterPipeConfig;\n case 'NpubLimiterPipeConfig': return accessor(index, new NpubLimiterPipeConfig())! as NpubLimiterPipeConfig;\n case 'SaveToDbPipeConfig': return accessor(index, new SaveToDbPipeConfig())! as SaveToDbPipeConfig;\n case 'SerializeEventsPipeConfig': return accessor(index, new SerializeEventsPipeConfig())! as SerializeEventsPipeConfig;\n case 'ProofVerificationPipeConfig': return accessor(index, new ProofVerificationPipeConfig())! as ProofVerificationPipeConfig;\n case 'MuteFilterPipeConfig': return accessor(index, new MuteFilterPipeConfig())! as MuteFilterPipeConfig;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { CounterPipeConfig, CounterPipeConfigT } from '../../nostr/fb/counter-pipe-config.js';\nimport { KindFilterPipeConfig, KindFilterPipeConfigT } from '../../nostr/fb/kind-filter-pipe-config.js';\nimport { MuteFilterPipeConfig, MuteFilterPipeConfigT } from '../../nostr/fb/mute-filter-pipe-config.js';\nimport { NpubLimiterPipeConfig, NpubLimiterPipeConfigT } from '../../nostr/fb/npub-limiter-pipe-config.js';\nimport { ParsePipeConfig, ParsePipeConfigT } from '../../nostr/fb/parse-pipe-config.js';\nimport { PipeConfig, unionToPipeConfig, unionListToPipeConfig } from '../../nostr/fb/pipe-config.js';\nimport { ProofVerificationPipeConfig, ProofVerificationPipeConfigT } from '../../nostr/fb/proof-verification-pipe-config.js';\nimport { SaveToDbPipeConfig, SaveToDbPipeConfigT } from '../../nostr/fb/save-to-db-pipe-config.js';\nimport { SerializeEventsPipeConfig, SerializeEventsPipeConfigT } from '../../nostr/fb/serialize-events-pipe-config.js';\n\n\nexport class Pipe implements flatbuffers.IUnpackableObject<PipeT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Pipe {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPipe(bb:flatbuffers.ByteBuffer, obj?:Pipe):Pipe {\n return (obj || new Pipe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPipe(bb:flatbuffers.ByteBuffer, obj?:Pipe):Pipe {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Pipe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nconfigType():PipeConfig {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : PipeConfig.NONE;\n}\n\nconfig<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startPipe(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addConfigType(builder:flatbuffers.Builder, configType:PipeConfig) {\n builder.addFieldInt8(0, configType, PipeConfig.NONE);\n}\n\nstatic addConfig(builder:flatbuffers.Builder, configOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, configOffset, 0);\n}\n\nstatic endPipe(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // config\n return offset;\n}\n\nstatic createPipe(builder:flatbuffers.Builder, configType:PipeConfig, configOffset:flatbuffers.Offset):flatbuffers.Offset {\n Pipe.startPipe(builder);\n Pipe.addConfigType(builder, configType);\n Pipe.addConfig(builder, configOffset);\n return Pipe.endPipe(builder);\n}\n\nunpack(): PipeT {\n return new PipeT(\n this.configType(),\n (() => {\n const temp = unionToPipeConfig(this.configType(), this.config.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: PipeT): void {\n _o.configType = this.configType();\n _o.config = (() => {\n const temp = unionToPipeConfig(this.configType(), this.config.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class PipeT implements flatbuffers.IGeneratedObject {\nconstructor(\n public configType: PipeConfig = PipeConfig.NONE,\n public config: CounterPipeConfigT|KindFilterPipeConfigT|MuteFilterPipeConfigT|NpubLimiterPipeConfigT|ParsePipeConfigT|ProofVerificationPipeConfigT|SaveToDbPipeConfigT|SerializeEventsPipeConfigT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const config = builder.createObjectOffset(this.config);\n\n return Pipe.createPipe(builder,\n this.configType,\n config\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Pipe, PipeT } from '../../nostr/fb/pipe.js';\n\n\nexport class PipelineConfig implements flatbuffers.IUnpackableObject<PipelineConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):PipelineConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsPipelineConfig(bb:flatbuffers.ByteBuffer, obj?:PipelineConfig):PipelineConfig {\n return (obj || new PipelineConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsPipelineConfig(bb:flatbuffers.ByteBuffer, obj?:PipelineConfig):PipelineConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new PipelineConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npipes(index: number, obj?:Pipe):Pipe|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new Pipe()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\npipesLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nstatic startPipelineConfig(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addPipes(builder:flatbuffers.Builder, pipesOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pipesOffset, 0);\n}\n\nstatic createPipesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startPipesVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic endPipelineConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // pipes\n return offset;\n}\n\nstatic createPipelineConfig(builder:flatbuffers.Builder, pipesOffset:flatbuffers.Offset):flatbuffers.Offset {\n PipelineConfig.startPipelineConfig(builder);\n PipelineConfig.addPipes(builder, pipesOffset);\n return PipelineConfig.endPipelineConfig(builder);\n}\n\nunpack(): PipelineConfigT {\n return new PipelineConfigT(\n this.bb!.createObjList<Pipe, PipeT>(this.pipes.bind(this), this.pipesLength())\n );\n}\n\n\nunpackTo(_o: PipelineConfigT): void {\n _o.pipes = this.bb!.createObjList<Pipe, PipeT>(this.pipes.bind(this), this.pipesLength());\n}\n}\n\nexport class PipelineConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pipes: (PipeT)[] = []\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pipes = PipelineConfig.createPipesVector(builder, builder.createObjectOffsetList(this.pipes));\n\n return PipelineConfig.createPipelineConfig(builder,\n pipes\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { PipelineConfig, PipelineConfigT } from '../../nostr/fb/pipeline-config.js';\n\n\nexport class SubscriptionConfig implements flatbuffers.IUnpackableObject<SubscriptionConfigT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):SubscriptionConfig {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSubscriptionConfig(bb:flatbuffers.ByteBuffer, obj?:SubscriptionConfig):SubscriptionConfig {\n return (obj || new SubscriptionConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSubscriptionConfig(bb:flatbuffers.ByteBuffer, obj?:SubscriptionConfig):SubscriptionConfig {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new SubscriptionConfig()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\npipeline(obj?:PipelineConfig):PipelineConfig|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? (obj || new PipelineConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\ncloseOnEose():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\ncacheFirst():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : true;\n}\n\ntimeoutMs():bigint {\n const offset = this.bb!.__offset(this.bb_pos, 10);\n return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');\n}\n\nmaxEvents():number {\n const offset = this.bb!.__offset(this.bb_pos, 12);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nskipCache():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 14);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nforce():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 16);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\nbytesPerEvent():number {\n const offset = this.bb!.__offset(this.bb_pos, 18);\n return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;\n}\n\nisSlow():boolean {\n const offset = this.bb!.__offset(this.bb_pos, 20);\n return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false;\n}\n\npagination(): ByteString|null\npagination(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\npagination(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 22);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startSubscriptionConfig(builder:flatbuffers.Builder) {\n builder.startObject(10);\n}\n\nstatic addPipeline(builder:flatbuffers.Builder, pipelineOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, pipelineOffset, 0);\n}\n\nstatic addCloseOnEose(builder:flatbuffers.Builder, closeOnEose:boolean) {\n builder.addFieldInt8(1, +closeOnEose, +false);\n}\n\nstatic addCacheFirst(builder:flatbuffers.Builder, cacheFirst:boolean) {\n builder.addFieldInt8(2, +cacheFirst, +true);\n}\n\nstatic addTimeoutMs(builder:flatbuffers.Builder, timeoutMs:bigint) {\n builder.addFieldInt64(3, timeoutMs, BigInt('0'));\n}\n\nstatic addMaxEvents(builder:flatbuffers.Builder, maxEvents:number) {\n builder.addFieldInt32(4, maxEvents, 0);\n}\n\nstatic addSkipCache(builder:flatbuffers.Builder, skipCache:boolean) {\n builder.addFieldInt8(5, +skipCache, +false);\n}\n\nstatic addForce(builder:flatbuffers.Builder, force:boolean) {\n builder.addFieldInt8(6, +force, +false);\n}\n\nstatic addBytesPerEvent(builder:flatbuffers.Builder, bytesPerEvent:number) {\n builder.addFieldInt32(7, bytesPerEvent, 0);\n}\n\nstatic addIsSlow(builder:flatbuffers.Builder, isSlow:boolean) {\n builder.addFieldInt8(8, +isSlow, +false);\n}\n\nstatic addPagination(builder:flatbuffers.Builder, paginationOffset:flatbuffers.Offset) {\n builder.addFieldOffset(9, paginationOffset, 0);\n}\n\nstatic endSubscriptionConfig(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n return offset;\n}\n\nstatic createSubscriptionConfig(builder:flatbuffers.Builder, pipelineOffset:flatbuffers.Offset, closeOnEose:boolean, cacheFirst:boolean, timeoutMs:bigint, maxEvents:number, skipCache:boolean, force:boolean, bytesPerEvent:number, isSlow:boolean, paginationOffset:flatbuffers.Offset):flatbuffers.Offset {\n SubscriptionConfig.startSubscriptionConfig(builder);\n SubscriptionConfig.addPipeline(builder, pipelineOffset);\n SubscriptionConfig.addCloseOnEose(builder, closeOnEose);\n SubscriptionConfig.addCacheFirst(builder, cacheFirst);\n SubscriptionConfig.addTimeoutMs(builder, timeoutMs);\n SubscriptionConfig.addMaxEvents(builder, maxEvents);\n SubscriptionConfig.addSkipCache(builder, skipCache);\n SubscriptionConfig.addForce(builder, force);\n SubscriptionConfig.addBytesPerEvent(builder, bytesPerEvent);\n SubscriptionConfig.addIsSlow(builder, isSlow);\n SubscriptionConfig.addPagination(builder, paginationOffset);\n return SubscriptionConfig.endSubscriptionConfig(builder);\n}\n\nunpack(): SubscriptionConfigT {\n return new SubscriptionConfigT(\n (this.pipeline() !== null ? this.pipeline()!.unpack() : null),\n this.closeOnEose(),\n this.cacheFirst(),\n this.timeoutMs(),\n this.maxEvents(),\n this.skipCache(),\n this.force(),\n this.bytesPerEvent(),\n this.isSlow(),\n this.pagination()\n );\n}\n\n\nunpackTo(_o: SubscriptionConfigT): void {\n _o.pipeline = (this.pipeline() !== null ? this.pipeline()!.unpack() : null);\n _o.closeOnEose = this.closeOnEose();\n _o.cacheFirst = this.cacheFirst();\n _o.timeoutMs = this.timeoutMs();\n _o.maxEvents = this.maxEvents();\n _o.skipCache = this.skipCache();\n _o.force = this.force();\n _o.bytesPerEvent = this.bytesPerEvent();\n _o.isSlow = this.isSlow();\n _o.pagination = this.pagination();\n}\n}\n\nexport class SubscriptionConfigT implements flatbuffers.IGeneratedObject {\nconstructor(\n public pipeline: PipelineConfigT|null = null,\n public closeOnEose: boolean = false,\n public cacheFirst: boolean = true,\n public timeoutMs: bigint = BigInt('0'),\n public maxEvents: number = 0,\n public skipCache: boolean = false,\n public force: boolean = false,\n public bytesPerEvent: number = 0,\n public isSlow: boolean = false,\n public pagination: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const pipeline = (this.pipeline !== null ? this.pipeline!.pack(builder) : 0);\n const pagination = (this.pagination !== null ? builder.createString(this.pagination!) : 0);\n\n return SubscriptionConfig.createSubscriptionConfig(builder,\n pipeline,\n this.closeOnEose,\n this.cacheFirst,\n this.timeoutMs,\n this.maxEvents,\n this.skipCache,\n this.force,\n this.bytesPerEvent,\n this.isSlow,\n pagination\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { Request, RequestT } from '../../nostr/fb/request.js';\nimport { SubscriptionConfig, SubscriptionConfigT } from '../../nostr/fb/subscription-config.js';\n\n\nexport class Subscribe implements flatbuffers.IUnpackableObject<SubscribeT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Subscribe {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsSubscribe(bb:flatbuffers.ByteBuffer, obj?:Subscribe):Subscribe {\n return (obj || new Subscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsSubscribe(bb:flatbuffers.ByteBuffer, obj?:Subscribe):Subscribe {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Subscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nrequests(index: number, obj?:Request):Request|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? (obj || new Request()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;\n}\n\nrequestsLength():number {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;\n}\n\nconfig(obj?:SubscriptionConfig):SubscriptionConfig|null {\n const offset = this.bb!.__offset(this.bb_pos, 8);\n return offset ? (obj || new SubscriptionConfig()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;\n}\n\nstatic startSubscribe(builder:flatbuffers.Builder) {\n builder.startObject(3);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic addRequests(builder:flatbuffers.Builder, requestsOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, requestsOffset, 0);\n}\n\nstatic createRequestsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {\n builder.startVector(4, data.length, 4);\n for (let i = data.length - 1; i >= 0; i--) {\n builder.addOffset(data[i]!);\n }\n return builder.endVector();\n}\n\nstatic startRequestsVector(builder:flatbuffers.Builder, numElems:number) {\n builder.startVector(4, numElems, 4);\n}\n\nstatic addConfig(builder:flatbuffers.Builder, configOffset:flatbuffers.Offset) {\n builder.addFieldOffset(2, configOffset, 0);\n}\n\nstatic endSubscribe(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n builder.requiredField(offset, 6) // requests\n builder.requiredField(offset, 8) // config\n return offset;\n}\n\n\nunpack(): SubscribeT {\n return new SubscribeT(\n this.subscriptionId(),\n this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength()),\n (this.config() !== null ? this.config()!.unpack() : null)\n );\n}\n\n\nunpackTo(_o: SubscribeT): void {\n _o.subscriptionId = this.subscriptionId();\n _o.requests = this.bb!.createObjList<Request, RequestT>(this.requests.bind(this), this.requestsLength());\n _o.config = (this.config() !== null ? this.config()!.unpack() : null);\n}\n}\n\nexport class SubscribeT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null,\n public requests: (RequestT)[] = [],\n public config: SubscriptionConfigT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n const requests = Subscribe.createRequestsVector(builder, builder.createObjectOffsetList(this.requests));\n const config = (this.config !== null ? this.config!.pack(builder) : 0);\n\n Subscribe.startSubscribe(builder);\n Subscribe.addSubscriptionId(builder, subscriptionId);\n Subscribe.addRequests(builder, requests);\n Subscribe.addConfig(builder, config);\n\n return Subscribe.endSubscribe(builder);\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\n\n\nexport class Unsubscribe implements flatbuffers.IUnpackableObject<UnsubscribeT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):Unsubscribe {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsUnsubscribe(bb:flatbuffers.ByteBuffer, obj?:Unsubscribe):Unsubscribe {\n return (obj || new Unsubscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsUnsubscribe(bb:flatbuffers.ByteBuffer, obj?:Unsubscribe):Unsubscribe {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new Unsubscribe()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nsubscriptionId(): ByteString|null\nsubscriptionId(optionalEncoding:flatbuffers.Encoding): ByteString|Uint8Array|null\nsubscriptionId(optionalEncoding?:any): ByteString|Uint8Array|null {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.__stringByteString(this.bb_pos + offset, optionalEncoding) : null;\n}\n\nstatic startUnsubscribe(builder:flatbuffers.Builder) {\n builder.startObject(1);\n}\n\nstatic addSubscriptionId(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset) {\n builder.addFieldOffset(0, subscriptionIdOffset, 0);\n}\n\nstatic endUnsubscribe(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 4) // subscription_id\n return offset;\n}\n\nstatic createUnsubscribe(builder:flatbuffers.Builder, subscriptionIdOffset:flatbuffers.Offset):flatbuffers.Offset {\n Unsubscribe.startUnsubscribe(builder);\n Unsubscribe.addSubscriptionId(builder, subscriptionIdOffset);\n return Unsubscribe.endUnsubscribe(builder);\n}\n\nunpack(): UnsubscribeT {\n return new UnsubscribeT(\n this.subscriptionId()\n );\n}\n\n\nunpackTo(_o: UnsubscribeT): void {\n _o.subscriptionId = this.subscriptionId();\n}\n}\n\nexport class UnsubscribeT implements flatbuffers.IGeneratedObject {\nconstructor(\n public subscriptionId: ByteString|Uint8Array|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const subscriptionId = (this.subscriptionId !== null ? builder.createString(this.subscriptionId!) : 0);\n\n return Unsubscribe.createUnsubscribe(builder,\n subscriptionId\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport { GetPublicKey, GetPublicKeyT } from '../../nostr/fb/get-public-key.js';\nimport { Publish, PublishT } from '../../nostr/fb/publish.js';\nimport { SetSigner, SetSignerT } from '../../nostr/fb/set-signer.js';\nimport { SignEvent, SignEventT } from '../../nostr/fb/sign-event.js';\nimport { Subscribe, SubscribeT } from '../../nostr/fb/subscribe.js';\nimport { Unsubscribe, UnsubscribeT } from '../../nostr/fb/unsubscribe.js';\n\n\nexport enum MainContent {\n NONE = 0,\n Subscribe = 1,\n Unsubscribe = 2,\n Publish = 3,\n SignEvent = 4,\n SetSigner = 5,\n GetPublicKey = 6\n}\n\nexport function unionToMainContent(\n type: MainContent,\n accessor: (obj:GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe) => GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null\n): GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null {\n switch(MainContent[type]) {\n case 'NONE': return null; \n case 'Subscribe': return accessor(new Subscribe())! as Subscribe;\n case 'Unsubscribe': return accessor(new Unsubscribe())! as Unsubscribe;\n case 'Publish': return accessor(new Publish())! as Publish;\n case 'SignEvent': return accessor(new SignEvent())! as SignEvent;\n case 'SetSigner': return accessor(new SetSigner())! as SetSigner;\n case 'GetPublicKey': return accessor(new GetPublicKey())! as GetPublicKey;\n default: return null;\n }\n}\n\nexport function unionListToMainContent(\n type: MainContent, \n accessor: (index: number, obj:GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe) => GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null, \n index: number\n): GetPublicKey|Publish|SetSigner|SignEvent|Subscribe|Unsubscribe|null {\n switch(MainContent[type]) {\n case 'NONE': return null; \n case 'Subscribe': return accessor(index, new Subscribe())! as Subscribe;\n case 'Unsubscribe': return accessor(index, new Unsubscribe())! as Unsubscribe;\n case 'Publish': return accessor(index, new Publish())! as Publish;\n case 'SignEvent': return accessor(index, new SignEvent())! as SignEvent;\n case 'SetSigner': return accessor(index, new SetSigner())! as SetSigner;\n case 'GetPublicKey': return accessor(index, new GetPublicKey())! as GetPublicKey;\n default: return null;\n }\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nimport * as flatbuffers from 'flatbuffers';\n\nimport { GetPublicKey, GetPublicKeyT } from '../../nostr/fb/get-public-key.js';\nimport { MainContent, unionToMainContent, unionListToMainContent } from '../../nostr/fb/main-content.js';\nimport { Publish, PublishT } from '../../nostr/fb/publish.js';\nimport { SetSigner, SetSignerT } from '../../nostr/fb/set-signer.js';\nimport { SignEvent, SignEventT } from '../../nostr/fb/sign-event.js';\nimport { Subscribe, SubscribeT } from '../../nostr/fb/subscribe.js';\nimport { Unsubscribe, UnsubscribeT } from '../../nostr/fb/unsubscribe.js';\n\n\nexport class MainMessage implements flatbuffers.IUnpackableObject<MainMessageT> {\n bb: flatbuffers.ByteBuffer|null = null;\n bb_pos = 0;\n __init(i:number, bb:flatbuffers.ByteBuffer):MainMessage {\n this.bb_pos = i;\n this.bb = bb;\n return this;\n}\n\nstatic getRootAsMainMessage(bb:flatbuffers.ByteBuffer, obj?:MainMessage):MainMessage {\n return (obj || new MainMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\nstatic getSizePrefixedRootAsMainMessage(bb:flatbuffers.ByteBuffer, obj?:MainMessage):MainMessage {\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\n return (obj || new MainMessage()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\n}\n\ncontentType():MainContent {\n const offset = this.bb!.__offset(this.bb_pos, 4);\n return offset ? this.bb!.readUint8(this.bb_pos + offset) : MainContent.NONE;\n}\n\ncontent<T extends flatbuffers.Table>(obj:any):any|null {\n const offset = this.bb!.__offset(this.bb_pos, 6);\n return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;\n}\n\nstatic startMainMessage(builder:flatbuffers.Builder) {\n builder.startObject(2);\n}\n\nstatic addContentType(builder:flatbuffers.Builder, contentType:MainContent) {\n builder.addFieldInt8(0, contentType, MainContent.NONE);\n}\n\nstatic addContent(builder:flatbuffers.Builder, contentOffset:flatbuffers.Offset) {\n builder.addFieldOffset(1, contentOffset, 0);\n}\n\nstatic endMainMessage(builder:flatbuffers.Builder):flatbuffers.Offset {\n const offset = builder.endObject();\n builder.requiredField(offset, 6) // content\n return offset;\n}\n\nstatic createMainMessage(builder:flatbuffers.Builder, contentType:MainContent, contentOffset:flatbuffers.Offset):flatbuffers.Offset {\n MainMessage.startMainMessage(builder);\n MainMessage.addContentType(builder, contentType);\n MainMessage.addContent(builder, contentOffset);\n return MainMessage.endMainMessage(builder);\n}\n\nunpack(): MainMessageT {\n return new MainMessageT(\n this.contentType(),\n (() => {\n const temp = unionToMainContent(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })()\n );\n}\n\n\nunpackTo(_o: MainMessageT): void {\n _o.contentType = this.contentType();\n _o.content = (() => {\n const temp = unionToMainContent(this.contentType(), this.content.bind(this));\n if(temp === null) { return null; }\n return temp.unpack()\n })();\n}\n}\n\nexport class MainMessageT implements flatbuffers.IGeneratedObject {\nconstructor(\n public contentType: MainContent = MainContent.NONE,\n public content: GetPublicKeyT|PublishT|SetSignerT|SignEventT|SubscribeT|UnsubscribeT|null = null\n){}\n\n\npack(builder:flatbuffers.Builder): flatbuffers.Offset {\n const content = builder.createObjectOffset(this.content);\n\n return MainMessage.createMainMessage(builder,\n this.contentType,\n content\n );\n}\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum ParsedDataUnion {\n Kind0Parsed = 0,\n Kind1Parsed = 1,\n Kind3Parsed = 3,\n Kind4Parsed = 4,\n Kind6Parsed = 6,\n Kind7Parsed = 7,\n Kind17Parsed = 17,\n Kind20Parsed = 20,\n Kind22Parsed = 22,\n Kind1111Parsed = 1111,\n Kind1311Parsed = 1311,\n Kind7374Parsed = 7374,\n Kind7375Parsed = 7375,\n Kind7376Parsed = 7376,\n Kind9321Parsed = 9321,\n Kind9735Parsed = 9735,\n Kind10002Parsed = 10002,\n Kind10019Parsed = 10019,\n Kind17375Parsed = 17375,\n Kind30023Parsed = 30023,\n Kind39089Parsed = 39089,\n ListParsed = 51000,\n PreGenericParsed = 52000\n}\n","import { ByteString } from \"src/lib/ByteString\";\n// automatically generated by the FlatBuffers compiler, do not modify\n\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */\n\nexport enum SubscribeKind {\n CachedEvent = 0,\n FetchedEvent = 1,\n Count = 2,\n ConnectionStatus = 3,\n Eoce = 4,\n BufferFull = 5\n}\n","import { ByteBuffer } from 'flatbuffers';\nimport { WorkerMessage } from 'src/generated/nostr/fb';\n\n/**\n * Utility library for reading from ArrayBuffer with 4-byte header approach\n * Header format: [0-3]: Write position (4 bytes, little endian)\n * Data format: [4+]: [4-byte length][FlatBuffer message][4-byte length][FlatBuffer message]...\n * \n * Utility for reading from ArrayBuffer with 4-byte header approach.\n * Used for MessageChannel-based communication between main thread and workers.\n */\nexport class ArrayBufferReader {\n\t/**\n\t * Initialize a buffer for writing - sets the write position header to 4\n\t * @param buffer The ArrayBuffer to initialize\n\t */\n\tstatic initializeBuffer(buffer: ArrayBuffer): void {\n\t\tconst view = new DataView(buffer);\n\t\t// Set initial write position to 4 (right after the header)\n\t\tview.setUint32(0, 4, true);\n\t}\n\n\t/**\n\t * Write a message to the ArrayBuffer\n\t * @param buffer The ArrayBuffer to write to\n\t * @param data The data to write (already encoded as Uint8Array)\n\t * @returns True if written successfully, false if buffer is full\n\t */\n\tstatic writeMessage(buffer: ArrayBuffer, data: Uint8Array): boolean {\n\t\tconst view = new DataView(buffer);\n\t\tconst uint8View = new Uint8Array(buffer);\n\n\t\t// Get current write position\n\t\tconst currentWritePosition = view.getUint32(0, true);\n\n\t\t// Check if there's enough space (4 bytes for length + data length)\n\t\tconst requiredSpace = 4 + data.length;\n\t\tif (currentWritePosition + requiredSpace > buffer.byteLength) {\n\t\t\tconsole.warn('Buffer full, cannot write message');\n\t\t\treturn false;\n\t\t}\n\n\t\t// Write the length prefix (4 bytes, little endian)\n\t\tview.setUint32(currentWritePosition, data.length, true);\n\n\t\t// Write the actual data\n\t\tuint8View.set(data, currentWritePosition + 4);\n\n\t\t// Update the write position header\n\t\tconst newWritePosition = currentWritePosition + requiredSpace;\n\t\tview.setUint32(0, newWritePosition, true);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Write raw batched data (already length-prefixed) to the ArrayBuffer.\n\t * Use this when the data already contains [4-byte len][payload] format.\n\t * @param buffer The ArrayBuffer to write to\n\t * @param data The batched data (already with length prefixes)\n\t * @returns True if written successfully, false if buffer is full\n\t */\n\tstatic writeBatchedData(buffer: ArrayBuffer, data: Uint8Array, _debugId?: string): boolean {\n\t\tconst view = new DataView(buffer);\n\t\tconst uint8View = new Uint8Array(buffer);\n\n\t\t// Get current write position\n\t\tconst currentWritePosition = view.getUint32(0, true);\n\n\t\t// Check if there's enough space\n\t\tif (currentWritePosition + data.length > buffer.byteLength) {\n\t\t\tconsole.warn(\n\t\t\t\t`[ArrayBufferReader] Dropping ${_debugId ? `event for subscription '${_debugId}'` : 'event'}: ` +\n\t\t\t\t`buffer full (${currentWritePosition}/${buffer.byteLength} bytes used, ` +\n\t\t\t\t`need ${data.length} more bytes). ` +\n\t\t\t\t`Consider increasing 'bytesPerEvent' or reducing subscription limits.`\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// Write the data directly (it's already length-prefixed)\n\t\tuint8View.set(data, currentWritePosition);\n\n\t\t// Update the write position header\n\t\tconst newWritePosition = currentWritePosition + data.length;\n\t\tview.setUint32(0, newWritePosition, true);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Read new messages from ArrayBuffer since last read position\n\t * @param buffer The ArrayBuffer to read from\n\t * @param lastReadPosition Last position read (default: 0, meaning read from beginning)\n\t * @returns Object containing new messages and updated read position\n\t */\n\tstatic readMessages(buffer: ArrayBuffer, lastReadPosition: number = 0, _debugId?: string) {\n\t\tconst view = new DataView(buffer);\n\t\tconst uint8View = new Uint8Array(buffer);\n\n\t\tconst currentWritePosition = view.getUint32(0, true);\n\t\tconst dataStartOffset = 4;\n\t\tlet currentPos = lastReadPosition < dataStartOffset ? dataStartOffset : lastReadPosition;\n\t\tif (currentWritePosition <= currentPos) {\n\t\t\treturn { messages: [], newReadPosition: currentPos, hasNewData: false };\n\t\t}\n\n\t\tconst maxMessages = 128;\n\t\tconst messages: WorkerMessage[] = new Array(maxMessages);\n\t\tlet msgCount = 0;\n\n\t\ttry {\n\t\t\twhile (currentPos < currentWritePosition) {\n\t\t\t\t// Stop if we've filled this batch; leave currentPos at the start of the next message\n\t\t\t\tif (msgCount >= maxMessages) break;\n\n\t\t\t\t// Need enough bytes for header\n\t\t\t\tif (currentPos + 4 > currentWritePosition) break;\n\n\t\t\t\tconst headerPos = currentPos;\n\t\t\t\tconst eventLength = view.getUint32(headerPos, true);\n\t\t\t\tconst payloadStart = headerPos + 4;\n\t\t\t\tconst nextPos = payloadStart + eventLength;\n\n\t\t\t\t// Need the full payload to be available\n\t\t\t\tif (nextPos > currentWritePosition) break;\n\n\t\t\t\t// Create a copy of the data since ArrayBuffer is not shared\n\t\t\t\tconst flatBufferData = new Uint8Array(uint8View.subarray(payloadStart, nextPos));\n\n\t\t\t\t// Parse directly\n\t\t\t\tconst bb = new ByteBuffer(flatBufferData);\n\t\t\t\tconst message = WorkerMessage.getRootAsWorkerMessage(bb);\n\n\t\t\t\tmessages[msgCount++] = message;\n\n\t\t\t\t// Advance to next message boundary\n\t\t\t\tcurrentPos = nextPos;\n\t\t\t}\n\n\t\t\tmessages.length = msgCount;\n\t\t\treturn {\n\t\t\t\tmessages,\n\t\t\t\tnewReadPosition: currentPos,\n\t\t\t\thasNewData: msgCount > 0\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to decode FlatBuffer data from ArrayBuffer:', error);\n\t\t\tmessages.length = msgCount;\n\t\t\treturn {\n\t\t\t\tmessages,\n\t\t\t\tnewReadPosition: lastReadPosition < dataStartOffset ? dataStartOffset : lastReadPosition,\n\t\t\t\thasNewData: false\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * Read all messages from ArrayBuffer from the beginning (ignores lastReadPosition)\n\t * @param buffer The ArrayBuffer to read from\n\t * @returns Object containing all messages in the buffer\n\t */\n\tstatic readAllMessages(buffer: ArrayBuffer): {\n\t\tmessages: WorkerMessage[];\n\t\ttotalMessages: number;\n\t} {\n\t\tconst result = this.readMessages(buffer, 0); // Always start from beginning\n\t\treturn {\n\t\t\tmessages: result.messages,\n\t\t\ttotalMessages: result.messages.length\n\t\t};\n\t}\n\n\t/**\n\t * Get current write position from buffer header\n\t * @param buffer The ArrayBuffer to read from\n\t * @returns Current write position\n\t */\n\tstatic getCurrentWritePosition(buffer: ArrayBuffer): number {\n\t\tconst view = new DataView(buffer);\n\t\treturn view.getUint32(0, true);\n\t}\n\n\t/**\n\t * Check if buffer has new data since last read\n\t * @param buffer The ArrayBuffer to check\n\t * @param lastReadPosition Last position read\n\t * @returns True if there's new data to read\n\t */\n\tstatic hasNewData(buffer: ArrayBuffer, lastReadPosition: number): boolean {\n\t\tconst currentWritePosition = this.getCurrentWritePosition(buffer);\n\t\tconst dataStartOffset = 4;\n\t\tconst actualLastReadPosition = Math.max(lastReadPosition, dataStartOffset);\n\t\treturn currentWritePosition > actualLastReadPosition;\n\t}\n\n\t/**\n\t * Calculate recommended buffer size based on request limits\n\t * @param totalEventLimit Total expected events across all requests\n\t * @param bytesPerEvent Estimated bytes per event (default: 3072)\n\t * @returns Recommended buffer size in bytes\n\t */\n\tstatic calculateBufferSize(totalEventLimit: number = 100, bytesPerEvent: number = 3072): number {\n\t\tconst headerSize = 4;\n\t\tconst dataSize = totalEventLimit * bytesPerEvent;\n\t\tconst overhead = Math.floor(dataSize * 0.25); // 25% overhead\n\t\treturn headerSize + dataSize + overhead;\n\t}\n}\n","/**\n * Nostr utilities for PRE/RE list/set helpers on the frontend (TypeScript).\n *\n * This module provides:\n * - d-tag generation (slug or random)\n * - a-pointer computation (kind:pubkey_hex:d)\n * - naddr-like computation (human-readable, non-bech32 placeholder)\n *\n * Notes:\n * - naddr-like is NOT a real bech32-encoded naddr. It’s a convenient string to\n * carry the same tuple (\"kind:pubkey:d\") plus optional relays for UI/links.\n * - If/when you wire a proper NIP-19 encoder, replace naddr-like with a true naddr.\n */\n\nimport { nip19 } from 'nostr-tools';\n\nexport type NostrTag = [string, ...string[]];\n\n/* ---------------------------- NIP-19 naddr helpers --------------------------- */\n\n/**\n * Build a NIP-19 naddr (bech32) from PRE tuple.\n * Relays are optional; pass when available to help clients.\n */\nexport function makeNaddr(\n\tkind: number,\n\tpubkeyHex: string,\n\td: string,\n\trelays?: string[] | null\n): string {\n\tif (!Number.isInteger(kind) || kind < 0 || kind > 0xffff) {\n\t\tthrow new Error(`Invalid kind: ${kind}`);\n\t}\n\tif (!isHex64(pubkeyHex)) {\n\t\tthrow new Error(`Invalid pubkey hex (expected 64 lowercase hex chars): ${pubkeyHex}`);\n\t}\n\tif (!d || typeof d !== 'string') {\n\t\tthrow new Error(`Invalid d tag: ${d}`);\n\t}\n\treturn nip19.naddrEncode({\n\t\tidentifier: d,\n\t\tkind,\n\t\tpubkey: pubkeyHex,\n\t\trelays: relays && relays.length ? relays : undefined\n\t} as any);\n}\n\n/**\n * Build a NIP-19 naddr for an event. Requires that \"d\" is present (PRE).\n */\nexport function makeNaddrForEvent(evt: NostrEventMinimal, relays?: string[] | null): string {\n\tconst d = extractDFromTags(evt.tags);\n\tif (!d) {\n\t\tthrow new Error(`Missing \"d\" tag for PRE event of kind ${evt.kind}`);\n\t}\n\treturn makeNaddr(evt.kind, evt.pubkey, d, relays);\n}\n\n/**\n * Parse a NIP-19 naddr into tuple and (optionally) relays.\n */\nexport function parseNaddr(naddr: string): {\n\tkind: number;\n\tpubkey: string;\n\td: string;\n\trelays?: string[];\n} {\n\tconst decoded = nip19.decode(naddr);\n\tif (decoded.type !== 'naddr') {\n\t\tthrow new Error(`Invalid naddr type: ${decoded.type}`);\n\t}\n\tconst { identifier, kind, pubkey, relays } = decoded.data as any;\n\treturn {\n\t\tkind,\n\t\tpubkey,\n\t\td: identifier,\n\t\trelays\n\t};\n}\n\nexport interface NostrEventMinimal {\n\tkind: number;\n\tpubkey: string; // 64-char hex\n\ttags: NostrTag[];\n}\n\nexport interface APointer {\n\tkind: number;\n\tpubkey: string; // hex\n\td: string;\n}\n\n/* -------------------------------- Utilities -------------------------------- */\n\nexport function isHex64(s: string): boolean {\n\treturn /^[0-9a-f]{64}$/.test(s);\n}\n\n/**\n * Normalize a string to a NIP-54-style slug:\n * - Lowercase\n * - Replace any non-letter/digit with \"-\"\n * - Collapse multiple \"-\" into one\n * - Trim leading/trailing \"-\"\n */\nexport function normalizeSlug(input: string): string {\n\tconst lower = input.toLowerCase();\n\tconst replaced = lower.replace(/[^a-z0-9]+/g, '-');\n\tconst collapsed = replaced.replace(/-+/g, '-');\n\treturn collapsed.replace(/^-+|-+$/g, '');\n}\n\n/**\n * Generate a random, URL-safe identifier for \"d\" tag.\n * Uses crypto.getRandomValues if available; falls back to Math.random (weaker).\n */\nexport function randomId(bytes: number = 9): string {\n\tconst len = Math.max(1, Math.min(bytes, 64));\n\tlet arr: Uint8Array;\n\tif (typeof globalThis !== 'undefined' && globalThis.crypto?.getRandomValues) {\n\t\tarr = new Uint8Array(len);\n\t\tglobalThis.crypto.getRandomValues(arr);\n\t} else {\n\t\t// Fallback: not cryptographically strong\n\t\tarr = new Uint8Array(len);\n\t\tfor (let i = 0; i < len; i++) {\n\t\t\tarr[i] = Math.floor(Math.random() * 256);\n\t\t}\n\t}\n\t// Base64url encode without padding\n\tlet b64 =\n\t\ttypeof Buffer !== 'undefined'\n\t\t\t? Buffer.from(arr).toString('base64')\n\t\t\t: btoa(String.fromCharCode(...arr));\n\treturn b64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/g, '');\n}\n\n/* ------------------------------- d tag helpers ------------------------------ */\n\n/**\n * Extract \"d\" tag value from an event’s tags, if any.\n */\nexport function extractDFromTags(tags: NostrTag[]): string | undefined {\n\tfor (const t of tags) {\n\t\tif (t[0] === 'd' && typeof t[1] === 'string' && t[1].length > 0) {\n\t\t\treturn t[1];\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Ensure a \"d\" identifier for a PRE event.\n * - If tags already contain a \"d\", return it.\n * - If a source string is given, return a normalized slug from it.\n * - Otherwise, return a random ID.\n */\nexport function ensureD(\n\ttags: NostrTag[],\n\tsource?: string | null,\n\toptions?: { randomBytes?: number }\n): string {\n\tconst existing = extractDFromTags(tags);\n\tif (existing) return existing;\n\tif (source && source.trim().length > 0) {\n\t\tconst slug = normalizeSlug(source.trim());\n\t\treturn slug.length > 0 ? slug : randomId(options?.randomBytes ?? 9);\n\t}\n\treturn randomId(options?.randomBytes ?? 9);\n}\n\n/* ---------------------------- a-pointer (kind:d) ---------------------------- */\n\n/**\n * Compute the \"a\" pointer string \"kind:pubkey_hex:d\".\n */\nexport function makeAPointer(kind: number, pubkeyHex: string, d: string): string {\n\tif (!Number.isInteger(kind) || kind < 0 || kind > 0xffff) {\n\t\tthrow new Error(`Invalid kind: ${kind}`);\n\t}\n\tif (!isHex64(pubkeyHex)) {\n\t\tthrow new Error(`Invalid pubkey hex (expected 64 lowercase hex chars): ${pubkeyHex}`);\n\t}\n\tif (!d || typeof d !== 'string') {\n\t\tthrow new Error(`Invalid d tag: ${d}`);\n\t}\n\treturn `${kind}:${pubkeyHex}:${d}`;\n}\n\n/**\n * Parse an \"a\" pointer \"kind:pubkey_hex:d\".\n */\nexport function parseAPointer(a: string): APointer {\n\tconst parts = a.split(':');\n\tif (parts.length !== 3) {\n\t\tthrow new Error(`Invalid a-pointer format: ${a}`);\n\t}\n\tconst kind = Number(parts[0]);\n\tconst pubkey = parts[1];\n\tconst d = parts[2];\n\tif (!Number.isInteger(kind)) {\n\t\tthrow new Error(`Invalid kind in a-pointer: ${parts[0]}`);\n\t}\n\tif (!isHex64(pubkey)) {\n\t\tthrow new Error(`Invalid pubkey in a-pointer: ${pubkey}`);\n\t}\n\tif (!d) {\n\t\tthrow new Error(`Invalid d in a-pointer: ${d}`);\n\t}\n\treturn { kind, pubkey, d };\n}\n\n/**\n * Build an \"a\" pointer for an event. Requires that \"d\" is present (PRE).\n */\nexport function makeAPointerForEvent(evt: NostrEventMinimal): string {\n\tconst d = extractDFromTags(evt.tags);\n\tif (!d) {\n\t\tthrow new Error(`Missing \"d\" tag for PRE event of kind ${evt.kind}`);\n\t}\n\treturn makeAPointer(evt.kind, evt.pubkey, d);\n}\n\n/* ------------------------------ naddr-like (UI) ----------------------------- */\n\n/**\n * Compute a human-friendly \"naddr-like\" string that carries the tuple\n * (kind, pubkey, d) with optional relays, without doing bech32 encoding.\n *\n * Format:\n * naddr-like:kind:pubkey_hex:d[?relays=relay1,relay2,...]\n *\n * This is useful as a placeholder until a proper NIP-19 encoder is available.\n */\nexport function makeNaddrLike(\n\tkind: number,\n\tpubkeyHex: string,\n\td: string,\n\trelays?: string[] | null\n): string {\n\tconst a = makeAPointer(kind, pubkeyHex, d);\n\tif (relays && relays.length > 0) {\n\t\tconst encodedRelays = relays.map((r) => encodeURIComponent(r)).join(',');\n\t\treturn `naddr-like:${a}?relays=${encodedRelays}`;\n\t}\n\treturn `naddr-like:${a}`;\n}\n\n/**\n * Build naddr-like for an event. Requires \"d\".\n * You can pass relays if you have them (e.g., from list/set definitions).\n */\nexport function makeNaddrLikeForEvent(evt: NostrEventMinimal, relays?: string[] | null): string {\n\tconst d = extractDFromTags(evt.tags);\n\tif (!d) {\n\t\tthrow new Error(`Missing \"d\" tag for PRE event of kind ${evt.kind}`);\n\t}\n\treturn makeNaddrLike(evt.kind, evt.pubkey, d, relays);\n}\n\n/**\n * Parse a naddr-like string back to a tuple and (optionally) relays.\n */\nexport function parseNaddrLike(naddrLike: string): { a: APointer; relays?: string[] } {\n\tif (!naddrLike.startsWith('naddr-like:')) {\n\t\tthrow new Error(`Invalid naddr-like prefix: ${naddrLike}`);\n\t}\n\tconst rest = naddrLike.slice('naddr-like:'.length);\n\tconst [aPart, qs] = rest.split('?', 2);\n\tconst a = parseAPointer(aPart);\n\tif (!qs) return { a };\n\tconst params = new URLSearchParams(qs);\n\tconst relaysParam = params.get('relays');\n\tconst relays = relaysParam ? relaysParam.split(',').map(decodeURIComponent) : undefined;\n\treturn { a, relays };\n}\n\n/* ------------------------------ PRE kind checks ----------------------------- */\n\nexport function isPreKind(kind: number): boolean {\n\treturn Number.isInteger(kind) && kind >= 30000 && kind < 40000;\n}\n\n/* ---------------------------- Event tag utilities --------------------------- */\n\n/**\n * Insert or replace a \"d\" tag into tags immutably, returning a new array.\n * If no \"d\" exists, it’s appended; if it exists, the first occurrence is replaced.\n */\nexport function upsertDTag(tags: NostrTag[], d: string): NostrTag[] {\n\tconst out: NostrTag[] = [];\n\tlet replaced = false;\n\tfor (const t of tags) {\n\t\tif (!replaced && t[0] === 'd') {\n\t\t\tout.push(['d', d]);\n\t\t\treplaced = true;\n\t\t} else {\n\t\t\tout.push(t);\n\t\t}\n\t}\n\tif (!replaced) out.push(['d', d]);\n\treturn out;\n}\n\n/**\n * Convenience: ensure a d-tag on a PRE template (immutably).\n * - If present, it is returned unchanged.\n * - If absent, a slug is generated from source or a random id.\n */\nexport function ensureDTagForPre(\n\ttags: NostrTag[],\n\tsource?: string | null,\n\toptions?: { randomBytes?: number }\n): NostrTag[] {\n\tconst existing = extractDFromTags(tags);\n\tif (existing) return tags.slice();\n\tconst d = ensureD(tags, source, options);\n\treturn upsertDTag(tags, d);\n}\n","// Import ByteString first to patch flatbuffers.ByteBuffer.prototype\nimport './lib/ByteString.js';\n\nimport * as flatbuffers from 'flatbuffers';\nimport type { EventTemplate, NostrEvent } from 'nostr-tools';\n\nimport { ArrayBufferReader } from 'src/lib/ArrayBufferReader';\n\nimport { NostrManagerConfig, RequestObject, SubscriptionConfig } from 'src/types';\nimport { InitCacheMsg } from './cache/index';\nimport { InitConnectionsMsg } from './connections/index';\nimport { InitCryptoMsg } from './crypto/index';\nimport {\n\tGetPublicKeyT,\n\tMainContent,\n\tMainMessageT,\n\tPipelineConfigT,\n\tPublishT,\n\tRequestT,\n\tStringVecT,\n\tSubscribeT,\n\tSubscriptionConfigT,\n\tTemplateT,\n\tUnsubscribeT\n} from './generated/nostr/fb';\nimport { InitParserMsg } from './parser/index';\nexport * from './lib/NostrUtils';\nexport * from './types';\n\n/**\n * NostrManager handles worker orchestration and session persistence.\n */\nexport class NostrManager {\n\tprivate connections: Worker;\n\tprivate cache: Worker;\n\tprivate parser: Worker;\n\tprivate crypto: Worker;\n\tprivate textEncoder = new TextEncoder();\n\tprivate subscriptions = new Map<\n\t\tstring,\n\t\t{\n\t\t\tbuffer: ArrayBuffer;\n\t\t\toptions: SubscriptionConfig;\n\t\t\trefCount: number;\n\t\t}\n\t>();\n\tprivate publishes = new Map<string, { buffer: ArrayBuffer }>();\n\n\tprivate activePubkey: string | null = null;\n\tprivate _pendingSession: { type: string; payload: any } | null = null;\n\n\tprivate signCB = (_event: any) => {};\n\tprivate eventTarget = new EventTarget();\n\n\t// MessageChannel for parser-main communication\n\tprivate parserMainPort: MessagePort;\n\n\t// MessageChannel for connections-main communication (relay status)\n\tprivate connectionsMainPort: MessagePort;\n\n\t// Relay status cache: url -> {status, timestamp}\n\tprivate relayStatuses = new Map<\n\t\tstring,\n\t\t{ status: 'connected' | 'failed' | 'close'; timestamp: number }\n\t>();\n\n\tpublic PERPETUAL_SUBSCRIPTIONS = ['notifications', 'starterpack'];\n\n\tconstructor(config: NostrManagerConfig = {}) {\n\t\t// Create 7 MessageChannels for worker-to-worker communication\n\t\t// Each channel connects two workers - each worker gets one port (which is bidirectional)\n\t\t// Channel naming: workerA_workerB (no direction, just identifies the pair)\n\t\tconst parser_cache = new MessageChannel(); // parser ↔ cache\n\t\tconst parser_connections = new MessageChannel(); // parser ↔ connections\n\t\tconst parser_crypto = new MessageChannel(); // parser ↔ crypto\n\t\tconst cache_connections = new MessageChannel(); // cache ↔ connections\n\t\tconst crypto_connections = new MessageChannel(); // crypto ↔ connections\n\t\tconst crypto_main = new MessageChannel(); // crypto ↔ main\n\t\tconst parser_main = new MessageChannel(); // parser ↔ main (for batched events)\n\t\tconst connections_main = new MessageChannel(); // connections ↔ main (for relay status)\n\n\t\tconst connectionURL = new URL('./connections/index.js', import.meta.url);\n\t\tconst cacheURL = new URL('./cache/index.js', import.meta.url);\n\t\tconst parserURL = new URL('./parser/index.js', import.meta.url);\n\t\tconst cryptoURL = new URL('./crypto/index.js', import.meta.url);\n\n\t\tthis.connections = new Worker(connectionURL, { type: 'module' });\n\t\tthis.cache = new Worker(cacheURL, { type: 'module' });\n\t\tthis.parser = new Worker(parserURL, { type: 'module' });\n\t\tthis.crypto = new Worker(cryptoURL, { type: 'module' });\n\n\t\t// Transfer ports to connections worker\n\t\t// Needs: mainPort, cachePort, parserPort, cryptoPort\n\t\tthis.connections.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tmainPort: connections_main.port2,\n\t\t\t\t\tcachePort: cache_connections.port1,\n\t\t\t\t\tparserPort: parser_connections.port1,\n\t\t\t\t\tcryptoPort: crypto_connections.port1,\n\t\t\t\t\t...(config.proxy ? { proxy: config.proxy } : {})\n\t\t\t\t}\n\t\t\t} as InitConnectionsMsg,\n\t\t\t[\n\t\t\t\tconnections_main.port2,\n\t\t\t\tcache_connections.port1,\n\t\t\t\tparser_connections.port1,\n\t\t\t\tcrypto_connections.port1\n\t\t\t]\n\t\t);\n\n\t\t// Transfer ports to cache worker\n\t\t// Needs: parserPort, connectionsPort\n\t\tthis.cache.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tparserPort: parser_cache.port1,\n\t\t\t\t\tconnectionsPort: cache_connections.port2\n\t\t\t\t}\n\t\t\t} as InitCacheMsg,\n\t\t\t[parser_cache.port1, cache_connections.port2]\n\t\t);\n\n\t\t// Store parser_main port1 for receiving batched events from parser\n\t\tthis.parserMainPort = parser_main.port1;\n\n\t\t// Set up message handler for incoming batched events from parser\n\t\tthis.parserMainPort.onmessage = (event) => {\n\t\t\tconst { subId, data } = event.data;\n\t\t\t// console.log('[main] parserMainPort received message:', { subId, dataSize: data?.byteLength });\n\t\t\tif (!subId || !data) {\n\t\t\t\tconsole.log('[main] ignoring message - missing subId or data');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Find subscription or publish buffer and write data\n\t\t\t// Note: data is already batched with [4-byte len][payload] format\n\t\t\tconst subscription = this.subscriptions.get(subId);\n\t\t\tif (subscription) {\n\t\t\t\t// console.log('[main] found subscription for subId:', subId);\n\t\t\t\tconst written = ArrayBufferReader.writeBatchedData(subscription.buffer, data, subId);\n\t\t\t\tif (written) {\n\t\t\t\t\tthis.dispatch(`subscription:${subId}`, subId);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst publish = this.publishes.get(subId);\n\t\t\tif (publish) {\n\t\t\t\t// console.log('[main] found publish for subId:', subId);\n\t\t\t\tconst written = ArrayBufferReader.writeBatchedData(publish.buffer, data, subId);\n\t\t\t\tif (written) {\n\t\t\t\t\tthis.dispatch(`publish:${subId}`, subId);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconsole.log('[main] no subscription or publish found for subId:', subId);\n\t\t};\n\n\t\t// Set up message handler for relay status from connections worker\n\t\tthis.connectionsMainPort = connections_main.port1;\n\t\tthis.connectionsMainPort.onmessage = (event) => {\n\t\t\tconst { type, status, url } = JSON.parse(event.data);\n\t\t\tif (type === 'relay:status' && url && status) {\n\t\t\t\tthis.relayStatuses.set(url, { status, timestamp: Date.now() });\n\t\t\t\tthis.dispatch('relay:status', { status, url });\n\t\t\t} else {\n\t\t\t\tconsole.log('[main] ignoring message - type:', type, 'url:', url, 'status:', status);\n\t\t\t}\n\t\t};\n\n\t\t// Transfer ports to parser worker\n\t\t// Needs: connectionsPort, cachePort, cryptoPort, mainPort\n\t\tthis.parser.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tconnectionsPort: parser_connections.port2,\n\t\t\t\t\tcachePort: parser_cache.port2,\n\t\t\t\t\tcryptoPort: parser_crypto.port1,\n\t\t\t\t\tmainPort: parser_main.port2\n\t\t\t\t}\n\t\t\t} as InitParserMsg,\n\t\t\t[parser_connections.port2, parser_cache.port2, parser_crypto.port1, parser_main.port2]\n\t\t);\n\n\t\t// Transfer ports to crypto worker\n\t\t// Needs: parserPort, connectionsPort, mainPort\n\t\tthis.crypto.postMessage(\n\t\t\t{\n\t\t\t\ttype: 'init',\n\t\t\t\tpayload: {\n\t\t\t\t\tparserPort: parser_crypto.port2,\n\t\t\t\t\tconnectionsPort: crypto_connections.port2,\n\t\t\t\t\tmainPort: crypto_main.port1\n\t\t\t\t}\n\t\t\t} as InitCryptoMsg,\n\t\t\t[parser_crypto.port2, crypto_connections.port2, crypto_main.port1]\n\t\t);\n\n\t\t// Listen on crypto_main.port2 for control responses\n\t\tcrypto_main.port2.onmessage = (event) => {\n\t\t\tconst msg = event.data;\n\t\t\tif (msg.type === 'response') {\n\t\t\t\tthis.handleCryptoResponse(msg);\n\t\t\t}\n\t\t};\n\n\t\tthis.setupWorkerListener();\n\t\t// Defer session restore so callers have time to add auth listeners\n\t\tqueueMicrotask(() => this.restoreSession());\n\t}\n\n\tprivate postToWorker(message: any, transfer?: Transferable[]) {\n\t\tif (transfer && transfer.length) {\n\t\t\tthis.parser.postMessage(message, transfer);\n\t\t} else {\n\t\t\tthis.parser.postMessage(message);\n\t\t}\n\t}\n\n\tprivate handleCryptoResponse(msg: any) {\n\t\tif (msg.op === 'get_pubkey') {\n\t\t\tconsole.log('[main] get_pubkey:', msg.ok ? 'success' : 'failed', msg.result);\n\t\t\tif (msg.ok) {\n\t\t\t\tthis.activePubkey = msg.result;\n\t\t\t\t// Check if bunker was discovered (QR flow) - convert to bunker format\n\t\t\t\tif (\n\t\t\t\t\tthis._discoveredBunkerUrl &&\n\t\t\t\t\tthis._pendingSession?.type === 'nip46_qr' &&\n\t\t\t\t\tthis._pendingSession?.payload?.clientSecret\n\t\t\t\t) {\n\t\t\t\t\tconsole.log('[main] Converting QR to bunker for pubkey:', this.activePubkey);\n\t\t\t\t\tthis.saveSession(this.activePubkey!, 'nip46_bunker', {\n\t\t\t\t\t\turl: this._discoveredBunkerUrl,\n\t\t\t\t\t\tclientSecret: this._pendingSession.payload.clientSecret\n\t\t\t\t\t});\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t\tthis._discoveredBunkerUrl = null;\n\t\t\t\t} else if (this._pendingSession) {\n\t\t\t\t\t// Normal session save\n\t\t\t\t\tthis.saveSession(\n\t\t\t\t\t\tthis.activePubkey!,\n\t\t\t\t\t\tthis._pendingSession.type,\n\t\t\t\t\t\tthis._pendingSession.payload\n\t\t\t\t\t);\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst hasSigner = msg.ok && !!this._pendingSession;\n\t\t\tthis.dispatch('auth', { pubkey: this.activePubkey, hasSigner });\n\t\t} else if (msg.op === 'sign_event' && msg.ok) {\n\t\t\tconst parsed = JSON.parse(msg.result);\n\t\t\tthis.signCB(parsed);\n\t\t}\n\t}\n\n\tprivate setupWorkerListener() {\n\t\tthis.parser.onmessage = async (event) => {\n\t\t\tconst id = typeof event.data === 'string' ? event.data : undefined;\n\t\t\tif (!id) return;\n\t\t\tif (this.subscriptions.has(id)) {\n\t\t\t\tthis.dispatch(`subscription:${id}`, id);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.publishes.has(id)) {\n\t\t\t\tthis.dispatch(`publish:${id}`, id);\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\n\t\t// NIP-07 extension requests are still handled via crypto worker postMessage\n\t\t// (these require main thread access to window.nostr)\n\t\tthis.crypto.onmessage = async (event) => {\n\t\t\tconst msg = event.data;\n\t\t\tconsole.log('[main] crypto.onmessage:', msg?.type, msg);\n\n\t\t\t// Handle signer ready event (ALL signers send this when connected and ready)\n\t\t\t// Contains all info needed to reconstruct session: pubkey, signer_type, bunker_url (for nip46)\n\t\t\tif (msg?.type === 'signer_ready') {\n\t\t\t\tconsole.log('[main] signer_ready:', msg.signer_type, msg.pubkey);\n\t\t\t\tthis.activePubkey = msg.pubkey;\n\n\t\t\t\t// For NIP-46, use the bunker_url from the message (covers both QR and bunker flows)\n\t\t\t\tif (\n\t\t\t\t\tmsg.signer_type === 'nip46' &&\n\t\t\t\t\tmsg.bunker_url &&\n\t\t\t\t\tthis._pendingSession?.payload?.clientSecret\n\t\t\t\t) {\n\t\t\t\t\tconsole.log('[main] NIP-46 session saved for:', msg.pubkey);\n\t\t\t\t\tthis.saveSession(msg.pubkey, 'nip46', {\n\t\t\t\t\t\turl: msg.bunker_url,\n\t\t\t\t\t\tclientSecret: this._pendingSession.payload.clientSecret\n\t\t\t\t\t});\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t} else if (this._pendingSession) {\n\t\t\t\t\t// Normal session save (privkey, nip07)\n\t\t\t\t\tthis.saveSession(msg.pubkey, msg.signer_type, this._pendingSession.payload);\n\t\t\t\t\tthis._pendingSession = null;\n\t\t\t\t}\n\t\t\t\tthis.dispatch('auth', { pubkey: msg.pubkey, hasSigner: true });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Handle control responses (get_pubkey, sign_event, etc.)\n\t\t\tif (msg?.type === 'response') {\n\t\t\t\tthis.handleCryptoResponse(msg);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Handle NIP-07 extension requests from the worker\n\t\t\tif (msg?.type === 'extension_request') {\n\t\t\t\tconst { id, op, payload } = msg;\n\t\t\t\ttry {\n\t\t\t\t\tconst nostr = (window as any).nostr;\n\t\t\t\t\tif (!nostr) throw new Error('NIP-07 extension (window.nostr) not found');\n\n\t\t\t\t\tlet result;\n\t\t\t\t\tswitch (op) {\n\t\t\t\t\t\tcase 'getPublicKey':\n\t\t\t\t\t\t\tresult = await nostr.getPublicKey();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'signEvent':\n\t\t\t\t\t\t\tresult = await nostr.signEvent(JSON.parse(payload));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip04Encrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip04.encrypt(payload.pubkey, payload.plaintext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip04Decrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip04.decrypt(payload.pubkey, payload.ciphertext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip44Encrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip44.encrypt(payload.pubkey, payload.plaintext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'nip44Decrypt':\n\t\t\t\t\t\t\tresult = await nostr.nip44.decrypt(payload.pubkey, payload.ciphertext);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tthrow new Error(`Unknown extension operation: ${op}`);\n\t\t\t\t\t}\n\t\t\t\t\tthis.crypto.postMessage({ type: 'extension_response', id, ok: true, result });\n\t\t\t\t} catch (e: any) {\n\t\t\t\t\tthis.crypto.postMessage({\n\t\t\t\t\t\ttype: 'extension_response',\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tok: false,\n\t\t\t\t\t\terror: e.message || String(e)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic createShortId(input: string): string {\n\t\tif (input.length < 64) return input;\n\t\tlet hash = 0;\n\t\tfor (let i = 0; i < input.length; i++) {\n\t\t\tconst char = input.charCodeAt(i);\n\t\t\thash = (hash << 5) - hash + char;\n\t\t\thash = hash & hash;\n\t\t}\n\t\tconst shortId = Math.abs(hash).toString(36);\n\t\treturn shortId.substring(0, 63);\n\t}\n\n\tpublic addEventListener(\n\t\ttype: string,\n\t\tlistener: EventListenerOrEventListenerObject,\n\t\toptions?: AddEventListenerOptions\n\t): void {\n\t\tthis.eventTarget.addEventListener(type, listener as EventListener, options);\n\t}\n\n\tpublic removeEventListener(\n\t\ttype: string,\n\t\tlistener: EventListenerOrEventListenerObject,\n\t\toptions?: EventListenerOptions\n\t): void {\n\t\tthis.eventTarget.removeEventListener(type, listener as EventListener, options);\n\t}\n\n\tprivate dispatch(type: string, detail?: unknown): void {\n\t\tthis.eventTarget.dispatchEvent(new CustomEvent(type, { detail }));\n\t}\n\n\tsubscribe(\n\t\tsubscriptionId: string,\n\t\trequests: RequestObject[],\n\t\toptions: SubscriptionConfig\n\t): ArrayBuffer {\n\t\tconst subId = this.createShortId(subscriptionId);\n\t\tconst existingSubscription = this.subscriptions.get(subId);\n\t\tif (existingSubscription) {\n\t\t\texistingSubscription.refCount++;\n\t\t\treturn existingSubscription.buffer;\n\t\t}\n\n\t\tconst totalLimit = requests.reduce((sum, req) => sum + (req.limit || 100), 0);\n\t\tconst bufferSize = ArrayBufferReader.calculateBufferSize(totalLimit, options.bytesPerEvent);\n\t\tconst buffer = new ArrayBuffer(bufferSize);\n\t\tArrayBufferReader.initializeBuffer(buffer);\n\n\t\tthis.subscriptions.set(subId, { buffer, options, refCount: 1 });\n\n\t\tconst optionsT = new SubscriptionConfigT(\n\t\t\tnew PipelineConfigT(options.pipeline || []),\n\t\t\toptions.closeOnEose,\n\t\t\toptions.cacheFirst,\n\t\t\toptions.timeoutMs ? BigInt(options.timeoutMs) : undefined,\n\t\t\toptions.maxEvents,\n\t\t\toptions.skipCache,\n\t\t\toptions.force,\n\t\t\toptions.bytesPerEvent,\n\t\t\toptions.isSlow,\n\t\t\toptions.pagination ? this.textEncoder.encode(options.pagination) : null\n\t\t);\n\n\t\tconst subscribeT = new SubscribeT(\n\t\t\tthis.textEncoder.encode(subId),\n\t\t\trequests.map(\n\t\t\t\t(r) =>\n\t\t\t\t\tnew RequestT(\n\t\t\t\t\t\tr.ids,\n\t\t\t\t\t\tr.authors,\n\t\t\t\t\t\tr.kinds,\n\t\t\t\t\t\tObject.entries(r.tags || {}).flatMap(\n\t\t\t\t\t\t\t([key, values]) => new StringVecT([key, ...values])\n\t\t\t\t\t\t),\n\t\t\t\t\t\tr.limit,\n\t\t\t\t\t\tr.since,\n\t\t\t\t\t\tr.until,\n\t\t\t\t\t\tthis.textEncoder.encode(r.search),\n\t\t\t\t\t\tr.relays,\n\t\t\t\t\t\tr.closeOnEOSE,\n\t\t\t\t\t\tr.cacheFirst,\n\t\t\t\t\t\tr.noCache\n\t\t\t\t\t)\n\t\t\t),\n\t\t\toptionsT\n\t\t);\n\n\t\tconst mainT = new MainMessageT(MainContent.Subscribe, subscribeT);\n\t\tconst builder = new flatbuffers.Builder(2048);\n\t\tbuilder.finish(mainT.pack(builder));\n\t\tconst uint8Array = builder.asUint8Array();\n\t\t// Transfer the underlying buffer for zero-copy\n\t\tthis.postToWorker({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\n\t\treturn buffer;\n\t}\n\n\tgetBuffer(subId: string): ArrayBuffer | undefined {\n\t\tconst existingSubscription = this.subscriptions.get(subId);\n\t\tif (existingSubscription) {\n\t\t\texistingSubscription.refCount++;\n\t\t\treturn existingSubscription.buffer;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Get current relay statuses. Returns a Map of relay URL to status.\n\t * Use this for initial state when mounting useRelayStatus.\n\t */\n\tgetRelayStatuses(): Map<string, { status: 'connected' | 'failed' | 'close'; timestamp: number }> {\n\t\treturn new Map(this.relayStatuses);\n\t}\n\n\tunsubscribe(subscriptionId: string): void {\n\t\tconst subId = subscriptionId.length < 64 ? subscriptionId : this.createShortId(subscriptionId);\n\t\tconst subscription = this.subscriptions.get(subId);\n\t\tif (subscription) {\n\t\t\tsubscription.refCount--;\n\t\t}\n\t}\n\n\tpublish(publish_id: string, event: NostrEvent, defaultRelays: string[] = []): ArrayBuffer {\n\t\tconst buffer = new ArrayBuffer(3072);\n\t\tArrayBufferReader.initializeBuffer(buffer);\n\n\t\tconst templateT = new TemplateT(\n\t\t\tevent.kind,\n\t\t\tevent.created_at,\n\t\t\tthis.textEncoder.encode(event.content),\n\t\t\tevent.tags.map((t) => new StringVecT(t)) || []\n\t\t);\n\t\tconst publishT = new PublishT(this.textEncoder.encode(publish_id), templateT, defaultRelays);\n\t\tconst mainT = new MainMessageT(MainContent.Publish, publishT);\n\t\tconst builder = new flatbuffers.Builder(2048);\n\t\tbuilder.finish(mainT.pack(builder));\n\t\tconst uint8Array = builder.asUint8Array();\n\t\t// Transfer the underlying buffer for zero-copy\n\t\tthis.postToWorker({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\t\tthis.publishes.set(publish_id, { buffer });\n\t\treturn buffer;\n\t}\n\n\tsetSigner(name: string, payload?: string | { url: string; clientSecret: string }): void {\n\t\t// Store pending session - crypto crate will send pubkey after successful connection\n\t\tthis._pendingSession = { type: name, payload };\n\t\tconsole.log('[main] set pending session:', name);\n\n\t\tswitch (name) {\n\t\t\tcase 'pubkey':\n\t\t\t\t// Read-only mode: just set the pubkey without a signer\n\t\t\t\tthis.activePubkey = payload as string;\n\t\t\t\tthis.saveSession(this.activePubkey, 'pubkey', payload);\n\t\t\t\tthis._pendingSession = null;\n\t\t\t\tthis.dispatch('auth', { pubkey: this.activePubkey, hasSigner: false });\n\t\t\t\tbreak;\n\t\t\tcase 'privkey':\n\t\t\t\tthis.crypto.postMessage({ type: 'set_private_key', payload });\n\t\t\t\tbreak;\n\t\t\tcase 'nip07':\n\t\t\t\tthis.crypto.postMessage({ type: 'set_nip07' });\n\t\t\t\tbreak;\n\t\t\tcase 'nip46':\n\t\t\t\t// Auto-detect bunker vs QR based on URL format\n\t\t\t\tif (payload?.url?.startsWith('bunker://')) {\n\t\t\t\t\tthis.crypto.postMessage({ type: 'set_nip46_bunker', payload });\n\t\t\t\t} else if (payload?.url?.startsWith('nostrconnect://')) {\n\t\t\t\t\tthis.crypto.postMessage({ type: 'set_nip46_qr', payload });\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('[main] Unknown NIP-46 URL format:', payload?.url);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t// Note: crypto crate will automatically send pubkey after successful connection\n\t}\n\n\tsignEvent(event: EventTemplate, cb: (event: NostrEvent) => void) {\n\t\tthis.signCB = cb;\n\t\tthis.crypto.postMessage({ type: 'sign_event', payload: JSON.stringify(event) });\n\t}\n\n\tgetPublicKey() {\n\t\tconst mainT = new MainMessageT(MainContent.GetPublicKey, new GetPublicKeyT());\n\t\tconst builder = new flatbuffers.Builder(2048);\n\t\tbuilder.finish(mainT.pack(builder));\n\t\tconst uint8Array = builder.asUint8Array();\n\t\t// Transfer the underlying buffer for zero-copy\n\t\tthis.parser.postMessage({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\t}\n\n\t/**\n\t * Generate a cryptographically secure random client secret for NIP-46\n\t * Returns a hex-encoded 32-byte private key\n\t */\n\tprivate generateClientSecret(): string {\n\t\tconst array = new Uint8Array(32);\n\t\tcrypto.getRandomValues(array);\n\t\treturn Array.from(array, (b) => b.toString(16).padStart(2, '0')).join('');\n\t}\n\n\tsetNip46Bunker(bunkerUrl: string, clientSecret?: string): void {\n\t\tconst secret = clientSecret || this.generateClientSecret();\n\t\tconsole.log('[main] NIP-46 bunker:', bunkerUrl.slice(0, 50) + '...');\n\t\tthis.setSigner('nip46', { url: bunkerUrl, clientSecret: secret });\n\t}\n\n\tsetNip46QR(nostrconnectUrl: string, clientSecret?: string): void {\n\t\tconst secret = clientSecret || this.generateClientSecret();\n\t\tconsole.log('[main] NIP-46 QR:', nostrconnectUrl.slice(0, 50) + '...');\n\t\tthis.setSigner('nip46', { url: nostrconnectUrl, clientSecret: secret });\n\t}\n\n\tsetNip07(): void {\n\t\tthis.setSigner('nip07', '');\n\t}\n\n\tsetPubkey(pubkey: string): void {\n\t\tthis.setSigner('pubkey', pubkey);\n\t}\n\n\tpublic getActivePubkey(): string | null {\n\t\treturn this.activePubkey;\n\t}\n\n\tpublic getSubscriptionCount(): number {\n\t\treturn this.subscriptions.size;\n\t}\n\n\tpublic getAccounts(): Record<string, { type: string; payload: any }> {\n\t\tconst accountsJson = localStorage.getItem('nostr_signer_accounts') || '{}';\n\t\ttry {\n\t\t\treturn JSON.parse(accountsJson);\n\t\t} catch (e) {\n\t\t\treturn {};\n\t\t}\n\t}\n\n\tpublic switchAccount(pubkey: string) {\n\t\tconst accounts = this.getAccounts();\n\t\tconst session = accounts[pubkey];\n\t\tif (session) {\n\t\t\tthis.setSigner(session.type, session.payload);\n\t\t}\n\t}\n\n\tprivate saveSession(pubkey: string, type: string, payload: any) {\n\t\tconsole.log('[main] saveSession:', {\n\t\t\tpubkey: pubkey.slice(0, 16) + '...',\n\t\t\ttype,\n\t\t\thasClientSecret: !!payload?.clientSecret\n\t\t});\n\t\tconst accounts = this.getAccounts();\n\t\taccounts[pubkey] = { type, payload };\n\t\tlocalStorage.setItem('nostr_signer_accounts', JSON.stringify(accounts));\n\t\tlocalStorage.setItem('nostr_active_pubkey', pubkey);\n\t\tconsole.log('[main] Session saved to localStorage');\n\t}\n\n\tprivate restoreSession() {\n\t\tconst activePubkey = localStorage.getItem('nostr_active_pubkey');\n\t\tif (activePubkey) {\n\t\t\tthis.switchAccount(activePubkey);\n\t\t} else {\n\t\t\tthis.dispatch('auth', { pubkey: null, hasSigner: false });\n\t\t}\n\t}\n\n\tpublic logout(): void {\n\t\tthis._pendingSession = null;\n\t\tthis.activePubkey = null;\n\t\tthis.crypto.postMessage({ type: 'clear_signer' });\n\t\tlocalStorage.removeItem('nostr_active_pubkey');\n\t\tthis.dispatch('logout');\n\t}\n\n\tpublic removeAccount(): void {\n\t\tconst currentPubkey = this.activePubkey;\n\t\tif (!currentPubkey) return;\n\n\t\t// Remove current account from storage\n\t\tconst accounts = this.getAccounts();\n\t\tdelete accounts[currentPubkey];\n\t\tlocalStorage.setItem('nostr_signer_accounts', JSON.stringify(accounts));\n\n\t\t// Check for other accounts to switch to\n\t\tconst remainingPubkeys = Object.keys(accounts);\n\t\tif (remainingPubkeys.length > 0) {\n\t\t\t// Switch to first available account\n\t\t\tconst nextPubkey = remainingPubkeys[0];\n\t\t\tif (nextPubkey) {\n\t\t\t\tthis.switchAccount(nextPubkey);\n\t\t\t}\n\t\t} else {\n\t\t\t// No other accounts - perform full logout\n\t\t\tthis.logout();\n\t\t}\n\t}\n\n\tcleanup(): void {\n\t\tconst subscriptionsToDelete: string[] = [];\n\n\t\tfor (const [subId, subscription] of this.subscriptions.entries()) {\n\t\t\tif (subscription.refCount <= 0 && !this.PERPETUAL_SUBSCRIPTIONS.includes(subId)) {\n\t\t\t\tsubscriptionsToDelete.push(subId);\n\t\t\t}\n\t\t}\n\n\t\t// Actually remove and tell workers to drop them\n\t\tfor (const subId of subscriptionsToDelete) {\n\t\t\t// Send Unsubscribe message to parser\n\t\t\tconst unsubscribeT = new UnsubscribeT(this.textEncoder.encode(subId));\n\t\t\tconst mainT = new MainMessageT(MainContent.Unsubscribe, unsubscribeT);\n\t\t\tconst builder = new flatbuffers.Builder(256);\n\t\t\tbuilder.finish(mainT.pack(builder));\n\t\t\tconst uint8Array = builder.asUint8Array();\n\t\t\t// Transfer the underlying buffer for zero-copy\n\t\t\tthis.postToWorker({ serializedMessage: uint8Array }, [uint8Array.buffer]);\n\n\t\t\t// Tell connections worker to close relay subscriptions\n\t\t\tthis.connections.postMessage(subId);\n\n\t\t\t// Remove from local subscriptions map\n\t\t\tthis.subscriptions.delete(subId);\n\t\t}\n\t}\n}\n\nexport function createNostrManager(config?: NostrManagerConfig): NostrManager {\n\treturn new NostrManager(config);\n}\n\n// Global manager instance for hooks - can be overridden for custom configuration\nlet globalManager: NostrManager | null = null;\n\n/**\n * Get the global manager instance used by hooks.\n * Creates a default singleton on first access.\n * Use `setGlobalManager()` to provide a custom-configured instance.\n */\nexport function getManager(): NostrManager {\n\tif (!globalManager) {\n\t\tglobalManager = new NostrManager();\n\t}\n\treturn globalManager;\n}\n\n/**\n * Set a custom manager instance to be used by all hooks.\n * Call this early in your app before using any hooks.\n *\n * @example\n * import { createNostrManager, setGlobalManager } from '@candypoets/nipworker';\n *\n * const myManager = createNostrManager({\n * proxy: { url: import.meta.env.VITE_NIPWORKER_PROXY_URL }\n * });\n * setGlobalManager(myManager);\n */\nexport function setGlobalManager(manager: NostrManager): void {\n\tglobalManager = manager;\n}\n\n/**\n * Legacy singleton export. Same as `getManager()`.\n * @deprecated Use `getManager()` or `setGlobalManager()` for custom config.\n */\nexport const manager = getManager();\n"],"names":["CacheRequest","i","bb","obj","flatbuffers","optionalEncoding","offset","index","Request","NostrEvent","ParsedEvent","builder","subIdOffset","requestsOffset","data","numElems","eventOffset","parsedEventOffset","relaysOffset","CacheRequestT","_o","subId","requests","event","parsedEvent","relays","CacheInput","unionToCacheInput","type","accessor","WorkerMessage","CacheInputMessage","contentType","contentOffset","CacheInputMessageT","temp","content","CacheResponse","payloadOffset","CacheResponseT","payload","CounterPipeConfig","kindsOffset","pubkeyOffset","CounterPipeConfigT","kinds","pubkey","GetPublicKey","GetPublicKeyT","KindFilterPipeConfig","KindFilterPipeConfigT","Template","StringVec","kind","createdAt","tagsOffset","TemplateT","tags","Publish","publishIdOffset","templateOffset","PublishT","publishId","template","PrivateKey","privateKeyOffset","PrivateKeyT","privateKey","SignerType","unionToSignerType","SetSigner","signerTypeType","signerTypeOffset","SetSignerT","signerType","SignEvent","SignEventT","MuteFilterPipeConfig","pubkeysOffset","hashtagsOffset","wordsOffset","eventIdsOffset","MuteFilterPipeConfigT","pubkeys","hashtags","words","eventIds","NpubLimiterPipeConfig","limitPerNpub","maxTotalNpubs","NpubLimiterPipeConfigT","ParsePipeConfig","ParsePipeConfigT","ProofVerificationPipeConfig","maxProofs","ProofVerificationPipeConfigT","SaveToDbPipeConfig","SaveToDbPipeConfigT","SerializeEventsPipeConfig","subscriptionIdOffset","SerializeEventsPipeConfigT","subscriptionId","PipeConfig","unionToPipeConfig","Pipe","configType","configOffset","PipeT","config","PipelineConfig","pipesOffset","PipelineConfigT","pipes","SubscriptionConfig","pipelineOffset","closeOnEose","cacheFirst","timeoutMs","maxEvents","skipCache","force","bytesPerEvent","isSlow","paginationOffset","SubscriptionConfigT","pipeline","pagination","Subscribe","SubscribeT","Unsubscribe","UnsubscribeT","MainContent","unionToMainContent","MainMessage","MainMessageT","ParsedDataUnion","SubscribeKind","ArrayBufferReader","buffer","view","uint8View","currentWritePosition","requiredSpace","newWritePosition","_debugId","lastReadPosition","dataStartOffset","currentPos","maxMessages","messages","msgCount","headerPos","eventLength","payloadStart","nextPos","flatBufferData","ByteBuffer","message","error","result","actualLastReadPosition","totalEventLimit","dataSize","overhead","makeNaddr","pubkeyHex","d","isHex64","nip19","makeNaddrForEvent","evt","extractDFromTags","parseNaddr","naddr","decoded","identifier","s","normalizeSlug","input","randomId","bytes","len","arr","ensureD","source","options","existing","slug","makeAPointer","parseAPointer","a","parts","makeAPointerForEvent","makeNaddrLike","encodedRelays","r","makeNaddrLikeForEvent","parseNaddrLike","naddrLike","rest","aPart","qs","relaysParam","isPreKind","upsertDTag","out","replaced","t","ensureDTagForPre","NostrManager","_event","parser_cache","parser_connections","parser_crypto","cache_connections","crypto_connections","crypto_main","parser_main","connections_main","connectionURL","cacheURL","parserURL","cryptoURL","subscription","publish","status","url","msg","transfer","hasSigner","parsed","id","op","nostr","e","hash","char","listener","detail","existingSubscription","totalLimit","sum","req","bufferSize","optionsT","subscribeT","RequestT","key","values","StringVecT","mainT","uint8Array","publish_id","defaultRelays","templateT","publishT","name","cb","array","b","bunkerUrl","clientSecret","secret","nostrconnectUrl","accountsJson","session","accounts","activePubkey","currentPubkey","remainingPubkeys","nextPubkey","subscriptionsToDelete","unsubscribeT","createNostrManager","globalManager","getManager","setGlobalManager","manager"],"mappings":"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"}
|