@idos-network/issuer 1.0.0-rc.1.2 → 1.2.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/README.md +62 -1
- package/dist/index.d.mts +78 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +233 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +29 -44
- package/src/index.ts +52 -29
- package/src/services/credential.service.ts +27 -24
- package/src/services/grant.service.ts +8 -7
- package/src/services/user.service.ts +14 -6
- package/dist/index.d.ts +0 -256
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -18048
- package/dist/index.js.map +0 -1
- package/src/services/passporting.service.ts +0 -13
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["encode","s","decode","array","array","w","d","h","encode","s","decode","min","ALPHABET","encode","decode","string","s","EncodeBuffer","DecodeBuffer","d","b","ErrorSchema","BorshSerializer","BorshDeserializer","message: Uint8Array","recipientEncryptionPublicKey: Uint8Array","senderEncryptionSecretKey: Uint8Array","nonce: Uint8Array","senderEncryptionPublicKey: Uint8Array","recipientEncryptionSecretKey: Uint8Array","keyPair: nacl.BoxKeyPair","secret: string","b64FullMessage: string","b64SenderPublicKey: string","initializer","init","object","descriptors","isObject","isPlainObject","extend","merge","path","config","initializer","issue","error","parse","parseAsync","safeParse","safeParseAsync","duration","uuid","version","email","_emoji","date","time","datetime","string","number","boolean","inst","checks","result","_","url","inst","prefix","base64","isDate","isObject","allowsEval","r","async","results","left","right","output","prefix","issue","date","issue","issues","parse","def","issue","output","DataType: typeof Utils.DataType","actionSchema: Record<string, ActionSchemaElement[]>","idOSUserSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodString;\n}>","kwilClient: KwilActionClient","params: idOSUser","GetUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodString;\n}>","idOSWalletSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodString;\n wallet_type: z.ZodString;\n message: z.ZodString;\n signature: z.ZodString;\n}>","params: idOSWallet","AddWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodString;\n message: z.ZodString;\n signature: z.ZodString;\n}>","GetWalletsOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodString;\n wallet_type: z.ZodString;\n message: z.ZodString;\n signature: z.ZodString;\n inserter: z.ZodString;\n}>","RemoveWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}>","idOSCredentialListItemSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodString;\n original_id: z.ZodUUID;\n}>","GetCredentialsSharedByUserInputSchema: z.ZodObject<{\n user_id: z.ZodUUID;\n issuer_auth_public_key: z.ZodNullable<z.ZodString>;\n}>","GetCredentialsSharedByUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodString;\n original_id: z.ZodUUID;\n}>","EditCredentialAsIssuerParamsSchema: z.ZodObject<{\n public_notes_id: z.ZodString;\n public_notes: z.ZodString;\n}>","params: EditCredentialAsIssuerParams","RemoveCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}>","ShareCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_credential_id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n content_hash: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n locked_until: z.ZodNumber;\n}>","CreateCredentialCopyInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_credential_id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n}>","CreateCredentialByDelegatedWriteGrantInputSchema: z.ZodObject<{\n issuer_auth_public_key: z.ZodString;\n original_encryptor_public_key: z.ZodString;\n original_credential_id: z.ZodUUID;\n original_content: z.ZodString;\n original_public_notes: z.ZodString;\n original_public_notes_signature: z.ZodString;\n original_broader_signature: z.ZodString;\n copy_encryptor_public_key: z.ZodString;\n copy_credential_id: z.ZodUUID;\n copy_content: z.ZodString;\n copy_public_notes_signature: z.ZodString;\n copy_broader_signature: z.ZodString;\n content_hash: z.ZodString;\n dwg_owner: z.ZodString;\n dwg_grantee: z.ZodString;\n dwg_issuer_public_key: z.ZodString;\n dwg_id: z.ZodUUID;\n dwg_access_grant_timelock: z.ZodString;\n dwg_not_before: z.ZodString;\n dwg_not_after: z.ZodString;\n dwg_signature: z.ZodString;\n}>","params: CreateCredentialByDelegatedWriteGrantInput","GetCredentialOwnedInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}>","idOSCredentialSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodString;\n}>","GetSharedCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}>","params: GetSharedCredentialInput","GetCredentialIdByContentHashInputSchema: z.ZodObject<{\n content_hash: z.ZodString;\n}>","GetCredentialIdByContentHashOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}>","params: GetCredentialIdByContentHashInput","AddAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}>","idOSUserAttributeSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n original_id: z.ZodUUID;\n}>","idOSDelegatedWriteGrantSchema: z.ZodObject<{\n owner_wallet_identifier: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n issuer_public_key: z.ZodString;\n id: z.ZodUUID;\n access_grant_timelock: z.ZodString;\n not_usable_before: z.ZodString;\n not_usable_after: z.ZodString;\n}>","DwgMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}>","RevokeAccessGrantInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}>","idOSGrantSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodString;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}>","GetGrantsPaginatedInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n page: z.ZodNumber;\n size: z.ZodNumber;\n}>","GetGrantsCountInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n}>","GetGrantsCountOutputSchema: z.ZodObject<{\n count: z.ZodNumber;\n}>","DagMessageInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n}>","DagMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}>","CreateAccessGrantByDagInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n dag_signature: z.ZodString;\n}>","params: CreateAccessGrantByDagInput","GetAccessGrantsForCredentialInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}>","GetAccessGrantsForCredentialOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodString;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}>","HasProfileInputSchema: z.ZodObject<{\n address: z.ZodString;\n}>","HasProfileOutputSchema: z.ZodObject<{\n has_profile: z.ZodBoolean;\n}>","params: HasProfileInput","GetPassportingPeersOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n name: z.ZodString;\n issuer_public_key: z.ZodString;\n passporting_server_url_base: z.ZodString;\n club_id: z.ZodUUID;\n club_name: z.ZodString;\n}>","bind","wrap","bind","isUndefined","isBuffer","isString","prototype","isFunction","isFormData","isStandardBrowserEnv","descriptors","TypedArray","utils","encode","buildURL","url","serialize","utils","InterceptorManager","forEach","h","utils","normalizeHeaderName","utils","AxiosError","config","utils","toFormData","AxiosError","settle","utils","path","isAbsoluteURL","url","combineURLs","buildFullPath","utils","parseHeaders","utils","url","isURLSameOrigin","AxiosError","utils","CanceledError","parseProtocol","url","utils","settle","buildURL","buildFullPath","transitionalDefaults","AxiosError","CanceledError","config","env","destroy","hash","debug","extend","formatArgs","save","load","useColors","m","prefix","tty","min","sign","version","util","supportsColor","useColors","prefix","debug","debug","url","URL","http","https","exports","parseUrl","base","utils","settle","buildFullPath","buildURL","http","https","VERSION","transitionalDefaults","AxiosError","CanceledError","base64","config","resolve","reject","trim","s","Stream","util","DelayedStream","util","Stream","CombinedStream","stream","mime","charset","path","extension","defer","async","abort","state","async","abort","iterate","state","initState","terminator","iterate","initState","terminator","state","serialOrdered","state","isNaN","sign","number","$gOPD","$defineProperty","hasSymbols","$Object","max","concatty","slicy","bind","Empty","bind","$apply","$call","bind","$TypeError","$call","$Object","getProto","bind","undefined","$TypeError","$defineProperty","hasSymbols","doEval","bind","hasOwn","stringToPath","string","number","getBaseIntrinsic","GetIntrinsic","desc","setToStringTag","object","FormData","contentType","defaults","utils","AxiosError","defaults","contentType","isFileList","utils","defaults","transformData","transform","isCancel","utils","defaults","CanceledError","config","dispatchRequest","utils","mergeConfig","config","merge","validators","validator","version","desc","utils","buildURL","mergeConfig","buildFullPath","Axios","config","url","wrap","utils","Axios","axios","config","url","axios","client: NodeKwil | WebKwil","actionName: string","params: Record<string, unknown>","params: KwilCallActionRequestParams","signer: KwilSigner | undefined","action: CallBody","#createActionInputs","#actionTypes","params: KwilExecuteActionRequestParams","action: ActionBody","Cls: new (opts: Config) => NodeKwil | WebKwil","headers: any","createNodeKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient>","createWebKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient>","publicKey: string","recipient: string","keyPair: KeyPair","messageBytes: Uint8Array","object: unknown","object","signer: KwilSignerType","msg: Uint8Array","_: never","file: Buffer","str: string","issuer: AvailableIssuerType","fields: K","prefix?: string","acc: Record<string, unknown>","prefix","CONTEXT_IDOS_CREDENTIALS: string","CONTEXT_IDOS_CREDENTIALS_SUBJECT: string","CONTEXT_IDOS_SIGNATURE: string","v1","idosCredentialsV1","idosCredentialSubjectV1","ed25519Signature2020V1","hash","defaultDocumentLoader: JsonLDDocumentLoaderInstance","CredentialFieldsSchema: z.ZodObject<{\n id: z.ZodString;\n level: z.ZodString;\n issued: z.ZodOptional<z.ZodDate>;\n approvedAt: z.ZodOptional<z.ZodDate>;\n expirationDate: z.ZodOptional<z.ZodDate>;\n}>","CredentialResidentialAddressSchema: z.ZodObject<{\n street: z.ZodString;\n houseNumber: z.ZodOptional<z.ZodString>;\n additionalAddressInfo: z.ZodOptional<z.ZodString>;\n region: z.ZodOptional<z.ZodString>;\n city: z.ZodString;\n postalCode: z.ZodString;\n country: z.ZodString;\n}>","IDDocumentTypeSchema: z.ZodEnum<{\n PASSPORT: \"PASSPORT\";\n DRIVERS: \"DRIVERS\";\n ID_CARD: \"ID_CARD\";\n}>","GenderSchema: z.ZodEnum<{\n M: \"M\";\n F: \"F\";\n OTHER: \"OTHER\";\n}>","CredentialSubjectSchema: z.ZodObject<{\n id: z.ZodString;\n applicantId: z.ZodOptional<z.ZodString>;\n inquiryId: z.ZodOptional<z.ZodString>;\n firstName: z.ZodString;\n middleName: z.ZodOptional<z.ZodString>;\n ssn: z.ZodOptional<z.ZodString>;\n gender: z.ZodOptional<typeof GenderSchema>;\n nationality: z.ZodOptional<z.ZodString>;\n familyName: z.ZodString;\n maidenName: z.ZodOptional<z.ZodString>;\n governmentId: z.ZodOptional<z.ZodString>;\n governmentIdType: z.ZodOptional<z.ZodString>;\n dateOfBirth: z.ZodDate;\n placeOfBirth: z.ZodOptional<z.ZodString>;\n email: z.ZodOptional<z.ZodEmail>;\n phoneNumber: z.ZodOptional<z.ZodString>;\n idDocumentCountry: z.ZodString;\n idDocumentNumber: z.ZodString;\n idDocumentType: typeof IDDocumentTypeSchema;\n idDocumentDateOfIssue: z.ZodOptional<z.ZodDate>;\n idDocumentDateOfExpiry: z.ZodOptional<z.ZodDate>;\n idDocumentFrontFile: z.ZodType<Buffer<ArrayBufferLike>>;\n idDocumentBackFile: z.ZodOptional<z.ZodType<Buffer<ArrayBufferLike>>>;\n selfieFile: z.ZodType<Buffer<ArrayBufferLike>>;\n residentialAddress: z.ZodOptional<typeof CredentialResidentialAddressSchema>;\n residentialAddressProofCategory: z.ZodOptional<z.ZodString>;\n residentialAddressProofDateOfIssue: z.ZodOptional<z.ZodDate>;\n residentialAddressProofFile: z.ZodOptional<z.ZodType<Buffer<ArrayBufferLike>>>;\n}>","fields: CredentialFields","subject: CredentialSubject","issuer: AvailableIssuerType","#kwilClient","#signingKeyPair","#encryptionSecretKey","kwilClient: KwilActionClient","signingKeyPair: nacl.SignKeyPair","encryptionSecretKey: Uint8Array","entity: T","credentialParams: DelegatedWriteGrantBaseParams","delegatedWriteGrant: DelegatedWriteGrantParams","consumerEncryptionPublicKey?: Uint8Array","#ensureEntityId","#buildInsertableIDOSCredential","payload: CreateCredentialByDelegatedWriteGrantParams","publicNotesId: string","publicNotes: string","contentHash: string","id: string","#kwilClient","#encryptionSecretKey","kwilClient: KwilActionClient","encryptionSecretKey: Uint8Array","params: CreateAccessGrantFromDAGParams","getCredentialIdByContentHash: (contentHash: string) => Promise<string | null>","getSharedCredential: (id: string) => Promise<idOSCredential | null>","kwilClient: KwilActionClient","#kwilClient","kwilClient: KwilActionClient","entity: T","userAddress: string","params: CreateProfileReqParams","#ensureEntityId","params: UpsertWalletReqParams","user: CreateProfileReqParams","wallet: CreateWalletReqParams","#credentialService","#grantService","#userService","#passportingService","params: CreateIssuerParams","credentialService: CredentialService","grantService: GrantService","userService: UserService","passportingService: PassportingService","userAddress: string","params: CreateProfileReqParams","params: UpsertWalletReqParams","user: CreateProfileReqParams","wallet: CreateWalletReqParams","credentialParams: DelegatedWriteGrantBaseParams","delegatedWriteGrant: DelegatedWriteGrantParams","consumerEncryptionPublicKey?: Uint8Array","publicNotesId: string","publicNotes: string","contentHash: string","id: string","params: CreateAccessGrantFromDAGParams","fields: CredentialFields","subject: CredentialSubject","issuer: AvailableIssuerType"],"sources":["../../../node_modules/.pnpm/@stablelib+hex@2.0.1/node_modules/@stablelib/hex/lib/hex.js","../../../node_modules/.pnpm/@stablelib+int@2.0.1/node_modules/@stablelib/int/lib/int.js","../../../node_modules/.pnpm/@stablelib+binary@2.0.1/node_modules/@stablelib/binary/lib/binary.js","../../../node_modules/.pnpm/@stablelib+wipe@2.0.1/node_modules/@stablelib/wipe/lib/wipe.js","../../../node_modules/.pnpm/@stablelib+sha256@2.0.1/node_modules/@stablelib/sha256/lib/sha256.js","../../../node_modules/.pnpm/@stablelib+utf8@2.0.1/node_modules/@stablelib/utf8/lib/utf8.js","../../../node_modules/.pnpm/base-x@5.0.0/node_modules/base-x/src/esm/index.js","../../../node_modules/.pnpm/bs58@6.0.0/node_modules/bs58/src/esm/index.js","../../../node_modules/.pnpm/@stablelib+base64@2.0.1/node_modules/@stablelib/base64/lib/base64.js","../../../node_modules/.pnpm/@stablelib+bytes@2.0.1/node_modules/@stablelib/bytes/lib/bytes.js","../../../node_modules/.pnpm/borsh@2.0.0/node_modules/borsh/lib/esm/types.js","../../../node_modules/.pnpm/borsh@2.0.0/node_modules/borsh/lib/esm/buffer.js","../../../node_modules/.pnpm/borsh@2.0.0/node_modules/borsh/lib/esm/utils.js","../../../node_modules/.pnpm/borsh@2.0.0/node_modules/borsh/lib/esm/serialize.js","../../../node_modules/.pnpm/borsh@2.0.0/node_modules/borsh/lib/esm/deserialize.js","../../../node_modules/.pnpm/borsh@2.0.0/node_modules/borsh/lib/esm/index.js","../../utils/dist/codecs-Ddj-ztlR.js","../../@core/src/cryptography/index.ts","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/core.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/util.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/errors.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/parse.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/regexes.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/checks.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/doc.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/versions.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/schemas.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/registries.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/api.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/iso.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/errors.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/parse.js","../../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/schemas.js","../../@core/src/kwil-actions/actions.ts","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/bind.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/utils.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/normalizeHeaderName.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/AxiosError.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/transitional.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/settle.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/cookies.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/xhr.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../node_modules/.pnpm/debug@4.4.1_supports-color@8.1.1/node_modules/debug/src/common.js","../../../node_modules/.pnpm/debug@4.4.1_supports-color@8.1.1/node_modules/debug/src/browser.js","../../../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js","../../../node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/index.js","../../../node_modules/.pnpm/debug@4.4.1_supports-color@8.1.1/node_modules/debug/src/node.js","../../../node_modules/.pnpm/debug@4.4.1_supports-color@8.1.1/node_modules/debug/src/index.js","../../../node_modules/.pnpm/follow-redirects@1.15.9_debug@4.4.1/node_modules/follow-redirects/debug.js","../../../node_modules/.pnpm/follow-redirects@1.15.9_debug@4.4.1/node_modules/follow-redirects/index.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/env/data.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/adapters/http.js","../../../node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js","../../../node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js","../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json","../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","../../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js","../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js","../../../node_modules/.pnpm/form-data@4.0.2/node_modules/form-data/lib/populate.js","../../../node_modules/.pnpm/form-data@4.0.2/node_modules/form-data/lib/form_data.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/env/FormData.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/defaults/index.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/transformData.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/validator.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/core/Axios.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/spread.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/lib/axios.js","../../../node_modules/.pnpm/axios@0.27.2/node_modules/axios/index.js","../../../node_modules/.pnpm/@vespaiach+axios-fetch-adapter@0.3.1_axios@0.27.2/node_modules/@vespaiach/axios-fetch-adapter/index.js","../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../@core/src/kwil-infra/create-kwil-client.ts","../../@core/src/kwil-infra/near/create-near-wallet-kwil-signer.ts","../../@core/src/kwil-infra/nep413/index.ts","../../@core/src/kwil-infra/create-kwil-signer.ts","../../@credentials/src/utils/index.ts","../../@credentials/assets/ed25519-signature-2020-v1.json","../../@credentials/assets/idos-credential-subject-v1.json","../../@credentials/assets/idos-credentials-v1.json","../../@credentials/assets/v1.json","../../@credentials/src/utils/loader.ts","../../@credentials/src/utils/types.ts","../../@credentials/src/builder.ts","../src/services/credential.service.ts","../src/services/grant.service.ts","../src/services/passporting.service.ts","../src/services/user.service.ts","../src/index.ts"],"sourcesContent":["// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Package hex implements hex encoder and decoder.\n */\n// 0123456789 ABCDEF | abcdef\n// Index: 0 - 9 10-15 | 10-15\n// ASCII: 48 - 57 65-70 | 97-102\nfunction encodeNibble(b) {\n // b >= 0\n let result = b + 48;\n // b > 9\n result += ((9 - b) >>> 8) & (-48 + 65 - 10);\n return String.fromCharCode(result);\n}\nfunction encodeNibbleLower(b) {\n // b >= 0\n let result = b + 48;\n // b > 9\n result += ((9 - b) >>> 8) & (-48 + 97 - 10);\n return String.fromCharCode(result);\n}\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// hex alphabet and cannot be decoded.\nconst INVALID_HEX_NIBBLE = 256;\nfunction decodeNibble(c) {\n let result = INVALID_HEX_NIBBLE;\n // 0-9: c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >> 8) & (-INVALID_HEX_NIBBLE + c - 48);\n // A-F: c > 64 and c < 71\n result += (((64 - c) & (c - 71)) >> 8) & (-INVALID_HEX_NIBBLE + c - 65 + 10);\n // a-f: c > 96 and c < 103\n result += (((96 - c) & (c - 103)) >> 8) & (-INVALID_HEX_NIBBLE + c - 97 + 10);\n return result;\n}\n/**\n * Returns string with hex-encoded data.\n */\nexport function encode(data, lowerCase = false) {\n const enc = lowerCase ? encodeNibbleLower : encodeNibble;\n let s = \"\";\n for (let i = 0; i < data.length; i++) {\n s += enc(data[i] >>> 4);\n s += enc(data[i] & 0x0f);\n }\n return s;\n}\n/**\n * Returns Uint8Array with data decoded from hex string.\n *\n * Throws error if hex string length is not divisible by 2 or has non-hex\n * characters.\n */\nexport function decode(hex) {\n if (hex.length === 0) {\n return new Uint8Array(0);\n }\n if (hex.length % 2 !== 0) {\n throw new Error(\"hex: input string must be divisible by two\");\n }\n const result = new Uint8Array(hex.length / 2);\n let haveBad = 0;\n for (let i = 0; i < hex.length; i += 2) {\n let v0 = decodeNibble(hex.charCodeAt(i));\n let v1 = decodeNibble(hex.charCodeAt(i + 1));\n result[i / 2] = v0 << 4 | v1;\n haveBad |= v0 & INVALID_HEX_NIBBLE;\n haveBad |= v1 & INVALID_HEX_NIBBLE;\n }\n if (haveBad !== 0) {\n throw new Error(\"hex: incorrect characters for decoding\");\n }\n return result;\n}\n//# sourceMappingURL=hex.js.map","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Package int provides helper functions for integerss.\n */\n/** 32-bit integer multiplication. */\nexport const mul = Math.imul;\n/** 32-bit integer addition. */\nexport function add(a, b) {\n return (a + b) | 0;\n}\n/** 32-bit integer subtraction. */\nexport function sub(a, b) {\n return (a - b) | 0;\n}\n/** 32-bit integer left rotation */\nexport function rotl(x, n) {\n return x << n | x >>> (32 - n);\n}\n/** 32-bit integer left rotation */\nexport function rotr(x, n) {\n return x << (32 - n) | x >>> n;\n}\n/**\n * Returns true if the argument is an integer number.\n */\nexport const isInteger = Number.isInteger;\n/**\n * Math.pow(2, 53) - 1\n */\nexport const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;\n/**\n * Returns true if the argument is a safe integer number\n * (-MIN_SAFE_INTEGER < number <= MAX_SAFE_INTEGER)\n */\nexport const isSafeInteger = Number.isSafeInteger;\n//# sourceMappingURL=int.js.map","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Package binary provides functions for encoding and decoding numbers in byte arrays.\n */\nimport { isSafeInteger } from \"@stablelib/int\";\n// TODO(dchest): add asserts for correct value ranges and array offsets.\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16BE(array, offset = 0) {\n return (((array[offset + 0] << 8) | array[offset + 1]) << 16) >> 16;\n}\n/**\n * Reads 2 bytes from array starting at offset as big-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16BE(array, offset = 0) {\n return ((array[offset + 0] << 8) | array[offset + 1]) >>> 0;\n}\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * signed 16-bit integer and returns it.\n */\nexport function readInt16LE(array, offset = 0) {\n return (((array[offset + 1] << 8) | array[offset]) << 16) >> 16;\n}\n/**\n * Reads 2 bytes from array starting at offset as little-endian\n * unsigned 16-bit integer and returns it.\n */\nexport function readUint16LE(array, offset = 0) {\n return ((array[offset + 1] << 8) | array[offset]) >>> 0;\n}\n/**\n * Writes 2-byte big-endian representation of 16-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16BE(value, out = new Uint8Array(2), offset = 0) {\n out[offset + 0] = value >>> 8;\n out[offset + 1] = value >>> 0;\n return out;\n}\nexport const writeInt16BE = writeUint16BE;\n/**\n * Writes 2-byte little-endian representation of 16-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 2-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint16LE(value, out = new Uint8Array(2), offset = 0) {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n return out;\n}\nexport const writeInt16LE = writeUint16LE;\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32BE(array, offset = 0) {\n return (array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3];\n}\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32BE(array, offset = 0) {\n return ((array[offset] << 24) |\n (array[offset + 1] << 16) |\n (array[offset + 2] << 8) |\n array[offset + 3]) >>> 0;\n}\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * signed 32-bit integer and returns it.\n */\nexport function readInt32LE(array, offset = 0) {\n return (array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset];\n}\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * unsigned 32-bit integer and returns it.\n */\nexport function readUint32LE(array, offset = 0) {\n return ((array[offset + 3] << 24) |\n (array[offset + 2] << 16) |\n (array[offset + 1] << 8) |\n array[offset]) >>> 0;\n}\n/**\n * Writes 4-byte big-endian representation of 32-bit unsigned\n * value to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32BE(value, out = new Uint8Array(4), offset = 0) {\n out[offset + 0] = value >>> 24;\n out[offset + 1] = value >>> 16;\n out[offset + 2] = value >>> 8;\n out[offset + 3] = value >>> 0;\n return out;\n}\nexport const writeInt32BE = writeUint32BE;\n/**\n * Writes 4-byte little-endian representation of 32-bit unsigned\n * value to array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint32LE(value, out = new Uint8Array(4), offset = 0) {\n out[offset + 0] = value >>> 0;\n out[offset + 1] = value >>> 8;\n out[offset + 2] = value >>> 16;\n out[offset + 3] = value >>> 24;\n return out;\n}\nexport const writeInt32LE = writeUint32LE;\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64BE(array, offset = 0) {\n const hi = readInt32BE(array, offset);\n const lo = readInt32BE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64BE(array, offset = 0) {\n const hi = readUint32BE(array, offset);\n const lo = readUint32BE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * signed 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports exact\n * numbers in range -9007199254740991 to 9007199254740991.\n * If the number stored in the byte array is outside this range,\n * the result is not exact.\n */\nexport function readInt64LE(array, offset = 0) {\n const lo = readInt32LE(array, offset);\n const hi = readInt32LE(array, offset + 4);\n return hi * 0x100000000 + lo - ((lo >> 31) * 0x100000000);\n}\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * unsigned 64-bit integer and returns it.\n *\n * IMPORTANT: due to JavaScript limitation, supports values up to 2^53-1.\n */\nexport function readUint64LE(array, offset = 0) {\n const lo = readUint32LE(array, offset);\n const hi = readUint32LE(array, offset + 4);\n return hi * 0x100000000 + lo;\n}\n/**\n * Writes 8-byte big-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64BE(value, out = new Uint8Array(8), offset = 0) {\n writeUint32BE(value / 0x100000000 >>> 0, out, offset);\n writeUint32BE(value >>> 0, out, offset + 4);\n return out;\n}\nexport const writeInt64BE = writeUint64BE;\n/**\n * Writes 8-byte little-endian representation of 64-bit unsigned\n * value to byte array starting at offset.\n *\n * Due to JavaScript limitation, supports values up to 2^53-1.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeUint64LE(value, out = new Uint8Array(8), offset = 0) {\n writeUint32LE(value >>> 0, out, offset);\n writeUint32LE(value / 0x100000000 >>> 0, out, offset + 4);\n return out;\n}\nexport const writeInt64LE = writeUint64LE;\n/**\n * Reads bytes from array starting at offset as big-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintBE(bitLength, array, offset = 0) {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintBE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintBE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n/**\n * Reads bytes from array starting at offset as little-endian\n * unsigned bitLen-bit integer and returns it.\n *\n * Supports bit lengths divisible by 8, up to 48.\n */\nexport function readUintLE(bitLength, array, offset = 0) {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"readUintLE supports only bitLengths divisible by 8\");\n }\n if (bitLength / 8 > array.length - offset) {\n throw new Error(\"readUintLE: array is too short for the given bitLength\");\n }\n let result = 0;\n let mul = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n result += array[i] * mul;\n mul *= 256;\n }\n return result;\n}\n/**\n * Writes a big-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintBE(bitLength, value, out = new Uint8Array(bitLength / 8), offset = 0) {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintBE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintBE value must be an integer\");\n }\n let div = 1;\n for (let i = bitLength / 8 + offset - 1; i >= offset; i--) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n/**\n * Writes a little-endian representation of bitLen-bit unsigned\n * value to array starting at offset.\n *\n * Supports bit lengths divisible by 8, up to 48.\n *\n * If byte array is not given, creates a new one.\n *\n * Returns the output byte array.\n */\nexport function writeUintLE(bitLength, value, out = new Uint8Array(bitLength / 8), offset = 0) {\n // TODO(dchest): implement support for bitLengths non-divisible by 8\n if (bitLength % 8 !== 0) {\n throw new Error(\"writeUintLE supports only bitLengths divisible by 8\");\n }\n if (!isSafeInteger(value)) {\n throw new Error(\"writeUintLE value must be an integer\");\n }\n let div = 1;\n for (let i = offset; i < offset + bitLength / 8; i++) {\n out[i] = (value / div) & 0xff;\n div *= 256;\n }\n return out;\n}\n/**\n * Reads 4 bytes from array starting at offset as big-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32BE(array, offset = 0) {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset);\n}\n/**\n * Reads 4 bytes from array starting at offset as little-endian\n * 32-bit floating-point number and returns it.\n */\nexport function readFloat32LE(array, offset = 0) {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat32(offset, true);\n}\n/**\n * Reads 8 bytes from array starting at offset as big-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64BE(array, offset = 0) {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset);\n}\n/**\n * Reads 8 bytes from array starting at offset as little-endian\n * 64-bit floating-point number (\"double\") and returns it.\n */\nexport function readFloat64LE(array, offset = 0) {\n const view = new DataView(array.buffer, array.byteOffset, array.byteLength);\n return view.getFloat64(offset, true);\n}\n/**\n * Writes 4-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32BE(value, out = new Uint8Array(4), offset = 0) {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value);\n return out;\n}\n/**\n * Writes 4-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 4-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat32LE(value, out = new Uint8Array(4), offset = 0) {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat32(offset, value, true);\n return out;\n}\n/**\n * Writes 8-byte big-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64BE(value, out = new Uint8Array(8), offset = 0) {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value);\n return out;\n}\n/**\n * Writes 8-byte little-endian floating-point representation of value\n * to byte array starting at offset.\n *\n * If byte array is not given, creates a new 8-byte one.\n *\n * Returns the output byte array.\n */\nexport function writeFloat64LE(value, out = new Uint8Array(8), offset = 0) {\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n view.setFloat64(offset, value, true);\n return out;\n}\n//# sourceMappingURL=binary.js.map","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Sets all values in the given array to zero and returns it.\n *\n * The fact that it sets bytes to zero can be relied on.\n *\n * There is no guarantee that this function makes data disappear from memory,\n * as runtime implementation can, for example, have copying garbage collector\n * that will make copies of sensitive data before we wipe it. Or that an\n * operating system will write our data to swap or sleep image. Another thing\n * is that an optimizing compiler can remove calls to this function or make it\n * no-op. There's nothing we can do with it, so we just do our best and hope\n * that everything will be okay and good will triumph over evil.\n */\nexport function wipe(array) {\n // Right now it's similar to array.fill(0). If it turns\n // out that runtimes optimize this call away, maybe\n // we can try something else.\n for (let i = 0; i < array.length; i++) {\n array[i] = 0;\n }\n return array;\n}\n//# sourceMappingURL=wipe.js.map","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nimport { readUint32BE, writeUint32BE } from \"@stablelib/binary\";\nimport { wipe } from \"@stablelib/wipe\";\nexport const DIGEST_LENGTH = 32;\nexport const BLOCK_SIZE = 64;\n/**\n * SHA2-256 cryptographic hash algorithm.\n */\nexport class SHA256 {\n /** Length of hash output */\n digestLength = DIGEST_LENGTH;\n /** Block size */\n blockSize = BLOCK_SIZE;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n _state = new Int32Array(8); // hash state\n _temp = new Int32Array(64); // temporary state\n _buffer = new Uint8Array(128); // buffer for data to hash\n _bufferLength = 0; // number of bytes in buffer\n _bytesHashed = 0; // number of total bytes hashed\n _finished = false; // indicates whether the hash was finalized\n constructor() {\n this.reset();\n }\n _initState() {\n this._state[0] = 0x6a09e667;\n this._state[1] = 0xbb67ae85;\n this._state[2] = 0x3c6ef372;\n this._state[3] = 0xa54ff53a;\n this._state[4] = 0x510e527f;\n this._state[5] = 0x9b05688c;\n this._state[6] = 0x1f83d9ab;\n this._state[7] = 0x5be0cd19;\n }\n /**\n * Resets hash state making it possible\n * to re-use this instance to hash other data.\n */\n reset() {\n this._initState();\n this._bufferLength = 0;\n this._bytesHashed = 0;\n this._finished = false;\n return this;\n }\n /**\n * Cleans internal buffers and resets hash state.\n */\n clean() {\n wipe(this._buffer);\n wipe(this._temp);\n this.reset();\n }\n /**\n * Updates hash state with the given data.\n *\n * Throws error when trying to update already finalized hash:\n * instance must be reset to update it again.\n */\n update(data, dataLength = data.length) {\n if (this._finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n let dataPos = 0;\n this._bytesHashed += dataLength;\n if (this._bufferLength > 0) {\n while (this._bufferLength < this.blockSize && dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this._bufferLength === this.blockSize) {\n hashBlocks(this._temp, this._state, this._buffer, 0, this.blockSize);\n this._bufferLength = 0;\n }\n }\n if (dataLength >= this.blockSize) {\n dataPos = hashBlocks(this._temp, this._state, data, dataPos, dataLength);\n dataLength %= this.blockSize;\n }\n while (dataLength > 0) {\n this._buffer[this._bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n }\n /**\n * Finalizes hash state and puts hash into out.\n * If hash was already finalized, puts the same value.\n */\n finish(out) {\n if (!this._finished) {\n const bytesHashed = this._bytesHashed;\n const left = this._bufferLength;\n const bitLenHi = (bytesHashed / 0x20000000) | 0;\n const bitLenLo = bytesHashed << 3;\n const padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this._buffer[left] = 0x80;\n for (let i = left + 1; i < padLength - 8; i++) {\n this._buffer[i] = 0;\n }\n writeUint32BE(bitLenHi, this._buffer, padLength - 8);\n writeUint32BE(bitLenLo, this._buffer, padLength - 4);\n hashBlocks(this._temp, this._state, this._buffer, 0, padLength);\n this._finished = true;\n }\n for (let i = 0; i < this.digestLength / 4; i++) {\n writeUint32BE(this._state[i], out, i * 4);\n }\n return this;\n }\n /**\n * Returns the final hash digest.\n */\n digest() {\n const out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n }\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Returns hash state to be used with restoreState().\n * Only chain value is saved, not buffers or other\n * state variables.\n */\n saveState() {\n if (this._finished) {\n throw new Error(\"SHA256: cannot save finished state\");\n }\n return {\n state: new Int32Array(this._state),\n buffer: this._bufferLength > 0 ? new Uint8Array(this._buffer) : undefined,\n bufferLength: this._bufferLength,\n bytesHashed: this._bytesHashed\n };\n }\n /**\n * Function useful for HMAC/PBKDF2 optimization.\n * Restores state saved by saveState() and sets bytesHashed\n * to the given value.\n */\n restoreState(savedState) {\n this._state.set(savedState.state);\n this._bufferLength = savedState.bufferLength;\n if (savedState.buffer) {\n this._buffer.set(savedState.buffer);\n }\n this._bytesHashed = savedState.bytesHashed;\n this._finished = false;\n return this;\n }\n /**\n * Cleans state returned by saveState().\n */\n cleanSavedState(savedState) {\n wipe(savedState.state);\n if (savedState.buffer) {\n wipe(savedState.buffer);\n }\n savedState.bufferLength = 0;\n savedState.bytesHashed = 0;\n }\n}\n// Constants\nconst K = new Int32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n while (len >= 64) {\n let a = v[0];\n let b = v[1];\n let c = v[2];\n let d = v[3];\n let e = v[4];\n let f = v[5];\n let g = v[6];\n let h = v[7];\n for (let i = 0; i < 16; i++) {\n let j = pos + i * 4;\n w[i] = readUint32BE(p, j);\n }\n for (let i = 16; i < 64; i++) {\n let u = w[i - 2];\n let t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n let t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (let i = 0; i < 64; i++) {\n let t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n let t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\nexport function hash(data) {\n const h = new SHA256();\n h.update(data);\n const digest = h.digest();\n h.clean();\n return digest;\n}\n//# sourceMappingURL=sha256.js.map","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Package utf8 implements UTF-8 encoding and decoding.\n */\nconst INVALID_UTF16 = \"utf8: invalid string\";\nconst INVALID_UTF8 = \"utf8: invalid source encoding\";\n/**\n * Encodes the given string into UTF-8 byte array.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nexport function encode(s) {\n // Calculate result length and allocate output array.\n // encodedLength() validates string and throws errors,\n // so we don't need repeat validation here.\n const arr = new Uint8Array(encodedLength(s));\n let pos = 0;\n for (let i = 0; i < s.length; i++) {\n let c = s.charCodeAt(i);\n if (c >= 0xd800 && c <= 0xdbff) {\n c = ((c - 0xd800) << 10) + (s.charCodeAt(++i) - 0xdc00) + 0x10000;\n }\n if (c < 0x80) {\n arr[pos++] = c;\n }\n else if (c < 0x800) {\n arr[pos++] = 0xc0 | (c >> 6);\n arr[pos++] = 0x80 | (c & 0x3f);\n }\n else if (c < 0x10000) {\n arr[pos++] = 0xe0 | (c >> 12);\n arr[pos++] = 0x80 | ((c >> 6) & 0x3f);\n arr[pos++] = 0x80 | (c & 0x3f);\n }\n else {\n arr[pos++] = 0xf0 | (c >> 18);\n arr[pos++] = 0x80 | ((c >> 12) & 0x3f);\n arr[pos++] = 0x80 | ((c >> 6) & 0x3f);\n arr[pos++] = 0x80 | (c & 0x3f);\n }\n }\n return arr;\n}\n/**\n * Returns the number of bytes required to encode the given string into UTF-8.\n * Throws if the source string has invalid UTF-16 encoding.\n */\nexport function encodedLength(s) {\n let result = 0;\n for (let i = 0; i < s.length; i++) {\n let c = s.charCodeAt(i);\n if (c >= 0xd800 && c <= 0xdbff) {\n // surrogate pair\n if (i === s.length - 1) {\n throw new Error(INVALID_UTF16);\n }\n i++;\n const c2 = s.charCodeAt(i);\n if (c2 < 0xdc00 || c2 > 0xdfff) {\n throw new Error(INVALID_UTF16);\n }\n c = ((c - 0xd800) << 10) + (c2 - 0xdc00) + 0x10000;\n }\n if (c < 0x80) {\n result += 1;\n }\n else if (c < 0x800) {\n result += 2;\n }\n else if (c < 0x10000) {\n result += 3;\n }\n else {\n result += 4;\n }\n }\n return result;\n}\n/**\n * Decodes the given byte array from UTF-8 into a string.\n * Throws if encoding is invalid.\n */\nexport function decode(arr) {\n const chars = [];\n for (let i = 0; i < arr.length; i++) {\n let b = arr[i];\n if (b & 0x80) {\n let min;\n if (b < 0xe0) {\n // Need 1 more byte.\n if (i >= arr.length) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n if ((n1 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x1f) << 6 | (n1 & 0x3f);\n min = 0x80;\n }\n else if (b < 0xf0) {\n // Need 2 more bytes.\n if (i >= arr.length - 1) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n const n2 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 12 | (n1 & 0x3f) << 6 | (n2 & 0x3f);\n min = 0x800;\n }\n else if (b < 0xf8) {\n // Need 3 more bytes.\n if (i >= arr.length - 2) {\n throw new Error(INVALID_UTF8);\n }\n const n1 = arr[++i];\n const n2 = arr[++i];\n const n3 = arr[++i];\n if ((n1 & 0xc0) !== 0x80 || (n2 & 0xc0) !== 0x80 || (n3 & 0xc0) !== 0x80) {\n throw new Error(INVALID_UTF8);\n }\n b = (b & 0x0f) << 18 | (n1 & 0x3f) << 12 | (n2 & 0x3f) << 6 | (n3 & 0x3f);\n min = 0x10000;\n }\n else {\n throw new Error(INVALID_UTF8);\n }\n if (b < min || (b >= 0xd800 && b <= 0xdfff)) {\n throw new Error(INVALID_UTF8);\n }\n if (b >= 0x10000) {\n // Surrogate pair.\n if (b > 0x10ffff) {\n throw new Error(INVALID_UTF8);\n }\n b -= 0x10000;\n chars.push(String.fromCharCode(0xd800 | (b >> 10)));\n b = 0xdc00 | (b & 0x3ff);\n }\n }\n chars.push(String.fromCharCode(b));\n }\n return chars.join(\"\");\n}\n//# sourceMappingURL=utf8.js.map","// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n const BASE_MAP = new Uint8Array(256)\n for (let j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (let i = 0; i < ALPHABET.length; i++) {\n const x = ALPHABET.charAt(i)\n const xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n const BASE = ALPHABET.length\n const LEADER = ALPHABET.charAt(0)\n const FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n const iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n // eslint-disable-next-line no-empty\n if (source instanceof Uint8Array) { } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n let zeroes = 0\n let length = 0\n let pbegin = 0\n const pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n const size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n const b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n let carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n let i = 0\n for (let it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n let it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n let str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n let psz = 0\n // Skip and count leading '1's.\n let zeroes = 0\n let length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n const size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n const b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n let carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n let i = 0\n for (let it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n let it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n const vch = new Uint8Array(zeroes + (size - it4))\n let j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n const buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode,\n decodeUnsafe,\n decode\n }\n}\nexport default base\n","import basex from 'base-x';\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\nexport default basex(ALPHABET);\n","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nconst INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nexport class Coder {\n _paddingCharacter;\n // TODO(dchest): methods to encode chunk-by-chunk.\n constructor(_paddingCharacter = \"=\") {\n this._paddingCharacter = _paddingCharacter;\n }\n encodedLength(length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n }\n encode(data) {\n let out = \"\";\n let i = 0;\n for (; i < data.length - 2; i += 3) {\n let c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n const left = data.length - i;\n if (left > 0) {\n let c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n }\n maxDecodedLength(length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n }\n decodedLength(s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n }\n decode(s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n const paddingLength = this._getPaddingLength(s);\n const length = s.length - paddingLength;\n const out = new Uint8Array(this.maxDecodedLength(length));\n let op = 0;\n let i = 0;\n let haveBad = 0;\n let v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n }\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n _encodeByte(b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n let result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n }\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n _decodeChar(c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n let result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n }\n _getPaddingLength(s) {\n let paddingLength = 0;\n if (this._paddingCharacter) {\n for (let i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n }\n}\nconst stdCoder = new Coder();\nexport function encode(data) {\n return stdCoder.encode(data);\n}\nexport function decode(s) {\n return stdCoder.decode(s);\n}\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nexport class URLSafeCoder extends Coder {\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n _encodeByte(b) {\n let result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n }\n _decodeChar(c) {\n let result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n }\n}\nconst urlSafeCoder = new URLSafeCoder();\nexport function encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexport function decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexport const encodedLength = (length) => stdCoder.encodedLength(length);\nexport const maxDecodedLength = (length) => stdCoder.maxDecodedLength(length);\nexport const decodedLength = (s) => stdCoder.decodedLength(s);\n//# sourceMappingURL=base64.js.map","// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\n/**\n * Package bytes provides functions for dealing with byte arrays.\n */\n/**\n * Concatenates byte arrays.\n */\nexport function concat(...arrays) {\n // Calculate sum of lengths of all arrays.\n let totalLength = 0;\n for (let i = 0; i < arrays.length; i++) {\n totalLength += arrays[i].length;\n }\n // Allocate new array of calculated length.\n const result = new Uint8Array(totalLength);\n // Copy all arrays into result.\n let offset = 0;\n for (let i = 0; i < arrays.length; i++) {\n const arg = arrays[i];\n result.set(arg, offset);\n offset += arg.length;\n }\n return result;\n}\n//# sourceMappingURL=bytes.js.map","export var integers = ['u8', 'u16', 'u32', 'u64', 'u128', 'i8', 'i16', 'i32', 'i64', 'i128', 'f32', 'f64'];\n","var EncodeBuffer = /** @class */ (function () {\n function EncodeBuffer() {\n this.offset = 0;\n this.buffer_size = 256;\n this.buffer = new ArrayBuffer(this.buffer_size);\n this.view = new DataView(this.buffer);\n }\n EncodeBuffer.prototype.resize_if_necessary = function (needed_space) {\n if (this.buffer_size - this.offset < needed_space) {\n this.buffer_size = Math.max(this.buffer_size * 2, this.buffer_size + needed_space);\n var new_buffer = new ArrayBuffer(this.buffer_size);\n new Uint8Array(new_buffer).set(new Uint8Array(this.buffer));\n this.buffer = new_buffer;\n this.view = new DataView(new_buffer);\n }\n };\n EncodeBuffer.prototype.get_used_buffer = function () {\n return new Uint8Array(this.buffer).slice(0, this.offset);\n };\n EncodeBuffer.prototype.store_value = function (value, type) {\n var bSize = type.substring(1);\n var size = parseInt(bSize) / 8;\n this.resize_if_necessary(size);\n var toCall = type[0] === 'f' ? \"setFloat\".concat(bSize) : type[0] === 'i' ? \"setInt\".concat(bSize) : \"setUint\".concat(bSize);\n this.view[toCall](this.offset, value, true);\n this.offset += size;\n };\n EncodeBuffer.prototype.store_bytes = function (from) {\n this.resize_if_necessary(from.length);\n new Uint8Array(this.buffer).set(new Uint8Array(from), this.offset);\n this.offset += from.length;\n };\n return EncodeBuffer;\n}());\nexport { EncodeBuffer };\nvar DecodeBuffer = /** @class */ (function () {\n function DecodeBuffer(buf) {\n this.offset = 0;\n this.buffer_size = buf.length;\n this.buffer = new ArrayBuffer(buf.length);\n new Uint8Array(this.buffer).set(buf);\n this.view = new DataView(this.buffer);\n }\n DecodeBuffer.prototype.assert_enough_buffer = function (size) {\n if (this.offset + size > this.buffer.byteLength) {\n throw new Error('Error in schema, the buffer is smaller than expected');\n }\n };\n DecodeBuffer.prototype.consume_value = function (type) {\n var bSize = type.substring(1);\n var size = parseInt(bSize) / 8;\n this.assert_enough_buffer(size);\n var toCall = type[0] === 'f' ? \"getFloat\".concat(bSize) : type[0] === 'i' ? \"getInt\".concat(bSize) : \"getUint\".concat(bSize);\n var ret = this.view[toCall](this.offset, true);\n this.offset += size;\n return ret;\n };\n DecodeBuffer.prototype.consume_bytes = function (size) {\n this.assert_enough_buffer(size);\n var ret = this.buffer.slice(this.offset, this.offset + size);\n this.offset += size;\n return ret;\n };\n return DecodeBuffer;\n}());\nexport { DecodeBuffer };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { integers } from './types.js';\nexport function isArrayLike(value) {\n // source: https://stackoverflow.com/questions/24048547/checking-if-an-object-is-array-like\n return (Array.isArray(value) ||\n (!!value &&\n typeof value === 'object' &&\n 'length' in value &&\n typeof (value.length) === 'number' &&\n (value.length === 0 ||\n (value.length > 0 &&\n (value.length - 1) in value))));\n}\nexport function expect_type(value, type, fieldPath) {\n if (typeof (value) !== type) {\n throw new Error(\"Expected \".concat(type, \" not \").concat(typeof (value), \"(\").concat(value, \") at \").concat(fieldPath.join('.')));\n }\n}\nexport function expect_bigint(value, fieldPath) {\n var basicType = ['number', 'string', 'bigint', 'boolean'].includes(typeof (value));\n var strObject = typeof (value) === 'object' && value !== null && 'toString' in value;\n if (!basicType && !strObject) {\n throw new Error(\"Expected bigint, number, boolean or string not \".concat(typeof (value), \"(\").concat(value, \") at \").concat(fieldPath.join('.')));\n }\n}\nexport function expect_same_size(length, expected, fieldPath) {\n if (length !== expected) {\n throw new Error(\"Array length \".concat(length, \" does not match schema length \").concat(expected, \" at \").concat(fieldPath.join('.')));\n }\n}\nexport function expect_enum(value, fieldPath) {\n if (typeof (value) !== 'object' || value === null) {\n throw new Error(\"Expected object not \".concat(typeof (value), \"(\").concat(value, \") at \").concat(fieldPath.join('.')));\n }\n}\n// Validate Schema\nvar VALID_STRING_TYPES = integers.concat(['bool', 'string']);\nvar VALID_OBJECT_KEYS = ['option', 'enum', 'array', 'set', 'map', 'struct'];\nvar ErrorSchema = /** @class */ (function (_super) {\n __extends(ErrorSchema, _super);\n function ErrorSchema(schema, expected) {\n var message = \"Invalid schema: \".concat(JSON.stringify(schema), \" expected \").concat(expected);\n return _super.call(this, message) || this;\n }\n return ErrorSchema;\n}(Error));\nexport { ErrorSchema };\nexport function validate_schema(schema) {\n if (typeof (schema) === 'string' && VALID_STRING_TYPES.includes(schema)) {\n return;\n }\n if (schema && typeof (schema) === 'object') {\n var keys = Object.keys(schema);\n if (keys.length === 1 && VALID_OBJECT_KEYS.includes(keys[0])) {\n var key = keys[0];\n if (key === 'option')\n return validate_schema(schema[key]);\n if (key === 'enum')\n return validate_enum_schema(schema[key]);\n if (key === 'array')\n return validate_array_schema(schema[key]);\n if (key === 'set')\n return validate_schema(schema[key]);\n if (key === 'map')\n return validate_map_schema(schema[key]);\n if (key === 'struct')\n return validate_struct_schema(schema[key]);\n }\n }\n throw new ErrorSchema(schema, VALID_OBJECT_KEYS.join(', ') + ' or ' + VALID_STRING_TYPES.join(', '));\n}\nfunction validate_enum_schema(schema) {\n if (!Array.isArray(schema))\n throw new ErrorSchema(schema, 'Array');\n for (var _i = 0, schema_1 = schema; _i < schema_1.length; _i++) {\n var sch = schema_1[_i];\n if (typeof sch !== 'object' || !('struct' in sch)) {\n throw new Error('Missing \"struct\" key in enum schema');\n }\n if (typeof sch.struct !== 'object' || Object.keys(sch.struct).length !== 1) {\n throw new Error('The \"struct\" in each enum must have a single key');\n }\n validate_schema({ struct: sch.struct });\n }\n}\nfunction validate_array_schema(schema) {\n if (typeof schema !== 'object')\n throw new ErrorSchema(schema, '{ type, len? }');\n if (schema.len && typeof schema.len !== 'number') {\n throw new Error(\"Invalid schema: \".concat(schema));\n }\n if ('type' in schema)\n return validate_schema(schema.type);\n throw new ErrorSchema(schema, '{ type, len? }');\n}\nfunction validate_map_schema(schema) {\n if (typeof schema === 'object' && 'key' in schema && 'value' in schema) {\n validate_schema(schema.key);\n validate_schema(schema.value);\n }\n else {\n throw new ErrorSchema(schema, '{ key, value }');\n }\n}\nfunction validate_struct_schema(schema) {\n if (typeof schema !== 'object')\n throw new ErrorSchema(schema, 'object');\n for (var key in schema) {\n validate_schema(schema[key]);\n }\n}\n","import { integers } from './types.js';\nimport { EncodeBuffer } from './buffer.js';\nimport * as utils from './utils.js';\nvar BorshSerializer = /** @class */ (function () {\n function BorshSerializer(checkTypes) {\n this.encoded = new EncodeBuffer();\n this.fieldPath = ['value'];\n this.checkTypes = checkTypes;\n }\n BorshSerializer.prototype.encode = function (value, schema) {\n this.encode_value(value, schema);\n return this.encoded.get_used_buffer();\n };\n BorshSerializer.prototype.encode_value = function (value, schema) {\n if (typeof schema === 'string') {\n if (integers.includes(schema))\n return this.encode_integer(value, schema);\n if (schema === 'string')\n return this.encode_string(value);\n if (schema === 'bool')\n return this.encode_boolean(value);\n }\n if (typeof schema === 'object') {\n if ('option' in schema)\n return this.encode_option(value, schema);\n if ('enum' in schema)\n return this.encode_enum(value, schema);\n if ('array' in schema)\n return this.encode_array(value, schema);\n if ('set' in schema)\n return this.encode_set(value, schema);\n if ('map' in schema)\n return this.encode_map(value, schema);\n if ('struct' in schema)\n return this.encode_struct(value, schema);\n }\n };\n BorshSerializer.prototype.encode_integer = function (value, schema) {\n var size = parseInt(schema.substring(1));\n if (size <= 32 || schema == 'f64') {\n this.checkTypes && utils.expect_type(value, 'number', this.fieldPath);\n this.encoded.store_value(value, schema);\n }\n else {\n this.checkTypes && utils.expect_bigint(value, this.fieldPath);\n this.encode_bigint(BigInt(value), size);\n }\n };\n BorshSerializer.prototype.encode_bigint = function (value, size) {\n var buffer_len = size / 8;\n var buffer = new Uint8Array(buffer_len);\n for (var i = 0; i < buffer_len; i++) {\n buffer[i] = Number(value & BigInt(0xff));\n value = value >> BigInt(8);\n }\n this.encoded.store_bytes(new Uint8Array(buffer));\n };\n BorshSerializer.prototype.encode_string = function (value) {\n this.checkTypes && utils.expect_type(value, 'string', this.fieldPath);\n var _value = value;\n // encode to utf8 bytes without using TextEncoder\n var utf8Bytes = [];\n for (var i = 0; i < _value.length; i++) {\n var charCode = _value.charCodeAt(i);\n if (charCode < 0x80) {\n utf8Bytes.push(charCode);\n }\n else if (charCode < 0x800) {\n utf8Bytes.push(0xc0 | (charCode >> 6), 0x80 | (charCode & 0x3f));\n }\n else if (charCode < 0xd800 || charCode >= 0xe000) {\n utf8Bytes.push(0xe0 | (charCode >> 12), 0x80 | ((charCode >> 6) & 0x3f), 0x80 | (charCode & 0x3f));\n }\n else {\n i++;\n charCode = 0x10000 + (((charCode & 0x3ff) << 10) | (_value.charCodeAt(i) & 0x3ff));\n utf8Bytes.push(0xf0 | (charCode >> 18), 0x80 | ((charCode >> 12) & 0x3f), 0x80 | ((charCode >> 6) & 0x3f), 0x80 | (charCode & 0x3f));\n }\n }\n // 4 bytes for length + string bytes\n this.encoded.store_value(utf8Bytes.length, 'u32');\n this.encoded.store_bytes(new Uint8Array(utf8Bytes));\n };\n BorshSerializer.prototype.encode_boolean = function (value) {\n this.checkTypes && utils.expect_type(value, 'boolean', this.fieldPath);\n this.encoded.store_value(value ? 1 : 0, 'u8');\n };\n BorshSerializer.prototype.encode_option = function (value, schema) {\n if (value === null || value === undefined) {\n this.encoded.store_value(0, 'u8');\n }\n else {\n this.encoded.store_value(1, 'u8');\n this.encode_value(value, schema.option);\n }\n };\n BorshSerializer.prototype.encode_enum = function (value, schema) {\n this.checkTypes && utils.expect_enum(value, this.fieldPath);\n var valueKey = Object.keys(value)[0];\n for (var i = 0; i < schema[\"enum\"].length; i++) {\n var valueSchema = schema[\"enum\"][i];\n if (valueKey === Object.keys(valueSchema.struct)[0]) {\n this.encoded.store_value(i, 'u8');\n return this.encode_struct(value, valueSchema);\n }\n }\n throw new Error(\"Enum key (\".concat(valueKey, \") not found in enum schema: \").concat(JSON.stringify(schema), \" at \").concat(this.fieldPath.join('.')));\n };\n BorshSerializer.prototype.encode_array = function (value, schema) {\n if (utils.isArrayLike(value))\n return this.encode_arraylike(value, schema);\n if (value instanceof ArrayBuffer)\n return this.encode_buffer(value, schema);\n throw new Error(\"Expected Array-like not \".concat(typeof (value), \"(\").concat(value, \") at \").concat(this.fieldPath.join('.')));\n };\n BorshSerializer.prototype.encode_arraylike = function (value, schema) {\n if (schema.array.len) {\n utils.expect_same_size(value.length, schema.array.len, this.fieldPath);\n }\n else {\n // 4 bytes for length\n this.encoded.store_value(value.length, 'u32');\n }\n // array values\n for (var i = 0; i < value.length; i++) {\n this.encode_value(value[i], schema.array.type);\n }\n };\n BorshSerializer.prototype.encode_buffer = function (value, schema) {\n if (schema.array.len) {\n utils.expect_same_size(value.byteLength, schema.array.len, this.fieldPath);\n }\n else {\n // 4 bytes for length\n this.encoded.store_value(value.byteLength, 'u32');\n }\n // array values\n this.encoded.store_bytes(new Uint8Array(value));\n };\n BorshSerializer.prototype.encode_set = function (value, schema) {\n this.checkTypes && utils.expect_type(value, 'object', this.fieldPath);\n var isSet = value instanceof Set;\n var values = isSet ? Array.from(value.values()) : Object.values(value);\n // 4 bytes for length\n this.encoded.store_value(values.length, 'u32');\n // set values\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value_1 = values_1[_i];\n this.encode_value(value_1, schema.set);\n }\n };\n BorshSerializer.prototype.encode_map = function (value, schema) {\n this.checkTypes && utils.expect_type(value, 'object', this.fieldPath);\n var isMap = value instanceof Map;\n var keys = isMap ? Array.from(value.keys()) : Object.keys(value);\n // 4 bytes for length\n this.encoded.store_value(keys.length, 'u32');\n // store key/values\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n this.encode_value(key, schema.map.key);\n this.encode_value(isMap ? value.get(key) : value[key], schema.map.value);\n }\n };\n BorshSerializer.prototype.encode_struct = function (value, schema) {\n this.checkTypes && utils.expect_type(value, 'object', this.fieldPath);\n for (var _i = 0, _a = Object.keys(schema.struct); _i < _a.length; _i++) {\n var key = _a[_i];\n this.fieldPath.push(key);\n this.encode_value(value[key], schema.struct[key]);\n this.fieldPath.pop();\n }\n };\n return BorshSerializer;\n}());\nexport { BorshSerializer };\n","import { integers } from './types.js';\nimport { DecodeBuffer } from './buffer.js';\nvar BorshDeserializer = /** @class */ (function () {\n function BorshDeserializer(bufferArray) {\n this.buffer = new DecodeBuffer(bufferArray);\n }\n BorshDeserializer.prototype.decode = function (schema) {\n return this.decode_value(schema);\n };\n BorshDeserializer.prototype.decode_value = function (schema) {\n if (typeof schema === 'string') {\n if (integers.includes(schema))\n return this.decode_integer(schema);\n if (schema === 'string')\n return this.decode_string();\n if (schema === 'bool')\n return this.decode_boolean();\n }\n if (typeof schema === 'object') {\n if ('option' in schema)\n return this.decode_option(schema);\n if ('enum' in schema)\n return this.decode_enum(schema);\n if ('array' in schema)\n return this.decode_array(schema);\n if ('set' in schema)\n return this.decode_set(schema);\n if ('map' in schema)\n return this.decode_map(schema);\n if ('struct' in schema)\n return this.decode_struct(schema);\n }\n throw new Error(\"Unsupported type: \".concat(schema));\n };\n BorshDeserializer.prototype.decode_integer = function (schema) {\n var size = parseInt(schema.substring(1));\n if (size <= 32 || schema == 'f64') {\n return this.buffer.consume_value(schema);\n }\n return this.decode_bigint(size, schema.startsWith('i'));\n };\n BorshDeserializer.prototype.decode_bigint = function (size, signed) {\n if (signed === void 0) { signed = false; }\n var buffer_len = size / 8;\n var buffer = new Uint8Array(this.buffer.consume_bytes(buffer_len));\n var bits = buffer.reduceRight(function (r, x) { return r + x.toString(16).padStart(2, '0'); }, '');\n if (signed && buffer[buffer_len - 1]) {\n return BigInt.asIntN(size, BigInt(\"0x\".concat(bits)));\n }\n return BigInt(\"0x\".concat(bits));\n };\n BorshDeserializer.prototype.decode_string = function () {\n var len = this.decode_integer('u32');\n var buffer = new Uint8Array(this.buffer.consume_bytes(len));\n // decode utf-8 string without using TextDecoder\n // first get all bytes to single byte code points\n var codePoints = [];\n for (var i = 0; i < len; ++i) {\n var byte = buffer[i];\n if (byte < 0x80) {\n codePoints.push(byte);\n }\n else if (byte < 0xE0) {\n codePoints.push(((byte & 0x1F) << 6) | (buffer[++i] & 0x3F));\n }\n else if (byte < 0xF0) {\n codePoints.push(((byte & 0x0F) << 12) | ((buffer[++i] & 0x3F) << 6) | (buffer[++i] & 0x3F));\n }\n else {\n var codePoint = ((byte & 0x07) << 18) | ((buffer[++i] & 0x3F) << 12) | ((buffer[++i] & 0x3F) << 6) | (buffer[++i] & 0x3F);\n codePoints.push(codePoint);\n }\n }\n // then decode code points to utf-8\n return String.fromCodePoint.apply(String, codePoints);\n };\n BorshDeserializer.prototype.decode_boolean = function () {\n return this.buffer.consume_value('u8') > 0;\n };\n BorshDeserializer.prototype.decode_option = function (schema) {\n var option = this.buffer.consume_value('u8');\n if (option === 1) {\n return this.decode_value(schema.option);\n }\n if (option !== 0) {\n throw new Error(\"Invalid option \".concat(option));\n }\n return null;\n };\n BorshDeserializer.prototype.decode_enum = function (schema) {\n var _a;\n var valueIndex = this.buffer.consume_value('u8');\n if (valueIndex > schema[\"enum\"].length) {\n throw new Error(\"Enum option \".concat(valueIndex, \" is not available\"));\n }\n var struct = schema[\"enum\"][valueIndex].struct;\n var key = Object.keys(struct)[0];\n return _a = {}, _a[key] = this.decode_value(struct[key]), _a;\n };\n BorshDeserializer.prototype.decode_array = function (schema) {\n var result = [];\n var len = schema.array.len ? schema.array.len : this.decode_integer('u32');\n for (var i = 0; i < len; ++i) {\n result.push(this.decode_value(schema.array.type));\n }\n return result;\n };\n BorshDeserializer.prototype.decode_set = function (schema) {\n var len = this.decode_integer('u32');\n var result = new Set();\n for (var i = 0; i < len; ++i) {\n result.add(this.decode_value(schema.set));\n }\n return result;\n };\n BorshDeserializer.prototype.decode_map = function (schema) {\n var len = this.decode_integer('u32');\n var result = new Map();\n for (var i = 0; i < len; ++i) {\n var key = this.decode_value(schema.map.key);\n var value = this.decode_value(schema.map.value);\n result.set(key, value);\n }\n return result;\n };\n BorshDeserializer.prototype.decode_struct = function (schema) {\n var result = {};\n for (var key in schema.struct) {\n result[key] = this.decode_value(schema.struct[key]);\n }\n return result;\n };\n return BorshDeserializer;\n}());\nexport { BorshDeserializer };\n","import { BorshSerializer } from './serialize.js';\nimport { BorshDeserializer } from './deserialize.js';\nimport * as utils from './utils.js';\nexport function serialize(schema, value, validate) {\n if (validate === void 0) { validate = true; }\n if (validate)\n utils.validate_schema(schema);\n var serializer = new BorshSerializer(validate);\n return serializer.encode(value, schema);\n}\nexport function deserialize(schema, buffer, validate) {\n if (validate === void 0) { validate = true; }\n if (validate)\n utils.validate_schema(schema);\n var deserializer = new BorshDeserializer(buffer);\n return deserializer.decode(schema);\n}\n","import { decode as hexDecode, encode as hexEncode } from \"@stablelib/hex\";\nimport { hash as sha256Hash } from \"@stablelib/sha256\";\nimport { decode, decode as utf8Decode, encode, encode as utf8Encode } from \"@stablelib/utf8\";\nimport bs58 from \"bs58\";\nimport { decode as base64Decode, encode as base64Encode } from \"@stablelib/base64\";\nimport { writeUint16BE as binaryWriteUint16BE } from \"@stablelib/binary\";\nimport { concat as bytesConcat } from \"@stablelib/bytes\";\nimport { deserialize as borshDeserialize, serialize as borshSerialize } from \"borsh\";\n\n//#region src/codecs/index.ts\nfunction hexEncodeSha256Hash(data) {\n\treturn hexEncode(sha256Hash(data), true);\n}\nfunction bs58Encode(data) {\n\treturn bs58.encode(data);\n}\nfunction bs58Decode(data) {\n\treturn bs58.decode(data);\n}\nfunction toBytes(obj) {\n\treturn encode(JSON.stringify(obj));\n}\nfunction fromBytesToJson(data) {\n\treturn JSON.parse(decode(data));\n}\n\n//#endregion\nexport { base64Decode, base64Encode, binaryWriteUint16BE, borshDeserialize, borshSerialize, bs58Decode, bs58Encode, bytesConcat, fromBytesToJson, hexDecode, hexEncode, hexEncodeSha256Hash, sha256Hash, toBytes, utf8Decode, utf8Encode };\n//# sourceMappingURL=codecs-Ddj-ztlR.js.map","import { base64Decode, base64Encode, utf8Decode } from \"@idos-network/utils/codecs\";\nimport nacl from \"tweetnacl\";\n\n/**\n * Encrypts a message using the recipient's public key and the sender's secret key.\n */\nexport function encryptContent(\n message: Uint8Array,\n recipientEncryptionPublicKey: Uint8Array,\n senderEncryptionSecretKey: Uint8Array,\n): Uint8Array {\n const nonce = nacl.randomBytes(nacl.box.nonceLength);\n const encrypted = nacl.box(\n message,\n nonce,\n recipientEncryptionPublicKey,\n senderEncryptionSecretKey,\n );\n\n if (encrypted === null)\n throw Error(\n `Couldn't encrypt the provided message. ${JSON.stringify(\n {\n message: base64Encode(message),\n nonce: base64Encode(nonce),\n recipientEncryptionPublicKey: base64Encode(recipientEncryptionPublicKey),\n },\n null,\n 2,\n )}`,\n );\n\n const fullMessage = new Uint8Array(nonce.length + encrypted.length);\n fullMessage.set(nonce, 0);\n fullMessage.set(encrypted, nonce.length);\n\n return fullMessage;\n}\n\n/**\n * Decrypts a message using the sender's public key and the recipient's secret key.\n */\nfunction decryptContent(\n message: Uint8Array,\n nonce: Uint8Array,\n senderEncryptionPublicKey: Uint8Array,\n recipientEncryptionSecretKey: Uint8Array,\n): Uint8Array {\n const decrypted = nacl.box.open(\n message,\n nonce,\n senderEncryptionPublicKey,\n recipientEncryptionSecretKey,\n );\n\n if (decrypted === null) {\n throw Error(\n `Couldn't decrypt the provided message. ${JSON.stringify(\n {\n message: base64Encode(message),\n nonce: base64Encode(nonce),\n senderEncryptionPublicKey: base64Encode(senderEncryptionPublicKey),\n recipientEncryptionSecretKey: base64Encode(recipientEncryptionSecretKey),\n },\n null,\n 2,\n )}`,\n );\n }\n\n return decrypted;\n}\n\nexport class NoncedBox {\n readonly keyPair: nacl.BoxKeyPair;\n\n constructor(keyPair: nacl.BoxKeyPair) {\n this.keyPair = keyPair;\n }\n\n static nonceFromBase64SecretKey(secret: string): NoncedBox {\n return new NoncedBox(nacl.box.keyPair.fromSecretKey(base64Decode(secret)));\n }\n\n async decrypt(b64FullMessage: string, b64SenderPublicKey: string): Promise<string> {\n const decodedMessage = base64Decode(b64FullMessage);\n const senderEncryptionPublicKey = base64Decode(b64SenderPublicKey);\n const message = decodedMessage.slice(nacl.box.nonceLength, decodedMessage.length);\n const nonce = decodedMessage.slice(0, nacl.box.nonceLength);\n const content = decryptContent(\n message,\n nonce,\n senderEncryptionPublicKey,\n this.keyPair.secretKey,\n );\n\n return utf8Decode(content);\n }\n}\n","/** A special constant with type `never` */\nexport const NEVER = Object.freeze({\n status: \"aborted\",\n});\nexport /*@__NO_SIDE_EFFECTS__*/ function $constructor(name, initializer, params) {\n function init(inst, def) {\n var _a;\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod ?? {},\n enumerable: false,\n });\n (_a = inst._zod).traits ?? (_a.traits = new Set());\n inst._zod.traits.add(name);\n initializer(inst, def);\n // support prototype modifications\n for (const k in _.prototype) {\n if (!(k in inst))\n Object.defineProperty(inst, k, { value: _.prototype[k].bind(inst) });\n }\n inst._zod.constr = _;\n inst._zod.def = def;\n }\n // doesn't work if Parent has a constructor with arguments\n const Parent = params?.Parent ?? Object;\n class Definition extends Parent {\n }\n Object.defineProperty(Definition, \"name\", { value: name });\n function _(def) {\n var _a;\n const inst = params?.Parent ? new Definition() : this;\n init(inst, def);\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n for (const fn of inst._zod.deferred) {\n fn();\n }\n return inst;\n }\n Object.defineProperty(_, \"init\", { value: init });\n Object.defineProperty(_, Symbol.hasInstance, {\n value: (inst) => {\n if (params?.Parent && inst instanceof params.Parent)\n return true;\n return inst?._zod?.traits?.has(name);\n },\n });\n Object.defineProperty(_, \"name\", { value: name });\n return _;\n}\n////////////////////////////// UTILITIES ///////////////////////////////////////\nexport const $brand = Symbol(\"zod_brand\");\nexport class $ZodAsyncError extends Error {\n constructor() {\n super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);\n }\n}\nexport const globalConfig = {};\nexport function config(newConfig) {\n if (newConfig)\n Object.assign(globalConfig, newConfig);\n return globalConfig;\n}\n","// functions\nexport function assertEqual(val) {\n return val;\n}\nexport function assertNotEqual(val) {\n return val;\n}\nexport function assertIs(_arg) { }\nexport function assertNever(_x) {\n throw new Error();\n}\nexport function assert(_) { }\nexport function getEnumValues(entries) {\n const numericValues = Object.values(entries).filter((v) => typeof v === \"number\");\n const values = Object.entries(entries)\n .filter(([k, _]) => numericValues.indexOf(+k) === -1)\n .map(([_, v]) => v);\n return values;\n}\nexport function joinValues(array, separator = \"|\") {\n return array.map((val) => stringifyPrimitive(val)).join(separator);\n}\nexport function jsonStringifyReplacer(_, value) {\n if (typeof value === \"bigint\")\n return value.toString();\n return value;\n}\nexport function cached(getter) {\n const set = false;\n return {\n get value() {\n if (!set) {\n const value = getter();\n Object.defineProperty(this, \"value\", { value });\n return value;\n }\n throw new Error(\"cached value already set\");\n },\n };\n}\nexport function nullish(input) {\n return input === null || input === undefined;\n}\nexport function cleanRegex(source) {\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n return source.slice(start, end);\n}\nexport function floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepString = step.toString();\n let stepDecCount = (stepString.split(\".\")[1] || \"\").length;\n if (stepDecCount === 0 && /\\d?e-\\d?/.test(stepString)) {\n const match = stepString.match(/\\d?e-(\\d?)/);\n if (match?.[1]) {\n stepDecCount = Number.parseInt(match[1]);\n }\n }\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nconst EVALUATING = Symbol(\"evaluating\");\nexport function defineLazy(object, key, getter) {\n let value = undefined;\n Object.defineProperty(object, key, {\n get() {\n if (value === EVALUATING) {\n // Circular reference detected, return undefined to break the cycle\n return undefined;\n }\n if (value === undefined) {\n value = EVALUATING;\n value = getter();\n }\n return value;\n },\n set(v) {\n Object.defineProperty(object, key, {\n value: v,\n // configurable: true,\n });\n // object[key] = v;\n },\n configurable: true,\n });\n}\nexport function assignProp(target, prop, value) {\n Object.defineProperty(target, prop, {\n value,\n writable: true,\n enumerable: true,\n configurable: true,\n });\n}\nexport function mergeDefs(...defs) {\n const mergedDescriptors = {};\n for (const def of defs) {\n const descriptors = Object.getOwnPropertyDescriptors(def);\n Object.assign(mergedDescriptors, descriptors);\n }\n return Object.defineProperties({}, mergedDescriptors);\n}\nexport function cloneDef(schema) {\n return mergeDefs(schema._zod.def);\n}\nexport function getElementAtPath(obj, path) {\n if (!path)\n return obj;\n return path.reduce((acc, key) => acc?.[key], obj);\n}\nexport function promiseAllObject(promisesObj) {\n const keys = Object.keys(promisesObj);\n const promises = keys.map((key) => promisesObj[key]);\n return Promise.all(promises).then((results) => {\n const resolvedObj = {};\n for (let i = 0; i < keys.length; i++) {\n resolvedObj[keys[i]] = results[i];\n }\n return resolvedObj;\n });\n}\nexport function randomString(length = 10) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let str = \"\";\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * chars.length)];\n }\n return str;\n}\nexport function esc(str) {\n return JSON.stringify(str);\n}\nexport const captureStackTrace = (\"captureStackTrace\" in Error ? Error.captureStackTrace : (..._args) => { });\nexport function isObject(data) {\n return typeof data === \"object\" && data !== null && !Array.isArray(data);\n}\nexport const allowsEval = cached(() => {\n // @ts-ignore\n if (typeof navigator !== \"undefined\" && navigator?.userAgent?.includes(\"Cloudflare\")) {\n return false;\n }\n try {\n const F = Function;\n new F(\"\");\n return true;\n }\n catch (_) {\n return false;\n }\n});\nexport function isPlainObject(o) {\n if (isObject(o) === false)\n return false;\n // modified constructor\n const ctor = o.constructor;\n if (ctor === undefined)\n return true;\n // modified prototype\n const prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n // ctor doesn't have static `isPrototypeOf`\n if (Object.prototype.hasOwnProperty.call(prot, \"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nexport function numKeys(data) {\n let keyCount = 0;\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n keyCount++;\n }\n }\n return keyCount;\n}\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n return \"string\";\n case \"number\":\n return Number.isNaN(data) ? \"nan\" : \"number\";\n case \"boolean\":\n return \"boolean\";\n case \"function\":\n return \"function\";\n case \"bigint\":\n return \"bigint\";\n case \"symbol\":\n return \"symbol\";\n case \"object\":\n if (Array.isArray(data)) {\n return \"array\";\n }\n if (data === null) {\n return \"null\";\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return \"promise\";\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return \"map\";\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return \"set\";\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return \"date\";\n }\n // @ts-ignore\n if (typeof File !== \"undefined\" && data instanceof File) {\n return \"file\";\n }\n return \"object\";\n default:\n throw new Error(`Unknown data type: ${t}`);\n }\n};\nexport const propertyKeyTypes = new Set([\"string\", \"number\", \"symbol\"]);\nexport const primitiveTypes = new Set([\"string\", \"number\", \"bigint\", \"boolean\", \"symbol\", \"undefined\"]);\nexport function escapeRegex(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\n// zod-specific utils\nexport function clone(inst, def, params) {\n const cl = new inst._zod.constr(def ?? inst._zod.def);\n if (!def || params?.parent)\n cl._zod.parent = inst;\n return cl;\n}\nexport function normalizeParams(_params) {\n const params = _params;\n if (!params)\n return {};\n if (typeof params === \"string\")\n return { error: () => params };\n if (params?.message !== undefined) {\n if (params?.error !== undefined)\n throw new Error(\"Cannot specify both `message` and `error` params\");\n params.error = params.message;\n }\n delete params.message;\n if (typeof params.error === \"string\")\n return { ...params, error: () => params.error };\n return params;\n}\nexport function createTransparentProxy(getter) {\n let target;\n return new Proxy({}, {\n get(_, prop, receiver) {\n target ?? (target = getter());\n return Reflect.get(target, prop, receiver);\n },\n set(_, prop, value, receiver) {\n target ?? (target = getter());\n return Reflect.set(target, prop, value, receiver);\n },\n has(_, prop) {\n target ?? (target = getter());\n return Reflect.has(target, prop);\n },\n deleteProperty(_, prop) {\n target ?? (target = getter());\n return Reflect.deleteProperty(target, prop);\n },\n ownKeys(_) {\n target ?? (target = getter());\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(_, prop) {\n target ?? (target = getter());\n return Reflect.getOwnPropertyDescriptor(target, prop);\n },\n defineProperty(_, prop, descriptor) {\n target ?? (target = getter());\n return Reflect.defineProperty(target, prop, descriptor);\n },\n });\n}\nexport function stringifyPrimitive(value) {\n if (typeof value === \"bigint\")\n return value.toString() + \"n\";\n if (typeof value === \"string\")\n return `\"${value}\"`;\n return `${value}`;\n}\nexport function optionalKeys(shape) {\n return Object.keys(shape).filter((k) => {\n return shape[k]._zod.optin === \"optional\" && shape[k]._zod.optout === \"optional\";\n });\n}\nexport const NUMBER_FORMAT_RANGES = {\n safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],\n int32: [-2147483648, 2147483647],\n uint32: [0, 4294967295],\n float32: [-3.4028234663852886e38, 3.4028234663852886e38],\n float64: [-Number.MAX_VALUE, Number.MAX_VALUE],\n};\nexport const BIGINT_FORMAT_RANGES = {\n int64: [/* @__PURE__*/ BigInt(\"-9223372036854775808\"), /* @__PURE__*/ BigInt(\"9223372036854775807\")],\n uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt(\"18446744073709551615\")],\n};\nexport function pick(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = {};\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n newShape[key] = currDef.shape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function omit(schema, mask) {\n const currDef = schema._zod.def;\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const newShape = { ...schema._zod.def.shape };\n for (const key in mask) {\n if (!(key in currDef.shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n delete newShape[key];\n }\n assignProp(this, \"shape\", newShape); // self-caching\n return newShape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function extend(schema, shape) {\n if (!isPlainObject(shape)) {\n throw new Error(\"Invalid input to extend: expected a plain object\");\n }\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const _shape = { ...schema._zod.def.shape, ...shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function merge(a, b) {\n const def = mergeDefs(a._zod.def, {\n get shape() {\n const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };\n assignProp(this, \"shape\", _shape); // self-caching\n return _shape;\n },\n get catchall() {\n return b._zod.def.catchall;\n },\n checks: [], // delete existing checks\n });\n return clone(a, def);\n}\nexport function partial(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in oldShape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n else {\n for (const key in oldShape) {\n // if (oldShape[key]!._zod.optin === \"optional\") continue;\n shape[key] = Class\n ? new Class({\n type: \"optional\",\n innerType: oldShape[key],\n })\n : oldShape[key];\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\nexport function required(Class, schema, mask) {\n const def = mergeDefs(schema._zod.def, {\n get shape() {\n const oldShape = schema._zod.def.shape;\n const shape = { ...oldShape };\n if (mask) {\n for (const key in mask) {\n if (!(key in shape)) {\n throw new Error(`Unrecognized key: \"${key}\"`);\n }\n if (!mask[key])\n continue;\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n else {\n for (const key in oldShape) {\n // overwrite with non-optional\n shape[key] = new Class({\n type: \"nonoptional\",\n innerType: oldShape[key],\n });\n }\n }\n assignProp(this, \"shape\", shape); // self-caching\n return shape;\n },\n checks: [],\n });\n return clone(schema, def);\n}\n// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom\nexport function aborted(x, startIndex = 0) {\n for (let i = startIndex; i < x.issues.length; i++) {\n if (x.issues[i]?.continue !== true) {\n return true;\n }\n }\n return false;\n}\nexport function prefixIssues(path, issues) {\n return issues.map((iss) => {\n var _a;\n (_a = iss).path ?? (_a.path = []);\n iss.path.unshift(path);\n return iss;\n });\n}\nexport function unwrapMessage(message) {\n return typeof message === \"string\" ? message : message?.message;\n}\nexport function finalizeIssue(iss, ctx, config) {\n const full = { ...iss, path: iss.path ?? [] };\n // for backwards compatibility\n if (!iss.message) {\n const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??\n unwrapMessage(ctx?.error?.(iss)) ??\n unwrapMessage(config.customError?.(iss)) ??\n unwrapMessage(config.localeError?.(iss)) ??\n \"Invalid input\";\n full.message = message;\n }\n // delete (full as any).def;\n delete full.inst;\n delete full.continue;\n if (!ctx?.reportInput) {\n delete full.input;\n }\n return full;\n}\nexport function getSizableOrigin(input) {\n if (input instanceof Set)\n return \"set\";\n if (input instanceof Map)\n return \"map\";\n // @ts-ignore\n if (input instanceof File)\n return \"file\";\n return \"unknown\";\n}\nexport function getLengthableOrigin(input) {\n if (Array.isArray(input))\n return \"array\";\n if (typeof input === \"string\")\n return \"string\";\n return \"unknown\";\n}\nexport function issue(...args) {\n const [iss, input, inst] = args;\n if (typeof iss === \"string\") {\n return {\n message: iss,\n code: \"custom\",\n input,\n inst,\n };\n }\n return { ...iss };\n}\nexport function cleanEnum(obj) {\n return Object.entries(obj)\n .filter(([k, _]) => {\n // return true if NaN, meaning it's not a number, thus a string key\n return Number.isNaN(Number.parseInt(k, 10));\n })\n .map((el) => el[1]);\n}\n// instanceof\nexport class Class {\n constructor(..._args) { }\n}\n","import { $constructor } from \"./core.js\";\nimport * as util from \"./util.js\";\nconst initializer = (inst, def) => {\n inst.name = \"$ZodError\";\n Object.defineProperty(inst, \"_zod\", {\n value: inst._zod,\n enumerable: false,\n });\n Object.defineProperty(inst, \"issues\", {\n value: def,\n enumerable: false,\n });\n inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);\n Object.defineProperty(inst, \"toString\", {\n value: () => inst.message,\n enumerable: false,\n });\n};\nexport const $ZodError = $constructor(\"$ZodError\", initializer);\nexport const $ZodRealError = $constructor(\"$ZodError\", initializer, { Parent: Error });\nexport function flattenError(error, mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of error.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n}\nexport function formatError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n issue.errors.map((issues) => processError({ issues }));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues });\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues });\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(error);\n return fieldErrors;\n}\nexport function treeifyError(error, _mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const result = { errors: [] };\n const processError = (error, path = []) => {\n var _a, _b;\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\" && issue.errors.length) {\n // regular union error\n issue.errors.map((issues) => processError({ issues }, issue.path));\n }\n else if (issue.code === \"invalid_key\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else if (issue.code === \"invalid_element\") {\n processError({ issues: issue.issues }, issue.path);\n }\n else {\n const fullpath = [...path, ...issue.path];\n if (fullpath.length === 0) {\n result.errors.push(mapper(issue));\n continue;\n }\n let curr = result;\n let i = 0;\n while (i < fullpath.length) {\n const el = fullpath[i];\n const terminal = i === fullpath.length - 1;\n if (typeof el === \"string\") {\n curr.properties ?? (curr.properties = {});\n (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });\n curr = curr.properties[el];\n }\n else {\n curr.items ?? (curr.items = []);\n (_b = curr.items)[el] ?? (_b[el] = { errors: [] });\n curr = curr.items[el];\n }\n if (terminal) {\n curr.errors.push(mapper(issue));\n }\n i++;\n }\n }\n }\n };\n processError(error);\n return result;\n}\n/** Format a ZodError as a human-readable string in the following form.\n *\n * From\n *\n * ```ts\n * ZodError {\n * issues: [\n * {\n * expected: 'string',\n * code: 'invalid_type',\n * path: [ 'username' ],\n * message: 'Invalid input: expected string'\n * },\n * {\n * expected: 'number',\n * code: 'invalid_type',\n * path: [ 'favoriteNumbers', 1 ],\n * message: 'Invalid input: expected number'\n * }\n * ];\n * }\n * ```\n *\n * to\n *\n * ```\n * username\n * ✖ Expected number, received string at \"username\n * favoriteNumbers[0]\n * ✖ Invalid input: expected number\n * ```\n */\nexport function toDotPath(_path) {\n const segs = [];\n const path = _path.map((seg) => (typeof seg === \"object\" ? seg.key : seg));\n for (const seg of path) {\n if (typeof seg === \"number\")\n segs.push(`[${seg}]`);\n else if (typeof seg === \"symbol\")\n segs.push(`[${JSON.stringify(String(seg))}]`);\n else if (/[^\\w$]/.test(seg))\n segs.push(`[${JSON.stringify(seg)}]`);\n else {\n if (segs.length)\n segs.push(\".\");\n segs.push(seg);\n }\n }\n return segs.join(\"\");\n}\nexport function prettifyError(error) {\n const lines = [];\n // sort by path length\n const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);\n // Process each issue\n for (const issue of issues) {\n lines.push(`✖ ${issue.message}`);\n if (issue.path?.length)\n lines.push(` → at ${toDotPath(issue.path)}`);\n }\n // Convert Map to formatted string\n return lines.join(\"\\n\");\n}\n","import * as core from \"./core.js\";\nimport * as errors from \"./errors.js\";\nimport * as util from \"./util.js\";\nexport const _parse = (_Err) => (schema, value, _ctx, _params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n if (result.issues.length) {\n const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, _params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parse = /* @__PURE__*/ _parse(errors.$ZodRealError);\nexport const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n if (result.issues.length) {\n const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())));\n util.captureStackTrace(e, params?.callee);\n throw e;\n }\n return result.value;\n};\nexport const parseAsync = /* @__PURE__*/ _parseAsync(errors.$ZodRealError);\nexport const _safeParse = (_Err) => (schema, value, _ctx) => {\n const ctx = _ctx ? { ..._ctx, async: false } : { async: false };\n const result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n return result.issues.length\n ? {\n success: false,\n error: new (_Err ?? errors.$ZodError)(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParse = /* @__PURE__*/ _safeParse(errors.$ZodRealError);\nexport const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {\n const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };\n let result = schema._zod.run({ value, issues: [] }, ctx);\n if (result instanceof Promise)\n result = await result;\n return result.issues.length\n ? {\n success: false,\n error: new _Err(result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n }\n : { success: true, data: result.value };\n};\nexport const safeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);\n","export const cuid = /^[cC][^\\s-]{8,}$/;\nexport const cuid2 = /^[0-9a-z]+$/;\nexport const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;\nexport const xid = /^[0-9a-vA-V]{20}$/;\nexport const ksuid = /^[A-Za-z0-9]{27}$/;\nexport const nanoid = /^[a-zA-Z0-9_-]{21}$/;\n/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */\nexport const duration = /^P(?:(\\d+W)|(?!.*W)(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+([.,]\\d+)?S)?)?)$/;\n/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */\nexport const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */\nexport const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;\n/** Returns a regex for validating an RFC 9562/4122 UUID.\n *\n * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */\nexport const uuid = (version) => {\n if (!version)\n return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;\n return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);\n};\nexport const uuid4 = /*@__PURE__*/ uuid(4);\nexport const uuid6 = /*@__PURE__*/ uuid(6);\nexport const uuid7 = /*@__PURE__*/ uuid(7);\n/** Practical email validation */\nexport const email = /^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;\n/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */\nexport const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/** The classic emailregex.com regex for RFC 5322-compliant emails */\nexport const rfc5322Email = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */\nexport const unicodeEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const idnEmail = /^[^\\s@\"]{1,64}@[^\\s@]{1,255}$/u;\nexport const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emoji = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nexport function emoji() {\n return new RegExp(_emoji, \"u\");\n}\nexport const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nexport const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;\nexport const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/([0-9]|[1-2][0-9]|3[0-2])$/;\nexport const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nexport const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;\nexport const base64url = /^[A-Za-z0-9_-]*$/;\n// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address\n// export const hostname: RegExp = /^([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+$/;\nexport const hostname = /^(?=.{1,253}\\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\\.?$/;\nexport const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,}$/;\n// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)\nexport const e164 = /^\\+(?:[0-9]){6,14}[0-9]$/;\n// const dateSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateSource = `(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))`;\nexport const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);\nfunction timeSource(args) {\n const hhmm = `(?:[01]\\\\d|2[0-3]):[0-5]\\\\d`;\n const regex = typeof args.precision === \"number\"\n ? args.precision === -1\n ? `${hhmm}`\n : args.precision === 0\n ? `${hhmm}:[0-5]\\\\d`\n : `${hhmm}:[0-5]\\\\d\\\\.\\\\d{${args.precision}}`\n : `${hhmm}(?::[0-5]\\\\d(?:\\\\.\\\\d+)?)?`;\n return regex;\n}\nexport function time(args) {\n return new RegExp(`^${timeSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetime(args) {\n const time = timeSource({ precision: args.precision });\n const opts = [\"Z\"];\n if (args.local)\n opts.push(\"\");\n // if (args.offset) opts.push(`([+-]\\\\d{2}:\\\\d{2})`);\n if (args.offset)\n opts.push(`([+-](?:[01]\\\\d|2[0-3]):[0-5]\\\\d)`);\n const timeRegex = `${time}(?:${opts.join(\"|\")})`;\n return new RegExp(`^${dateSource}T(?:${timeRegex})$`);\n}\nexport const string = (params) => {\n const regex = params ? `[\\\\s\\\\S]{${params?.minimum ?? 0},${params?.maximum ?? \"\"}}` : `[\\\\s\\\\S]*`;\n return new RegExp(`^${regex}$`);\n};\nexport const bigint = /^\\d+n?$/;\nexport const integer = /^\\d+$/;\nexport const number = /^-?\\d+(?:\\.\\d+)?/i;\nexport const boolean = /true|false/i;\nconst _null = /null/i;\nexport { _null as null };\nconst _undefined = /undefined/i;\nexport { _undefined as undefined };\n// regex for string with no uppercase letters\nexport const lowercase = /^[^A-Z]*$/;\n// regex for string with no lowercase letters\nexport const uppercase = /^[^a-z]*$/;\n","// import { $ZodType } from \"./schemas.js\";\nimport * as core from \"./core.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nexport const $ZodCheck = /*@__PURE__*/ core.$constructor(\"$ZodCheck\", (inst, def) => {\n var _a;\n inst._zod ?? (inst._zod = {});\n inst._zod.def = def;\n (_a = inst._zod).onattach ?? (_a.onattach = []);\n});\nconst numericOriginMap = {\n number: \"number\",\n bigint: \"bigint\",\n object: \"date\",\n};\nexport const $ZodCheckLessThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckLessThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;\n if (def.value < curr) {\n if (def.inclusive)\n bag.maximum = def.value;\n else\n bag.exclusiveMaximum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckGreaterThan = /*@__PURE__*/ core.$constructor(\"$ZodCheckGreaterThan\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const origin = numericOriginMap[typeof def.value];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;\n if (def.value > curr) {\n if (def.inclusive)\n bag.minimum = def.value;\n else\n bag.exclusiveMinimum = def.value;\n }\n });\n inst._zod.check = (payload) => {\n if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {\n return;\n }\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.value,\n input: payload.value,\n inclusive: def.inclusive,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMultipleOf = \n/*@__PURE__*/ core.$constructor(\"$ZodCheckMultipleOf\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n var _a;\n (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);\n });\n inst._zod.check = (payload) => {\n if (typeof payload.value !== typeof def.value)\n throw new Error(\"Cannot mix number and bigint in multiple_of check.\");\n const isMultiple = typeof payload.value === \"bigint\"\n ? payload.value % def.value === BigInt(0)\n : util.floatSafeRemainder(payload.value, def.value) === 0;\n if (isMultiple)\n return;\n payload.issues.push({\n origin: typeof payload.value,\n code: \"not_multiple_of\",\n divisor: def.value,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckNumberFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n def.format = def.format || \"float64\";\n const isInt = def.format?.includes(\"int\");\n const origin = isInt ? \"int\" : \"number\";\n const [minimum, maximum] = util.NUMBER_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n if (isInt)\n bag.pattern = regexes.integer;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (isInt) {\n if (!Number.isInteger(input)) {\n // invalid_format issue\n // payload.issues.push({\n // expected: def.format,\n // format: def.format,\n // code: \"invalid_format\",\n // input,\n // inst,\n // });\n // invalid_type issue\n payload.issues.push({\n expected: origin,\n format: def.format,\n code: \"invalid_type\",\n continue: false,\n input,\n inst,\n });\n return;\n // not_multiple_of issue\n // payload.issues.push({\n // code: \"not_multiple_of\",\n // origin: \"number\",\n // input,\n // inst,\n // divisor: 1,\n // });\n }\n if (!Number.isSafeInteger(input)) {\n if (input > 0) {\n // too_big\n payload.issues.push({\n input,\n code: \"too_big\",\n maximum: Number.MAX_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n else {\n // too_small\n payload.issues.push({\n input,\n code: \"too_small\",\n minimum: Number.MIN_SAFE_INTEGER,\n note: \"Integers must be within the safe integer range.\",\n inst,\n origin,\n continue: !def.abort,\n });\n }\n return;\n }\n }\n if (input < minimum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_small\",\n minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"number\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckBigIntFormat\", (inst, def) => {\n $ZodCheck.init(inst, def); // no format checks\n const [minimum, maximum] = util.BIGINT_FORMAT_RANGES[def.format];\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n bag.minimum = minimum;\n bag.maximum = maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n if (input < minimum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_small\",\n minimum: minimum,\n inclusive: true,\n inst,\n continue: !def.abort,\n });\n }\n if (input > maximum) {\n payload.issues.push({\n origin: \"bigint\",\n input,\n code: \"too_big\",\n maximum,\n inst,\n });\n }\n };\n});\nexport const $ZodCheckMaxSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size <= def.maximum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_big\",\n maximum: def.maximum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinSize = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinSize\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size >= def.minimum)\n return;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n code: \"too_small\",\n minimum: def.minimum,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckSizeEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckSizeEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.size !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.size;\n bag.maximum = def.size;\n bag.size = def.size;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const size = input.size;\n if (size === def.size)\n return;\n const tooBig = size > def.size;\n payload.issues.push({\n origin: util.getSizableOrigin(input),\n ...(tooBig ? { code: \"too_big\", maximum: def.size } : { code: \"too_small\", minimum: def.size }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMaxLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMaxLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);\n if (def.maximum < curr)\n inst._zod.bag.maximum = def.maximum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length <= def.maximum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_big\",\n maximum: def.maximum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckMinLength = /*@__PURE__*/ core.$constructor(\"$ZodCheckMinLength\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);\n if (def.minimum > curr)\n inst._zod.bag.minimum = def.minimum;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length >= def.minimum)\n return;\n const origin = util.getLengthableOrigin(input);\n payload.issues.push({\n origin,\n code: \"too_small\",\n minimum: def.minimum,\n inclusive: true,\n input,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLengthEquals = /*@__PURE__*/ core.$constructor(\"$ZodCheckLengthEquals\", (inst, def) => {\n var _a;\n $ZodCheck.init(inst, def);\n (_a = inst._zod.def).when ?? (_a.when = (payload) => {\n const val = payload.value;\n return !util.nullish(val) && val.length !== undefined;\n });\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.minimum = def.length;\n bag.maximum = def.length;\n bag.length = def.length;\n });\n inst._zod.check = (payload) => {\n const input = payload.value;\n const length = input.length;\n if (length === def.length)\n return;\n const origin = util.getLengthableOrigin(input);\n const tooBig = length > def.length;\n payload.issues.push({\n origin,\n ...(tooBig ? { code: \"too_big\", maximum: def.length } : { code: \"too_small\", minimum: def.length }),\n inclusive: true,\n exact: true,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCheckStringFormat\", (inst, def) => {\n var _a, _b;\n $ZodCheck.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = def.format;\n if (def.pattern) {\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(def.pattern);\n }\n });\n if (def.pattern)\n (_a = inst._zod).check ?? (_a.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n ...(def.pattern ? { pattern: def.pattern.toString() } : {}),\n inst,\n continue: !def.abort,\n });\n });\n else\n (_b = inst._zod).check ?? (_b.check = () => { });\n});\nexport const $ZodCheckRegex = /*@__PURE__*/ core.$constructor(\"$ZodCheckRegex\", (inst, def) => {\n $ZodCheckStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n def.pattern.lastIndex = 0;\n if (def.pattern.test(payload.value))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"regex\",\n input: payload.value,\n pattern: def.pattern.toString(),\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckLowerCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckLowerCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.lowercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckUpperCase = /*@__PURE__*/ core.$constructor(\"$ZodCheckUpperCase\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.uppercase);\n $ZodCheckStringFormat.init(inst, def);\n});\nexport const $ZodCheckIncludes = /*@__PURE__*/ core.$constructor(\"$ZodCheckIncludes\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const escapedRegex = util.escapeRegex(def.includes);\n const pattern = new RegExp(typeof def.position === \"number\" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);\n def.pattern = pattern;\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.includes(def.includes, def.position))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"includes\",\n includes: def.includes,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckStartsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckStartsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`^${util.escapeRegex(def.prefix)}.*`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.startsWith(def.prefix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"starts_with\",\n prefix: def.prefix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckEndsWith = /*@__PURE__*/ core.$constructor(\"$ZodCheckEndsWith\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const pattern = new RegExp(`.*${util.escapeRegex(def.suffix)}$`);\n def.pattern ?? (def.pattern = pattern);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.patterns ?? (bag.patterns = new Set());\n bag.patterns.add(pattern);\n });\n inst._zod.check = (payload) => {\n if (payload.value.endsWith(def.suffix))\n return;\n payload.issues.push({\n origin: \"string\",\n code: \"invalid_format\",\n format: \"ends_with\",\n suffix: def.suffix,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n///////////////////////////////////\n///// $ZodCheckProperty /////\n///////////////////////////////////\nfunction handleCheckPropertyResult(result, payload, property) {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(property, result.issues));\n }\n}\nexport const $ZodCheckProperty = /*@__PURE__*/ core.$constructor(\"$ZodCheckProperty\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n const result = def.schema._zod.run({\n value: payload.value[def.property],\n issues: [],\n }, {});\n if (result instanceof Promise) {\n return result.then((result) => handleCheckPropertyResult(result, payload, def.property));\n }\n handleCheckPropertyResult(result, payload, def.property);\n return;\n };\n});\nexport const $ZodCheckMimeType = /*@__PURE__*/ core.$constructor(\"$ZodCheckMimeType\", (inst, def) => {\n $ZodCheck.init(inst, def);\n const mimeSet = new Set(def.mime);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.mime = def.mime;\n });\n inst._zod.check = (payload) => {\n if (mimeSet.has(payload.value.type))\n return;\n payload.issues.push({\n code: \"invalid_value\",\n values: def.mime,\n input: payload.value.type,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCheckOverwrite = /*@__PURE__*/ core.$constructor(\"$ZodCheckOverwrite\", (inst, def) => {\n $ZodCheck.init(inst, def);\n inst._zod.check = (payload) => {\n payload.value = def.tx(payload.value);\n };\n});\n","export class Doc {\n constructor(args = []) {\n this.content = [];\n this.indent = 0;\n if (this)\n this.args = args;\n }\n indented(fn) {\n this.indent += 1;\n fn(this);\n this.indent -= 1;\n }\n write(arg) {\n if (typeof arg === \"function\") {\n arg(this, { execution: \"sync\" });\n arg(this, { execution: \"async\" });\n return;\n }\n const content = arg;\n const lines = content.split(\"\\n\").filter((x) => x);\n const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));\n const dedented = lines.map((x) => x.slice(minIndent)).map((x) => \" \".repeat(this.indent * 2) + x);\n for (const line of dedented) {\n this.content.push(line);\n }\n }\n compile() {\n const F = Function;\n const args = this?.args;\n const content = this?.content ?? [``];\n const lines = [...content.map((x) => ` ${x}`)];\n // console.log(lines.join(\"\\n\"));\n return new F(...args, lines.join(\"\\n\"));\n }\n}\n","export const version = {\n major: 4,\n minor: 0,\n patch: 14,\n};\n","import * as checks from \"./checks.js\";\nimport * as core from \"./core.js\";\nimport { Doc } from \"./doc.js\";\nimport { safeParse, safeParseAsync } from \"./parse.js\";\nimport * as regexes from \"./regexes.js\";\nimport * as util from \"./util.js\";\nimport { version } from \"./versions.js\";\nexport const $ZodType = /*@__PURE__*/ core.$constructor(\"$ZodType\", (inst, def) => {\n var _a;\n inst ?? (inst = {});\n inst._zod.def = def; // set _def property\n inst._zod.bag = inst._zod.bag || {}; // initialize _bag object\n inst._zod.version = version;\n const checks = [...(inst._zod.def.checks ?? [])];\n // if inst is itself a checks.$ZodCheck, run it as a check\n if (inst._zod.traits.has(\"$ZodCheck\")) {\n checks.unshift(inst);\n }\n //\n for (const ch of checks) {\n for (const fn of ch._zod.onattach) {\n fn(inst);\n }\n }\n if (checks.length === 0) {\n // deferred initializer\n // inst._zod.parse is not yet defined\n (_a = inst._zod).deferred ?? (_a.deferred = []);\n inst._zod.deferred?.push(() => {\n inst._zod.run = inst._zod.parse;\n });\n }\n else {\n const runChecks = (payload, checks, ctx) => {\n let isAborted = util.aborted(payload);\n let asyncResult;\n for (const ch of checks) {\n if (ch._zod.def.when) {\n const shouldRun = ch._zod.def.when(payload);\n if (!shouldRun)\n continue;\n }\n else if (isAborted) {\n continue;\n }\n const currLen = payload.issues.length;\n const _ = ch._zod.check(payload);\n if (_ instanceof Promise && ctx?.async === false) {\n throw new core.$ZodAsyncError();\n }\n if (asyncResult || _ instanceof Promise) {\n asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {\n await _;\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n return;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n });\n }\n else {\n const nextLen = payload.issues.length;\n if (nextLen === currLen)\n continue;\n if (!isAborted)\n isAborted = util.aborted(payload, currLen);\n }\n }\n if (asyncResult) {\n return asyncResult.then(() => {\n return payload;\n });\n }\n return payload;\n };\n inst._zod.run = (payload, ctx) => {\n const result = inst._zod.parse(payload, ctx);\n if (result instanceof Promise) {\n if (ctx.async === false)\n throw new core.$ZodAsyncError();\n return result.then((result) => runChecks(result, checks, ctx));\n }\n return runChecks(result, checks, ctx);\n };\n }\n inst[\"~standard\"] = {\n validate: (value) => {\n try {\n const r = safeParse(inst, value);\n return r.success ? { value: r.data } : { issues: r.error?.issues };\n }\n catch (_) {\n return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));\n }\n },\n vendor: \"zod\",\n version: 1,\n };\n});\nexport { clone } from \"./util.js\";\nexport const $ZodString = /*@__PURE__*/ core.$constructor(\"$ZodString\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);\n inst._zod.parse = (payload, _) => {\n if (def.coerce)\n try {\n payload.value = String(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"string\")\n return payload;\n payload.issues.push({\n expected: \"string\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodStringFormat\", (inst, def) => {\n // check initialization must come first\n checks.$ZodCheckStringFormat.init(inst, def);\n $ZodString.init(inst, def);\n});\nexport const $ZodGUID = /*@__PURE__*/ core.$constructor(\"$ZodGUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.guid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodUUID = /*@__PURE__*/ core.$constructor(\"$ZodUUID\", (inst, def) => {\n if (def.version) {\n const versionMap = {\n v1: 1,\n v2: 2,\n v3: 3,\n v4: 4,\n v5: 5,\n v6: 6,\n v7: 7,\n v8: 8,\n };\n const v = versionMap[def.version];\n if (v === undefined)\n throw new Error(`Invalid UUID version: \"${def.version}\"`);\n def.pattern ?? (def.pattern = regexes.uuid(v));\n }\n else\n def.pattern ?? (def.pattern = regexes.uuid());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodEmail = /*@__PURE__*/ core.$constructor(\"$ZodEmail\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.email);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodURL = /*@__PURE__*/ core.$constructor(\"$ZodURL\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n try {\n // Trim whitespace from input\n const trimmed = payload.value.trim();\n // @ts-ignore\n const url = new URL(trimmed);\n if (def.hostname) {\n def.hostname.lastIndex = 0;\n if (!def.hostname.test(url.hostname)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid hostname\",\n pattern: regexes.hostname.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n if (def.protocol) {\n def.protocol.lastIndex = 0;\n if (!def.protocol.test(url.protocol.endsWith(\":\") ? url.protocol.slice(0, -1) : url.protocol)) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n note: \"Invalid protocol\",\n pattern: def.protocol.source,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n }\n // Set the output value based on normalize flag\n if (def.normalize) {\n // Use normalized URL\n payload.value = url.href;\n }\n else {\n // Preserve the original input (trimmed)\n payload.value = trimmed;\n }\n return;\n }\n catch (_) {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodEmoji = /*@__PURE__*/ core.$constructor(\"$ZodEmoji\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.emoji());\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodNanoID = /*@__PURE__*/ core.$constructor(\"$ZodNanoID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.nanoid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID = /*@__PURE__*/ core.$constructor(\"$ZodCUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCUID2 = /*@__PURE__*/ core.$constructor(\"$ZodCUID2\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cuid2);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodULID = /*@__PURE__*/ core.$constructor(\"$ZodULID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ulid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodXID = /*@__PURE__*/ core.$constructor(\"$ZodXID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.xid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodKSUID = /*@__PURE__*/ core.$constructor(\"$ZodKSUID\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ksuid);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODateTime = /*@__PURE__*/ core.$constructor(\"$ZodISODateTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.datetime(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODate = /*@__PURE__*/ core.$constructor(\"$ZodISODate\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.date);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISOTime = /*@__PURE__*/ core.$constructor(\"$ZodISOTime\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.time(def));\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodISODuration = /*@__PURE__*/ core.$constructor(\"$ZodISODuration\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.duration);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodIPv4 = /*@__PURE__*/ core.$constructor(\"$ZodIPv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv4);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv4`;\n });\n});\nexport const $ZodIPv6 = /*@__PURE__*/ core.$constructor(\"$ZodIPv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.ipv6);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n const bag = inst._zod.bag;\n bag.format = `ipv6`;\n });\n inst._zod.check = (payload) => {\n try {\n // @ts-ignore\n new URL(`http://[${payload.value}]`);\n // return;\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"ipv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\nexport const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv4\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv4);\n $ZodStringFormat.init(inst, def);\n});\nexport const $ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"$ZodCIDRv6\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n const [address, prefix] = payload.value.split(\"/\");\n try {\n if (!prefix)\n throw new Error();\n const prefixNum = Number(prefix);\n if (`${prefixNum}` !== prefix)\n throw new Error();\n if (prefixNum < 0 || prefixNum > 128)\n throw new Error();\n // @ts-ignore\n new URL(`http://[${address}]`);\n }\n catch {\n payload.issues.push({\n code: \"invalid_format\",\n format: \"cidrv6\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n }\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64(data) {\n if (data === \"\")\n return true;\n if (data.length % 4 !== 0)\n return false;\n try {\n // @ts-ignore\n atob(data);\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodBase64 = /*@__PURE__*/ core.$constructor(\"$ZodBase64\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\n////////////////////////////// ZodBase64 //////////////////////////////\nexport function isValidBase64URL(data) {\n if (!regexes.base64url.test(data))\n return false;\n const base64 = data.replace(/[-_]/g, (c) => (c === \"-\" ? \"+\" : \"/\"));\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, \"=\");\n return isValidBase64(padded);\n}\nexport const $ZodBase64URL = /*@__PURE__*/ core.$constructor(\"$ZodBase64URL\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.base64url);\n $ZodStringFormat.init(inst, def);\n inst._zod.onattach.push((inst) => {\n inst._zod.bag.contentEncoding = \"base64url\";\n });\n inst._zod.check = (payload) => {\n if (isValidBase64URL(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"base64url\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodE164 = /*@__PURE__*/ core.$constructor(\"$ZodE164\", (inst, def) => {\n def.pattern ?? (def.pattern = regexes.e164);\n $ZodStringFormat.init(inst, def);\n});\n////////////////////////////// ZodJWT //////////////////////////////\nexport function isValidJWT(token, algorithm = null) {\n try {\n const tokensParts = token.split(\".\");\n if (tokensParts.length !== 3)\n return false;\n const [header] = tokensParts;\n if (!header)\n return false;\n // @ts-ignore\n const parsedHeader = JSON.parse(atob(header));\n if (\"typ\" in parsedHeader && parsedHeader?.typ !== \"JWT\")\n return false;\n if (!parsedHeader.alg)\n return false;\n if (algorithm && (!(\"alg\" in parsedHeader) || parsedHeader.alg !== algorithm))\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nexport const $ZodJWT = /*@__PURE__*/ core.$constructor(\"$ZodJWT\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (isValidJWT(payload.value, def.alg))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: \"jwt\",\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"$ZodCustomStringFormat\", (inst, def) => {\n $ZodStringFormat.init(inst, def);\n inst._zod.check = (payload) => {\n if (def.fn(payload.value))\n return;\n payload.issues.push({\n code: \"invalid_format\",\n format: def.format,\n input: payload.value,\n inst,\n continue: !def.abort,\n });\n };\n});\nexport const $ZodNumber = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Number(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"number\" && !Number.isNaN(input) && Number.isFinite(input)) {\n return payload;\n }\n const received = typeof input === \"number\"\n ? Number.isNaN(input)\n ? \"NaN\"\n : !Number.isFinite(input)\n ? \"Infinity\"\n : undefined\n : undefined;\n payload.issues.push({\n expected: \"number\",\n code: \"invalid_type\",\n input,\n inst,\n ...(received ? { received } : {}),\n });\n return payload;\n };\n});\nexport const $ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"$ZodNumber\", (inst, def) => {\n checks.$ZodCheckNumberFormat.init(inst, def);\n $ZodNumber.init(inst, def); // no format checksp\n});\nexport const $ZodBoolean = /*@__PURE__*/ core.$constructor(\"$ZodBoolean\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.boolean;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = Boolean(payload.value);\n }\n catch (_) { }\n const input = payload.value;\n if (typeof input === \"boolean\")\n return payload;\n payload.issues.push({\n expected: \"boolean\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigInt = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.bigint;\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce)\n try {\n payload.value = BigInt(payload.value);\n }\n catch (_) { }\n if (typeof payload.value === \"bigint\")\n return payload;\n payload.issues.push({\n expected: \"bigint\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"$ZodBigInt\", (inst, def) => {\n checks.$ZodCheckBigIntFormat.init(inst, def);\n $ZodBigInt.init(inst, def); // no format checks\n});\nexport const $ZodSymbol = /*@__PURE__*/ core.$constructor(\"$ZodSymbol\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"symbol\")\n return payload;\n payload.issues.push({\n expected: \"symbol\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodUndefined = /*@__PURE__*/ core.$constructor(\"$ZodUndefined\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.undefined;\n inst._zod.values = new Set([undefined]);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"undefined\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodNull = /*@__PURE__*/ core.$constructor(\"$ZodNull\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.pattern = regexes.null;\n inst._zod.values = new Set([null]);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (input === null)\n return payload;\n payload.issues.push({\n expected: \"null\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodAny = /*@__PURE__*/ core.$constructor(\"$ZodAny\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodUnknown = /*@__PURE__*/ core.$constructor(\"$ZodUnknown\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload) => payload;\n});\nexport const $ZodNever = /*@__PURE__*/ core.$constructor(\"$ZodNever\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.issues.push({\n expected: \"never\",\n code: \"invalid_type\",\n input: payload.value,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodVoid = /*@__PURE__*/ core.$constructor(\"$ZodVoid\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (typeof input === \"undefined\")\n return payload;\n payload.issues.push({\n expected: \"void\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodDate = /*@__PURE__*/ core.$constructor(\"$ZodDate\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (def.coerce) {\n try {\n payload.value = new Date(payload.value);\n }\n catch (_err) { }\n }\n const input = payload.value;\n const isDate = input instanceof Date;\n const isValidDate = isDate && !Number.isNaN(input.getTime());\n if (isValidDate)\n return payload;\n payload.issues.push({\n expected: \"date\",\n code: \"invalid_type\",\n input,\n ...(isDate ? { received: \"Invalid Date\" } : {}),\n inst,\n });\n return payload;\n };\n});\nfunction handleArrayResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodArray = /*@__PURE__*/ core.$constructor(\"$ZodArray\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n expected: \"array\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n payload.value = Array(input.length);\n const proms = [];\n for (let i = 0; i < input.length; i++) {\n const item = input[i];\n const result = def.element._zod.run({\n value: item,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleArrayResult(result, payload, i)));\n }\n else {\n handleArrayResult(result, payload, i);\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload; //handleArrayResultsAsync(parseResults, final);\n };\n});\nfunction handlePropertyResult(result, final, key, input) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(key, result.issues));\n }\n if (result.value === undefined) {\n if (key in input) {\n final.value[key] = undefined;\n }\n }\n else {\n final.value[key] = result.value;\n }\n}\nexport const $ZodObject = /*@__PURE__*/ core.$constructor(\"$ZodObject\", (inst, def) => {\n // requires cast because technically $ZodObject doesn't extend\n $ZodType.init(inst, def);\n const _normalized = util.cached(() => {\n const keys = Object.keys(def.shape);\n for (const k of keys) {\n if (!(def.shape[k] instanceof $ZodType)) {\n throw new Error(`Invalid element at key \"${k}\": expected a Zod schema`);\n }\n }\n const okeys = util.optionalKeys(def.shape);\n return {\n shape: def.shape,\n keys,\n keySet: new Set(keys),\n numKeys: keys.length,\n optionalKeys: new Set(okeys),\n };\n });\n util.defineLazy(inst._zod, \"propValues\", () => {\n const shape = def.shape;\n const propValues = {};\n for (const key in shape) {\n const field = shape[key]._zod;\n if (field.values) {\n propValues[key] ?? (propValues[key] = new Set());\n for (const v of field.values)\n propValues[key].add(v);\n }\n }\n return propValues;\n });\n const generateFastpass = (shape) => {\n const doc = new Doc([\"shape\", \"payload\", \"ctx\"]);\n const normalized = _normalized.value;\n const parseStr = (key) => {\n const k = util.esc(key);\n return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;\n };\n doc.write(`const input = payload.value;`);\n const ids = Object.create(null);\n let counter = 0;\n for (const key of normalized.keys) {\n ids[key] = `key_${counter++}`;\n }\n // A: preserve key order {\n doc.write(`const newResult = {}`);\n for (const key of normalized.keys) {\n const id = ids[key];\n const k = util.esc(key);\n doc.write(`const ${id} = ${parseStr(key)};`);\n doc.write(`\n if (${id}.issues.length) {\n payload.issues = payload.issues.concat(${id}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${k}, ...iss.path] : [${k}]\n })));\n }\n \n if (${id}.value === undefined) {\n if (${k} in input) {\n newResult[${k}] = undefined;\n }\n } else {\n newResult[${k}] = ${id}.value;\n }\n `);\n }\n doc.write(`payload.value = newResult;`);\n doc.write(`return payload;`);\n const fn = doc.compile();\n return (payload, ctx) => fn(shape, payload, ctx);\n };\n let fastpass;\n const isObject = util.isObject;\n const jit = !core.globalConfig.jitless;\n const allowsEval = util.allowsEval;\n const fastEnabled = jit && allowsEval.value; // && !def.catchall;\n const catchall = def.catchall;\n let value;\n inst._zod.parse = (payload, ctx) => {\n value ?? (value = _normalized.value);\n const input = payload.value;\n if (!isObject(input)) {\n payload.issues.push({\n expected: \"object\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {\n // always synchronous\n if (!fastpass)\n fastpass = generateFastpass(def.shape);\n payload = fastpass(payload, ctx);\n }\n else {\n payload.value = {};\n const shape = value.shape;\n for (const key of value.keys) {\n const el = shape[key];\n const r = el._zod.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n }\n if (!catchall) {\n return proms.length ? Promise.all(proms).then(() => payload) : payload;\n }\n const unrecognized = [];\n // iterate over input keys\n const keySet = value.keySet;\n const _catchall = catchall._zod;\n const t = _catchall.def.type;\n for (const key of Object.keys(input)) {\n if (keySet.has(key))\n continue;\n if (t === \"never\") {\n unrecognized.push(key);\n continue;\n }\n const r = _catchall.run({ value: input[key], issues: [] }, ctx);\n if (r instanceof Promise) {\n proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));\n }\n else {\n handlePropertyResult(r, payload, key, input);\n }\n }\n if (unrecognized.length) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n keys: unrecognized,\n input,\n inst,\n });\n }\n if (!proms.length)\n return payload;\n return Promise.all(proms).then(() => {\n return payload;\n });\n };\n});\nfunction handleUnionResults(results, final, inst, ctx) {\n for (const result of results) {\n if (result.issues.length === 0) {\n final.value = result.value;\n return final;\n }\n }\n const nonaborted = results.filter((r) => !util.aborted(r));\n if (nonaborted.length === 1) {\n final.value = nonaborted[0].value;\n return nonaborted[0];\n }\n final.issues.push({\n code: \"invalid_union\",\n input: final.value,\n inst,\n errors: results.map((result) => result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config()))),\n });\n return final;\n}\nexport const $ZodUnion = /*@__PURE__*/ core.$constructor(\"$ZodUnion\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.options.some((o) => o._zod.optin === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"optout\", () => def.options.some((o) => o._zod.optout === \"optional\") ? \"optional\" : undefined);\n util.defineLazy(inst._zod, \"values\", () => {\n if (def.options.every((o) => o._zod.values)) {\n return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));\n }\n return undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n if (def.options.every((o) => o._zod.pattern)) {\n const patterns = def.options.map((o) => o._zod.pattern);\n return new RegExp(`^(${patterns.map((p) => util.cleanRegex(p.source)).join(\"|\")})$`);\n }\n return undefined;\n });\n const single = def.options.length === 1;\n const first = def.options[0]._zod.run;\n inst._zod.parse = (payload, ctx) => {\n if (single) {\n return first(payload, ctx);\n }\n let async = false;\n const results = [];\n for (const option of def.options) {\n const result = option._zod.run({\n value: payload.value,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n results.push(result);\n async = true;\n }\n else {\n if (result.issues.length === 0)\n return result;\n results.push(result);\n }\n }\n if (!async)\n return handleUnionResults(results, payload, inst, ctx);\n return Promise.all(results).then((results) => {\n return handleUnionResults(results, payload, inst, ctx);\n });\n };\n});\nexport const $ZodDiscriminatedUnion = \n/*@__PURE__*/\ncore.$constructor(\"$ZodDiscriminatedUnion\", (inst, def) => {\n $ZodUnion.init(inst, def);\n const _super = inst._zod.parse;\n util.defineLazy(inst._zod, \"propValues\", () => {\n const propValues = {};\n for (const option of def.options) {\n const pv = option._zod.propValues;\n if (!pv || Object.keys(pv).length === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(option)}\"`);\n for (const [k, v] of Object.entries(pv)) {\n if (!propValues[k])\n propValues[k] = new Set();\n for (const val of v) {\n propValues[k].add(val);\n }\n }\n }\n return propValues;\n });\n const disc = util.cached(() => {\n const opts = def.options;\n const map = new Map();\n for (const o of opts) {\n const values = o._zod.propValues?.[def.discriminator];\n if (!values || values.size === 0)\n throw new Error(`Invalid discriminated union option at index \"${def.options.indexOf(o)}\"`);\n for (const v of values) {\n if (map.has(v)) {\n throw new Error(`Duplicate discriminator value \"${String(v)}\"`);\n }\n map.set(v, o);\n }\n }\n return map;\n });\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isObject(input)) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"object\",\n input,\n inst,\n });\n return payload;\n }\n const opt = disc.value.get(input?.[def.discriminator]);\n if (opt) {\n return opt._zod.run(payload, ctx);\n }\n if (def.unionFallback) {\n return _super(payload, ctx);\n }\n // no matching discriminator\n payload.issues.push({\n code: \"invalid_union\",\n errors: [],\n note: \"No matching discriminator\",\n discriminator: def.discriminator,\n input,\n path: [def.discriminator],\n inst,\n });\n return payload;\n };\n});\nexport const $ZodIntersection = /*@__PURE__*/ core.$constructor(\"$ZodIntersection\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n const left = def.left._zod.run({ value: input, issues: [] }, ctx);\n const right = def.right._zod.run({ value: input, issues: [] }, ctx);\n const async = left instanceof Promise || right instanceof Promise;\n if (async) {\n return Promise.all([left, right]).then(([left, right]) => {\n return handleIntersectionResults(payload, left, right);\n });\n }\n return handleIntersectionResults(payload, left, right);\n };\n});\nfunction mergeValues(a, b) {\n // const aType = parse.t(a);\n // const bType = parse.t(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n if (a instanceof Date && b instanceof Date && +a === +b) {\n return { valid: true, data: a };\n }\n if (util.isPlainObject(a) && util.isPlainObject(b)) {\n const bKeys = Object.keys(b);\n const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [key, ...sharedValue.mergeErrorPath],\n };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return { valid: false, mergeErrorPath: [] };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false,\n mergeErrorPath: [index, ...sharedValue.mergeErrorPath],\n };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n return { valid: false, mergeErrorPath: [] };\n}\nfunction handleIntersectionResults(result, left, right) {\n if (left.issues.length) {\n result.issues.push(...left.issues);\n }\n if (right.issues.length) {\n result.issues.push(...right.issues);\n }\n if (util.aborted(result))\n return result;\n const merged = mergeValues(left.value, right.value);\n if (!merged.valid) {\n throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);\n }\n result.value = merged.data;\n return result;\n}\nexport const $ZodTuple = /*@__PURE__*/ core.$constructor(\"$ZodTuple\", (inst, def) => {\n $ZodType.init(inst, def);\n const items = def.items;\n const optStart = items.length - [...items].reverse().findIndex((item) => item._zod.optin !== \"optional\");\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!Array.isArray(input)) {\n payload.issues.push({\n input,\n inst,\n expected: \"tuple\",\n code: \"invalid_type\",\n });\n return payload;\n }\n payload.value = [];\n const proms = [];\n if (!def.rest) {\n const tooBig = input.length > items.length;\n const tooSmall = input.length < optStart - 1;\n if (tooBig || tooSmall) {\n payload.issues.push({\n ...(tooBig ? { code: \"too_big\", maximum: items.length } : { code: \"too_small\", minimum: items.length }),\n input,\n inst,\n origin: \"array\",\n });\n return payload;\n }\n }\n let i = -1;\n for (const item of items) {\n i++;\n if (i >= input.length)\n if (i >= optStart)\n continue;\n const result = item._zod.run({\n value: input[i],\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n if (def.rest) {\n const rest = input.slice(items.length);\n for (const el of rest) {\n i++;\n const result = def.rest._zod.run({\n value: el,\n issues: [],\n }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleTupleResult(result, payload, i)));\n }\n else {\n handleTupleResult(result, payload, i);\n }\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleTupleResult(result, final, index) {\n if (result.issues.length) {\n final.issues.push(...util.prefixIssues(index, result.issues));\n }\n final.value[index] = result.value;\n}\nexport const $ZodRecord = /*@__PURE__*/ core.$constructor(\"$ZodRecord\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!util.isPlainObject(input)) {\n payload.issues.push({\n expected: \"record\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n if (def.keyType._zod.values) {\n const values = def.keyType._zod.values;\n payload.value = {};\n for (const key of values) {\n if (typeof key === \"string\" || typeof key === \"number\" || typeof key === \"symbol\") {\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[key] = result.value;\n }\n }\n }\n let unrecognized;\n for (const key in input) {\n if (!values.has(key)) {\n unrecognized = unrecognized ?? [];\n unrecognized.push(key);\n }\n }\n if (unrecognized && unrecognized.length > 0) {\n payload.issues.push({\n code: \"unrecognized_keys\",\n input,\n inst,\n keys: unrecognized,\n });\n }\n }\n else {\n payload.value = {};\n for (const key of Reflect.ownKeys(input)) {\n if (key === \"__proto__\")\n continue;\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n if (keyResult instanceof Promise) {\n throw new Error(\"Async schemas not supported in object keys currently\");\n }\n if (keyResult.issues.length) {\n payload.issues.push({\n code: \"invalid_key\",\n origin: \"record\",\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n input: key,\n path: [key],\n inst,\n });\n payload.value[keyResult.value] = keyResult.value;\n continue;\n }\n const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }));\n }\n else {\n if (result.issues.length) {\n payload.issues.push(...util.prefixIssues(key, result.issues));\n }\n payload.value[keyResult.value] = result.value;\n }\n }\n }\n if (proms.length) {\n return Promise.all(proms).then(() => payload);\n }\n return payload;\n };\n});\nexport const $ZodMap = /*@__PURE__*/ core.$constructor(\"$ZodMap\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Map)) {\n payload.issues.push({\n expected: \"map\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n }\n const proms = [];\n payload.value = new Map();\n for (const [key, value] of input) {\n const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);\n const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);\n if (keyResult instanceof Promise || valueResult instanceof Promise) {\n proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }));\n }\n else {\n handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);\n }\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {\n if (keyResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, keyResult.issues));\n }\n else {\n final.issues.push({\n code: \"invalid_key\",\n origin: \"map\",\n input,\n inst,\n issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n if (valueResult.issues.length) {\n if (util.propertyKeyTypes.has(typeof key)) {\n final.issues.push(...util.prefixIssues(key, valueResult.issues));\n }\n else {\n final.issues.push({\n origin: \"map\",\n code: \"invalid_element\",\n input,\n inst,\n key: key,\n issues: valueResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n });\n }\n }\n final.value.set(keyResult.value, valueResult.value);\n}\nexport const $ZodSet = /*@__PURE__*/ core.$constructor(\"$ZodSet\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const input = payload.value;\n if (!(input instanceof Set)) {\n payload.issues.push({\n input,\n inst,\n expected: \"set\",\n code: \"invalid_type\",\n });\n return payload;\n }\n const proms = [];\n payload.value = new Set();\n for (const item of input) {\n const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);\n if (result instanceof Promise) {\n proms.push(result.then((result) => handleSetResult(result, payload)));\n }\n else\n handleSetResult(result, payload);\n }\n if (proms.length)\n return Promise.all(proms).then(() => payload);\n return payload;\n };\n});\nfunction handleSetResult(result, final) {\n if (result.issues.length) {\n final.issues.push(...result.issues);\n }\n final.value.add(result.value);\n}\nexport const $ZodEnum = /*@__PURE__*/ core.$constructor(\"$ZodEnum\", (inst, def) => {\n $ZodType.init(inst, def);\n const values = util.getEnumValues(def.entries);\n const valuesSet = new Set(values);\n inst._zod.values = valuesSet;\n inst._zod.pattern = new RegExp(`^(${values\n .filter((k) => util.propertyKeyTypes.has(typeof k))\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o.toString()))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (valuesSet.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodLiteral = /*@__PURE__*/ core.$constructor(\"$ZodLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n if (def.values.length === 0) {\n throw new Error(\"Cannot create literal schema with no valid values\");\n }\n inst._zod.values = new Set(def.values);\n inst._zod.pattern = new RegExp(`^(${def.values\n .map((o) => (typeof o === \"string\" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))\n .join(\"|\")})$`);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n if (inst._zod.values.has(input)) {\n return payload;\n }\n payload.issues.push({\n code: \"invalid_value\",\n values: def.values,\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodFile = /*@__PURE__*/ core.$constructor(\"$ZodFile\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const input = payload.value;\n // @ts-ignore\n if (input instanceof File)\n return payload;\n payload.issues.push({\n expected: \"file\",\n code: \"invalid_type\",\n input,\n inst,\n });\n return payload;\n };\n});\nexport const $ZodTransform = /*@__PURE__*/ core.$constructor(\"$ZodTransform\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n const _out = def.transform(payload.value, payload);\n if (_ctx.async) {\n const output = _out instanceof Promise ? _out : Promise.resolve(_out);\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n if (_out instanceof Promise) {\n throw new core.$ZodAsyncError();\n }\n payload.value = _out;\n return payload;\n };\n});\nfunction handleOptionalResult(result, input) {\n if (result.issues.length && input === undefined) {\n return { issues: [], value: undefined };\n }\n return result;\n}\nexport const $ZodOptional = /*@__PURE__*/ core.$constructor(\"$ZodOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n inst._zod.optout = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;\n });\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)})?$`) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (def.innerType._zod.optin === \"optional\") {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise)\n return result.then((r) => handleOptionalResult(r, payload.value));\n return handleOptionalResult(result, payload.value);\n }\n if (payload.value === undefined) {\n return payload;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNullable = /*@__PURE__*/ core.$constructor(\"$ZodNullable\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"pattern\", () => {\n const pattern = def.innerType._zod.pattern;\n return pattern ? new RegExp(`^(${util.cleanRegex(pattern.source)}|null)$`) : undefined;\n });\n util.defineLazy(inst._zod, \"values\", () => {\n return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === null)\n return payload;\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodDefault = /*@__PURE__*/ core.$constructor(\"$ZodDefault\", (inst, def) => {\n $ZodType.init(inst, def);\n // inst._zod.qin = \"true\";\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n /**\n * $ZodDefault always returns the default value immediately.\n * It doesn't pass the default value into the validator (\"prefault\"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a \"prefault\" for the pipe. */\n return payload;\n }\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleDefaultResult(result, def));\n }\n return handleDefaultResult(result, def);\n };\n});\nfunction handleDefaultResult(payload, def) {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return payload;\n}\nexport const $ZodPrefault = /*@__PURE__*/ core.$constructor(\"$ZodPrefault\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.optin = \"optional\";\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n if (payload.value === undefined) {\n payload.value = def.defaultValue;\n }\n return def.innerType._zod.run(payload, ctx);\n };\n});\nexport const $ZodNonOptional = /*@__PURE__*/ core.$constructor(\"$ZodNonOptional\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => {\n const v = def.innerType._zod.values;\n return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;\n });\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => handleNonOptionalResult(result, inst));\n }\n return handleNonOptionalResult(result, inst);\n };\n});\nfunction handleNonOptionalResult(payload, inst) {\n if (!payload.issues.length && payload.value === undefined) {\n payload.issues.push({\n code: \"invalid_type\",\n expected: \"nonoptional\",\n input: payload.value,\n inst,\n });\n }\n return payload;\n}\nexport const $ZodSuccess = /*@__PURE__*/ core.$constructor(\"$ZodSuccess\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.issues.length === 0;\n return payload;\n });\n }\n payload.value = result.issues.length === 0;\n return payload;\n };\n});\nexport const $ZodCatch = /*@__PURE__*/ core.$constructor(\"$ZodCatch\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then((result) => {\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n });\n }\n payload.value = result.value;\n if (result.issues.length) {\n payload.value = def.catchValue({\n ...payload,\n error: {\n issues: result.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),\n },\n input: payload.value,\n });\n payload.issues = [];\n }\n return payload;\n };\n});\nexport const $ZodNaN = /*@__PURE__*/ core.$constructor(\"$ZodNaN\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"number\" || !Number.isNaN(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"nan\",\n code: \"invalid_type\",\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPipe = /*@__PURE__*/ core.$constructor(\"$ZodPipe\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"values\", () => def.in._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.in._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.out._zod.optout);\n util.defineLazy(inst._zod, \"propValues\", () => def.in._zod.propValues);\n inst._zod.parse = (payload, ctx) => {\n const left = def.in._zod.run(payload, ctx);\n if (left instanceof Promise) {\n return left.then((left) => handlePipeResult(left, def, ctx));\n }\n return handlePipeResult(left, def, ctx);\n };\n});\nfunction handlePipeResult(left, def, ctx) {\n if (left.issues.length) {\n return left;\n }\n return def.out._zod.run({ value: left.value, issues: left.issues }, ctx);\n}\nexport const $ZodReadonly = /*@__PURE__*/ core.$constructor(\"$ZodReadonly\", (inst, def) => {\n $ZodType.init(inst, def);\n util.defineLazy(inst._zod, \"propValues\", () => def.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"values\", () => def.innerType._zod.values);\n util.defineLazy(inst._zod, \"optin\", () => def.innerType._zod.optin);\n util.defineLazy(inst._zod, \"optout\", () => def.innerType._zod.optout);\n inst._zod.parse = (payload, ctx) => {\n const result = def.innerType._zod.run(payload, ctx);\n if (result instanceof Promise) {\n return result.then(handleReadonlyResult);\n }\n return handleReadonlyResult(result);\n };\n});\nfunction handleReadonlyResult(payload) {\n payload.value = Object.freeze(payload.value);\n return payload;\n}\nexport const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"$ZodTemplateLiteral\", (inst, def) => {\n $ZodType.init(inst, def);\n const regexParts = [];\n for (const part of def.parts) {\n if (part instanceof $ZodType) {\n if (!part._zod.pattern) {\n // if (!source)\n throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);\n }\n const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;\n if (!source)\n throw new Error(`Invalid template literal part: ${part._zod.traits}`);\n const start = source.startsWith(\"^\") ? 1 : 0;\n const end = source.endsWith(\"$\") ? source.length - 1 : source.length;\n regexParts.push(source.slice(start, end));\n }\n else if (part === null || util.primitiveTypes.has(typeof part)) {\n regexParts.push(util.escapeRegex(`${part}`));\n }\n else {\n throw new Error(`Invalid template literal part: ${part}`);\n }\n }\n inst._zod.pattern = new RegExp(`^${regexParts.join(\"\")}$`);\n inst._zod.parse = (payload, _ctx) => {\n if (typeof payload.value !== \"string\") {\n payload.issues.push({\n input: payload.value,\n inst,\n expected: \"template_literal\",\n code: \"invalid_type\",\n });\n return payload;\n }\n inst._zod.pattern.lastIndex = 0;\n if (!inst._zod.pattern.test(payload.value)) {\n payload.issues.push({\n input: payload.value,\n inst,\n code: \"invalid_format\",\n format: def.format ?? \"template_literal\",\n pattern: inst._zod.pattern.source,\n });\n return payload;\n }\n return payload;\n };\n});\nexport const $ZodPromise = /*@__PURE__*/ core.$constructor(\"$ZodPromise\", (inst, def) => {\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, ctx) => {\n return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));\n };\n});\nexport const $ZodLazy = /*@__PURE__*/ core.$constructor(\"$ZodLazy\", (inst, def) => {\n $ZodType.init(inst, def);\n // let _innerType!: any;\n // util.defineLazy(def, \"getter\", () => {\n // if (!_innerType) {\n // _innerType = def.getter();\n // }\n // return () => _innerType;\n // });\n util.defineLazy(inst._zod, \"innerType\", () => def.getter());\n util.defineLazy(inst._zod, \"pattern\", () => inst._zod.innerType._zod.pattern);\n util.defineLazy(inst._zod, \"propValues\", () => inst._zod.innerType._zod.propValues);\n util.defineLazy(inst._zod, \"optin\", () => inst._zod.innerType._zod.optin ?? undefined);\n util.defineLazy(inst._zod, \"optout\", () => inst._zod.innerType._zod.optout ?? undefined);\n inst._zod.parse = (payload, ctx) => {\n const inner = inst._zod.innerType;\n return inner._zod.run(payload, ctx);\n };\n});\nexport const $ZodCustom = /*@__PURE__*/ core.$constructor(\"$ZodCustom\", (inst, def) => {\n checks.$ZodCheck.init(inst, def);\n $ZodType.init(inst, def);\n inst._zod.parse = (payload, _) => {\n return payload;\n };\n inst._zod.check = (payload) => {\n const input = payload.value;\n const r = def.fn(input);\n if (r instanceof Promise) {\n return r.then((r) => handleRefineResult(r, payload, input, inst));\n }\n handleRefineResult(r, payload, input, inst);\n return;\n };\n});\nfunction handleRefineResult(result, payload, input, inst) {\n if (!result) {\n const _iss = {\n code: \"custom\",\n input,\n inst, // incorporates params.error into issue reporting\n path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting\n continue: !inst._zod.def.abort,\n // params: inst._zod.def.params,\n };\n if (inst._zod.def.params)\n _iss.params = inst._zod.def.params;\n payload.issues.push(util.issue(_iss));\n }\n}\n","export const $output = Symbol(\"ZodOutput\");\nexport const $input = Symbol(\"ZodInput\");\nexport class $ZodRegistry {\n constructor() {\n this._map = new Map();\n this._idmap = new Map();\n }\n add(schema, ..._meta) {\n const meta = _meta[0];\n this._map.set(schema, meta);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n if (this._idmap.has(meta.id)) {\n throw new Error(`ID ${meta.id} already exists in the registry`);\n }\n this._idmap.set(meta.id, schema);\n }\n return this;\n }\n clear() {\n this._map = new Map();\n this._idmap = new Map();\n return this;\n }\n remove(schema) {\n const meta = this._map.get(schema);\n if (meta && typeof meta === \"object\" && \"id\" in meta) {\n this._idmap.delete(meta.id);\n }\n this._map.delete(schema);\n return this;\n }\n get(schema) {\n // return this._map.get(schema) as any;\n // inherit metadata\n const p = schema._zod.parent;\n if (p) {\n const pm = { ...(this.get(p) ?? {}) };\n delete pm.id; // do not inherit id\n const f = { ...pm, ...this._map.get(schema) };\n return Object.keys(f).length ? f : undefined;\n }\n return this._map.get(schema);\n }\n has(schema) {\n return this._map.has(schema);\n }\n}\n// registries\nexport function registry() {\n return new $ZodRegistry();\n}\nexport const globalRegistry = /*@__PURE__*/ registry();\n","import * as checks from \"./checks.js\";\nimport * as schemas from \"./schemas.js\";\nimport * as util from \"./util.js\";\nexport function _string(Class, params) {\n return new Class({\n type: \"string\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedString(Class, params) {\n return new Class({\n type: \"string\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _email(Class, params) {\n return new Class({\n type: \"string\",\n format: \"email\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _guid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"guid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v4\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v6\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uuidv7(Class, params) {\n return new Class({\n type: \"string\",\n format: \"uuid\",\n check: \"string_format\",\n abort: false,\n version: \"v7\",\n ...util.normalizeParams(params),\n });\n}\nexport function _url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _emoji(Class, params) {\n return new Class({\n type: \"string\",\n format: \"emoji\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _nanoid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"nanoid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cuid2(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cuid2\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ulid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ulid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _xid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"xid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ksuid(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ksuid\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _ipv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"ipv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv4(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv4\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _cidrv6(Class, params) {\n return new Class({\n type: \"string\",\n format: \"cidrv6\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _base64url(Class, params) {\n return new Class({\n type: \"string\",\n format: \"base64url\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _e164(Class, params) {\n return new Class({\n type: \"string\",\n format: \"e164\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport function _jwt(Class, params) {\n return new Class({\n type: \"string\",\n format: \"jwt\",\n check: \"string_format\",\n abort: false,\n ...util.normalizeParams(params),\n });\n}\nexport const TimePrecision = {\n Any: null,\n Minute: -1,\n Second: 0,\n Millisecond: 3,\n Microsecond: 6,\n};\nexport function _isoDateTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"datetime\",\n check: \"string_format\",\n offset: false,\n local: false,\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDate(Class, params) {\n return new Class({\n type: \"string\",\n format: \"date\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _isoTime(Class, params) {\n return new Class({\n type: \"string\",\n format: \"time\",\n check: \"string_format\",\n precision: null,\n ...util.normalizeParams(params),\n });\n}\nexport function _isoDuration(Class, params) {\n return new Class({\n type: \"string\",\n format: \"duration\",\n check: \"string_format\",\n ...util.normalizeParams(params),\n });\n}\nexport function _number(Class, params) {\n return new Class({\n type: \"number\",\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedNumber(Class, params) {\n return new Class({\n type: \"number\",\n coerce: true,\n checks: [],\n ...util.normalizeParams(params),\n });\n}\nexport function _int(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"safeint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _float64(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"float64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _int32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"int32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint32(Class, params) {\n return new Class({\n type: \"number\",\n check: \"number_format\",\n abort: false,\n format: \"uint32\",\n ...util.normalizeParams(params),\n });\n}\nexport function _boolean(Class, params) {\n return new Class({\n type: \"boolean\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBoolean(Class, params) {\n return new Class({\n type: \"boolean\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _bigint(Class, params) {\n return new Class({\n type: \"bigint\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedBigint(Class, params) {\n return new Class({\n type: \"bigint\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _int64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"int64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uint64(Class, params) {\n return new Class({\n type: \"bigint\",\n check: \"bigint_format\",\n abort: false,\n format: \"uint64\",\n ...util.normalizeParams(params),\n });\n}\nexport function _symbol(Class, params) {\n return new Class({\n type: \"symbol\",\n ...util.normalizeParams(params),\n });\n}\nexport function _undefined(Class, params) {\n return new Class({\n type: \"undefined\",\n ...util.normalizeParams(params),\n });\n}\nexport function _null(Class, params) {\n return new Class({\n type: \"null\",\n ...util.normalizeParams(params),\n });\n}\nexport function _any(Class) {\n return new Class({\n type: \"any\",\n });\n}\nexport function _unknown(Class) {\n return new Class({\n type: \"unknown\",\n });\n}\nexport function _never(Class, params) {\n return new Class({\n type: \"never\",\n ...util.normalizeParams(params),\n });\n}\nexport function _void(Class, params) {\n return new Class({\n type: \"void\",\n ...util.normalizeParams(params),\n });\n}\nexport function _date(Class, params) {\n return new Class({\n type: \"date\",\n ...util.normalizeParams(params),\n });\n}\nexport function _coercedDate(Class, params) {\n return new Class({\n type: \"date\",\n coerce: true,\n ...util.normalizeParams(params),\n });\n}\nexport function _nan(Class, params) {\n return new Class({\n type: \"nan\",\n ...util.normalizeParams(params),\n });\n}\nexport function _lt(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _lte(value, params) {\n return new checks.$ZodCheckLessThan({\n check: \"less_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.lte()` instead. */\n_lte as _max, };\nexport function _gt(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: false,\n });\n}\nexport function _gte(value, params) {\n return new checks.$ZodCheckGreaterThan({\n check: \"greater_than\",\n ...util.normalizeParams(params),\n value,\n inclusive: true,\n });\n}\nexport { \n/** @deprecated Use `z.gte()` instead. */\n_gte as _min, };\nexport function _positive(params) {\n return _gt(0, params);\n}\n// negative\nexport function _negative(params) {\n return _lt(0, params);\n}\n// nonpositive\nexport function _nonpositive(params) {\n return _lte(0, params);\n}\n// nonnegative\nexport function _nonnegative(params) {\n return _gte(0, params);\n}\nexport function _multipleOf(value, params) {\n return new checks.$ZodCheckMultipleOf({\n check: \"multiple_of\",\n ...util.normalizeParams(params),\n value,\n });\n}\nexport function _maxSize(maximum, params) {\n return new checks.$ZodCheckMaxSize({\n check: \"max_size\",\n ...util.normalizeParams(params),\n maximum,\n });\n}\nexport function _minSize(minimum, params) {\n return new checks.$ZodCheckMinSize({\n check: \"min_size\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _size(size, params) {\n return new checks.$ZodCheckSizeEquals({\n check: \"size_equals\",\n ...util.normalizeParams(params),\n size,\n });\n}\nexport function _maxLength(maximum, params) {\n const ch = new checks.$ZodCheckMaxLength({\n check: \"max_length\",\n ...util.normalizeParams(params),\n maximum,\n });\n return ch;\n}\nexport function _minLength(minimum, params) {\n return new checks.$ZodCheckMinLength({\n check: \"min_length\",\n ...util.normalizeParams(params),\n minimum,\n });\n}\nexport function _length(length, params) {\n return new checks.$ZodCheckLengthEquals({\n check: \"length_equals\",\n ...util.normalizeParams(params),\n length,\n });\n}\nexport function _regex(pattern, params) {\n return new checks.$ZodCheckRegex({\n check: \"string_format\",\n format: \"regex\",\n ...util.normalizeParams(params),\n pattern,\n });\n}\nexport function _lowercase(params) {\n return new checks.$ZodCheckLowerCase({\n check: \"string_format\",\n format: \"lowercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _uppercase(params) {\n return new checks.$ZodCheckUpperCase({\n check: \"string_format\",\n format: \"uppercase\",\n ...util.normalizeParams(params),\n });\n}\nexport function _includes(includes, params) {\n return new checks.$ZodCheckIncludes({\n check: \"string_format\",\n format: \"includes\",\n ...util.normalizeParams(params),\n includes,\n });\n}\nexport function _startsWith(prefix, params) {\n return new checks.$ZodCheckStartsWith({\n check: \"string_format\",\n format: \"starts_with\",\n ...util.normalizeParams(params),\n prefix,\n });\n}\nexport function _endsWith(suffix, params) {\n return new checks.$ZodCheckEndsWith({\n check: \"string_format\",\n format: \"ends_with\",\n ...util.normalizeParams(params),\n suffix,\n });\n}\nexport function _property(property, schema, params) {\n return new checks.$ZodCheckProperty({\n check: \"property\",\n property,\n schema,\n ...util.normalizeParams(params),\n });\n}\nexport function _mime(types, params) {\n return new checks.$ZodCheckMimeType({\n check: \"mime_type\",\n mime: types,\n ...util.normalizeParams(params),\n });\n}\nexport function _overwrite(tx) {\n return new checks.$ZodCheckOverwrite({\n check: \"overwrite\",\n tx,\n });\n}\n// normalize\nexport function _normalize(form) {\n return _overwrite((input) => input.normalize(form));\n}\n// trim\nexport function _trim() {\n return _overwrite((input) => input.trim());\n}\n// toLowerCase\nexport function _toLowerCase() {\n return _overwrite((input) => input.toLowerCase());\n}\n// toUpperCase\nexport function _toUpperCase() {\n return _overwrite((input) => input.toUpperCase());\n}\nexport function _array(Class, element, params) {\n return new Class({\n type: \"array\",\n element,\n // get element() {\n // return element;\n // },\n ...util.normalizeParams(params),\n });\n}\nexport function _union(Class, options, params) {\n return new Class({\n type: \"union\",\n options,\n ...util.normalizeParams(params),\n });\n}\nexport function _discriminatedUnion(Class, discriminator, options, params) {\n return new Class({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport function _intersection(Class, left, right) {\n return new Class({\n type: \"intersection\",\n left,\n right,\n });\n}\n// export function _tuple(\n// Class: util.SchemaClass<schemas.$ZodTuple>,\n// items: [],\n// params?: string | $ZodTupleParams\n// ): schemas.$ZodTuple<[], null>;\nexport function _tuple(Class, items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof schemas.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new Class({\n type: \"tuple\",\n items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport function _record(Class, keyType, valueType, params) {\n return new Class({\n type: \"record\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _map(Class, keyType, valueType, params) {\n return new Class({\n type: \"map\",\n keyType,\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _set(Class, valueType, params) {\n return new Class({\n type: \"set\",\n valueType,\n ...util.normalizeParams(params),\n });\n}\nexport function _enum(Class, values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n // if (Array.isArray(values)) {\n // for (const value of values) {\n // entries[value] = value;\n // }\n // } else {\n // Object.assign(entries, values);\n // }\n // const entries: util.EnumLike = {};\n // for (const val of values) {\n // entries[val] = val;\n // }\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function _nativeEnum(Class, entries, params) {\n return new Class({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport function _literal(Class, value, params) {\n return new Class({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport function _file(Class, params) {\n return new Class({\n type: \"file\",\n ...util.normalizeParams(params),\n });\n}\nexport function _transform(Class, fn) {\n return new Class({\n type: \"transform\",\n transform: fn,\n });\n}\nexport function _optional(Class, innerType) {\n return new Class({\n type: \"optional\",\n innerType,\n });\n}\nexport function _nullable(Class, innerType) {\n return new Class({\n type: \"nullable\",\n innerType,\n });\n}\nexport function _default(Class, innerType, defaultValue) {\n return new Class({\n type: \"default\",\n innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport function _nonoptional(Class, innerType, params) {\n return new Class({\n type: \"nonoptional\",\n innerType,\n ...util.normalizeParams(params),\n });\n}\nexport function _success(Class, innerType) {\n return new Class({\n type: \"success\",\n innerType,\n });\n}\nexport function _catch(Class, innerType, catchValue) {\n return new Class({\n type: \"catch\",\n innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport function _pipe(Class, in_, out) {\n return new Class({\n type: \"pipe\",\n in: in_,\n out,\n });\n}\nexport function _readonly(Class, innerType) {\n return new Class({\n type: \"readonly\",\n innerType,\n });\n}\nexport function _templateLiteral(Class, parts, params) {\n return new Class({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport function _lazy(Class, getter) {\n return new Class({\n type: \"lazy\",\n getter,\n });\n}\nexport function _promise(Class, innerType) {\n return new Class({\n type: \"promise\",\n innerType,\n });\n}\nexport function _custom(Class, fn, _params) {\n const norm = util.normalizeParams(_params);\n norm.abort ?? (norm.abort = true); // default to abort:false\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...norm,\n });\n return schema;\n}\n// same as _custom but defaults to abort:false\nexport function _refine(Class, fn, _params) {\n const schema = new Class({\n type: \"custom\",\n check: \"custom\",\n fn: fn,\n ...util.normalizeParams(_params),\n });\n return schema;\n}\nexport function _superRefine(fn) {\n const ch = _check((payload) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, ch._zod.def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = ch);\n _issue.continue ?? (_issue.continue = !ch._zod.def.abort);\n payload.issues.push(util.issue(_issue));\n }\n };\n return fn(payload.value, payload);\n });\n return ch;\n}\nexport function _check(fn, params) {\n const ch = new checks.$ZodCheck({\n check: \"custom\",\n ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function _stringbool(Classes, _params) {\n const params = util.normalizeParams(_params);\n let truthyArray = params.truthy ?? [\"true\", \"1\", \"yes\", \"on\", \"y\", \"enabled\"];\n let falsyArray = params.falsy ?? [\"false\", \"0\", \"no\", \"off\", \"n\", \"disabled\"];\n if (params.case !== \"sensitive\") {\n truthyArray = truthyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n falsyArray = falsyArray.map((v) => (typeof v === \"string\" ? v.toLowerCase() : v));\n }\n const truthySet = new Set(truthyArray);\n const falsySet = new Set(falsyArray);\n const _Pipe = Classes.Pipe ?? schemas.$ZodPipe;\n const _Boolean = Classes.Boolean ?? schemas.$ZodBoolean;\n const _String = Classes.String ?? schemas.$ZodString;\n const _Transform = Classes.Transform ?? schemas.$ZodTransform;\n const tx = new _Transform({\n type: \"transform\",\n transform: (input, payload) => {\n let data = input;\n if (params.case !== \"sensitive\")\n data = data.toLowerCase();\n if (truthySet.has(data)) {\n return true;\n }\n else if (falsySet.has(data)) {\n return false;\n }\n else {\n payload.issues.push({\n code: \"invalid_value\",\n expected: \"stringbool\",\n values: [...truthySet, ...falsySet],\n input: payload.value,\n inst: tx,\n continue: false,\n });\n return {};\n }\n },\n error: params.error,\n });\n // params.error;\n const innerPipe = new _Pipe({\n type: \"pipe\",\n in: new _String({ type: \"string\", error: params.error }),\n out: tx,\n error: params.error,\n });\n const outerPipe = new _Pipe({\n type: \"pipe\",\n in: innerPipe,\n out: new _Boolean({\n type: \"boolean\",\n error: params.error,\n }),\n error: params.error,\n });\n return outerPipe;\n}\nexport function _stringFormat(Class, format, fnOrRegex, _params = {}) {\n const params = util.normalizeParams(_params);\n const def = {\n ...util.normalizeParams(_params),\n check: \"string_format\",\n type: \"string\",\n format,\n fn: typeof fnOrRegex === \"function\" ? fnOrRegex : (val) => fnOrRegex.test(val),\n ...params,\n };\n if (fnOrRegex instanceof RegExp) {\n def.pattern = fnOrRegex;\n }\n const inst = new Class(def);\n return inst;\n}\n","import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n","import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n","import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n","import * as core from \"../core/index.js\";\nimport { util } from \"../core/index.js\";\nimport * as checks from \"./checks.js\";\nimport * as iso from \"./iso.js\";\nimport * as parse from \"./parse.js\";\nexport const ZodType = /*@__PURE__*/ core.$constructor(\"ZodType\", (inst, def) => {\n core.$ZodType.init(inst, def);\n inst.def = def;\n Object.defineProperty(inst, \"_def\", { value: def });\n // base methods\n inst.check = (...checks) => {\n return inst.clone({\n ...def,\n checks: [\n ...(def.checks ?? []),\n ...checks.map((ch) => typeof ch === \"function\" ? { _zod: { check: ch, def: { check: \"custom\" }, onattach: [] } } : ch),\n ],\n }\n // { parent: true }\n );\n };\n inst.clone = (def, params) => core.clone(inst, def, params);\n inst.brand = () => inst;\n inst.register = ((reg, meta) => {\n reg.add(inst, meta);\n return inst;\n });\n // parsing\n inst.parse = (data, params) => parse.parse(inst, data, params, { callee: inst.parse });\n inst.safeParse = (data, params) => parse.safeParse(inst, data, params);\n inst.parseAsync = async (data, params) => parse.parseAsync(inst, data, params, { callee: inst.parseAsync });\n inst.safeParseAsync = async (data, params) => parse.safeParseAsync(inst, data, params);\n inst.spa = inst.safeParseAsync;\n // refinements\n inst.refine = (check, params) => inst.check(refine(check, params));\n inst.superRefine = (refinement) => inst.check(superRefine(refinement));\n inst.overwrite = (fn) => inst.check(checks.overwrite(fn));\n // wrappers\n inst.optional = () => optional(inst);\n inst.nullable = () => nullable(inst);\n inst.nullish = () => optional(nullable(inst));\n inst.nonoptional = (params) => nonoptional(inst, params);\n inst.array = () => array(inst);\n inst.or = (arg) => union([inst, arg]);\n inst.and = (arg) => intersection(inst, arg);\n inst.transform = (tx) => pipe(inst, transform(tx));\n inst.default = (def) => _default(inst, def);\n inst.prefault = (def) => prefault(inst, def);\n // inst.coalesce = (def, params) => coalesce(inst, def, params);\n inst.catch = (params) => _catch(inst, params);\n inst.pipe = (target) => pipe(inst, target);\n inst.readonly = () => readonly(inst);\n // meta\n inst.describe = (description) => {\n const cl = inst.clone();\n core.globalRegistry.add(cl, { description });\n return cl;\n };\n Object.defineProperty(inst, \"description\", {\n get() {\n return core.globalRegistry.get(inst)?.description;\n },\n configurable: true,\n });\n inst.meta = (...args) => {\n if (args.length === 0) {\n return core.globalRegistry.get(inst);\n }\n const cl = inst.clone();\n core.globalRegistry.add(cl, args[0]);\n return cl;\n };\n // helpers\n inst.isOptional = () => inst.safeParse(undefined).success;\n inst.isNullable = () => inst.safeParse(null).success;\n return inst;\n});\n/** @internal */\nexport const _ZodString = /*@__PURE__*/ core.$constructor(\"_ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n ZodType.init(inst, def);\n const bag = inst._zod.bag;\n inst.format = bag.format ?? null;\n inst.minLength = bag.minimum ?? null;\n inst.maxLength = bag.maximum ?? null;\n // validations\n inst.regex = (...args) => inst.check(checks.regex(...args));\n inst.includes = (...args) => inst.check(checks.includes(...args));\n inst.startsWith = (...args) => inst.check(checks.startsWith(...args));\n inst.endsWith = (...args) => inst.check(checks.endsWith(...args));\n inst.min = (...args) => inst.check(checks.minLength(...args));\n inst.max = (...args) => inst.check(checks.maxLength(...args));\n inst.length = (...args) => inst.check(checks.length(...args));\n inst.nonempty = (...args) => inst.check(checks.minLength(1, ...args));\n inst.lowercase = (params) => inst.check(checks.lowercase(params));\n inst.uppercase = (params) => inst.check(checks.uppercase(params));\n // transforms\n inst.trim = () => inst.check(checks.trim());\n inst.normalize = (...args) => inst.check(checks.normalize(...args));\n inst.toLowerCase = () => inst.check(checks.toLowerCase());\n inst.toUpperCase = () => inst.check(checks.toUpperCase());\n});\nexport const ZodString = /*@__PURE__*/ core.$constructor(\"ZodString\", (inst, def) => {\n core.$ZodString.init(inst, def);\n _ZodString.init(inst, def);\n inst.email = (params) => inst.check(core._email(ZodEmail, params));\n inst.url = (params) => inst.check(core._url(ZodURL, params));\n inst.jwt = (params) => inst.check(core._jwt(ZodJWT, params));\n inst.emoji = (params) => inst.check(core._emoji(ZodEmoji, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.uuid = (params) => inst.check(core._uuid(ZodUUID, params));\n inst.uuidv4 = (params) => inst.check(core._uuidv4(ZodUUID, params));\n inst.uuidv6 = (params) => inst.check(core._uuidv6(ZodUUID, params));\n inst.uuidv7 = (params) => inst.check(core._uuidv7(ZodUUID, params));\n inst.nanoid = (params) => inst.check(core._nanoid(ZodNanoID, params));\n inst.guid = (params) => inst.check(core._guid(ZodGUID, params));\n inst.cuid = (params) => inst.check(core._cuid(ZodCUID, params));\n inst.cuid2 = (params) => inst.check(core._cuid2(ZodCUID2, params));\n inst.ulid = (params) => inst.check(core._ulid(ZodULID, params));\n inst.base64 = (params) => inst.check(core._base64(ZodBase64, params));\n inst.base64url = (params) => inst.check(core._base64url(ZodBase64URL, params));\n inst.xid = (params) => inst.check(core._xid(ZodXID, params));\n inst.ksuid = (params) => inst.check(core._ksuid(ZodKSUID, params));\n inst.ipv4 = (params) => inst.check(core._ipv4(ZodIPv4, params));\n inst.ipv6 = (params) => inst.check(core._ipv6(ZodIPv6, params));\n inst.cidrv4 = (params) => inst.check(core._cidrv4(ZodCIDRv4, params));\n inst.cidrv6 = (params) => inst.check(core._cidrv6(ZodCIDRv6, params));\n inst.e164 = (params) => inst.check(core._e164(ZodE164, params));\n // iso\n inst.datetime = (params) => inst.check(iso.datetime(params));\n inst.date = (params) => inst.check(iso.date(params));\n inst.time = (params) => inst.check(iso.time(params));\n inst.duration = (params) => inst.check(iso.duration(params));\n});\nexport function string(params) {\n return core._string(ZodString, params);\n}\nexport const ZodStringFormat = /*@__PURE__*/ core.$constructor(\"ZodStringFormat\", (inst, def) => {\n core.$ZodStringFormat.init(inst, def);\n _ZodString.init(inst, def);\n});\nexport const ZodEmail = /*@__PURE__*/ core.$constructor(\"ZodEmail\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmail.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function email(params) {\n return core._email(ZodEmail, params);\n}\nexport const ZodGUID = /*@__PURE__*/ core.$constructor(\"ZodGUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodGUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function guid(params) {\n return core._guid(ZodGUID, params);\n}\nexport const ZodUUID = /*@__PURE__*/ core.$constructor(\"ZodUUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodUUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function uuid(params) {\n return core._uuid(ZodUUID, params);\n}\nexport function uuidv4(params) {\n return core._uuidv4(ZodUUID, params);\n}\n// ZodUUIDv6\nexport function uuidv6(params) {\n return core._uuidv6(ZodUUID, params);\n}\n// ZodUUIDv7\nexport function uuidv7(params) {\n return core._uuidv7(ZodUUID, params);\n}\nexport const ZodURL = /*@__PURE__*/ core.$constructor(\"ZodURL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodURL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function url(params) {\n return core._url(ZodURL, params);\n}\nexport const ZodEmoji = /*@__PURE__*/ core.$constructor(\"ZodEmoji\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodEmoji.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function emoji(params) {\n return core._emoji(ZodEmoji, params);\n}\nexport const ZodNanoID = /*@__PURE__*/ core.$constructor(\"ZodNanoID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodNanoID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function nanoid(params) {\n return core._nanoid(ZodNanoID, params);\n}\nexport const ZodCUID = /*@__PURE__*/ core.$constructor(\"ZodCUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid(params) {\n return core._cuid(ZodCUID, params);\n}\nexport const ZodCUID2 = /*@__PURE__*/ core.$constructor(\"ZodCUID2\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCUID2.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cuid2(params) {\n return core._cuid2(ZodCUID2, params);\n}\nexport const ZodULID = /*@__PURE__*/ core.$constructor(\"ZodULID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodULID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ulid(params) {\n return core._ulid(ZodULID, params);\n}\nexport const ZodXID = /*@__PURE__*/ core.$constructor(\"ZodXID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodXID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function xid(params) {\n return core._xid(ZodXID, params);\n}\nexport const ZodKSUID = /*@__PURE__*/ core.$constructor(\"ZodKSUID\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodKSUID.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ksuid(params) {\n return core._ksuid(ZodKSUID, params);\n}\nexport const ZodIPv4 = /*@__PURE__*/ core.$constructor(\"ZodIPv4\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv4(params) {\n return core._ipv4(ZodIPv4, params);\n}\nexport const ZodIPv6 = /*@__PURE__*/ core.$constructor(\"ZodIPv6\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodIPv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function ipv6(params) {\n return core._ipv6(ZodIPv6, params);\n}\nexport const ZodCIDRv4 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv4\", (inst, def) => {\n core.$ZodCIDRv4.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv4(params) {\n return core._cidrv4(ZodCIDRv4, params);\n}\nexport const ZodCIDRv6 = /*@__PURE__*/ core.$constructor(\"ZodCIDRv6\", (inst, def) => {\n core.$ZodCIDRv6.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function cidrv6(params) {\n return core._cidrv6(ZodCIDRv6, params);\n}\nexport const ZodBase64 = /*@__PURE__*/ core.$constructor(\"ZodBase64\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64(params) {\n return core._base64(ZodBase64, params);\n}\nexport const ZodBase64URL = /*@__PURE__*/ core.$constructor(\"ZodBase64URL\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodBase64URL.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function base64url(params) {\n return core._base64url(ZodBase64URL, params);\n}\nexport const ZodE164 = /*@__PURE__*/ core.$constructor(\"ZodE164\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodE164.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function e164(params) {\n return core._e164(ZodE164, params);\n}\nexport const ZodJWT = /*@__PURE__*/ core.$constructor(\"ZodJWT\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodJWT.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function jwt(params) {\n return core._jwt(ZodJWT, params);\n}\nexport const ZodCustomStringFormat = /*@__PURE__*/ core.$constructor(\"ZodCustomStringFormat\", (inst, def) => {\n // ZodStringFormat.init(inst, def);\n core.$ZodCustomStringFormat.init(inst, def);\n ZodStringFormat.init(inst, def);\n});\nexport function stringFormat(format, fnOrRegex, _params = {}) {\n return core._stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);\n}\nexport function hostname(_params) {\n return core._stringFormat(ZodCustomStringFormat, \"hostname\", core.regexes.hostname, _params);\n}\nexport const ZodNumber = /*@__PURE__*/ core.$constructor(\"ZodNumber\", (inst, def) => {\n core.$ZodNumber.init(inst, def);\n ZodType.init(inst, def);\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.int = (params) => inst.check(int(params));\n inst.safe = (params) => inst.check(int(params));\n inst.positive = (params) => inst.check(checks.gt(0, params));\n inst.nonnegative = (params) => inst.check(checks.gte(0, params));\n inst.negative = (params) => inst.check(checks.lt(0, params));\n inst.nonpositive = (params) => inst.check(checks.lte(0, params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n inst.step = (value, params) => inst.check(checks.multipleOf(value, params));\n // inst.finite = (params) => inst.check(core.finite(params));\n inst.finite = () => inst;\n const bag = inst._zod.bag;\n inst.minValue =\n Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;\n inst.maxValue =\n Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;\n inst.isInt = (bag.format ?? \"\").includes(\"int\") || Number.isSafeInteger(bag.multipleOf ?? 0.5);\n inst.isFinite = true;\n inst.format = bag.format ?? null;\n});\nexport function number(params) {\n return core._number(ZodNumber, params);\n}\nexport const ZodNumberFormat = /*@__PURE__*/ core.$constructor(\"ZodNumberFormat\", (inst, def) => {\n core.$ZodNumberFormat.init(inst, def);\n ZodNumber.init(inst, def);\n});\nexport function int(params) {\n return core._int(ZodNumberFormat, params);\n}\nexport function float32(params) {\n return core._float32(ZodNumberFormat, params);\n}\nexport function float64(params) {\n return core._float64(ZodNumberFormat, params);\n}\nexport function int32(params) {\n return core._int32(ZodNumberFormat, params);\n}\nexport function uint32(params) {\n return core._uint32(ZodNumberFormat, params);\n}\nexport const ZodBoolean = /*@__PURE__*/ core.$constructor(\"ZodBoolean\", (inst, def) => {\n core.$ZodBoolean.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function boolean(params) {\n return core._boolean(ZodBoolean, params);\n}\nexport const ZodBigInt = /*@__PURE__*/ core.$constructor(\"ZodBigInt\", (inst, def) => {\n core.$ZodBigInt.init(inst, def);\n ZodType.init(inst, def);\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.gt = (value, params) => inst.check(checks.gt(value, params));\n inst.gte = (value, params) => inst.check(checks.gte(value, params));\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.lt = (value, params) => inst.check(checks.lt(value, params));\n inst.lte = (value, params) => inst.check(checks.lte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n inst.positive = (params) => inst.check(checks.gt(BigInt(0), params));\n inst.negative = (params) => inst.check(checks.lt(BigInt(0), params));\n inst.nonpositive = (params) => inst.check(checks.lte(BigInt(0), params));\n inst.nonnegative = (params) => inst.check(checks.gte(BigInt(0), params));\n inst.multipleOf = (value, params) => inst.check(checks.multipleOf(value, params));\n const bag = inst._zod.bag;\n inst.minValue = bag.minimum ?? null;\n inst.maxValue = bag.maximum ?? null;\n inst.format = bag.format ?? null;\n});\nexport function bigint(params) {\n return core._bigint(ZodBigInt, params);\n}\nexport const ZodBigIntFormat = /*@__PURE__*/ core.$constructor(\"ZodBigIntFormat\", (inst, def) => {\n core.$ZodBigIntFormat.init(inst, def);\n ZodBigInt.init(inst, def);\n});\n// int64\nexport function int64(params) {\n return core._int64(ZodBigIntFormat, params);\n}\n// uint64\nexport function uint64(params) {\n return core._uint64(ZodBigIntFormat, params);\n}\nexport const ZodSymbol = /*@__PURE__*/ core.$constructor(\"ZodSymbol\", (inst, def) => {\n core.$ZodSymbol.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function symbol(params) {\n return core._symbol(ZodSymbol, params);\n}\nexport const ZodUndefined = /*@__PURE__*/ core.$constructor(\"ZodUndefined\", (inst, def) => {\n core.$ZodUndefined.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _undefined(params) {\n return core._undefined(ZodUndefined, params);\n}\nexport { _undefined as undefined };\nexport const ZodNull = /*@__PURE__*/ core.$constructor(\"ZodNull\", (inst, def) => {\n core.$ZodNull.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _null(params) {\n return core._null(ZodNull, params);\n}\nexport { _null as null };\nexport const ZodAny = /*@__PURE__*/ core.$constructor(\"ZodAny\", (inst, def) => {\n core.$ZodAny.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function any() {\n return core._any(ZodAny);\n}\nexport const ZodUnknown = /*@__PURE__*/ core.$constructor(\"ZodUnknown\", (inst, def) => {\n core.$ZodUnknown.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function unknown() {\n return core._unknown(ZodUnknown);\n}\nexport const ZodNever = /*@__PURE__*/ core.$constructor(\"ZodNever\", (inst, def) => {\n core.$ZodNever.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function never(params) {\n return core._never(ZodNever, params);\n}\nexport const ZodVoid = /*@__PURE__*/ core.$constructor(\"ZodVoid\", (inst, def) => {\n core.$ZodVoid.init(inst, def);\n ZodType.init(inst, def);\n});\nfunction _void(params) {\n return core._void(ZodVoid, params);\n}\nexport { _void as void };\nexport const ZodDate = /*@__PURE__*/ core.$constructor(\"ZodDate\", (inst, def) => {\n core.$ZodDate.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (value, params) => inst.check(checks.gte(value, params));\n inst.max = (value, params) => inst.check(checks.lte(value, params));\n const c = inst._zod.bag;\n inst.minDate = c.minimum ? new Date(c.minimum) : null;\n inst.maxDate = c.maximum ? new Date(c.maximum) : null;\n});\nexport function date(params) {\n return core._date(ZodDate, params);\n}\nexport const ZodArray = /*@__PURE__*/ core.$constructor(\"ZodArray\", (inst, def) => {\n core.$ZodArray.init(inst, def);\n ZodType.init(inst, def);\n inst.element = def.element;\n inst.min = (minLength, params) => inst.check(checks.minLength(minLength, params));\n inst.nonempty = (params) => inst.check(checks.minLength(1, params));\n inst.max = (maxLength, params) => inst.check(checks.maxLength(maxLength, params));\n inst.length = (len, params) => inst.check(checks.length(len, params));\n inst.unwrap = () => inst.element;\n});\nexport function array(element, params) {\n return core._array(ZodArray, element, params);\n}\n// .keyof\nexport function keyof(schema) {\n const shape = schema._zod.def.shape;\n return literal(Object.keys(shape));\n}\nexport const ZodObject = /*@__PURE__*/ core.$constructor(\"ZodObject\", (inst, def) => {\n core.$ZodObject.init(inst, def);\n ZodType.init(inst, def);\n util.defineLazy(inst, \"shape\", () => def.shape);\n inst.keyof = () => _enum(Object.keys(inst._zod.def.shape));\n inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });\n inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });\n inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });\n inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });\n inst.extend = (incoming) => {\n return util.extend(inst, incoming);\n };\n inst.merge = (other) => util.merge(inst, other);\n inst.pick = (mask) => util.pick(inst, mask);\n inst.omit = (mask) => util.omit(inst, mask);\n inst.partial = (...args) => util.partial(ZodOptional, inst, args[0]);\n inst.required = (...args) => util.required(ZodNonOptional, inst, args[0]);\n});\nexport function object(shape, params) {\n const def = {\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n ...util.normalizeParams(params),\n };\n return new ZodObject(def);\n}\n// strictObject\nexport function strictObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: never(),\n ...util.normalizeParams(params),\n });\n}\n// looseObject\nexport function looseObject(shape, params) {\n return new ZodObject({\n type: \"object\",\n get shape() {\n util.assignProp(this, \"shape\", { ...shape });\n return this.shape;\n },\n catchall: unknown(),\n ...util.normalizeParams(params),\n });\n}\nexport const ZodUnion = /*@__PURE__*/ core.$constructor(\"ZodUnion\", (inst, def) => {\n core.$ZodUnion.init(inst, def);\n ZodType.init(inst, def);\n inst.options = def.options;\n});\nexport function union(options, params) {\n return new ZodUnion({\n type: \"union\",\n options: options,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodDiscriminatedUnion = /*@__PURE__*/ core.$constructor(\"ZodDiscriminatedUnion\", (inst, def) => {\n ZodUnion.init(inst, def);\n core.$ZodDiscriminatedUnion.init(inst, def);\n});\nexport function discriminatedUnion(discriminator, options, params) {\n // const [options, params] = args;\n return new ZodDiscriminatedUnion({\n type: \"union\",\n options,\n discriminator,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodIntersection = /*@__PURE__*/ core.$constructor(\"ZodIntersection\", (inst, def) => {\n core.$ZodIntersection.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function intersection(left, right) {\n return new ZodIntersection({\n type: \"intersection\",\n left: left,\n right: right,\n });\n}\nexport const ZodTuple = /*@__PURE__*/ core.$constructor(\"ZodTuple\", (inst, def) => {\n core.$ZodTuple.init(inst, def);\n ZodType.init(inst, def);\n inst.rest = (rest) => inst.clone({\n ...inst._zod.def,\n rest: rest,\n });\n});\nexport function tuple(items, _paramsOrRest, _params) {\n const hasRest = _paramsOrRest instanceof core.$ZodType;\n const params = hasRest ? _params : _paramsOrRest;\n const rest = hasRest ? _paramsOrRest : null;\n return new ZodTuple({\n type: \"tuple\",\n items: items,\n rest,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodRecord = /*@__PURE__*/ core.$constructor(\"ZodRecord\", (inst, def) => {\n core.$ZodRecord.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function record(keyType, valueType, params) {\n return new ZodRecord({\n type: \"record\",\n keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\n// type alksjf = core.output<core.$ZodRecordKey>;\nexport function partialRecord(keyType, valueType, params) {\n const k = core.clone(keyType);\n k._zod.values = undefined;\n return new ZodRecord({\n type: \"record\",\n keyType: k,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodMap = /*@__PURE__*/ core.$constructor(\"ZodMap\", (inst, def) => {\n core.$ZodMap.init(inst, def);\n ZodType.init(inst, def);\n inst.keyType = def.keyType;\n inst.valueType = def.valueType;\n});\nexport function map(keyType, valueType, params) {\n return new ZodMap({\n type: \"map\",\n keyType: keyType,\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSet = /*@__PURE__*/ core.$constructor(\"ZodSet\", (inst, def) => {\n core.$ZodSet.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (...args) => inst.check(core._minSize(...args));\n inst.nonempty = (params) => inst.check(core._minSize(1, params));\n inst.max = (...args) => inst.check(core._maxSize(...args));\n inst.size = (...args) => inst.check(core._size(...args));\n});\nexport function set(valueType, params) {\n return new ZodSet({\n type: \"set\",\n valueType: valueType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodEnum = /*@__PURE__*/ core.$constructor(\"ZodEnum\", (inst, def) => {\n core.$ZodEnum.init(inst, def);\n ZodType.init(inst, def);\n inst.enum = def.entries;\n inst.options = Object.values(def.entries);\n const keys = new Set(Object.keys(def.entries));\n inst.extract = (values, params) => {\n const newEntries = {};\n for (const value of values) {\n if (keys.has(value)) {\n newEntries[value] = def.entries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n inst.exclude = (values, params) => {\n const newEntries = { ...def.entries };\n for (const value of values) {\n if (keys.has(value)) {\n delete newEntries[value];\n }\n else\n throw new Error(`Key ${value} not found in enum`);\n }\n return new ZodEnum({\n ...def,\n checks: [],\n ...util.normalizeParams(params),\n entries: newEntries,\n });\n };\n});\nfunction _enum(values, params) {\n const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport { _enum as enum };\n/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.\n *\n * ```ts\n * enum Colors { red, green, blue }\n * z.enum(Colors);\n * ```\n */\nexport function nativeEnum(entries, params) {\n return new ZodEnum({\n type: \"enum\",\n entries,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLiteral = /*@__PURE__*/ core.$constructor(\"ZodLiteral\", (inst, def) => {\n core.$ZodLiteral.init(inst, def);\n ZodType.init(inst, def);\n inst.values = new Set(def.values);\n Object.defineProperty(inst, \"value\", {\n get() {\n if (def.values.length > 1) {\n throw new Error(\"This schema contains multiple valid literal values. Use `.values` instead.\");\n }\n return def.values[0];\n },\n });\n});\nexport function literal(value, params) {\n return new ZodLiteral({\n type: \"literal\",\n values: Array.isArray(value) ? value : [value],\n ...util.normalizeParams(params),\n });\n}\nexport const ZodFile = /*@__PURE__*/ core.$constructor(\"ZodFile\", (inst, def) => {\n core.$ZodFile.init(inst, def);\n ZodType.init(inst, def);\n inst.min = (size, params) => inst.check(core._minSize(size, params));\n inst.max = (size, params) => inst.check(core._maxSize(size, params));\n inst.mime = (types, params) => inst.check(core._mime(Array.isArray(types) ? types : [types], params));\n});\nexport function file(params) {\n return core._file(ZodFile, params);\n}\nexport const ZodTransform = /*@__PURE__*/ core.$constructor(\"ZodTransform\", (inst, def) => {\n core.$ZodTransform.init(inst, def);\n ZodType.init(inst, def);\n inst._zod.parse = (payload, _ctx) => {\n payload.addIssue = (issue) => {\n if (typeof issue === \"string\") {\n payload.issues.push(util.issue(issue, payload.value, def));\n }\n else {\n // for Zod 3 backwards compatibility\n const _issue = issue;\n if (_issue.fatal)\n _issue.continue = false;\n _issue.code ?? (_issue.code = \"custom\");\n _issue.input ?? (_issue.input = payload.value);\n _issue.inst ?? (_issue.inst = inst);\n // _issue.continue ??= true;\n payload.issues.push(util.issue(_issue));\n }\n };\n const output = def.transform(payload.value, payload);\n if (output instanceof Promise) {\n return output.then((output) => {\n payload.value = output;\n return payload;\n });\n }\n payload.value = output;\n return payload;\n };\n});\nexport function transform(fn) {\n return new ZodTransform({\n type: \"transform\",\n transform: fn,\n });\n}\nexport const ZodOptional = /*@__PURE__*/ core.$constructor(\"ZodOptional\", (inst, def) => {\n core.$ZodOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function optional(innerType) {\n return new ZodOptional({\n type: \"optional\",\n innerType: innerType,\n });\n}\nexport const ZodNullable = /*@__PURE__*/ core.$constructor(\"ZodNullable\", (inst, def) => {\n core.$ZodNullable.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nullable(innerType) {\n return new ZodNullable({\n type: \"nullable\",\n innerType: innerType,\n });\n}\n// nullish\nexport function nullish(innerType) {\n return optional(nullable(innerType));\n}\nexport const ZodDefault = /*@__PURE__*/ core.$constructor(\"ZodDefault\", (inst, def) => {\n core.$ZodDefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeDefault = inst.unwrap;\n});\nexport function _default(innerType, defaultValue) {\n return new ZodDefault({\n type: \"default\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodPrefault = /*@__PURE__*/ core.$constructor(\"ZodPrefault\", (inst, def) => {\n core.$ZodPrefault.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function prefault(innerType, defaultValue) {\n return new ZodPrefault({\n type: \"prefault\",\n innerType: innerType,\n get defaultValue() {\n return typeof defaultValue === \"function\" ? defaultValue() : defaultValue;\n },\n });\n}\nexport const ZodNonOptional = /*@__PURE__*/ core.$constructor(\"ZodNonOptional\", (inst, def) => {\n core.$ZodNonOptional.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function nonoptional(innerType, params) {\n return new ZodNonOptional({\n type: \"nonoptional\",\n innerType: innerType,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodSuccess = /*@__PURE__*/ core.$constructor(\"ZodSuccess\", (inst, def) => {\n core.$ZodSuccess.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function success(innerType) {\n return new ZodSuccess({\n type: \"success\",\n innerType: innerType,\n });\n}\nexport const ZodCatch = /*@__PURE__*/ core.$constructor(\"ZodCatch\", (inst, def) => {\n core.$ZodCatch.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n inst.removeCatch = inst.unwrap;\n});\nfunction _catch(innerType, catchValue) {\n return new ZodCatch({\n type: \"catch\",\n innerType: innerType,\n catchValue: (typeof catchValue === \"function\" ? catchValue : () => catchValue),\n });\n}\nexport { _catch as catch };\nexport const ZodNaN = /*@__PURE__*/ core.$constructor(\"ZodNaN\", (inst, def) => {\n core.$ZodNaN.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function nan(params) {\n return core._nan(ZodNaN, params);\n}\nexport const ZodPipe = /*@__PURE__*/ core.$constructor(\"ZodPipe\", (inst, def) => {\n core.$ZodPipe.init(inst, def);\n ZodType.init(inst, def);\n inst.in = def.in;\n inst.out = def.out;\n});\nexport function pipe(in_, out) {\n return new ZodPipe({\n type: \"pipe\",\n in: in_,\n out: out,\n // ...util.normalizeParams(params),\n });\n}\nexport const ZodReadonly = /*@__PURE__*/ core.$constructor(\"ZodReadonly\", (inst, def) => {\n core.$ZodReadonly.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function readonly(innerType) {\n return new ZodReadonly({\n type: \"readonly\",\n innerType: innerType,\n });\n}\nexport const ZodTemplateLiteral = /*@__PURE__*/ core.$constructor(\"ZodTemplateLiteral\", (inst, def) => {\n core.$ZodTemplateLiteral.init(inst, def);\n ZodType.init(inst, def);\n});\nexport function templateLiteral(parts, params) {\n return new ZodTemplateLiteral({\n type: \"template_literal\",\n parts,\n ...util.normalizeParams(params),\n });\n}\nexport const ZodLazy = /*@__PURE__*/ core.$constructor(\"ZodLazy\", (inst, def) => {\n core.$ZodLazy.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.getter();\n});\nexport function lazy(getter) {\n return new ZodLazy({\n type: \"lazy\",\n getter: getter,\n });\n}\nexport const ZodPromise = /*@__PURE__*/ core.$constructor(\"ZodPromise\", (inst, def) => {\n core.$ZodPromise.init(inst, def);\n ZodType.init(inst, def);\n inst.unwrap = () => inst._zod.def.innerType;\n});\nexport function promise(innerType) {\n return new ZodPromise({\n type: \"promise\",\n innerType: innerType,\n });\n}\nexport const ZodCustom = /*@__PURE__*/ core.$constructor(\"ZodCustom\", (inst, def) => {\n core.$ZodCustom.init(inst, def);\n ZodType.init(inst, def);\n});\n// custom checks\nexport function check(fn) {\n const ch = new core.$ZodCheck({\n check: \"custom\",\n // ...util.normalizeParams(params),\n });\n ch._zod.check = fn;\n return ch;\n}\nexport function custom(fn, _params) {\n return core._custom(ZodCustom, fn ?? (() => true), _params);\n}\nexport function refine(fn, _params = {}) {\n return core._refine(ZodCustom, fn, _params);\n}\n// superRefine\nexport function superRefine(fn) {\n return core._superRefine(fn);\n}\nfunction _instanceof(cls, params = {\n error: `Input not instance of ${cls.name}`,\n}) {\n const inst = new ZodCustom({\n type: \"custom\",\n check: \"custom\",\n fn: (data) => data instanceof cls,\n abort: true,\n ...util.normalizeParams(params),\n });\n inst._zod.bag.Class = cls;\n return inst;\n}\nexport { _instanceof as instanceof };\n// stringbool\nexport const stringbool = (...args) => core._stringbool({\n Pipe: ZodPipe,\n Boolean: ZodBoolean,\n String: ZodString,\n Transform: ZodTransform,\n}, ...args);\nexport function json(params) {\n const jsonSchema = lazy(() => {\n return union([string(params), number(), boolean(), _null(), array(jsonSchema), record(string(), jsonSchema)]);\n });\n return jsonSchema;\n}\n// preprocess\n// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */\nexport function preprocess(fn, schema) {\n return pipe(transform(fn), schema);\n}\n","import { Utils } from \"@idos-network/kwil-js\";\nimport * as z from \"zod\";\nimport type { KwilActionClient } from \"../kwil-infra\";\n\n// This file is generated by the generator. Do not edit it manually.\nexport const DataType: typeof Utils.DataType = Utils.DataType;\n\nexport type ActionSchemaElement = {\n name: string;\n type: typeof DataType.Uuid | typeof DataType.Text | typeof DataType.Int;\n};\n\nexport const actionSchema: Record<string, ActionSchemaElement[]> = {\n add_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryption_password_store\",\n type: DataType.Text,\n },\n ],\n get_user: [],\n upsert_wallet_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"wallet_type\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n add_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n get_wallets: [],\n remove_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credentials: [],\n get_credentials_shared_by_user: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n edit_public_notes_as_issuer: [\n {\n name: \"public_notes_id\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n ],\n remove_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n share_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"locked_until\",\n type: DataType.Int,\n },\n ],\n create_credential_copy: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n create_credentials_by_dwg: [\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_content\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"original_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"copy_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"copy_content\",\n type: DataType.Text,\n },\n {\n name: \"copy_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dwg_owner\",\n type: DataType.Text,\n },\n {\n name: \"dwg_grantee\",\n type: DataType.Text,\n },\n {\n name: \"dwg_issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"dwg_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dwg_access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_before\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_after\",\n type: DataType.Text,\n },\n {\n name: \"dwg_signature\",\n type: DataType.Text,\n },\n ],\n get_credential_owned: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credential_shared: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_sibling_credential_id: [\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n ],\n add_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n get_attributes: [],\n dwg_message: [\n {\n name: \"owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_before\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_after\",\n type: DataType.Text,\n },\n ],\n revoke_access_grant: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_access_grants_owned: [],\n get_access_grants_granted: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"page\",\n type: DataType.Int,\n },\n {\n name: \"size\",\n type: DataType.Int,\n },\n ],\n get_access_grants_granted_count: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n ],\n dag_message: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n ],\n create_ag_by_dag_for_copy: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dag_signature\",\n type: DataType.Text,\n },\n ],\n get_access_grants_for_credential: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n has_profile: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n ],\n get_passporting_peers: [],\n};\nexport const idOSUserSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: z.string(),\n});\n\nexport type idOSUser = z.infer<typeof idOSUserSchema>;\n\n/** USER ACTIONS */\nexport async function createUser(kwilClient: KwilActionClient, params: idOSUser): Promise<void> {\n const inputs = idOSUserSchema.parse(params);\n await kwilClient.execute({\n name: \"add_user_as_inserter\",\n inputs,\n description: \"Add a user to idOS\",\n });\n}\n\nexport const GetUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: z.string(),\n});\n\nexport type GetUserOutput = z.infer<typeof GetUserOutputSchema>;\n\nexport async function getUser(kwilClient: KwilActionClient): Promise<GetUserOutput> {\n return await kwilClient\n .call<GetUserOutput[]>({ name: \"get_user\", inputs: {} })\n .then((result) => result[0]);\n}\n\nexport const idOSWalletSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodString;\n wallet_type: z.ZodString;\n message: z.ZodString;\n signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n address: z.string(),\n public_key: z.string(),\n wallet_type: z.string(),\n message: z.string(),\n signature: z.string(),\n});\n\nexport type idOSWallet = z.infer<typeof idOSWalletSchema>;\n\n/** WALLET ACTIONS */\nexport async function upsertWalletAsInserter(\n kwilClient: KwilActionClient,\n params: idOSWallet,\n): Promise<void> {\n const inputs = idOSWalletSchema.parse(params);\n await kwilClient.execute({\n name: \"upsert_wallet_as_inserter\",\n inputs,\n description: \"Add a wallet to idOS\",\n });\n}\n\nexport const AddWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodString;\n message: z.ZodString;\n signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n address: z.string(),\n public_key: z.string(),\n message: z.string(),\n signature: z.string(),\n});\n\nexport type AddWalletInput = z.infer<typeof AddWalletInputSchema>;\n\nexport async function addWallet(\n kwilClient: KwilActionClient,\n params: AddWalletInput,\n): Promise<void> {\n const inputs = AddWalletInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_wallet\",\n inputs,\n description: \"Add a wallet to idOS\",\n });\n}\n\nexport const GetWalletsOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodString;\n wallet_type: z.ZodString;\n message: z.ZodString;\n signature: z.ZodString;\n inserter: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n address: z.string(),\n public_key: z.string(),\n wallet_type: z.string(),\n message: z.string(),\n signature: z.string(),\n inserter: z.string(),\n});\n\nexport type GetWalletsOutput = z.infer<typeof GetWalletsOutputSchema>;\n\nexport async function getWallets(kwilClient: KwilActionClient): Promise<GetWalletsOutput[]> {\n return await kwilClient.call<GetWalletsOutput[]>({ name: \"get_wallets\", inputs: {} });\n}\n\nexport const RemoveWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveWalletInput = z.infer<typeof RemoveWalletInputSchema>;\n\nexport async function removeWallet(\n kwilClient: KwilActionClient,\n params: RemoveWalletInput,\n): Promise<void> {\n const inputs = RemoveWalletInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_wallet\",\n inputs,\n description: \"Remove a wallet from idOS\",\n });\n}\n\nexport const idOSCredentialListItemSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodString;\n original_id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string(),\n original_id: z.uuid(),\n});\n\nexport type idOSCredentialListItem = z.infer<typeof idOSCredentialListItemSchema>;\n\nexport async function getCredentials(\n kwilClient: KwilActionClient,\n): Promise<idOSCredentialListItem[]> {\n return await kwilClient.call<idOSCredentialListItem[]>({ name: \"get_credentials\", inputs: {} });\n}\n\nexport const GetCredentialsSharedByUserInputSchema: z.ZodObject<{\n user_id: z.ZodUUID;\n issuer_auth_public_key: z.ZodNullable<z.ZodString>;\n}> = z.object({\n user_id: z.uuid(),\n issuer_auth_public_key: z.string().nullable(),\n});\n\nexport type GetCredentialsSharedByUserInput = z.infer<typeof GetCredentialsSharedByUserInputSchema>;\n\nexport const GetCredentialsSharedByUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodString;\n original_id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string(),\n original_id: z.uuid(),\n});\n\nexport type GetCredentialsSharedByUserOutput = z.infer<\n typeof GetCredentialsSharedByUserOutputSchema\n>;\n\nexport async function getCredentialsSharedByUser(\n kwilClient: KwilActionClient,\n params: GetCredentialsSharedByUserInput,\n): Promise<GetCredentialsSharedByUserOutput[]> {\n const inputs = GetCredentialsSharedByUserInputSchema.parse(params);\n return await kwilClient.call<GetCredentialsSharedByUserOutput[]>({\n name: \"get_credentials_shared_by_user\",\n inputs,\n });\n}\n\nexport const EditCredentialAsIssuerParamsSchema: z.ZodObject<{\n public_notes_id: z.ZodString;\n public_notes: z.ZodString;\n}> = z.object({\n public_notes_id: z.string(),\n public_notes: z.string(),\n});\n\nexport type EditCredentialAsIssuerParams = z.infer<typeof EditCredentialAsIssuerParamsSchema>;\n\n/**\n * Be aware that @caller here is ed25519 public key, hex encoded.\n * All other @caller in the schema are either secp256k1 or nep413\n * This action can't be called by kwil-cli (as kwil-cli uses secp256k1 only)\n */\nexport async function editCredentialAsIssuer(\n kwilClient: KwilActionClient,\n params: EditCredentialAsIssuerParams,\n): Promise<void> {\n const inputs = EditCredentialAsIssuerParamsSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_public_notes_as_issuer\",\n inputs,\n description: \"Edit a credential in your idOS profile\",\n });\n}\n\nexport const RemoveCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveCredentialInput = z.infer<typeof RemoveCredentialInputSchema>;\n\nexport async function removeCredential(\n kwilClient: KwilActionClient,\n params: RemoveCredentialInput,\n): Promise<void> {\n const inputs = RemoveCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_credential\",\n inputs,\n description: \"Remove a credential from your idOS profile\",\n });\n}\n\nexport const ShareCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_credential_id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n content_hash: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n locked_until: z.ZodNumber;\n}> = z.object({\n id: z.uuid(),\n original_credential_id: z.uuid(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n content: z.string(),\n content_hash: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n grantee_wallet_identifier: z.string(),\n locked_until: z.number(),\n});\n\nexport type ShareCredentialInput = z.infer<typeof ShareCredentialInputSchema>;\n\nexport async function shareCredential(\n kwilClient: KwilActionClient,\n params: ShareCredentialInput,\n): Promise<void> {\n const inputs = ShareCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"share_credential\",\n inputs,\n description: \"Share a credential with another idOS user\",\n });\n}\n\nexport const CreateCredentialCopyInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_credential_id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n original_credential_id: z.uuid(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n});\n\nexport type CreateCredentialCopyInput = z.infer<typeof CreateCredentialCopyInputSchema>;\n\n/** Passporting scenario */\nexport async function createCredentialCopy(\n kwilClient: KwilActionClient,\n params: CreateCredentialCopyInput,\n): Promise<void> {\n const inputs = CreateCredentialCopyInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_credential_copy\",\n inputs,\n description: \"Share a credential with another user on idOS\",\n });\n}\n\nexport const CreateCredentialByDelegatedWriteGrantInputSchema: z.ZodObject<{\n issuer_auth_public_key: z.ZodString;\n original_encryptor_public_key: z.ZodString;\n original_credential_id: z.ZodUUID;\n original_content: z.ZodString;\n original_public_notes: z.ZodString;\n original_public_notes_signature: z.ZodString;\n original_broader_signature: z.ZodString;\n copy_encryptor_public_key: z.ZodString;\n copy_credential_id: z.ZodUUID;\n copy_content: z.ZodString;\n copy_public_notes_signature: z.ZodString;\n copy_broader_signature: z.ZodString;\n content_hash: z.ZodString;\n dwg_owner: z.ZodString;\n dwg_grantee: z.ZodString;\n dwg_issuer_public_key: z.ZodString;\n dwg_id: z.ZodUUID;\n dwg_access_grant_timelock: z.ZodString;\n dwg_not_before: z.ZodString;\n dwg_not_after: z.ZodString;\n dwg_signature: z.ZodString;\n}> = z.object({\n issuer_auth_public_key: z.string(),\n original_encryptor_public_key: z.string(),\n original_credential_id: z.uuid(),\n original_content: z.string(),\n original_public_notes: z.string(),\n original_public_notes_signature: z.string(),\n original_broader_signature: z.string(),\n copy_encryptor_public_key: z.string(),\n copy_credential_id: z.uuid(),\n copy_content: z.string(),\n copy_public_notes_signature: z.string(),\n copy_broader_signature: z.string(),\n content_hash: z.string(),\n dwg_owner: z.string(),\n dwg_grantee: z.string(),\n dwg_issuer_public_key: z.string(),\n dwg_id: z.uuid(),\n dwg_access_grant_timelock: z.string(),\n dwg_not_before: z.string(),\n dwg_not_after: z.string(),\n dwg_signature: z.string(),\n});\n\nexport type CreateCredentialByDelegatedWriteGrantInput = z.infer<\n typeof CreateCredentialByDelegatedWriteGrantInputSchema\n>;\n\n/**\n * For access grant\n * Check the content creator (encryptor) is the issuer that user delegated to issue the credential\n * Get the wallet type and public key for XRPL/NEAR wallets from database\n * Will fail if not in the RFC3339 format\n * Check the format and precedence\n * Check if current block timestamp in time range allowed by write grant.\n * @block_timestamp is a timestamp of previous block, which is can be a few seconds earlier\n * (max is 6 seconds in current network consensus settings) then a time on a requester's machine.\n * Also, if requester's machine has wrong time, it can be an issue.\n * Insert original credential\n * Insert copy credential\n */\nexport async function createCredentialByDelegatedWriteGrant(\n kwilClient: KwilActionClient,\n params: CreateCredentialByDelegatedWriteGrantInput,\n): Promise<void> {\n const inputs = CreateCredentialByDelegatedWriteGrantInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_credentials_by_dwg\",\n inputs,\n description: \"Create a new credential in your idOS profile\",\n });\n}\n\nexport const GetCredentialOwnedInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetCredentialOwnedInput = z.infer<typeof GetCredentialOwnedInputSchema>;\n\nexport const idOSCredentialSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string(),\n});\n\nexport type idOSCredential = z.infer<typeof idOSCredentialSchema>;\n\nexport async function getCredentialOwned(\n kwilClient: KwilActionClient,\n params: GetCredentialOwnedInput,\n): Promise<idOSCredential[]> {\n const inputs = GetCredentialOwnedInputSchema.parse(params);\n return await kwilClient.call<idOSCredential[]>({\n name: \"get_credential_owned\",\n inputs,\n });\n}\n\nexport const GetSharedCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetSharedCredentialInput = z.infer<typeof GetSharedCredentialInputSchema>;\n\n/** As a credential copy doesn't contain PUBLIC notes, we return respective original credential PUBLIC notes */\nexport async function getSharedCredential(\n kwilClient: KwilActionClient,\n params: GetSharedCredentialInput,\n): Promise<idOSCredential[]> {\n const inputs = GetSharedCredentialInputSchema.parse(params);\n return await kwilClient.call<idOSCredential[]>({\n name: \"get_credential_shared\",\n inputs,\n });\n}\n\nexport const GetCredentialIdByContentHashInputSchema: z.ZodObject<{\n content_hash: z.ZodString;\n}> = z.object({\n content_hash: z.string(),\n});\n\nexport type GetCredentialIdByContentHashInput = z.infer<\n typeof GetCredentialIdByContentHashInputSchema\n>;\n\nexport const GetCredentialIdByContentHashOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetCredentialIdByContentHashOutput = z.infer<\n typeof GetCredentialIdByContentHashOutputSchema\n>;\n\nexport async function getCredentialIdByContentHash(\n kwilClient: KwilActionClient,\n params: GetCredentialIdByContentHashInput,\n): Promise<GetCredentialIdByContentHashOutput> {\n const inputs = GetCredentialIdByContentHashInputSchema.parse(params);\n return await kwilClient\n .call<GetCredentialIdByContentHashOutput[]>({\n name: \"get_sibling_credential_id\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const AddAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type AddAttributeInput = z.infer<typeof AddAttributeInputSchema>;\n\nexport async function addAttribute(\n kwilClient: KwilActionClient,\n params: AddAttributeInput,\n): Promise<void> {\n const inputs = AddAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_attribute\",\n inputs,\n description: \"Create a new attribute in your idOS profile\",\n });\n}\n\nexport const idOSUserAttributeSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n original_id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n original_id: z.uuid(),\n});\n\nexport type idOSUserAttribute = z.infer<typeof idOSUserAttributeSchema>;\n\nexport async function getAttributes(kwilClient: KwilActionClient): Promise<idOSUserAttribute[]> {\n return await kwilClient.call<idOSUserAttribute[]>({ name: \"get_attributes\", inputs: {} });\n}\n\nexport const idOSDelegatedWriteGrantSchema: z.ZodObject<{\n owner_wallet_identifier: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n issuer_public_key: z.ZodString;\n id: z.ZodUUID;\n access_grant_timelock: z.ZodString;\n not_usable_before: z.ZodString;\n not_usable_after: z.ZodString;\n}> = z.object({\n owner_wallet_identifier: z.string(),\n grantee_wallet_identifier: z.string(),\n issuer_public_key: z.string(),\n id: z.uuid(),\n access_grant_timelock: z.string(),\n not_usable_before: z.string(),\n not_usable_after: z.string(),\n});\n\nexport type idOSDelegatedWriteGrant = z.infer<typeof idOSDelegatedWriteGrantSchema>;\n\nexport const DwgMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}> = z.object({\n message: z.string(),\n});\n\nexport type DwgMessageOutput = z.infer<typeof DwgMessageOutputSchema>;\n\n/**\n * WRITE GRANTS ACTIONS\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Will fail if not in the yyyy-mm-ddThh:mm:ssZ format, and not comply to RFC3339\n * Check the format and precedence\n */\nexport async function dwgMessage(\n kwilClient: KwilActionClient,\n params: idOSDelegatedWriteGrant,\n): Promise<DwgMessageOutput> {\n const inputs = idOSDelegatedWriteGrantSchema.parse(params);\n return await kwilClient\n .call<DwgMessageOutput[]>({\n name: \"dwg_message\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const RevokeAccessGrantInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RevokeAccessGrantInput = z.infer<typeof RevokeAccessGrantInputSchema>;\n\n/** ACCESS GRANTS ACTIONS */\nexport async function revokeAccessGrant(\n kwilClient: KwilActionClient,\n params: RevokeAccessGrantInput,\n): Promise<void> {\n const inputs = RevokeAccessGrantInputSchema.parse(params);\n await kwilClient.execute({\n name: \"revoke_access_grant\",\n inputs,\n description: \"Revoke an Access Grant from idOS\",\n });\n}\n\nexport const idOSGrantSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodString;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type idOSGrant = z.infer<typeof idOSGrantSchema>;\n\nexport async function getAccessGrantsOwned(kwilClient: KwilActionClient): Promise<idOSGrant[]> {\n return await kwilClient.call<idOSGrant[]>({ name: \"get_access_grants_owned\", inputs: {} });\n}\n\nexport const GetGrantsPaginatedInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n page: z.ZodNumber;\n size: z.ZodNumber;\n}> = z.object({\n user_id: z.uuid().nullable(),\n page: z.number(),\n size: z.number(),\n});\n\nexport type GetGrantsPaginatedInput = z.infer<typeof GetGrantsPaginatedInputSchema>;\n\n/**\n * As arguments can be undefined (user can not send them at all), we have to have default values: page=1, size=20\n * Page number starts from 1, as UI usually shows to user in pagination element\n * Ordering is consistent because we use height as first ordering parameter\n */\nexport async function getGrantsPaginated(\n kwilClient: KwilActionClient,\n params: GetGrantsPaginatedInput,\n): Promise<idOSGrant[]> {\n const inputs = GetGrantsPaginatedInputSchema.parse(params);\n return await kwilClient.call<idOSGrant[]>({\n name: \"get_access_grants_granted\",\n inputs,\n });\n}\n\nexport const GetGrantsCountInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n user_id: z.uuid().nullable(),\n});\n\nexport type GetGrantsCountInput = z.infer<typeof GetGrantsCountInputSchema>;\n\nexport const GetGrantsCountOutputSchema: z.ZodObject<{\n count: z.ZodNumber;\n}> = z.object({\n count: z.number(),\n});\n\nexport type GetGrantsCountOutput = z.infer<typeof GetGrantsCountOutputSchema>;\n\nexport async function getGrantsCount(\n kwilClient: KwilActionClient,\n params: GetGrantsCountInput,\n): Promise<GetGrantsCountOutput> {\n const inputs = GetGrantsCountInputSchema.parse(params);\n return await kwilClient\n .call<GetGrantsCountOutput[]>({\n name: \"get_access_grants_granted_count\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const DagMessageInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n}> = z.object({\n dag_owner_wallet_identifier: z.string(),\n dag_grantee_wallet_identifier: z.string(),\n dag_data_id: z.uuid(),\n dag_locked_until: z.number(),\n dag_content_hash: z.string(),\n});\n\nexport type DagMessageInput = z.infer<typeof DagMessageInputSchema>;\n\nexport const DagMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}> = z.object({\n message: z.string(),\n});\n\nexport type DagMessageOutput = z.infer<typeof DagMessageOutputSchema>;\n\nexport async function dagMessage(\n kwilClient: KwilActionClient,\n params: DagMessageInput,\n): Promise<DagMessageOutput> {\n const inputs = DagMessageInputSchema.parse(params);\n return await kwilClient\n .call<DagMessageOutput[]>({\n name: \"dag_message\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const CreateAccessGrantByDagInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n dag_signature: z.ZodString;\n}> = z.object({\n dag_owner_wallet_identifier: z.string(),\n dag_grantee_wallet_identifier: z.string(),\n dag_data_id: z.uuid(),\n dag_locked_until: z.number(),\n dag_content_hash: z.string(),\n dag_signature: z.string(),\n});\n\nexport type CreateAccessGrantByDagInput = z.infer<typeof CreateAccessGrantByDagInputSchema>;\n\n/**\n * Get the wallet type and public key for XRPL/NEAR wallets from database\n * This works for EVM-compatible signatures only\n */\nexport async function createAccessGrantByDag(\n kwilClient: KwilActionClient,\n params: CreateAccessGrantByDagInput,\n): Promise<void> {\n const inputs = CreateAccessGrantByDagInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_ag_by_dag_for_copy\",\n inputs,\n description: \"Create an Access Grant in idOS\",\n });\n}\n\nexport const GetAccessGrantsForCredentialInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type GetAccessGrantsForCredentialInput = z.infer<\n typeof GetAccessGrantsForCredentialInputSchema\n>;\n\nexport const GetAccessGrantsForCredentialOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodString;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsForCredentialOutput = z.infer<\n typeof GetAccessGrantsForCredentialOutputSchema\n>;\n\nexport async function getAccessGrantsForCredential(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsForCredentialInput,\n): Promise<GetAccessGrantsForCredentialOutput[]> {\n const inputs = GetAccessGrantsForCredentialInputSchema.parse(params);\n return await kwilClient.call<GetAccessGrantsForCredentialOutput[]>({\n name: \"get_access_grants_for_credential\",\n inputs,\n });\n}\n\nexport const HasProfileInputSchema: z.ZodObject<{\n address: z.ZodString;\n}> = z.object({\n address: z.string(),\n});\n\nexport type HasProfileInput = z.infer<typeof HasProfileInputSchema>;\n\nexport const HasProfileOutputSchema: z.ZodObject<{\n has_profile: z.ZodBoolean;\n}> = z.object({\n has_profile: z.boolean(),\n});\n\nexport type HasProfileOutput = z.infer<typeof HasProfileOutputSchema>;\n\n/**\n * OTHER ACTIONS\n * Should we improve it to work with near wallets too?\n */\nexport async function hasProfile(\n kwilClient: KwilActionClient,\n params: HasProfileInput,\n): Promise<HasProfileOutput> {\n const inputs = HasProfileInputSchema.parse(params);\n return await kwilClient\n .call<HasProfileOutput[]>(\n {\n name: \"has_profile\",\n inputs,\n },\n undefined, // Signer is not required here\n )\n .then((result) => result[0]);\n}\n\nexport const GetPassportingPeersOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n name: z.ZodString;\n issuer_public_key: z.ZodString;\n passporting_server_url_base: z.ZodString;\n club_id: z.ZodUUID;\n club_name: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n name: z.string(),\n issuer_public_key: z.string(),\n passporting_server_url_base: z.string(),\n club_id: z.uuid(),\n club_name: z.string(),\n});\n\nexport type GetPassportingPeersOutput = z.infer<typeof GetPassportingPeersOutputSchema>;\n\n/** get clubs the peer belongs to */\nexport async function getPassportingPeers(\n kwilClient: KwilActionClient,\n): Promise<GetPassportingPeersOutput[]> {\n return await kwilClient.call<GetPassportingPeersOutput[]>({\n name: \"get_passporting_peers\",\n inputs: {},\n });\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet flagForceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tflagForceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tflagForceColor = 1;\n}\n\nfunction envForceColor() {\n\tif ('FORCE_COLOR' in env) {\n\t\tif (env.FORCE_COLOR === 'true') {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (env.FORCE_COLOR === 'false') {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) {\n\tconst noFlagForceColor = envForceColor();\n\tif (noFlagForceColor !== undefined) {\n\t\tflagForceColor = noFlagForceColor;\n\t}\n\n\tconst forceColor = sniffFlags ? flagForceColor : noFlagForceColor;\n\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (sniffFlags) {\n\t\tif (hasFlag('color=16m') ||\n\t\t\thasFlag('color=full') ||\n\t\t\thasFlag('color=truecolor')) {\n\t\t\treturn 3;\n\t\t}\n\n\t\tif (hasFlag('color=256')) {\n\t\t\treturn 2;\n\t\t}\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream, options = {}) {\n\tconst level = supportsColor(stream, {\n\t\tstreamIsTTY: stream && stream.isTTY,\n\t\t...options\n\t});\n\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel({isTTY: tty.isatty(1)}),\n\tstderr: getSupportLevel({isTTY: tty.isatty(2)})\n};\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar VERSION = require('./../env/data').version;\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\n\nvar isHttps = /https:?/;\n\nvar supportedProtocols = [ 'http:', 'https:', 'file:' ];\n\n/**\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} proxy\n * @param {string} location\n */\nfunction setProxy(options, proxy, location) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.port = proxy.port;\n options.path = location;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n // If a proxy is used, any redirects must also pass through the proxy\n options.beforeRedirect = function beforeRedirect(redirection) {\n redirection.headers.host = redirection.host;\n setProxy(redirection, proxy, redirection.href);\n };\n}\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n var resolve = function resolve(value) {\n done();\n resolvePromise(value);\n };\n var rejected = false;\n var reject = function reject(value) {\n done();\n rejected = true;\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n var headerNames = {};\n\n Object.keys(headers).forEach(function storeLowerName(name) {\n headerNames[name.toLowerCase()] = name;\n });\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n if ('user-agent' in headerNames) {\n // User-Agent is specified; handle case where no UA header is desired\n if (!headers[headerNames['user-agent']]) {\n delete headers[headerNames['user-agent']];\n }\n // Otherwise, use specified value\n } else {\n // Only set header if it hasn't been set in config\n headers['User-Agent'] = 'axios/' + VERSION;\n }\n\n // support for https://www.npmjs.com/package/form-data api\n if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n Object.assign(headers, data.getHeaders());\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n if (!headerNames['content-length']) {\n headers['Content-Length'] = data.length;\n }\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || supportedProtocols[0];\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth && headerNames.authorization) {\n delete headers[headerNames.authorization];\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n try {\n buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, '');\n } catch (err) {\n var customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n reject(customErr);\n }\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port,\n protocol: parsedProxyUrl.protocol\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n setProxy(options, proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirect = config.beforeRedirect;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n\n // if no content, is HEAD request or decompress disabled we should not decompress\n if (res.statusCode !== 204 && lastRequest.method !== 'HEAD' && config.decompress !== false) {\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n }\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n var totalResponseBytes = 0;\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destoy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n stream.destroy();\n reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n stream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n stream.destroy();\n reject(new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n ));\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n try {\n var responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n if (!config.responseEncoding || config.responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n var timeout = parseInt(config.timeout, 10);\n\n if (isNaN(timeout)) {\n reject(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n req.abort();\n var transitional = config.transitional || transitionalDefaults;\n reject(new AxiosError(\n 'timeout of ' + timeout + 'ms exceeded',\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n });\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(AxiosError.from(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","{\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphalforms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/ace+cbor\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/activity+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamcontrol+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/at+jwt\": {\n \"source\": \"iana\"\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomdeleted\"]\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atsc-dwd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dwd\"]\n },\n \"application/atsc-dynamic-event-message\": {\n \"source\": \"iana\"\n },\n \"application/atsc-held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"held\"]\n },\n \"application/atsc-rdt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/atsc-rsat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsat\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xcs\"]\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/captive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/cccex\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdfx\"]\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/city+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clr\": {\n \"source\": \"iana\"\n },\n \"application/clue+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clue_info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-payload\": {\n \"source\": \"iana\"\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cose\": {\n \"source\": \"iana\"\n },\n \"application/cose-key\": {\n \"source\": \"iana\"\n },\n \"application/cose-key-set\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cpl\"]\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cwt\": {\n \"source\": \"iana\"\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpd\"]\n },\n \"application/dash-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dicom+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/dns+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dns-message\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dbk\"]\n },\n \"application/dots+cbor\": {\n \"source\": \"iana\"\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es\",\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/efi\": {\n \"source\": \"iana\"\n },\n \"application/elm+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/elm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.cap+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.ecall.msd\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.veds+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emotionml\"]\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/expect-ct-report+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/express\": {\n \"source\": \"iana\",\n \"extensions\": [\"exp\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fdt\"]\n },\n \"application/fhir+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fhir+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fido.trusted-apps+json\": {\n \"compressible\": true\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/flexfec\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"geojson\"]\n },\n \"application/geo+json-seq\": {\n \"source\": \"iana\"\n },\n \"application/geopackage+sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/geoxacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/gltf-buffer\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gz\"]\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"its\"]\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\",\"mjs\"]\n },\n \"application/jf2feed+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jscalendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/lgr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lgr\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lpf+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpf\"]\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mipc\": {\n \"source\": \"iana\"\n },\n \"application/missing-blocks+cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/mmt-aei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"maei\"]\n },\n \"application/mmt-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musd\"]\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mud+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/multipart-core\": {\n \"source\": \"iana\"\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/n-quads\": {\n \"source\": \"iana\",\n \"extensions\": [\"nq\"]\n },\n \"application/n-triples\": {\n \"source\": \"iana\",\n \"extensions\": [\"nt\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/node\": {\n \"source\": \"iana\",\n \"extensions\": [\"cjs\"]\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/oauth-authz-req+jwt\": {\n \"source\": \"iana\"\n },\n \"application/oblivious-dns-message\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/opc-nodeset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/oscore\": {\n \"source\": \"iana\"\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p21\": {\n \"source\": \"iana\"\n },\n \"application/p21+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"relo\"]\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/passport\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pem-certificate-chain\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\"]\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkcs8-encrypted\": {\n \"source\": \"iana\"\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/ppsp-tracker+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"provx\"]\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.cyn\": {\n \"source\": \"iana\",\n \"charset\": \"7-BIT\"\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pskcxml\"]\n },\n \"application/pvd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raml+yaml\": {\n \"compressible\": true,\n \"extensions\": [\"raml\"]\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\",\"owl\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rs\"]\n },\n \"application/route-apd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rapd\"]\n },\n \"application/route-s-tsid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sls\"]\n },\n \"application/route-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rusd\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-publication\": {\n \"source\": \"iana\"\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif-external-properties+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sbe\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/secevent+jwt\": {\n \"source\": \"iana\"\n },\n \"application/senml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"senmlx\"]\n },\n \"application/senml-etch+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml-etch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sensml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/sensml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sensml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sensmlx\"]\n },\n \"application/sensml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sep+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\",\n \"extensions\": [\"siv\",\"sieve\"]\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/sipc\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"srx\"]\n },\n \"application/spdx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ssml\"]\n },\n \"application/stix+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/swid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"swidtag\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/taxii+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/td+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/tetra_isi\": {\n \"source\": \"iana\"\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/tlsrpt+gzip\": {\n \"source\": \"iana\"\n },\n \"application/tlsrpt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tnauthlist\": {\n \"source\": \"iana\"\n },\n \"application/token-introspection+jwt\": {\n \"source\": \"iana\"\n },\n \"application/toml\": {\n \"compressible\": true,\n \"extensions\": [\"toml\"]\n },\n \"application/trickle-ice-sdpfrag\": {\n \"source\": \"iana\"\n },\n \"application/trig\": {\n \"source\": \"iana\",\n \"extensions\": [\"trig\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttml\"]\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/tzif\": {\n \"source\": \"iana\"\n },\n \"application/tzif-leap\": {\n \"source\": \"iana\"\n },\n \"application/ubjson\": {\n \"compressible\": false,\n \"extensions\": [\"ubj\"]\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsheet\"]\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"td\"]\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.1000minds.decision-model+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"1km\"]\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-v2x-local-service-information\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.5gnas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gmop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gtpc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.interworking-data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.lpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mc-signalling-ear\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-payload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-signalling\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-signed+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ngap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pfcp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.s1ap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3lightssoftware.imagescal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata-pagedef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.cmoca-cmresource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-charset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codedfont\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codepage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-cmtable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-formdef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-mediummap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-objectcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-overlay\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-pagesegment\": {\n \"source\": \"iana\"\n },\n \"application/vnd.age\": {\n \"source\": \"iana\",\n \"extensions\": [\"age\"]\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amadeus+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.amazon.mobi8-ebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.android.ota\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.arrow.file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.arrow.stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.aplextor.warrp+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apothekende.reservation+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.keynote\": {\n \"source\": \"iana\",\n \"extensions\": [\"key\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.numbers\": {\n \"source\": \"iana\",\n \"extensions\": [\"numbers\"]\n },\n \"application/vnd.apple.pages\": {\n \"source\": \"iana\",\n \"extensions\": [\"pages\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artisan+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avalon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmml\"]\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.banana-accounting\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.error\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bint.med-content\": {\n \"source\": \"iana\"\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.blink-idb-value-wrapper\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.bpf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bpf3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.byu.uapi+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.capasystems-pg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chess-pgn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.ciedi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csl\"]\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.comicbook+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.comicbook-rar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.coreos.ignition+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.cryptii.pipe+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.crypto-shade-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.vault\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cyclonedx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cyclonedx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.d2l.coursepackage1p0+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.d3m-dataset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.d3m-problem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.datapackage+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dataresource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dbf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dbf\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbisl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecip.rlp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eclipse.ditto+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.img\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.iso\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.espass-espass+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eu.kasparian.car+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.profile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.settings\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.theme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.exstream-empower+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.exstream-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.familysearch.gedcom+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ficlab.flb+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujifilm.fb.docuworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.binder\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.jfi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.gentics.grd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.slides\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hdt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hl7cda+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hl7v2+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyper+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyper-item+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.imagemeter.folder+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.imagemeter.image+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.iso11783-10+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las\": {\n \"source\": \"iana\"\n },\n \"application/vnd.las.las+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.laszip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.leap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.logipipe.circuit+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.loom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\",\n \"extensions\": [\"mvt\"]\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxar.archive.3tz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.microsoft.windows.thumbnail-cache\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-outlook\": {\n \"compressible\": false,\n \"extensions\": [\"msg\"]\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-printschematicket+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.nacamar.ybrid+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nearst.inv+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nebumind.line\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nimn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ac\"]\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ocf+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oci.image.manifest.v1+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.lwm2m+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+tlv\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepager\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertat\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"obgx\"]\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openstreetmap.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osm\"]\n },\n \"application/vnd.opentimestamps.ots\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patentdive\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patientecommsdoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.psfs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quarantainenet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rar\": {\n \"source\": \"iana\",\n \"extensions\": [\"rar\"]\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.resilient.logic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.restful+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.seis+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shade-save-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.shootproof+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shopkick+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sigrok.session\": {\n \"source\": \"iana\"\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.snesdev-page-table\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fo\"]\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wadl\"]\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sycle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.syft+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"ddf\"]\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tableschema+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.think-cell.ppttc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.tri.onesource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vel+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.veritone.aion+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.veryant.thin\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ves.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.dpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vxml\"]\n },\n \"application/voucher-cms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/wasm\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wasm\"]\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wif\"]\n },\n \"application/webpush-options+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-arj\": {\n \"compressible\": false,\n \"extensions\": [\"arj\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-iwork-keynote-sffkey\": {\n \"extensions\": [\"key\"]\n },\n \"application/x-iwork-numbers-sffnumbers\": {\n \"extensions\": [\"numbers\"]\n },\n \"application/x-iwork-pages-sffpages\": {\n \"extensions\": [\"pages\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-keepass2\": {\n \"extensions\": [\"kdbx\"]\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-pki-message\": {\n \"source\": \"iana\"\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-virtualbox-hdd\": {\n \"compressible\": true,\n \"extensions\": [\"hdd\"]\n },\n \"application/x-virtualbox-ova\": {\n \"compressible\": true,\n \"extensions\": [\"ova\"]\n },\n \"application/x-virtualbox-ovf\": {\n \"compressible\": true,\n \"extensions\": [\"ovf\"]\n },\n \"application/x-virtualbox-vbox\": {\n \"compressible\": true,\n \"extensions\": [\"vbox\"]\n },\n \"application/x-virtualbox-vbox-extpack\": {\n \"compressible\": false,\n \"extensions\": [\"vbox-extpack\"]\n },\n \"application/x-virtualbox-vdi\": {\n \"compressible\": true,\n \"extensions\": [\"vdi\"]\n },\n \"application/x-virtualbox-vhd\": {\n \"compressible\": true,\n \"extensions\": [\"vhd\"]\n },\n \"application/x-virtualbox-vmdk\": {\n \"compressible\": true,\n \"extensions\": [\"vmdk\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-x509-ca-ra-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-x509-next-ca-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xav\"]\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xca\"]\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xel\"]\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xns\"]\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/xliff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\",\"rng\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xsl\",\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yang-data+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"application/zstd\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"3gpp\"]\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/aac\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\",\n \"extensions\": [\"amr\"]\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/flexfec\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/melp\": {\n \"source\": \"iana\"\n },\n \"audio/melp1200\": {\n \"source\": \"iana\"\n },\n \"audio/melp2400\": {\n \"source\": \"iana\"\n },\n \"audio/melp600\": {\n \"source\": \"iana\"\n },\n \"audio/mhas\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxmf\"]\n },\n \"audio/mp3\": {\n \"compressible\": false,\n \"extensions\": [\"mp3\"]\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"m4a\",\"mp4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\",\"opus\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/scip\": {\n \"source\": \"iana\"\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sofa\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp_bb\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/tsvcis\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/usac\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dts.uhd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.presonus.multitrack\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/collection\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttc\"]\n },\n \"font/otf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"font/sfnt\": {\n \"source\": \"iana\"\n },\n \"font/ttf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttf\"]\n },\n \"font/woff\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff\"]\n },\n \"font/woff2\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff2\"]\n },\n \"image/aces\": {\n \"source\": \"iana\",\n \"extensions\": [\"exr\"]\n },\n \"image/apng\": {\n \"compressible\": false,\n \"extensions\": [\"apng\"]\n },\n \"image/avci\": {\n \"source\": \"iana\",\n \"extensions\": [\"avci\"]\n },\n \"image/avcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"avcs\"]\n },\n \"image/avif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"avif\"]\n },\n \"image/bmp\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/dicom-rle\": {\n \"source\": \"iana\",\n \"extensions\": [\"drle\"]\n },\n \"image/emf\": {\n \"source\": \"iana\",\n \"extensions\": [\"emf\"]\n },\n \"image/fits\": {\n \"source\": \"iana\",\n \"extensions\": [\"fits\"]\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/heic\": {\n \"source\": \"iana\",\n \"extensions\": [\"heic\"]\n },\n \"image/heic-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heics\"]\n },\n \"image/heif\": {\n \"source\": \"iana\",\n \"extensions\": [\"heif\"]\n },\n \"image/heif-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heifs\"]\n },\n \"image/hej2k\": {\n \"source\": \"iana\",\n \"extensions\": [\"hej2\"]\n },\n \"image/hsj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"hsj2\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jls\": {\n \"source\": \"iana\",\n \"extensions\": [\"jls\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jp2\",\"jpg2\"]\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jph\": {\n \"source\": \"iana\",\n \"extensions\": [\"jph\"]\n },\n \"image/jphc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jhc\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpm\"]\n },\n \"image/jpx\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpx\",\"jpf\"]\n },\n \"image/jxr\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxr\"]\n },\n \"image/jxra\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxra\"]\n },\n \"image/jxrs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxrs\"]\n },\n \"image/jxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxs\"]\n },\n \"image/jxsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsc\"]\n },\n \"image/jxsi\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsi\"]\n },\n \"image/jxss\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxss\"]\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/ktx2\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx2\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\",\n \"extensions\": [\"pti\"]\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\",\n \"extensions\": [\"t38\"]\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tif\",\"tiff\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfx\"]\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\",\n \"extensions\": [\"azv\"]\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-dds\": {\n \"compressible\": true,\n \"extensions\": [\"dds\"]\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.pco.b16\": {\n \"source\": \"iana\",\n \"extensions\": [\"b16\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tap\"]\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtf\"]\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcx\"]\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/wmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmf\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\n \"disposition-notification\"\n ]\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8msg\"]\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8dsn\"]\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8mdn\"]\n },\n \"message/global-headers\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8hdr\"]\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsc\"]\n },\n \"model/3mf\": {\n \"source\": \"iana\",\n \"extensions\": [\"3mf\"]\n },\n \"model/e57\": {\n \"source\": \"iana\"\n },\n \"model/gltf+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gltf\"]\n },\n \"model/gltf-binary\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"glb\"]\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/mtl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mtl\"]\n },\n \"model/obj\": {\n \"source\": \"iana\",\n \"extensions\": [\"obj\"]\n },\n \"model/step\": {\n \"source\": \"iana\"\n },\n \"model/step+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"stpx\"]\n },\n \"model/step+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpz\"]\n },\n \"model/step-xml+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpxz\"]\n },\n \"model/stl\": {\n \"source\": \"iana\",\n \"extensions\": [\"stl\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\",\n \"extensions\": [\"ogex\"]\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_b\"]\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_t\"]\n },\n \"model/vnd.pytha.pyox\": {\n \"source\": \"iana\"\n },\n \"model/vnd.rosette.annotated-data-model\": {\n \"source\": \"iana\"\n },\n \"model/vnd.sap.vds\": {\n \"source\": \"iana\",\n \"extensions\": [\"vds\"]\n },\n \"model/vnd.usdz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"usdz\"]\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\",\n \"extensions\": [\"bsp\"]\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3db\"]\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3dv\"]\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\"\n },\n \"multipart/multilingual\": {\n \"source\": \"iana\"\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/vnd.bint.med-plus\": {\n \"source\": \"iana\"\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/cql\": {\n \"source\": \"iana\"\n },\n \"text/cql-expression\": {\n \"source\": \"iana\"\n },\n \"text/cql-identifier\": {\n \"source\": \"iana\"\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fhirpath\": {\n \"source\": \"iana\"\n },\n \"text/flexfec\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/gff3\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"compressible\": true,\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\"]\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mdx\": {\n \"compressible\": true,\n \"extensions\": [\"mdx\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/prs.prop.logic\": {\n \"source\": \"iana\"\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/shaclc\": {\n \"source\": \"iana\"\n },\n \"text/shex\": {\n \"source\": \"iana\",\n \"extensions\": [\"shex\"]\n },\n \"text/slim\": {\n \"extensions\": [\"slim\",\"slm\"]\n },\n \"text/spdx\": {\n \"source\": \"iana\",\n \"extensions\": [\"spdx\"]\n },\n \"text/strings\": {\n \"source\": \"iana\"\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ascii-art\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.familysearch.gedcom\": {\n \"source\": \"iana\",\n \"extensions\": [\"ged\"]\n },\n \"text/vnd.ficlab.flt\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.gml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.hans\": {\n \"source\": \"iana\"\n },\n \"text/vnd.hgl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.senx.warpscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sosi\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-org\": {\n \"compressible\": true,\n \"extensions\": [\"org\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"compressible\": true,\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"video/3gpp\": {\n \"source\": \"iana\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"iana\"\n },\n \"video/3gpp2\": {\n \"source\": \"iana\",\n \"extensions\": [\"3g2\"]\n },\n \"video/av1\": {\n \"source\": \"iana\"\n },\n \"video/bmpeg\": {\n \"source\": \"iana\"\n },\n \"video/bt656\": {\n \"source\": \"iana\"\n },\n \"video/celb\": {\n \"source\": \"iana\"\n },\n \"video/dv\": {\n \"source\": \"iana\"\n },\n \"video/encaprtp\": {\n \"source\": \"iana\"\n },\n \"video/ffv1\": {\n \"source\": \"iana\"\n },\n \"video/flexfec\": {\n \"source\": \"iana\"\n },\n \"video/h261\": {\n \"source\": \"iana\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"iana\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"iana\"\n },\n \"video/h263-2000\": {\n \"source\": \"iana\"\n },\n \"video/h264\": {\n \"source\": \"iana\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"iana\"\n },\n \"video/h264-svc\": {\n \"source\": \"iana\"\n },\n \"video/h265\": {\n \"source\": \"iana\"\n },\n \"video/iso.segment\": {\n \"source\": \"iana\",\n \"extensions\": [\"m4s\"]\n },\n \"video/jpeg\": {\n \"source\": \"iana\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"iana\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/jxsv\": {\n \"source\": \"iana\"\n },\n \"video/mj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"iana\"\n },\n \"video/mp2p\": {\n \"source\": \"iana\"\n },\n \"video/mp2t\": {\n \"source\": \"iana\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"iana\"\n },\n \"video/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"video/mpv\": {\n \"source\": \"iana\"\n },\n \"video/nv\": {\n \"source\": \"iana\"\n },\n \"video/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"iana\"\n },\n \"video/pointer\": {\n \"source\": \"iana\"\n },\n \"video/quicktime\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raptorfec\": {\n \"source\": \"iana\"\n },\n \"video/raw\": {\n \"source\": \"iana\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"video/rtploopback\": {\n \"source\": \"iana\"\n },\n \"video/rtx\": {\n \"source\": \"iana\"\n },\n \"video/scip\": {\n \"source\": \"iana\"\n },\n \"video/smpte291\": {\n \"source\": \"iana\"\n },\n \"video/smpte292m\": {\n \"source\": \"iana\"\n },\n \"video/ulpfec\": {\n \"source\": \"iana\"\n },\n \"video/vc1\": {\n \"source\": \"iana\"\n },\n \"video/vc2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"iana\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"iana\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"iana\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.mp4vr\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"iana\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.bink\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.smacker\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"iana\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"iana\",\n \"extensions\": [\"viv\"]\n },\n \"video/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"video/vp8\": {\n \"source\": \"iana\"\n },\n \"video/vp9\": {\n \"source\": \"iana\"\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","// populates missing values\nmodule.exports = function(dst, src) {\n\n Object.keys(src).forEach(function(prop)\n {\n dst[prop] = dst[prop] || src[prop];\n });\n\n return dst;\n};\n","var CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar populate = require('./populate.js');\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {};\n for (var option in options) {\n this[option] = options[option];\n }\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n options = options || {};\n\n // allow filename as single option\n if (typeof options == 'string') {\n options = {filename: options};\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value == 'number') {\n value = '' + value;\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n // Please convert your array into string\n // the way web server expects it\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n var valueLength = 0;\n\n // used w/ getLengthSync(), when length is known.\n // e.g. for streaming directly from a remote server,\n // w/ a known file a size, and not wanting to wait for\n // incoming file to finish to get its size.\n if (options.knownLength != null) {\n valueLength += +options.knownLength;\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength +=\n Buffer.byteLength(header) +\n FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || ( !value.path && !(value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n if (Object.prototype.hasOwnProperty.call(value, 'fd')) {\n\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function(err, stat) {\n\n var fileSize;\n\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {\n callback(null, +value.headers['content-length']);\n\n // or request stream http://github.com/mikeal/request\n } else if (Object.prototype.hasOwnProperty.call(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function(response) {\n value.pause();\n callback(null, +response.headers['content-length']);\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream');\n }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n // custom header specified (as string)?\n // it becomes responsible for boundary\n // (e.g. to handle extra CRLFs on .NET servers)\n if (typeof options.header == 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header == 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) {\n if (Object.prototype.hasOwnProperty.call(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue;\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n var filename\n , contentDisposition\n ;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || value.name || value.path) {\n // custom filename take precedence\n // formidable and the browser add a name property\n // fs- and request- streams have path property\n filename = path.basename(options.filename || value.name || value.path);\n } else if (value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n contentDisposition = 'filename=\"' + filename + '\"';\n }\n\n return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && typeof value == 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n return function(next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = (this._streams.length === 0);\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) {\n if (Object.prototype.hasOwnProperty.call(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function(boundary) {\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function() {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function() {\n var dataBuffer = new Buffer.alloc(0);\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n\n // Add content to the buffer.\n if(Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);\n }else {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );\n};\n\nFormData.prototype._generateBoundary = function() {\n // This generates a 50 character boundary similar to those used by Firefox.\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n // so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n // Some async length retrievers are present\n // therefore synchronous length calculation is false.\n // Please use getLength(callback) to get proper length\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function(length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function(params, cb) {\n var request\n , options\n , defaults = {method: 'post'}\n ;\n\n // parse provided url if it's string\n // or treat it as options object\n if (typeof params == 'string') {\n\n params = parseUrl(params);\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n\n // use custom params\n } else {\n\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol == 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol == 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function(err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function(err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData, 'FormData');\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","import axios from 'axios';\r\nimport settle from 'axios/lib/core/settle';\r\nimport buildURL from 'axios/lib/helpers/buildURL';\r\nimport buildFullPath from 'axios/lib/core/buildFullPath';\r\nimport { isUndefined, isStandardBrowserEnv, isFormData } from 'axios/lib/utils';\r\n\r\n/**\r\n * - Create a request object\r\n * - Get response body\r\n * - Check if timeout\r\n */\r\nexport default async function fetchAdapter(config) {\r\n const request = createRequest(config);\r\n const promiseChain = [getResponse(request, config)];\r\n\r\n if (config.timeout && config.timeout > 0) {\r\n promiseChain.push(\r\n new Promise((res) => {\r\n setTimeout(() => {\r\n const message = config.timeoutErrorMessage\r\n ? config.timeoutErrorMessage\r\n : 'timeout of ' + config.timeout + 'ms exceeded';\r\n res(createError(message, config, 'ECONNABORTED', request));\r\n }, config.timeout);\r\n })\r\n );\r\n }\r\n\r\n const data = await Promise.race(promiseChain);\r\n return new Promise((resolve, reject) => {\r\n if (data instanceof Error) {\r\n reject(data);\r\n } else {\r\n Object.prototype.toString.call(config.settle) === '[object Function]'\r\n ? config.settle(resolve, reject, data)\r\n : settle(resolve, reject, data);\r\n }\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Fetch API stage two is to get response body. This funtion tries to retrieve\r\n * response body based on response's type\r\n */\r\nasync function getResponse(request, config) {\r\n let stageOne;\r\n try {\r\n stageOne = await fetch(request);\r\n } catch (e) {\r\n return createError('Network Error', config, 'ERR_NETWORK', request);\r\n }\r\n\r\n const response = {\r\n ok: stageOne.ok,\r\n status: stageOne.status,\r\n statusText: stageOne.statusText,\r\n headers: new Headers(stageOne.headers), // Make a copy of headers\r\n config: config,\r\n request,\r\n };\r\n\r\n if (stageOne.status >= 200 && stageOne.status !== 204) {\r\n switch (config.responseType) {\r\n case 'arraybuffer':\r\n response.data = await stageOne.arrayBuffer();\r\n break;\r\n case 'blob':\r\n response.data = await stageOne.blob();\r\n break;\r\n case 'json':\r\n response.data = await stageOne.json();\r\n break;\r\n case 'formData':\r\n response.data = await stageOne.formData();\r\n break;\r\n default:\r\n response.data = await stageOne.text();\r\n break;\r\n }\r\n }\r\n\r\n return response;\r\n}\r\n\r\n/**\r\n * This function will create a Request object based on configuration's axios\r\n */\r\nfunction createRequest(config) {\r\n const headers = new Headers(config.headers);\r\n\r\n // HTTP basic authentication\r\n if (config.auth) {\r\n const username = config.auth.username || '';\r\n const password = config.auth.password ? decodeURI(encodeURIComponent(config.auth.password)) : '';\r\n headers.set('Authorization', `Basic ${btoa(username + ':' + password)}`);\r\n }\r\n\r\n const method = config.method.toUpperCase();\r\n const options = {\r\n headers: headers,\r\n method,\r\n };\r\n if (method !== 'GET' && method !== 'HEAD') {\r\n options.body = config.data;\r\n\r\n // In these cases the browser will automatically set the correct Content-Type,\r\n // but only if that header hasn't been set yet. So that's why we're deleting it.\r\n if (isFormData(options.body) && isStandardBrowserEnv()) {\r\n headers.delete('Content-Type');\r\n }\r\n }\r\n if (config.mode) {\r\n options.mode = config.mode;\r\n }\r\n if (config.cache) {\r\n options.cache = config.cache;\r\n }\r\n if (config.integrity) {\r\n options.integrity = config.integrity;\r\n }\r\n if (config.redirect) {\r\n options.redirect = config.redirect;\r\n }\r\n if (config.referrer) {\r\n options.referrer = config.referrer;\r\n }\r\n // This config is similar to XHR’s withCredentials flag, but with three available values instead of two.\r\n // So if withCredentials is not set, default value 'same-origin' will be used\r\n if (!isUndefined(config.withCredentials)) {\r\n options.credentials = config.withCredentials ? 'include' : 'omit';\r\n }\r\n\r\n const fullPath = buildFullPath(config.baseURL, config.url);\r\n const url = buildURL(fullPath, config.params, config.paramsSerializer);\r\n\r\n // Expected browser to throw error if there is any wrong configuration value\r\n return new Request(url, options);\r\n}\r\n\r\n\r\n\r\n/**\r\n * Note:\r\n * \r\n * From version >= 0.27.0, createError function is replaced by AxiosError class.\r\n * So I copy the old createError function here for backward compatible.\r\n * \r\n * \r\n * \r\n * Create an Error with the specified message, config, error code, request and response.\r\n *\r\n * @param {string} message The error message.\r\n * @param {Object} config The config.\r\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\r\n * @param {Object} [request] The request.\r\n * @param {Object} [response] The response.\r\n * @returns {Error} The created error.\r\n */\r\nfunction createError(message, config, code, request, response) {\r\n if (axios.AxiosError && typeof axios.AxiosError === 'function') {\r\n return new axios.AxiosError(message, axios.AxiosError[code], config, request, response);\r\n }\r\n\r\n var error = new Error(message);\r\n return enhanceError(error, config, code, request, response);\r\n};\r\n\r\n/**\r\n * \r\n * Note:\r\n * \r\n * This function is for backward compatible.\r\n * \r\n * \r\n * Update an Error with the specified config, error code, and response.\r\n *\r\n * @param {Error} error The error to update.\r\n * @param {Object} config The config.\r\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\r\n * @param {Object} [request] The request.\r\n * @param {Object} [response] The response.\r\n * @returns {Error} The error.\r\n */\r\nfunction enhanceError(error, config, code, request, response) {\r\n error.config = config;\r\n if (code) {\r\n error.code = code;\r\n }\r\n\r\n error.request = request;\r\n error.response = response;\r\n error.isAxiosError = true;\r\n\r\n error.toJSON = function toJSON() {\r\n return {\r\n // Standard\r\n message: this.message,\r\n name: this.name,\r\n // Microsoft\r\n description: this.description,\r\n number: this.number,\r\n // Mozilla\r\n fileName: this.fileName,\r\n lineNumber: this.lineNumber,\r\n columnNumber: this.columnNumber,\r\n stack: this.stack,\r\n // Axios\r\n config: this.config,\r\n code: this.code,\r\n status: this.response && this.response.status ? this.response.status : null\r\n };\r\n };\r\n return error;\r\n};\r\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import { type KwilSigner, NodeKwil, WebKwil } from \"@idos-network/kwil-js\";\nimport type { Config } from \"@idos-network/kwil-js/dist/api_client/config\";\nimport type {\n ActionBody,\n CallBody,\n PositionalParams,\n} from \"@idos-network/kwil-js/dist/core/action\";\nimport type { DataInfo } from \"@idos-network/kwil-js/dist/core/database\";\nimport fetchAdapter from \"@vespaiach/axios-fetch-adapter\";\nimport Axios from \"axios\";\nimport invariant from \"tiny-invariant\";\nimport type { ActionSchemaElement } from \"../kwil-actions\";\nimport { actionSchema } from \"../kwil-actions\";\n\ntype CreateKwilClientParams = {\n chainId?: string;\n nodeUrl: string;\n};\n\ntype KwilActions = typeof actionSchema;\ntype ActionName = keyof KwilActions;\n\ntype AllKwilCallAction = {\n [Name in ActionName]: {\n name: Name;\n // biome-ignore lint/suspicious/noExplicitAny: This is fine\n inputs: Record<KwilActions[Name][number][\"name\"], any>;\n };\n};\n\ntype KwilCallActionRequestParams = AllKwilCallAction[ActionName];\n\ntype AllKwilExecuteAction = {\n [Name in ActionName]: AllKwilCallAction[Name] & { description: string };\n};\n\ntype KwilExecuteActionRequestParams = AllKwilExecuteAction[ActionName];\n\n/**\n * A client for interacting with kwil with type-safe abstractions for `call` and `execute`.\n * Has utility methods for creating actions and setting a signer.\n */\nexport class KwilActionClient {\n signer?: KwilSigner;\n readonly client: NodeKwil | WebKwil;\n\n constructor(client: NodeKwil | WebKwil) {\n this.client = client;\n }\n\n #createActionInputs(actionName: string, params: Record<string, unknown> = {}): PositionalParams {\n if (!params || !Object.keys(params).length) return [];\n\n const args = (actionSchema as Record<string, readonly ActionSchemaElement[]>)[actionName];\n\n return args.map(({ name }) => {\n const value = params[name];\n // Handle falsy values appropriately\n if (value === \"\" || value === 0) return value;\n return value ?? null;\n }) as PositionalParams;\n }\n\n #actionTypes(actionName: string): DataInfo[] {\n const args = actionSchema[actionName];\n return args.map((arg) => arg.type);\n }\n\n /**\n * Calls an action on the kwil nodes. This similar to `GET` like request.\n */\n async call<T = unknown>(\n params: KwilCallActionRequestParams,\n signer: KwilSigner | undefined = this.signer,\n ): Promise<T> {\n const action: CallBody = {\n name: params.name,\n namespace: \"main\",\n inputs: this.#createActionInputs(params.name, params.inputs),\n types: this.#actionTypes(params.name),\n };\n\n const response = await this.client.call(action as CallBody, signer);\n return response?.data?.result as T;\n }\n\n /**\n * Executes an action on the kwil nodes. This similar to `POST` like request.\n */\n async execute(\n params: KwilExecuteActionRequestParams,\n signer: KwilSigner | undefined = this.signer,\n synchronous = true,\n ): Promise<string | undefined> {\n invariant(signer, \"Signer is not set, you must set it before executing an action\");\n const action: ActionBody = {\n name: params.name,\n namespace: \"main\",\n description: params.description,\n inputs: [this.#createActionInputs(params.name, params.inputs)],\n types: this.#actionTypes(params.name),\n };\n const response = await this.client.execute(action, signer, synchronous);\n return response.data?.tx_hash;\n }\n\n setSigner(signer: KwilSigner | undefined): void {\n this.signer = signer;\n }\n\n /**\n * Creates action inputs from the given parameters that are used in the action body.\n */\n}\n\nconst DEFAULT_TIMEOUT = 30_000;\n\nconst createKwilClient =\n (Cls: new (opts: Config) => NodeKwil | WebKwil) =>\n async ({ nodeUrl: kwilProvider, chainId }: CreateKwilClientParams): Promise<KwilActionClient> => {\n const _kwil = new Cls({ kwilProvider, chainId: \"\" });\n chainId ||= (await _kwil.chainInfo({ disableWarning: true })).data?.chain_id;\n invariant(chainId, \"Can't discover `chainId`. You must pass it explicitly.\");\n\n const client = new KwilActionClient(\n new Cls({ kwilProvider, chainId, timeout: DEFAULT_TIMEOUT }),\n );\n\n // TODO: Remove this when kwil-js upgrade to latest axios version\n // @ts-expect-error This is required to check if we are in chrome-extension environment\n if (typeof chrome !== \"undefined\" && chrome.runtime?.id) {\n console.warn(\"🔑 chrome extension detected, patching kwil client\");\n // @ts-expect-error This is expected since we are patching private method\n client.client.request = function () {\n // biome-ignore lint/suspicious/noExplicitAny: This is kwil's code\n const headers: any = {};\n\n // @ts-expect-error This is expected since we are patching private method\n if (this.cookie) {\n // @ts-expect-error This is expected since we are patching private method\n headers.Cookie = this.cookie;\n }\n\n const instance = Axios.create({\n // @ts-expect-error This is expected since we are patching private method\n baseURL: this.config.kwilProvider,\n // @ts-expect-error This is expected since we are patching private method\n timeout: this.config.timeout,\n maxContentLength: 1024 * 1024 * 512,\n withCredentials: true,\n adapter: fetchAdapter,\n headers,\n });\n\n // @ts-expect-error This is expected since we are patching private method\n if (this.config.logging) {\n instance.interceptors.request.use((request) => {\n // @ts-expect-error This is expected since we are patching private method\n this.config.logger(`Requesting: ${request.baseURL}${request.url}`);\n return request;\n });\n\n instance.interceptors.response.use((response) => {\n // @ts-expect-error This is expected since we are patching private method\n this.config.logger(`Response: ${response.config.url} - ${response.status}`);\n return response;\n });\n }\n return instance;\n };\n }\n\n return client;\n };\n\n/**\n * Create a kwil client for node.js environment\n */\nexport const createNodeKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient> =\n createKwilClient(NodeKwil);\n\n/**\n * Create a kwil client for browser environment\n */\nexport const createWebKwilClient: (params: CreateKwilClientParams) => Promise<KwilActionClient> =\n createKwilClient(WebKwil);\n","import { KwilSigner } from \"@idos-network/kwil-js\";\nimport {\n base64Decode,\n binaryWriteUint16BE,\n borshSerialize,\n bs58Decode,\n bytesConcat,\n hexEncode,\n utf8Decode,\n} from \"@idos-network/utils/codecs\";\nimport type { Store } from \"@idos-network/utils/store\";\nimport type {\n Wallet as NearWallet,\n SignedMessage,\n SignMessageParams,\n} from \"@near-wallet-selector/core\";\nimport type { connect as connectT } from \"near-api-js\";\nimport type { AccessKeyList } from \"near-api-js/lib/providers/provider\";\nimport type { KwilActionClient } from \"../create-kwil-client\";\nimport { getNearConnectionConfig } from \"./get-config\";\n\nconst NEAR_WALLET_TYPES: string[] = [\n \"browser\",\n \"injected\",\n \"instant-link\",\n \"hardware\",\n \"bridge\",\n] satisfies NearWallet[\"type\"][];\n\nexport function looksLikeNearWallet(signer: unknown): signer is NearWallet {\n return (\n signer !== null &&\n typeof signer === \"object\" &&\n \"id\" in signer &&\n \"metadata\" in signer &&\n \"type\" in signer &&\n typeof signer.type === \"string\" &&\n NEAR_WALLET_TYPES.includes(signer.type)\n );\n}\n\nclass KwilNonce {\n bytes: Uint8Array;\n\n constructor(length = 32) {\n // We're in the browser, so there's a window.crypto for sure.\n /* global crypto */\n this.bytes = crypto.getRandomValues(new Uint8Array(length));\n }\n\n get clampUTF8() {\n return this.bytes.map((byte) => byte & 127);\n }\n}\n\n/**\n * Creates a signer function that can be used to sign messages with a NEAR wallet\n */\nfunction createNearWalletSigner(\n wallet: NearWallet,\n recipient: string,\n): (message: string | Uint8Array) => Promise<Uint8Array> {\n return async (message: string | Uint8Array): Promise<Uint8Array> => {\n const messageString = typeof message === \"string\" ? message : utf8Decode(message);\n\n if (!wallet.signMessage) {\n throw new Error(\"Only wallets with signMessage are supported.\");\n }\n\n const nonceSuggestion = Buffer.from(new KwilNonce(32).bytes);\n\n const {\n nonce = nonceSuggestion,\n signature,\n // @ts-ignore Signatures don't seem to be updated for NEP413 yet.\n callbackUrl,\n // biome-ignore lint/style/noNonNullAssertion: Only non-signing wallets return void.\n } = (await (\n wallet.signMessage as (\n _: SignMessageParams,\n ) => Promise<SignedMessage & { nonce?: Uint8Array }>\n )({\n message: messageString,\n recipient,\n nonce: nonceSuggestion,\n }))!;\n\n const nep413BorschSchema = {\n struct: {\n tag: \"u32\",\n message: \"string\",\n nonce: { array: { type: \"u8\", len: 32 } },\n recipient: \"string\",\n callbackUrl: { option: \"string\" },\n },\n };\n\n const nep413BorshParams = {\n tag: 2147484061,\n message: messageString,\n nonce: Array.from(nonce),\n recipient,\n callbackUrl,\n };\n\n const nep413BorshPayload = borshSerialize(nep413BorschSchema, nep413BorshParams);\n\n return bytesConcat(\n binaryWriteUint16BE(nep413BorshPayload.length),\n nep413BorshPayload,\n base64Decode(signature),\n );\n };\n}\n\nexport function implicitAddressFromPublicKey(publicKey: string): string {\n const key_without_prefix = publicKey.replace(/^ed25519:/, \"\");\n return hexEncode(bs58Decode(key_without_prefix));\n}\n\nexport async function getNearFullAccessPublicKeys(\n namedAddress: string,\n): Promise<string[] | undefined> {\n let connect: typeof connectT;\n try {\n connect = (await import(\"near-api-js\")).connect;\n } catch (_e) {\n throw new Error(\"Can't load near-api-js\");\n }\n const connectionConfig = getNearConnectionConfig(namedAddress);\n const nearConnection = await connect(connectionConfig);\n\n try {\n const response: AccessKeyList = await nearConnection.connection.provider.query({\n request_type: \"view_access_key_list\",\n finality: \"final\",\n account_id: namedAddress,\n });\n return response.keys\n .filter((element) => element.access_key.permission === \"FullAccess\")\n ?.map((i) => i.public_key);\n } catch {\n // `Near` failed if namedAddress contains uppercase symbols\n return;\n }\n}\n\nexport async function signNearMessage(\n wallet: NearWallet,\n message: string,\n recipient = \"idos.network\",\n): Promise<string> {\n const signer = createNearWalletSigner(wallet, recipient);\n const signedPayload = await signer(message);\n return hexEncode(signedPayload);\n}\n\nexport async function createNearWalletKwilSigner(\n wallet: NearWallet,\n currentAddress: string,\n store: Store,\n kwilClient: KwilActionClient,\n recipient = \"idos.network\",\n): Promise<KwilSigner> {\n if (!wallet.signMessage) throw new Error(\"Only wallets with signMessage are supported.\");\n\n if (wallet.id === \"my-near-wallet\") {\n const { accountId, signature, publicKey, error } = Object.fromEntries(\n new URLSearchParams(window.location.hash.slice(1)).entries(),\n );\n\n if (signature) {\n await store.set(\"signer-address\", accountId);\n await store.set(\"signer-public-key\", publicKey);\n }\n\n const signMessageOriginal = wallet.signMessage.bind(wallet);\n\n wallet.signMessage = async ({\n message,\n recipient,\n }: SignMessageParams): Promise<SignedMessage & { nonce?: Uint8Array }> => {\n if (error) return Promise.reject();\n\n const lastMessage = await store.get<string>(\"sign-last-message\");\n const lastNonce = await store.get<Uint8Array>(\"sign-last-nonce\");\n\n if (signature && message === lastMessage && lastNonce) {\n const nonce = Buffer.from(lastNonce);\n const callbackUrl = await store.get<string>(\"sign-last-url\");\n\n return Promise.resolve({\n accountId: currentAddress,\n publicKey,\n signature,\n nonce,\n message,\n callbackUrl,\n } as SignedMessage);\n }\n const callbackUrl = window.location.href;\n const nonce = Buffer.from(new KwilNonce(32).clampUTF8);\n\n await store.set(\"sign-last-message\", message);\n await store.set(\"sign-last-nonce\", Array.from(nonce));\n await store.set(\"sign-last-url\", callbackUrl);\n\n signMessageOriginal({ message, nonce, recipient, callbackUrl });\n\n return new Promise(() => ({}) as SignedMessage);\n };\n }\n\n const storedAddress = await store.get<string>(\"signer-address\");\n\n let publicKey = await store.get<string>(\"signer-public-key\");\n\n if (storedAddress !== currentAddress || !publicKey) {\n store.reset();\n // To avoid re-using the old signer's kgw cookie.\n // When kwil-js supports multi cookies, we can remove this.\n await kwilClient.client.auth.logoutKGW();\n\n const message = \"idOS authentication\";\n const nonce = Buffer.from(new KwilNonce(32).bytes);\n // biome-ignore lint/style/noNonNullAssertion: Only non-signing wallets return void.\n ({ publicKey } = (await wallet.signMessage({ message, recipient, nonce }))!);\n\n await store.set(\"signer-address\", currentAddress);\n await store.set(\"signer-public-key\", publicKey);\n }\n\n const signer = createNearWalletSigner(wallet, recipient);\n\n return new KwilSigner(signer, implicitAddressFromPublicKey(publicKey), \"nep413\");\n}\n","import {\n binaryWriteUint16BE,\n borshSerialize,\n bytesConcat,\n sha256Hash,\n utf8Decode,\n} from \"@idos-network/utils/codecs\";\nimport type { KeyPair } from \"near-api-js\";\n\nexport function kwilNep413Signer(\n recipient: string,\n): (keyPair: KeyPair) => (messageBytes: Uint8Array) => Promise<Uint8Array> {\n return (keyPair: KeyPair) =>\n async (messageBytes: Uint8Array): Promise<Uint8Array> => {\n const message = utf8Decode(messageBytes);\n const nonceLength = 32;\n const nonce = crypto.getRandomValues(new Uint8Array(nonceLength));\n\n const nep413BorschSchema = {\n struct: {\n message: \"string\",\n nonce: { array: { type: \"u8\", len: nonceLength } },\n recipient: \"string\",\n callbackUrl: { option: \"string\" },\n },\n } as const;\n\n const tag = 2147484061; // 2**31 + 413\n\n const { signature } = keyPair.sign(\n sha256Hash(\n bytesConcat(\n borshSerialize(\"u32\", tag),\n borshSerialize(nep413BorschSchema, { message, nonce, recipient }),\n ),\n ),\n );\n\n const kwilNep413BorschSchema = {\n struct: {\n tag: \"u32\",\n ...nep413BorschSchema.struct,\n },\n };\n\n const kwilNep413BorshParams = {\n tag,\n message,\n nonce,\n recipient,\n };\n\n const kwilNep413BorshPayload = borshSerialize(kwilNep413BorschSchema, kwilNep413BorshParams);\n\n return bytesConcat(\n binaryWriteUint16BE(kwilNep413BorshPayload.length),\n kwilNep413BorshPayload,\n signature,\n );\n };\n}\n","import { KwilSigner } from \"@idos-network/kwil-js\";\nimport { bs58Encode, hexDecode, hexEncode } from \"@idos-network/utils/codecs\";\nimport type { Store } from \"@idos-network/utils/store\";\nimport type { Keypair as StellarKeypair } from \"@stellar/stellar-sdk\";\nimport type { Wallet as EthersWallet, JsonRpcSigner } from \"ethers\";\nimport type { KeyPair as NearKeyPair } from \"near-api-js\";\nimport * as xrpKeypair from \"ripple-keypairs\";\nimport type { KeyPair as XrpKeyPair } from \"ripple-keypairs/src/types\";\nimport nacl from \"tweetnacl\";\nimport type { KwilActionClient } from \"../kwil-infra/create-kwil-client\";\nimport type { Wallet } from \"../types\";\nimport {\n createNearWalletKwilSigner,\n implicitAddressFromPublicKey,\n looksLikeNearWallet,\n} from \"./near/create-near-wallet-kwil-signer\";\nimport { kwilNep413Signer } from \"./nep413\";\nimport { createXrpKwilSigner } from \"./xrp/create-xrp-signer\";\nimport { getXrpPublicKey, looksLikeXrpWallet } from \"./xrp/utils\";\n\n/**\n * Helper function to check if the given object is a `nacl.SignKeyPair`.\n */\nfunction isNaclSignKeyPair(object: unknown): object is nacl.SignKeyPair {\n return (\n object !== null &&\n typeof object === \"object\" &&\n \"publicKey\" in object &&\n object.publicKey instanceof Uint8Array &&\n object.publicKey.length === nacl.sign.publicKeyLength &&\n \"secretKey\" in object &&\n object.secretKey instanceof Uint8Array &&\n object.secretKey.length === nacl.sign.secretKeyLength\n );\n}\n\n/**\n * Helper function to check if the given object is a NEAR KeyPair.\n */\nfunction isNearKeyPair(object: unknown): object is NearKeyPair {\n return (\n object !== null &&\n typeof object === \"object\" &&\n \"getPublicKey\" in object &&\n \"sign\" in object &&\n typeof object.getPublicKey === \"function\" &&\n typeof object.sign === \"function\"\n );\n}\n\n/**\n * Helper function to check if the given object is a Stellar Keypair.\n */\nfunction isStellarKeyPair(object: unknown): object is StellarKeypair {\n return (\n object !== null &&\n typeof object === \"object\" &&\n \"publicKey\" in object &&\n \"sign\" in object &&\n \"canSign\" in object &&\n typeof object.publicKey === \"function\" &&\n typeof object.sign === \"function\" &&\n typeof object.canSign === \"function\"\n );\n}\n\nexport interface CustomKwilSigner extends KwilSigner {\n publicAddress: string;\n signatureType: string;\n}\n\n/**\n * Helper function to check if the given object is a XRP KeyPair (Server key pairs only).\n */\nfunction isXrplKeyPair(object: unknown): object is XrpKeyPair {\n return !!object && typeof object === \"object\" && \"privateKey\" in object && \"publicKey\" in object;\n}\n\nexport type KwilSignerType =\n | NearKeyPair\n | EthersWallet\n | nacl.SignKeyPair\n | JsonRpcSigner\n | StellarKeypair\n | XrpKeyPair;\n\nexport type SignerAddress = string;\n\n/**\n * Creates a `KwilSigner` and its associated `SignerAddress`.\n *\n * This function is explicitly marked as being for backend use only because it doesn't reset\n * the KGW cookie when logging out and re-logging in with a different wallet.\n */\nexport function createServerKwilSigner(signer: KwilSignerType): [KwilSigner, SignerAddress] {\n if (isNaclSignKeyPair(signer)) {\n return [\n new KwilSigner(\n async (msg: Uint8Array) => nacl.sign.detached(msg, signer.secretKey),\n signer.publicKey,\n \"ed25519\",\n ),\n implicitAddressFromPublicKey(bs58Encode(signer.publicKey)),\n ];\n }\n\n if (isNearKeyPair(signer)) {\n const publicKey = implicitAddressFromPublicKey(signer.getPublicKey().toString());\n return [\n new KwilSigner(kwilNep413Signer(\"idos-issuer\")(signer), publicKey, \"nep413\"),\n publicKey,\n ];\n }\n\n if (isStellarKeyPair(signer)) {\n const publicKeyString = signer.publicKey();\n const rawPublicKey = signer.rawPublicKey();\n return [\n new KwilSigner(\n async (msg: Uint8Array) => signer.sign(Buffer.from(msg)),\n rawPublicKey,\n \"ed25519\",\n ),\n publicKeyString,\n ];\n }\n\n if (isXrplKeyPair(signer)) {\n return [\n new KwilSigner(\n async (msg: Uint8Array) => hexDecode(xrpKeypair.sign(hexEncode(msg), signer.privateKey)),\n signer.publicKey,\n \"xrpl\",\n ),\n signer.publicKey,\n ];\n }\n\n if (\"address\" in signer) {\n return [new KwilSigner(signer, signer.address), signer.address];\n }\n\n // Force the check that `signer` is never.\n // If these lines start complaining, that means we're missing an `if` above.\n return ((_: never) => {\n throw new Error(\"Invalid `signer` type\");\n })(signer);\n}\n\nexport async function createClientKwilSigner(\n store: Store,\n kwilClient: KwilActionClient,\n wallet: Wallet,\n): Promise<[KwilSigner, SignerAddress]> {\n if (\"connect\" in wallet && \"address\" in wallet) {\n //biome-ignore lint/style/noParameterAssign: we're narrowing the type on purpose.\n wallet = wallet as unknown as JsonRpcSigner;\n const currentAddress = await wallet.getAddress();\n\n const storedAddress = await store.get<string>(\"signer-address\");\n\n if (storedAddress !== currentAddress) {\n // To avoid re-using the old signer's kgw cookie.\n // When kwil-js supports multi cookies, we can remove this.\n store.set(\"signer-address\", currentAddress);\n try {\n await kwilClient.client.auth.logoutKGW();\n } catch (error) {\n console.log(\"error logoutKGW\", error);\n }\n }\n\n return [new KwilSigner(wallet, currentAddress), currentAddress];\n }\n\n if (looksLikeNearWallet(wallet)) {\n const accountId = (await wallet.getAccounts())[0].accountId;\n\n return [await createNearWalletKwilSigner(wallet, accountId, store, kwilClient), accountId];\n }\n\n if (looksLikeXrpWallet(wallet)) {\n const { address: currentAddress, publicKey: walletPublicKey } = (await getXrpPublicKey(\n wallet,\n )) as { address: string; publicKey: string };\n if (!currentAddress) {\n throw new Error(\"Failed to get XRP address\");\n }\n\n return [\n await createXrpKwilSigner(wallet, currentAddress, store, kwilClient, walletPublicKey),\n currentAddress,\n ];\n }\n\n if (\"signatureType\" in wallet && \"publicAddress\" in wallet) {\n return [wallet, wallet.publicAddress];\n }\n\n // Force the check that `signer` is `never`.\n // If these lines start complaining, that means we're missing an `if` above.\n return ((_: never) => {\n throw new Error(\"Invalid `signer` type\");\n })(wallet);\n}\n","import {\n Ed25519VerificationKey2020,\n type Ed25519VerificationKey2020Options,\n} from \"@digitalbazaar/ed25519-verification-key-2020\";\nimport * as base85 from \"base85\";\nimport type { CredentialFields, CredentialResidentialAddress, CredentialSubject } from \"./types\";\n\nexport function fileToBase85(file: Buffer): string {\n return base85.encode(file, \"ascii85\");\n}\n\nexport function base85ToFile(data: string): Buffer | false {\n return base85.decode(data);\n}\n\nexport function capitalizeFirstLetter(str: string): string {\n return str[0].toUpperCase() + str.slice(1);\n}\n\nexport interface CustomIssuerType {\n issuer: string;\n\n /* Multibase encoded public key */\n publicKeyMultibase: string;\n\n /* Multibase encoded private key */\n privateKeyMultibase?: string;\n\n /* id and controller will be generated by the library */\n}\n\nexport type AvailableIssuerType =\n | Omit<Ed25519VerificationKey2020Options, \"type\">\n | Ed25519VerificationKey2020\n | CustomIssuerType;\n\nfunction isIssuerKey(issuer: AvailableIssuerType): issuer is Ed25519VerificationKey2020 {\n return (\n typeof issuer === \"object\" &&\n issuer !== null &&\n \"type\" in issuer &&\n \"id\" in issuer &&\n \"controller\" in issuer\n );\n}\n\nfunction isCustomIssuerType(issuer: AvailableIssuerType): issuer is CustomIssuerType {\n return (\n typeof issuer === \"object\" &&\n issuer !== null &&\n \"issuer\" in issuer &&\n \"publicKeyMultibase\" in issuer\n );\n}\n\nexport async function issuerToKey(\n issuer: AvailableIssuerType,\n): Promise<Ed25519VerificationKey2020> {\n if (isIssuerKey(issuer)) {\n return issuer;\n }\n\n if (isCustomIssuerType(issuer)) {\n return await Ed25519VerificationKey2020.from({\n id: `${issuer.issuer}/keys/1`,\n controller: `${issuer.issuer}/issuers/1`,\n publicKeyMultibase: issuer.publicKeyMultibase,\n privateKeyMultibase: issuer.privateKeyMultibase,\n type: \"Ed25519VerificationKey2020\",\n });\n }\n\n return await Ed25519VerificationKey2020.from({ ...issuer, type: \"Ed25519VerificationKey2020\" });\n}\n\nexport function convertValues<\n K extends CredentialFields | CredentialSubject | CredentialResidentialAddress,\n>(fields: K, prefix?: string): Record<string, unknown> {\n const acc: Record<string, unknown> = {};\n\n for (const key in fields) {\n if (Object.hasOwn(fields, key)) {\n const value = fields[key];\n const name = prefix ? `${prefix}${capitalizeFirstLetter(key)}` : key;\n if (value instanceof Date) {\n acc[name] = value.toISOString();\n } else if (value instanceof Buffer) {\n // Convert file to base85\n acc[name] = fileToBase85(value);\n } else {\n acc[name] = value;\n }\n }\n }\n\n return acc;\n}\n","{\n \"@context\": {\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"@protected\": true,\n \"proof\": {\n \"@id\": \"https://w3id.org/security#proof\",\n \"@type\": \"@id\",\n \"@container\": \"@graph\"\n },\n \"Ed25519VerificationKey2020\": {\n \"@id\": \"https://w3id.org/security#Ed25519VerificationKey2020\",\n \"@context\": {\n \"@protected\": true,\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"controller\": {\n \"@id\": \"https://w3id.org/security#controller\",\n \"@type\": \"@id\"\n },\n \"revoked\": {\n \"@id\": \"https://w3id.org/security#revoked\",\n \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n },\n \"publicKeyMultibase\": {\n \"@id\": \"https://w3id.org/security#publicKeyMultibase\",\n \"@type\": \"https://w3id.org/security#multibase\"\n }\n }\n },\n \"Ed25519Signature2020\": {\n \"@id\": \"https://w3id.org/security#Ed25519Signature2020\",\n \"@context\": {\n \"@protected\": true,\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"challenge\": \"https://w3id.org/security#challenge\",\n \"created\": {\n \"@id\": \"http://purl.org/dc/terms/created\",\n \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n },\n \"domain\": \"https://w3id.org/security#domain\",\n \"expires\": {\n \"@id\": \"https://w3id.org/security#expiration\",\n \"@type\": \"http://www.w3.org/2001/XMLSchema#dateTime\"\n },\n \"nonce\": \"https://w3id.org/security#nonce\",\n \"proofPurpose\": {\n \"@id\": \"https://w3id.org/security#proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@protected\": true,\n \"id\": \"@id\",\n \"type\": \"@type\",\n \"assertionMethod\": {\n \"@id\": \"https://w3id.org/security#assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"https://w3id.org/security#authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"capabilityInvocation\": {\n \"@id\": \"https://w3id.org/security#capabilityInvocationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"capabilityDelegation\": {\n \"@id\": \"https://w3id.org/security#capabilityDelegationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"keyAgreement\": {\n \"@id\": \"https://w3id.org/security#keyAgreementMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": {\n \"@id\": \"https://w3id.org/security#proofValue\",\n \"@type\": \"https://w3id.org/security#multibase\"\n },\n \"verificationMethod\": {\n \"@id\": \"https://w3id.org/security#verificationMethod\",\n \"@type\": \"@id\"\n }\n }\n }\n }\n}\n","{\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"aux\": \"https://raw.githubusercontent.com/idos-network/idos-sdk-js/168f449a799620123bc7b01fc224423739500f94/packages/issuer-sdk-js/assets/country-codes.xml\",\n \"applicantId\": \"xsd:string\",\n \"inquiryId\": \"xsd:string\",\n \"firstName\": \"xsd:string\",\n \"middleName\": \"xsd:string\",\n \"nationality\": \"aux:ISO_3166-1_alpha-2\",\n \"familyName\": \"xsd:string\",\n \"maidenName\": \"xsd:string\",\n \"gender\": \"xsd:string\",\n \"governmentId\": \"xsd:string\",\n \"governmentIdType\": \"xsd:string\",\n \"email\": \"xsd:string\",\n \"ssn\": \"xsd:string\",\n \"phoneNumber\": \"xsd:string\",\n \"dateOfBirth\": \"aux:date\",\n \"placeOfBirth\": \"xsd:string\",\n \"idDocumentCountry\": \"xsd:string\",\n \"idDocumentNumber\": \"xsd:string\",\n \"idDocumentType\": \"xsd:string\",\n \"idDocumentDateOfIssue\": \"aux:date\",\n \"idDocumentDateOfExpiry\": \"aux:date\",\n \"idDocumentFrontFile\": \"xsd:string\",\n \"idDocumentBackFile\": \"xsd:string\",\n \"selfieFile\": \"xsd:string\",\n \"residentialAddressStreet\": \"xsd:string\",\n \"residentialAddressHouseNumber\": \"xsd:string\",\n \"residentialAddressAdditionalAddressInfo\": \"xsd:string\",\n \"residentialAddressRegion\": \"xsd:string\",\n \"residentialAddressCity\": \"xsd:string\",\n \"residentialAddressPostalCode\": \"xsd:string\",\n \"residentialAddressCountry\": \"aux:ISO_3166-1_alpha-2\",\n \"residentialAddressProofCategory\": \"xsd:string\",\n \"residentialAddressProofDateOfIssue\": \"xsd:date\",\n \"residentialAddressProofFile\": \"xsd:string\"\n }\n}\n","{\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n \"approvedAt\": \"xsd:date\",\n \"level\": \"xsd:string\"\n }\n}\n","{\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"VerifiableCredential\": {\n \"@id\": \"https://www.w3.org/2018/credentials#VerifiableCredential\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"credentialSchema\": {\n \"@id\": \"cred:credentialSchema\",\n \"@type\": \"@id\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n\n \"JsonSchemaValidator2018\": \"cred:JsonSchemaValidator2018\"\n }\n },\n \"credentialStatus\": { \"@id\": \"cred:credentialStatus\", \"@type\": \"@id\" },\n \"credentialSubject\": { \"@id\": \"cred:credentialSubject\", \"@type\": \"@id\" },\n \"evidence\": { \"@id\": \"cred:evidence\", \"@type\": \"@id\" },\n \"expirationDate\": { \"@id\": \"cred:expirationDate\", \"@type\": \"xsd:dateTime\" },\n \"holder\": { \"@id\": \"cred:holder\", \"@type\": \"@id\" },\n \"issued\": { \"@id\": \"cred:issued\", \"@type\": \"xsd:dateTime\" },\n \"issuer\": { \"@id\": \"cred:issuer\", \"@type\": \"@id\" },\n \"issuanceDate\": { \"@id\": \"cred:issuanceDate\", \"@type\": \"xsd:dateTime\" },\n \"proof\": { \"@id\": \"sec:proof\", \"@type\": \"@id\", \"@container\": \"@graph\" },\n \"refreshService\": {\n \"@id\": \"cred:refreshService\",\n \"@type\": \"@id\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n\n \"ManualRefreshService2018\": \"cred:ManualRefreshService2018\"\n }\n },\n \"termsOfUse\": { \"@id\": \"cred:termsOfUse\", \"@type\": \"@id\" },\n \"validFrom\": { \"@id\": \"cred:validFrom\", \"@type\": \"xsd:dateTime\" },\n \"validUntil\": { \"@id\": \"cred:validUntil\", \"@type\": \"xsd:dateTime\" }\n }\n },\n\n \"VerifiablePresentation\": {\n \"@id\": \"https://www.w3.org/2018/credentials#VerifiablePresentation\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"cred\": \"https://www.w3.org/2018/credentials#\",\n \"sec\": \"https://w3id.org/security#\",\n\n \"holder\": { \"@id\": \"cred:holder\", \"@type\": \"@id\" },\n \"proof\": { \"@id\": \"sec:proof\", \"@type\": \"@id\", \"@container\": \"@graph\" },\n \"verifiableCredential\": {\n \"@id\": \"cred:verifiableCredential\",\n \"@type\": \"@id\",\n \"@container\": \"@graph\"\n }\n }\n },\n\n \"EcdsaSecp256k1Signature2019\": {\n \"@id\": \"https://w3id.org/security#EcdsaSecp256k1Signature2019\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"EcdsaSecp256r1Signature2019\": {\n \"@id\": \"https://w3id.org/security#EcdsaSecp256r1Signature2019\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"Ed25519Signature2018\": {\n \"@id\": \"https://w3id.org/security#Ed25519Signature2018\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n \"xsd\": \"http://www.w3.org/2001/XMLSchema#\",\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"RsaSignature2018\": {\n \"@id\": \"https://w3id.org/security#RsaSignature2018\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"challenge\": \"sec:challenge\",\n \"created\": { \"@id\": \"http://purl.org/dc/terms/created\", \"@type\": \"xsd:dateTime\" },\n \"domain\": \"sec:domain\",\n \"expires\": { \"@id\": \"sec:expiration\", \"@type\": \"xsd:dateTime\" },\n \"jws\": \"sec:jws\",\n \"nonce\": \"sec:nonce\",\n \"proofPurpose\": {\n \"@id\": \"sec:proofPurpose\",\n \"@type\": \"@vocab\",\n \"@context\": {\n \"@version\": 1.1,\n \"@protected\": true,\n\n \"id\": \"@id\",\n \"type\": \"@type\",\n\n \"sec\": \"https://w3id.org/security#\",\n\n \"assertionMethod\": {\n \"@id\": \"sec:assertionMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n },\n \"authentication\": {\n \"@id\": \"sec:authenticationMethod\",\n \"@type\": \"@id\",\n \"@container\": \"@set\"\n }\n }\n },\n \"proofValue\": \"sec:proofValue\",\n \"verificationMethod\": { \"@id\": \"sec:verificationMethod\", \"@type\": \"@id\" }\n }\n },\n\n \"proof\": { \"@id\": \"https://w3id.org/security#proof\", \"@type\": \"@id\", \"@container\": \"@graph\" }\n }\n}\n","import { type JsonLDDocumentLoaderInstance, JsonLdDocumentLoader } from \"jsonld-document-loader\";\n\nimport ed25519Signature2020V1 from \"../../assets/ed25519-signature-2020-v1.json\";\nimport idosCredentialSubjectV1 from \"../../assets/idos-credential-subject-v1.json\";\nimport idosCredentialsV1 from \"../../assets/idos-credentials-v1.json\";\nimport v1 from \"../../assets/v1.json\";\n\nexport const CONTEXT_V1 = \"https://www.w3.org/2018/credentials/v1\";\nexport const CONTEXT_ED25519_SIGNATURE_2020_V1 = \"https://w3id.org/security/suites/ed25519-2020/v1\";\n\n// Check .github/workflow/pages.yml how those are deployed\nexport const CONTEXT_IDOS_CREDENTIALS_V1 =\n \"https://idos-network.github.io/idos-sdk-js/credentials/idos-credentials-v1.json\";\nexport const CONTEXT_IDOS_CREDENTIALS_V1_SUBJECT =\n \"https://idos-network.github.io/idos-sdk-js/credentials/idos-credential-subject-v1.json\";\n\n// Latest contexts for builder\nexport const CONTEXT_IDOS_CREDENTIALS: string = CONTEXT_IDOS_CREDENTIALS_V1;\nexport const CONTEXT_IDOS_CREDENTIALS_SUBJECT: string = CONTEXT_IDOS_CREDENTIALS_V1_SUBJECT;\nexport const CONTEXT_IDOS_SIGNATURE: string = CONTEXT_ED25519_SIGNATURE_2020_V1;\n\nexport function buildDocumentLoader(): JsonLDDocumentLoaderInstance {\n const loader = new JsonLdDocumentLoader();\n\n loader.addStatic(CONTEXT_V1, v1);\n loader.addStatic(CONTEXT_IDOS_CREDENTIALS_V1, idosCredentialsV1);\n loader.addStatic(CONTEXT_IDOS_CREDENTIALS_V1_SUBJECT, idosCredentialSubjectV1);\n loader.addStatic(CONTEXT_ED25519_SIGNATURE_2020_V1, ed25519Signature2020V1);\n\n // DEPRECATED: Those should be removed\n [\n \"1356fea6672d22deb07fedc5fa427478b2e1654c\",\n \"346f14468348e4f3dd00039c89ce9bb49d88777c\",\n \"1e8421744e037dfd7b0289cb39261c73ab6d643c\",\n \"0049d2e93f8913c42398372e2bb65d92bed38ac0\",\n ].forEach((hash) => {\n loader.addStatic(\n `https://raw.githubusercontent.com/idos-network/idos-sdk-js/${hash}/packages/%40credentials/assets/idos-credentials-v1.json`,\n idosCredentialsV1,\n );\n loader.addStatic(\n `https://raw.githubusercontent.com/idos-network/idos-sdk-js/${hash}/packages/%40credentials/assets/idos-credential-subject-v1.json`,\n idosCredentialSubjectV1,\n );\n });\n\n // DEPRECATED: Those should be removed\n [\"1bc3503f5302a7e42777076445d5b05fec8db429\"].forEach((hash) => {\n loader.addStatic(\n `https://raw.githubusercontent.com/idos-network/idos-sdk-js/${hash}/packages/issuer-sdk-js/assets/idos-credentials-v1.json`,\n idosCredentialsV1,\n );\n loader.addStatic(\n `https://raw.githubusercontent.com/idos-network/idos-sdk-js/${hash}/packages/issuer-sdk-js/assets/idos-credential-subject-v1.json`,\n idosCredentialSubjectV1,\n );\n });\n\n return loader.build();\n}\n\nexport const defaultDocumentLoader: JsonLDDocumentLoaderInstance = buildDocumentLoader();\n","import * as z from \"zod\";\n\nexport type idOSCredential = {\n id: string;\n user_id: string;\n issuer_auth_public_key: string;\n original_id?: string;\n public_notes: string;\n content: string;\n encryptor_public_key: string;\n};\n\nexport type InsertableIDOSCredential = Omit<idOSCredential, \"id\" | \"original_id\"> & {\n id?: idOSCredential[\"id\"];\n content_hash?: string;\n public_notes_signature: string;\n broader_signature: string;\n};\n\n// https://github.com/colinhacks/zod/issues/3751\nexport const CredentialFieldsSchema: z.ZodObject<{\n id: z.ZodString;\n level: z.ZodString;\n issued: z.ZodOptional<z.ZodDate>;\n approvedAt: z.ZodOptional<z.ZodDate>;\n expirationDate: z.ZodOptional<z.ZodDate>;\n}> = z.object({\n id: z.string(),\n\n /* Level of KYC verification performed (e.g., basic, intermediate, advanced). */\n level: z.string(),\n\n /* @default Date.now() */\n issued: z.date().optional(),\n\n /* Date the credential was approved. */\n approvedAt: z.date().optional(),\n\n /* Date the credential was revoked. */\n expirationDate: z.date().optional(),\n});\n\nexport type CredentialFields = z.infer<typeof CredentialFieldsSchema>;\n\n// https://github.com/colinhacks/zod/issues/3751\nexport const CredentialResidentialAddressSchema: z.ZodObject<{\n street: z.ZodString;\n houseNumber: z.ZodOptional<z.ZodString>;\n additionalAddressInfo: z.ZodOptional<z.ZodString>;\n region: z.ZodOptional<z.ZodString>;\n city: z.ZodString;\n postalCode: z.ZodString;\n country: z.ZodString;\n}> = z.object({\n /* Street address. */\n street: z.string(),\n\n /* House number. */\n houseNumber: z.string().optional(),\n\n /* Additional address information (e.g., apartment number). */\n additionalAddressInfo: z.string().optional(),\n\n /* Region (e.g., state, province). */\n region: z.string().optional(),\n\n /* Locality (e.g., city, town). */\n city: z.string(),\n\n /* Postal code. */\n postalCode: z.string(),\n\n /* Country (ISO 3166-1 alpha-2). */\n country: z.string().min(2).max(2),\n});\n\nexport type CredentialResidentialAddress = z.infer<typeof CredentialFieldsSchema>;\n\nexport const IDDocumentTypeSchema: z.ZodEnum<{\n PASSPORT: \"PASSPORT\";\n DRIVERS: \"DRIVERS\";\n ID_CARD: \"ID_CARD\";\n}> = z.enum([\"PASSPORT\", \"DRIVERS\", \"ID_CARD\"]);\nexport type IDDocumentType = z.infer<typeof IDDocumentTypeSchema>;\n\nexport const GenderSchema: z.ZodEnum<{\n M: \"M\";\n F: \"F\";\n OTHER: \"OTHER\";\n}> = z.enum([\"M\", \"F\", \"OTHER\"]);\nexport type Gender = z.infer<typeof GenderSchema>;\n\n// https://github.com/colinhacks/zod/issues/3751\nexport const CredentialSubjectSchema: z.ZodObject<{\n id: z.ZodString;\n applicantId: z.ZodOptional<z.ZodString>;\n inquiryId: z.ZodOptional<z.ZodString>;\n firstName: z.ZodString;\n middleName: z.ZodOptional<z.ZodString>;\n ssn: z.ZodOptional<z.ZodString>;\n gender: z.ZodOptional<typeof GenderSchema>;\n nationality: z.ZodOptional<z.ZodString>;\n familyName: z.ZodString;\n maidenName: z.ZodOptional<z.ZodString>;\n governmentId: z.ZodOptional<z.ZodString>;\n governmentIdType: z.ZodOptional<z.ZodString>;\n dateOfBirth: z.ZodDate;\n placeOfBirth: z.ZodOptional<z.ZodString>;\n email: z.ZodOptional<z.ZodEmail>;\n phoneNumber: z.ZodOptional<z.ZodString>;\n idDocumentCountry: z.ZodString;\n idDocumentNumber: z.ZodString;\n idDocumentType: typeof IDDocumentTypeSchema;\n idDocumentDateOfIssue: z.ZodOptional<z.ZodDate>;\n idDocumentDateOfExpiry: z.ZodOptional<z.ZodDate>;\n idDocumentFrontFile: z.ZodType<Buffer<ArrayBufferLike>>;\n idDocumentBackFile: z.ZodOptional<z.ZodType<Buffer<ArrayBufferLike>>>;\n selfieFile: z.ZodType<Buffer<ArrayBufferLike>>;\n residentialAddress: z.ZodOptional<typeof CredentialResidentialAddressSchema>;\n residentialAddressProofCategory: z.ZodOptional<z.ZodString>;\n residentialAddressProofDateOfIssue: z.ZodOptional<z.ZodDate>;\n residentialAddressProofFile: z.ZodOptional<z.ZodType<Buffer<ArrayBufferLike>>>;\n}> = z.object({\n /* ID(unique credential)\tUnique identifier for the credential itself. */\n id: z.string(),\n\n /* Applicant ID. */\n applicantId: z.string().optional(),\n\n /* Inquiry ID. */\n inquiryId: z.string().optional(),\n\n /* First name. */\n firstName: z.string(),\n\n /* Middle name. */\n middleName: z.string().optional(),\n\n /* Social-security-number (without dashes) */\n ssn: z.string().min(9).max(9).optional(),\n\n /* Nationality (ISO 3166-1 alpha-2). */\n nationality: z.string().min(2).max(2).optional(),\n\n /* Gender (M or F, empty if not provided). */\n gender: GenderSchema.optional(),\n\n /* Family name. */\n familyName: z.string(),\n\n /* Maiden name. */\n maidenName: z.string().optional(),\n\n /* Government ID. */\n governmentId: z.string().optional(),\n\n /* Government ID type. */\n governmentIdType: z.string().optional(),\n\n /* Date of birth. */\n dateOfBirth: z.date(),\n\n /* Place of birth. */\n placeOfBirth: z.string().optional(),\n\n /* Email. */\n email: z.email().optional(),\n\n /* Phone number. */\n phoneNumber: z.string().optional(),\n\n /* Country that issued the identity document (ISO 3166-1 alpha-2). */\n idDocumentCountry: z.string().min(2).max(2),\n\n /* ID Document Number\tUnique number on the identity document. */\n idDocumentNumber: z.string(),\n\n /* ID Document Type\tType of identity document(e.g., Passport, Driver's License, National ID). */\n idDocumentType: IDDocumentTypeSchema,\n\n /* ID Document Date of Issue\tDate the identity document was issued. */\n idDocumentDateOfIssue: z.date().optional(),\n\n /* ID Document Date of Expiry\tExpiration date of the identity document - if applicable. */\n idDocumentDateOfExpiry: z.date().optional(),\n\n /* ID Document Front File\tBuffer with file representing the front of the identity document. */\n idDocumentFrontFile: z.instanceof(Buffer),\n\n /* ID Document Back File\tBuffer with file representing the back of the identity document - if applicable. */\n idDocumentBackFile: z.instanceof(Buffer).optional(),\n\n /* (ID Document) Selfie File\tBuffer with selfie with the identity document for verification purposes. */\n selfieFile: z.instanceof(Buffer),\n\n /* Residential Address\tFull residential address of the individual - if applicable. */\n residentialAddress: CredentialResidentialAddressSchema.optional(),\n\n /* Residential Address Proof Category\tType of document provided to verify the address(e.g., utility bill, bank statement). */\n residentialAddressProofCategory: z.string().optional(),\n\n /* Residential Address Proof Date Of Issue\tDate the address proof document was issued. */\n residentialAddressProofDateOfIssue: z.date().optional(),\n\n /* Residential Address Proof File\tFile or URL of the document provided as address proof. */\n residentialAddressProofFile: z.instanceof(Buffer).optional(),\n});\n\nexport type CredentialSubject = z.infer<typeof CredentialSubjectSchema>;\n\nexport interface VerifiableCredentialSubject extends Omit<CredentialSubject, \"residentialAddress\"> {\n \"@context\": string;\n residentialAddressStreet?: string;\n residentialAddressHouseNumber?: string;\n residentialAddressAdditionalAddressInfo?: string;\n residentialAddressRegion?: string;\n residentialAddressCity?: string;\n residentialAddressPostalCode?: string;\n residentialAddressCountry?: string;\n}\n\n// TODO: This is a stub of the types for @digitalbazaar/vc\n// when they introduce TypeScript support we should remove this\n// The copy is here because `types.d.ts` file is not bundled.\nexport interface VerifiedCredentialsProof {\n type: string;\n created: string;\n verificationMethod: string;\n proofValue: string;\n proofPurpose: string;\n}\n\nexport interface VerifiedCredentials<K> {\n \"@context\": string[];\n type: string[];\n issuer: string;\n id: string;\n level: string;\n issued: string;\n approvedAt: string;\n expirationDate: string;\n credentialSubject: K;\n issuanceDate: string;\n proof: VerifiedCredentialsProof;\n}\n\nexport type VerifiableCredential<K> = VerifiedCredentials<K>;\n","import { Ed25519Signature2020 } from \"@digitalbazaar/ed25519-signature-2020\";\nimport * as vc from \"@digitalbazaar/vc\";\nimport { type AvailableIssuerType, convertValues, issuerToKey } from \"./utils\";\nimport {\n CONTEXT_IDOS_CREDENTIALS,\n CONTEXT_IDOS_CREDENTIALS_SUBJECT,\n CONTEXT_IDOS_SIGNATURE,\n CONTEXT_V1,\n defaultDocumentLoader,\n} from \"./utils/loader\";\nimport {\n type CredentialFields,\n CredentialFieldsSchema,\n type CredentialSubject,\n CredentialSubjectSchema,\n type VerifiableCredential,\n type VerifiableCredentialSubject,\n} from \"./utils/types\";\n\nexport type Credentials = VerifiableCredential<VerifiableCredentialSubject>;\n\nexport async function buildCredentials(\n fields: CredentialFields,\n subject: CredentialSubject,\n issuer: AvailableIssuerType,\n validate = true,\n): Promise<Credentials> {\n if (validate) {\n // This raises an z.ZodError exception if the fields are invalid\n CredentialFieldsSchema.parse(fields);\n CredentialSubjectSchema.parse(subject);\n }\n\n const { residentialAddress, ...subjectData } = subject;\n\n const credentialSubject = {\n \"@context\": CONTEXT_IDOS_CREDENTIALS_SUBJECT,\n ...convertValues(subjectData),\n // @ts-expect-error - TODO: fix this\n ...(residentialAddress ? convertValues(residentialAddress, \"residentialAddress\") : {}),\n };\n\n const key = await issuerToKey(issuer);\n\n // Create credentials container\n const credential = {\n \"@context\": [CONTEXT_V1, CONTEXT_IDOS_CREDENTIALS, CONTEXT_IDOS_SIGNATURE],\n type: [\"VerifiableCredential\"],\n issuer: key.controller,\n ...convertValues(fields),\n credentialSubject,\n };\n\n const suite = new Ed25519Signature2020({ key });\n\n return vc.issue<VerifiableCredentialSubject>({\n credential,\n suite,\n documentLoader: defaultDocumentLoader,\n });\n}\n","import { encryptContent } from \"@idos-network/core/cryptography\";\nimport {\n type CreateCredentialByDelegatedWriteGrantParams,\n createCredentialByDelegatedWriteGrant,\n type EditCredentialAsIssuerParams,\n editCredentialAsIssuer,\n getCredentialIdByContentHash,\n getSharedCredential,\n} from \"@idos-network/core/kwil-actions\";\nimport type { KwilActionClient } from \"@idos-network/core/kwil-infra\";\nimport type { idOSCredential } from \"@idos-network/credentials\";\nimport {\n base64Decode,\n base64Encode,\n hexEncode,\n hexEncodeSha256Hash,\n utf8Encode,\n} from \"@idos-network/utils/codecs\";\nimport invariant from \"tiny-invariant\";\nimport nacl from \"tweetnacl\";\n\ntype InsertableIDOSCredential = Omit<idOSCredential, \"id\" | \"original_id\"> & {\n id?: idOSCredential[\"id\"];\n content_hash?: string;\n public_notes_signature: string;\n broader_signature: string;\n};\n\ntype BuildInsertableIDOSCredentialArgs = {\n userId: string;\n publicNotes: string;\n plaintextContent: Uint8Array;\n recipientEncryptionPublicKey: Uint8Array;\n};\n\nexport type BaseCredentialParams = {\n id?: string;\n userId: string;\n publicNotes: string;\n plaintextContent: Uint8Array;\n recipientEncryptionPublicKey: Uint8Array;\n};\n\nexport type DelegatedWriteGrantBaseParams = Omit<BaseCredentialParams, \"userId\">;\n\nexport type DelegatedWriteGrantParams = {\n id: string;\n ownerWalletIdentifier: string;\n consumerWalletIdentifier: string;\n issuerPublicKey: string;\n accessGrantTimelock: string;\n notUsableBefore: string;\n notUsableAfter: string;\n signature: string;\n};\n\nexport class CredentialService {\n readonly #kwilClient: KwilActionClient;\n readonly #signingKeyPair: nacl.SignKeyPair;\n readonly #encryptionSecretKey: Uint8Array;\n\n constructor(\n kwilClient: KwilActionClient,\n signingKeyPair: nacl.SignKeyPair,\n encryptionSecretKey: Uint8Array,\n ) {\n this.#kwilClient = kwilClient;\n this.#signingKeyPair = signingKeyPair;\n this.#encryptionSecretKey = encryptionSecretKey;\n }\n\n #buildInsertableIDOSCredential(args: BuildInsertableIDOSCredentialArgs): InsertableIDOSCredential;\n\n #buildInsertableIDOSCredential(\n args: Omit<BuildInsertableIDOSCredentialArgs, \"userId\">,\n ): Omit<InsertableIDOSCredential, \"user_id\">;\n\n #buildInsertableIDOSCredential({\n userId,\n publicNotes,\n plaintextContent,\n recipientEncryptionPublicKey,\n }: Omit<BuildInsertableIDOSCredentialArgs, \"userId\"> & { userId?: string }):\n | InsertableIDOSCredential\n | Omit<InsertableIDOSCredential, \"user_id\"> {\n const ephemeralKeyPair = nacl.box.keyPair();\n const content = encryptContent(\n plaintextContent,\n recipientEncryptionPublicKey,\n ephemeralKeyPair.secretKey,\n );\n\n const public_notes_signature = base64Encode(\n nacl.sign.detached(utf8Encode(publicNotes), this.#signingKeyPair.secretKey),\n );\n\n return {\n user_id: userId,\n content: base64Encode(content),\n public_notes: publicNotes,\n public_notes_signature,\n\n broader_signature: base64Encode(\n nacl.sign.detached(\n Uint8Array.from([...base64Decode(public_notes_signature), ...content]),\n this.#signingKeyPair.secretKey,\n ),\n ),\n\n issuer_auth_public_key: hexEncode(this.#signingKeyPair.publicKey, true),\n encryptor_public_key: base64Encode(ephemeralKeyPair.publicKey),\n };\n }\n\n #ensureEntityId<T extends { id?: string }>(entity: T): T & { id: string } {\n if (!entity.id) {\n (entity as T & { id: string }).id = crypto.randomUUID();\n }\n return entity as T & { id: string };\n }\n\n async createCredentialByDelegatedWriteGrant(\n credentialParams: DelegatedWriteGrantBaseParams,\n delegatedWriteGrant: DelegatedWriteGrantParams,\n consumerEncryptionPublicKey?: Uint8Array,\n ): Promise<{\n originalCredential: Omit<idOSCredential, \"user_id\">;\n copyCredential: Omit<idOSCredential, \"user_id\">;\n }> {\n let recipientPublicKey = consumerEncryptionPublicKey;\n if (!recipientPublicKey) {\n // If we're not explicitly given a consumer enc pub key, we're assuming that the issuer is creating a copy\n // for themselves. So, we derive the recipient encryption public key from the issuer's encryption secret key.\n recipientPublicKey = nacl.box.keyPair.fromSecretKey(this.#encryptionSecretKey).publicKey;\n }\n\n const originalCredential = this.#ensureEntityId(\n this.#buildInsertableIDOSCredential(credentialParams),\n );\n\n const contentHash = hexEncodeSha256Hash(credentialParams.plaintextContent);\n\n const copyCredential = this.#ensureEntityId(\n this.#buildInsertableIDOSCredential({\n publicNotes: \"\",\n plaintextContent: credentialParams.plaintextContent,\n recipientEncryptionPublicKey: recipientPublicKey,\n }),\n );\n\n const payload: CreateCredentialByDelegatedWriteGrantParams = {\n issuer_auth_public_key: originalCredential.issuer_auth_public_key,\n original_encryptor_public_key: originalCredential.encryptor_public_key,\n original_credential_id: originalCredential.id,\n original_content: originalCredential.content,\n original_public_notes: originalCredential.public_notes,\n original_public_notes_signature: originalCredential.public_notes_signature,\n original_broader_signature: originalCredential.broader_signature,\n copy_encryptor_public_key: copyCredential.encryptor_public_key,\n copy_credential_id: copyCredential.id,\n copy_content: copyCredential.content,\n copy_public_notes_signature: copyCredential.public_notes_signature,\n copy_broader_signature: copyCredential.broader_signature,\n content_hash: contentHash,\n dwg_owner: delegatedWriteGrant.ownerWalletIdentifier,\n dwg_grantee: delegatedWriteGrant.consumerWalletIdentifier,\n dwg_issuer_public_key: delegatedWriteGrant.issuerPublicKey,\n dwg_id: delegatedWriteGrant.id,\n dwg_access_grant_timelock: delegatedWriteGrant.accessGrantTimelock,\n dwg_not_before: delegatedWriteGrant.notUsableBefore,\n dwg_not_after: delegatedWriteGrant.notUsableAfter,\n dwg_signature: delegatedWriteGrant.signature,\n };\n\n await createCredentialByDelegatedWriteGrant(this.#kwilClient, payload);\n\n return { originalCredential, copyCredential };\n }\n\n async editCredentialAsIssuer(\n publicNotesId: string,\n publicNotes: string,\n ): Promise<EditCredentialAsIssuerParams | null> {\n const payload = {\n public_notes_id: publicNotesId,\n public_notes: publicNotes,\n };\n\n const result = await editCredentialAsIssuer(this.#kwilClient, payload);\n\n return result ?? null;\n }\n\n async getCredentialIdByContentHash(contentHash: string): Promise<string | null> {\n const id = await getCredentialIdByContentHash(this.#kwilClient, contentHash);\n\n invariant(id, \"Required `idOSCredential` id not found\");\n\n return id;\n }\n\n async getSharedCredential(id: string): Promise<idOSCredential | null> {\n const result = await getSharedCredential(this.#kwilClient, id);\n\n return result ?? null;\n }\n}\n","import { NoncedBox } from \"@idos-network/core/cryptography\";\nimport { createAccessGrantByDag as _createAccessGrantByDag } from \"@idos-network/core/kwil-actions\";\nimport type { KwilActionClient } from \"@idos-network/core/kwil-infra\";\nimport type { idOSCredential } from \"@idos-network/credentials\";\nimport { base64Encode, hexEncodeSha256Hash, utf8Encode } from \"@idos-network/utils/codecs\";\nimport invariant from \"tiny-invariant\";\n\nexport type CreateAccessGrantFromDAGParams = {\n dag_data_id: string;\n dag_owner_wallet_identifier: string;\n dag_grantee_wallet_identifier: string;\n dag_signature: string;\n dag_locked_until: number;\n dag_content_hash: string;\n};\n\nexport class GrantService {\n readonly #kwilClient: KwilActionClient;\n readonly #encryptionSecretKey: Uint8Array;\n\n constructor(kwilClient: KwilActionClient, encryptionSecretKey: Uint8Array) {\n this.#kwilClient = kwilClient;\n this.#encryptionSecretKey = encryptionSecretKey;\n }\n\n async createAccessGrantFromDAG(\n params: CreateAccessGrantFromDAGParams,\n getCredentialIdByContentHash: (contentHash: string) => Promise<string | null>,\n getSharedCredential: (id: string) => Promise<idOSCredential | null>,\n ): Promise<CreateAccessGrantFromDAGParams | null> {\n const credentialId = await getCredentialIdByContentHash(params.dag_content_hash);\n\n invariant(credentialId, \"Missing `idOSCredential` id\");\n\n const credential = await getSharedCredential(credentialId);\n\n invariant(credential, \"`idOSCredential` with id `{credentialId}` not found\");\n\n const plaintextContent = await NoncedBox.nonceFromBase64SecretKey(\n base64Encode(this.#encryptionSecretKey),\n ).decrypt(credential.content, credential.encryptor_public_key);\n\n // Get the content hash from the plaintext content\n const contentHash = hexEncodeSha256Hash(utf8Encode(plaintextContent));\n\n // Check if the content hash matches the content hash in the credential\n if (contentHash !== params.dag_content_hash) {\n throw new Error(\"Hash mismatch between `DAG` and `idOSCredential` content\");\n }\n\n const result = await _createAccessGrantByDag(this.#kwilClient, params);\n\n return result ?? null;\n }\n}\n","import type { KwilActionClient, PassportingPeer } from \"@idos-network/core\";\nimport { getPassportingPeers } from \"@idos-network/core/kwil-actions\";\n\nexport class PassportingService {\n constructor(private readonly kwilClient: KwilActionClient) {}\n\n /**\n * Return a list of public keys of the known passporting peers for the given `Signer`.\n */\n async getPassportingPeers(): Promise<PassportingPeer[]> {\n return getPassportingPeers(this.kwilClient);\n }\n}\n","import type { KwilActionClient } from \"@idos-network/core\";\nimport {\n createUser as _createUser,\n hasProfile as _hasProfile,\n upsertWalletAsInserter as _upsertWalletAsInserter,\n type idOSUser,\n type idOSWallet,\n} from \"@idos-network/core/kwil-actions\";\n\nexport type CreateProfileReqParams = Omit<idOSUser, \"id\"> & {\n id?: string;\n};\n\nexport type UpsertWalletReqParams = Omit<idOSWallet, \"id\"> & {\n id?: string;\n};\n\nexport type CreateWalletReqParams = Omit<UpsertWalletReqParams, \"user_id\"> & {\n id?: string;\n};\n\nexport class UserService {\n readonly #kwilClient: KwilActionClient;\n\n constructor(kwilClient: KwilActionClient) {\n this.#kwilClient = kwilClient;\n }\n\n #ensureEntityId<T extends { id?: string }>(entity: T): T & { id: string } {\n if (!entity.id) {\n (entity as T & { id: string }).id = crypto.randomUUID();\n }\n return entity as T & { id: string };\n }\n\n async hasProfile(userAddress: string): Promise<boolean> {\n return _hasProfile(this.#kwilClient, userAddress);\n }\n\n async createUserProfile(params: CreateProfileReqParams): Promise<idOSUser> {\n const payload = this.#ensureEntityId(params);\n await _createUser(this.#kwilClient, payload);\n return payload;\n }\n\n async upsertWalletAsInserter(params: UpsertWalletReqParams): Promise<idOSWallet> {\n const payload = this.#ensureEntityId(params);\n await _upsertWalletAsInserter(this.#kwilClient, payload);\n return payload;\n }\n\n async createUser(\n user: CreateProfileReqParams,\n wallet: CreateWalletReqParams,\n ): Promise<[idOSUser, idOSWallet]> {\n const user_id = user.id ?? crypto.randomUUID();\n const wallet_id = wallet.id ?? crypto.randomUUID();\n\n const userReqParams = {\n ...user,\n id: user_id,\n };\n\n const userResponse = await this.createUserProfile(userReqParams);\n\n const walletReqParams = {\n ...wallet,\n user_id,\n id: wallet_id,\n };\n\n const walletResponse = await this.upsertWalletAsInserter(walletReqParams);\n\n return [userResponse, walletResponse];\n }\n}\n","import { createNodeKwilClient, createServerKwilSigner } from \"@idos-network/core\";\nimport type {\n EditCredentialAsIssuerParams,\n idOSGrant,\n idOSUser,\n idOSUserAttribute,\n idOSWallet,\n} from \"@idos-network/core/kwil-actions\";\nimport type { PassportingPeer } from \"@idos-network/core/types\";\nimport type { idOSCredential } from \"@idos-network/credentials\";\nimport {\n type AvailableIssuerType,\n buildCredentials,\n type CredentialFields,\n type CredentialSubject,\n type Credentials,\n} from \"@idos-network/credentials\";\nimport type { SignKeyPair } from \"tweetnacl\";\nimport {\n CredentialService,\n type DelegatedWriteGrantBaseParams,\n type DelegatedWriteGrantParams,\n} from \"./services/credential.service\";\nimport { type CreateAccessGrantFromDAGParams, GrantService } from \"./services/grant.service\";\nimport { PassportingService } from \"./services/passporting.service\";\nimport {\n type CreateProfileReqParams,\n type CreateWalletReqParams,\n type UpsertWalletReqParams,\n UserService,\n} from \"./services/user.service\";\n\ntype CreateIssuerParams = {\n chainId?: string;\n nodeUrl: string;\n signingKeyPair: SignKeyPair;\n encryptionSecretKey: Uint8Array;\n};\n\nexport class idOSIssuer {\n readonly #credentialService: CredentialService;\n readonly #grantService: GrantService;\n readonly #userService: UserService;\n readonly #passportingService: PassportingService;\n\n static async init(params: CreateIssuerParams): Promise<idOSIssuer> {\n const kwilClient = await createNodeKwilClient({\n nodeUrl: params.nodeUrl,\n chainId: params.chainId,\n });\n\n const [signer] = createServerKwilSigner(params.signingKeyPair);\n kwilClient.setSigner(signer);\n\n const credentialService = new CredentialService(\n kwilClient,\n params.signingKeyPair,\n params.encryptionSecretKey,\n );\n\n const grantService = new GrantService(kwilClient, params.encryptionSecretKey);\n const userService = new UserService(kwilClient);\n const passportingService = new PassportingService(kwilClient);\n\n return new idOSIssuer(credentialService, grantService, userService, passportingService);\n }\n\n private constructor(\n credentialService: CredentialService,\n grantService: GrantService,\n userService: UserService,\n passportingService: PassportingService,\n ) {\n this.#credentialService = credentialService;\n this.#grantService = grantService;\n this.#userService = userService;\n this.#passportingService = passportingService;\n }\n\n // User Service facade methods\n async hasProfile(userAddress: string): Promise<boolean> {\n return this.#userService.hasProfile(userAddress);\n }\n\n async createUserProfile(params: CreateProfileReqParams): Promise<idOSUser> {\n return this.#userService.createUserProfile(params);\n }\n\n async upsertWalletAsInserter(params: UpsertWalletReqParams): Promise<idOSWallet> {\n return this.#userService.upsertWalletAsInserter(params);\n }\n\n async createUser(\n user: CreateProfileReqParams,\n wallet: CreateWalletReqParams,\n ): Promise<[idOSUser, idOSWallet]> {\n return this.#userService.createUser(user, wallet);\n }\n\n async createCredentialByDelegatedWriteGrant(\n credentialParams: DelegatedWriteGrantBaseParams,\n delegatedWriteGrant: DelegatedWriteGrantParams,\n consumerEncryptionPublicKey?: Uint8Array,\n ): Promise<{\n originalCredential: Omit<idOSCredential, \"user_id\">;\n copyCredential: Omit<idOSCredential, \"user_id\">;\n }> {\n return this.#credentialService.createCredentialByDelegatedWriteGrant(\n credentialParams,\n delegatedWriteGrant,\n consumerEncryptionPublicKey,\n );\n }\n\n async editCredentialAsIssuer(\n publicNotesId: string,\n publicNotes: string,\n ): Promise<EditCredentialAsIssuerParams | null> {\n return this.#credentialService.editCredentialAsIssuer(publicNotesId, publicNotes);\n }\n\n async getCredentialIdByContentHash(contentHash: string): Promise<string | null> {\n return this.#credentialService.getCredentialIdByContentHash(contentHash);\n }\n\n async getSharedCredential(id: string): Promise<idOSCredential | null> {\n return this.#credentialService.getSharedCredential(id);\n }\n\n async createAccessGrantFromDAG(\n params: CreateAccessGrantFromDAGParams,\n ): Promise<CreateAccessGrantFromDAGParams | null> {\n return this.#grantService.createAccessGrantFromDAG(\n params,\n (contentHash: string) => this.getCredentialIdByContentHash(contentHash),\n (id: string) => this.getSharedCredential(id),\n );\n }\n\n async buildCredentials(\n fields: CredentialFields,\n subject: CredentialSubject,\n issuer: AvailableIssuerType,\n validate = true,\n ): Promise<Credentials> {\n return buildCredentials(fields, subject, issuer, validate);\n }\n\n async getPassportingPeers(): Promise<PassportingPeer[]> {\n return this.#passportingService.getPassportingPeers();\n }\n}\n\nexport type {\n idOSCredential,\n idOSGrant,\n idOSUser,\n idOSUserAttribute,\n idOSWallet,\n CredentialFields,\n CredentialSubject,\n AvailableIssuerType,\n Credentials,\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],"mappings":"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MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,UAAU,CAAE;CACZ,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,YAAY;EACV;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,aAAa,CAAE;CACf,eAAe,CACb;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,iBAAiB,CAAE;CACnB,gCAAgC,CAC9B;EACE,MAAM;EACN,MAAM,SAAS;CAChB,GACD;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,6BAA6B,CAC3B;EACE,MAAM;EACN,MAAM,SAAS;CAChB,GACD;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,mBAAmB,CACjB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,kBAAkB;EAChB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,wBAAwB;EACtB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,sBAAsB,CACpB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,eAAe;EACb;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,gBAAgB,CAAE;CAClB,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,qBAAqB,CACnB;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,yBAAyB,CAAE;CAC3B,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,iCAAiC,CAC/B;EACE,MAAM;EACN,MAAM,SAAS;CAChB,CACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;EAChB;EACD;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V,gBAAgB;EACjB;EACD,mDAAmD;GACjD,UAAU;GACV,gBAAgB;EACjB;EACD,uCAAuC,EACrC,UAAU,OACX;EACD,oCAAoC;GAClC,UAAU;GACV,gBAAgB;EACjB;EACD,sCAAsC;GACpC,UAAU;GACV,gBAAgB;EACjB;EACD,gDAAgD;GAC9C,UAAU;GACV,gBAAgB;EACjB;EACD,gCAAgC,EAC9B,UAAU,OACX;EACD,wCAAwC;GACtC,UAAU;GACV,gBAAgB;EACjB;EACD,oCAAoC;GAClC,UAAU;GACV,gBAAgB;EACjB;EACD,sCAAsC;GACpC,UAAU;GACV,gBAAgB;EACjB;EACD,wCAAwC;GACtC,UAAU;GACV,gBAAgB;EACjB;EACD,8BAA8B;GAC5B,UAAU;GACV,cAAc,CAAC,IAAK;EACrB;EACD,mCAAmC,EACjC,UAAU,OACX;EACD,yCAAyC,EACvC,UAAU,OACX;EACD,0CAA0C,EACxC,UAAU,OACX;EACD,gEAAgE;GAC9D,UAAU;GACV,gBAAgB;EACjB;EACD,6CAA6C;GAC3C,UAAU;GACV,gBAAgB;EACjB;EACD,qCAAqC;GACnC,UAAU;GACV,gBAAgB;EACjB;EACD,kCAAkC,EAChC,UAAU,OACX;EACD,8CAA8C;GAC5C,UAAU;GACV,gBAAgB;EACjB;EACD,iDAAiD,EAC/C,UAAU,OACX;EACD,oCAAoC,EAClC,UAAU,OACX;EACD,sCAAsC;GACpC,UAAU;GACV,gBAAgB;EACjB;EACD,kCAAkC,EAChC,UAAU,OACX;EACD,qDAAqD,EACnD,UAAU,OACX;EACD,mDAAmD;GACjD,UAAU;GACV,gBAAgB;EACjB;EACD,uCAAuC;GACrC,UAAU;GACV,gBAAgB;EACjB;EACD,kCAAkC,EAChC,UAAU,OACX;EACD,4CAA4C;GAC1C,UAAU;GACV,gBAAgB;EACjB;EACD,+CAA+C;GAC7C,UAAU;GACV,gBAAgB;EACjB;EACD,mCAAmC;GACjC,UAAU;GACV,gBAAgB;EACjB;EACD,2CAA2C;GACzC,UAAU;GACV,gBAAgB;EACjB;EACD,0CAA0C;GACxC,UAAU;GACV,gBAAgB;EACjB;EACD,2BA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EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,iCAAiC,EAC/B,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,eAAe;GACb,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,MAAK,KAAM;EAC3B;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,SACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;EACjB;EACD,YAAY,EACV,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc;IAAC;IAAM;IAAO;IAAM;GAAM;EACzC;EACD,oBAAoB;GAClB,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,aAAa;GACX,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAO;IAAM;IAAO;IAAM;IAAM;GAAM;EACtD;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,SACX;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAM;IAAM;IAAM;GAAO;EACzC;EACD,cAAc,EACZ,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,0BAA0B,EACxB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,qBAAqB,EACnB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,aAAa,EACX,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,yBAAyB,EACvB,UAAU,OACX;EACD,qBAAqB,EACnB,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,gCAAgC,EAC9B,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,s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jB;EACD,YAAY,EACV,gBAAgB,KACjB;EACD,qBAAqB,EACnB,cAAc,CAAC,UAAS,WAAY,EACrC;EACD,YAAY,EACV,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,YAAY;GACV,UAAU;GACV,WAAW;GACX,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,YAAY;GACV,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,yBAAyB,EACvB,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAO;IAAM;GAAQ;EACrC;EACD,aAAa,EACX,cAAc,CAAC,MAAO,EACvB;EACD,mBAAmB;GACjB,UAAU;GACV,gBAAgB;EACjB;EACD,gBAAgB,EACd,UAAU,OACX;EACD,YAAY;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,aAAa;GACX,gBAAgB;GAChB,cAAc,CAAC,MAAO;EACvB;EACD,iBAAiB;GACf,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,YAAW,IAAK;EAChC;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,YAAY;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,cAAc,EACZ,UAAU,OACX;EACD,WAAW;GACT,UAAU;GACV,WAAW;GACX,gBAAgB;GAChB,cAAc,CAAC,IAAK;EACrB;EACD,mBAAmB;GACjB,UAAU;GACV,WAAW;EACZ;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAM;IAAO;IAAO;IAAM;IAAO;IAAM;IAAK;GAAM;EAClE;EACD,4BAA4B;GAC1B,UAAU;GACV,WAAW;EACZ;EACD,4BAA4B,EAC1B,UAAU,OACX;EACD,sBAAsB;GACpB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,iBAAiB;GACf,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,YAAY;GACV,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,yBAAyB,EACvB,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,QAAO,KAAM;EAC7B;EACD,eAAe,EACb,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,aAAa,EACX,cAAc,CAAC,QAAO,KAAM,EAC7B;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,gBAAgB,EACd,UAAU,OACX;EACD,eAAe,EACb,cAAc,CAAC,UAAS,MAAO,EAChC;EACD,aAAa,EACX,UAAU,OACX;EACD,6BAA6B;GAC3B,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,cAAc;GACZ,UAAU;GACV,cAAc;IAAC;IAAI;IAAK;IAAO;IAAM;IAAK;GAAK;EAChD;EACD,eAAe;GACb,UAAU;GACV,WAAW;GACX,cAAc,CAAC,KAAM;EACtB;EACD,eAAe,EACb,UAAU,OACX;EACD,iBAAiB;GACf,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAM;IAAO;GAAO;EACpC;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,OAAQ;EACxB;EACD,cAAc,EACZ,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,uBAAuB;GACrB,UAAU;GACV,cAAc,CAAC,OAAQ;EACxB;EACD,uBAAuB;GACrB,UAAU;GACV,cAAc,CAAC,OAAQ;EACxB;EACD,uBAAuB;GACrB,UAAU;GACV,cAAc,CAAC,OAAQ;EACxB;EACD,6BAA6B;GAC3B,UAAU;GACV,WAAW;EACZ;EACD,2BAA2B,EACzB,UAAU,OACX;EACD,yBAAyB;GACvB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,sCAAsC;GACpC,UAAU;GACV,WAAW;EACZ;EACD,gCAAgC;GAC9B,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,gBAAgB;GACd,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,yBAAyB;GACvB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,gBAAgB,EACd,UAAU,OACX;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,IAAK;EACrB;EACD,iBAAiB,EACf,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,sBAAsB;GACpB,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,sBAAsB;GACpB,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,oBAAoB,EAClB,UAAU,OACX;EACD,4BAA4B,EAC1B,UAAU,OACX;EACD,4BAA4B,EAC1B,UAAU,OACX;EACD,yCAAyC,EACvC,UAAU,OACX;EACD,sCAAsC,EACpC,UAAU,OACX;EACD,4BAA4B,EAC1B,UAAU,OACX;EACD,4BAA4B,EAC1B,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,oCAAoC;GAClC,UAAU;GACV,WAAW;GACX,cAAc,CAAC,KAAM;EACtB;EACD,+BAA+B;GAC7B,UAAU;GACV,WAAW;EACZ;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,oBAAoB;GAClB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,0BAA0B;GACxB,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,YAAY;GACV,UAAU;GACV,WAAW;GACX,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,KAAI,KAAM;EAC1B;EACD,YAAY;GACV,UAAU;GACV,cAAc;IAAC;IAAI;IAAK;IAAM;IAAM;IAAI;IAAK;GAAM;EACpD;EACD,oBAAoB;GAClB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,kBAAkB;GAChB,UAAU;GACV,cAAc;IAAC;IAAI;IAAM;IAAM;GAAM;EACtC;EACD,kBAAkB,EAChB,gBAAgB,KACjB;EACD,8BAA8B,EAC5B,cAAc,CAAC,KAAM,EACtB;EACD,sBAAsB;GACpB,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,sBAAsB,EACpB,gBAAgB,KACjB;EACD,cAAc,EACZ,cAAc,CAAC,KAAM,EACtB;EACD,mBAAmB;GACjB,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,cAAc;GACZ,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,KAAI,KAAM;EAC1B;EACD,qBAAqB;GACnB,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,eAAe,EACb,cAAc,CAAC,MAAO,EACvB;EACD,eAAe,EACb,cAAc,CAAC,MAAO,EACvB;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,mBAAmB;GACjB,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,mBAAmB;GACjB,UAAU;GACV,cAAc,CAAC,IAAK;EACrB;EACD,oBAAoB;GAClB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,gBAAgB;GACd,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,YAAY;GACV,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,mCAAmC,EACjC,UAAU,OACX;EACD,aAAa;GACX,gBAAgB;GAChB,cAAc,CAAC,QAAO,KAAM;EAC7B;EACD,kCAAkC,EAChC,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,iBAAiB,EACf,UAAU,OACX;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,aAAa,EACX,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,eAAe,EACb,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,MAAO;EACvB;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,cAAc,EACZ,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,cAAc,CAAC,IAAK;EACrB;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAM;IAAO;GAAO;EACpC;EACD,iBAAiB,EACf,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAO;IAAM;IAAM;IAAM;GAAM;EAC/C;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,YAAY,EACV,UAAU,OACX;EACD,aAAa;GACX,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,iBAAiB,EACf,UAAU,OACX;EACD,mBAAmB;GACjB,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,MAAK,KAAM;EAC3B;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,0BAA0B,EACxB,UAAU,OACX;EACD,qBAAqB,EACnB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,cAAc,EACZ,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,mBAAmB,EACjB,UAAU,OACX;EACD,gBAAgB,EACd,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,kBAAkB,EAChB,UAAU,OACX;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,yBAAyB;GACvB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,sBAAsB,EACpB,UAAU,OACX;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,wBAAwB;GACtB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,0BAA0B,EACxB,UAAU,OACX;EACD,8BAA8B,EAC5B,UAAU,OACX;EACD,2BAA2B,EACzB,UAAU,OACX;EACD,sBAAsB;GACpB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,uBAAuB,EACrB,UAAU,OACX;EACD,wCAAwC,EACtC,UAAU,OACX;EACD,wCAAwC,EACtC,UAAU,OACX;EACD,wCAAwC,EACtC,UAAU,OACX;EACD,wCAAwC,EACtC,UAAU,OACX;EACD,8BAA8B,EAC5B,UAAU,OACX;EACD,gCAAgC,EAC9B,UAAU,OACX;EACD,4BAA4B,EAC1B,UAAU,OACX;EACD,6BAA6B,EAC3B,UAAU,OACX;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,OAAM,KAAM;EAC5B;EACD,oCAAoC;GAClC,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,0CAA0C,EACxC,UAAU,OACX;EACD,yBAAyB,EACvB,UAAU,OACX;EACD,6BAA6B,EAC3B,UAAU,OACX;EACD,yBAAyB,EACvB,UAAU,OACX;EACD,gCAAgC,EAC9B,UAAU,OACX;EACD,mCAAmC,EACjC,UAAU,OACX;EACD,0BAA0B,EACxB,UAAU,OACX;EACD,0BAA0B,EACxB,UAAU,OACX;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,sCAAsC,EACpC,UAAU,OACX;EACD,sBAAsB;GACpB,UAAU;GACV,cAAc,CAAC,OAAM,MAAO;EAC7B;EACD,kBAAkB;GAChB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,wBAAwB,EACtB,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,aAAa,EACX,UAAU,OACX;EACD,cAAc;GACZ,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,MAAO;EACvB;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,eAAe;GACb,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,oBAAoB;GAClB,UAAU;GACV,gBAAgB;GAChB,cAAc;IAAC;IAAM;IAAO;GAAM;EACnC;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,kBAAkB;GAChB,UAAU;GACV,cAAc,CAAC,OAAM,KAAM;EAC5B;EACD,kBAAkB;GAChB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,iBAAiB;GACf,UAAU;GACV,cAAc,CAAC,IAAK;EACrB;EACD,kBAAkB;GAChB,UAAU;GACV,gBAAgB;GAChB,cAAc,CAAC,KAAM;EACtB;EACD,kBAAkB;GAChB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,kBAAkB;GAChB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,mBAAmB;GACjB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,qBAAqB;GACnB,UAAU;GACV,cAAc,CAAC,OAAQ;EACxB;EACD,eAAe;GACb,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,2BAA2B;GACzB,UAAU;GACV,cAAc,CAAC,KAAM;EACtB;EACD,uBAAuB,EACrB,gBAAgB,KACjB;EACD,qBAAqB,EACnB,gBAAgB,KACjB;CACF;;;;;;;;;;;;;;;AC3zQD,QAAO;;;;;;;;;;CCGP,IAAI;CACJ,IAAI,UAAU,UAAQ,OAAO,CAAC;;;;;CAO9B,IAAI,sBAAsB;CAC1B,IAAI,mBAAmB;;;;;AAOvB,SAAQ,UAAU;AAClB,SAAQ,WAAW,EAAE,QAAQ,QAAS;AACtC,SAAQ,cAAc;AACtB,SAAQ,YAAY;AACpB,SAAQ,aAAa,OAAO,OAAO,KAAK;AACxC,SAAQ,SAAS;AACjB,SAAQ,QAAQ,OAAO,OAAO,KAAK;AAGnC,cAAa,QAAQ,YAAY,QAAQ,MAAM;;;;;;;CAS/C,SAAS,QAAS,MAAM;AACtB,OAAK,eAAe,SAAS,SAC3B,QAAO;EAIT,IAAI,QAAQ,oBAAoB,KAAK,KAAK;EAC1C,IAAIC,SAAO,SAAS,GAAG,MAAM,GAAG,aAAa;AAE7C,MAAIA,UAAQA,OAAK,QACf,QAAOA,OAAK;AAId,MAAI,SAAS,iBAAiB,KAAK,MAAM,GAAG,CAC1C,QAAO;AAGT,SAAO;CACR;;;;;;;CASD,SAAS,YAAa,KAAK;AAEzB,OAAK,cAAc,QAAQ,SACzB,QAAO;EAGT,IAAIA,SAAO,IAAI,QAAQ,IAAI,KAAK,KAC5B,QAAQ,OAAO,IAAI,GACnB;AAEJ,OAAKA,OACH,QAAO;AAIT,MAAI,OAAK,QAAQ,UAAU,KAAK,IAAI;GAClC,IAAIC,YAAU,QAAQ,QAAQD,OAAK;AACnC,OAAIC,UAAS,WAAQ,eAAe,UAAQ,aAAa;EAC1D;AAED,SAAOD;CACR;;;;;;;CASD,SAAS,UAAW,MAAM;AACxB,OAAK,eAAe,SAAS,SAC3B,QAAO;EAIT,IAAI,QAAQ,oBAAoB,KAAK,KAAK;EAG1C,IAAI,OAAO,SAAS,QAAQ,WAAW,MAAM,GAAG,aAAa;AAE7D,OAAK,SAAS,KAAK,OACjB,QAAO;AAGT,SAAO,KAAK;CACb;;;;;;;CASD,SAAS,OAAQE,QAAM;AACrB,OAAKA,iBAAeA,WAAS,SAC3B,QAAO;EAIT,IAAIC,cAAY,QAAQ,OAAOD,OAAK,CACjC,aAAa,CACb,OAAO,EAAE;AAEZ,OAAKC,YACH,QAAO;AAGT,SAAO,QAAQ,MAAMA,gBAAc;CACpC;;;;;CAOD,SAAS,aAAc,YAAY,OAAO;EAExC,IAAI,aAAa;GAAC;GAAS;;GAAqB;EAAO;AAEvD,SAAO,KAAK,GAAG,CAAC,QAAQ,SAAS,gBAAiB,MAAM;GACtD,IAAIH,SAAO,GAAG;GACd,IAAI,OAAOA,OAAK;AAEhB,QAAK,SAAS,KAAK,OACjB;AAIF,cAAW,QAAQ;AAGnB,QAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;IACpC,IAAIG,cAAY,KAAK;AAErB,QAAI,MAAMA,cAAY;KACpB,IAAI,OAAO,WAAW,QAAQ,GAAG,MAAMA,cAAY,OAAO;KAC1D,IAAI,KAAK,WAAW,QAAQH,OAAK,OAAO;AAExC,SAAI,MAAMG,iBAAe,+BACtB,OAAO,MAAO,SAAS,MAAM,MAAMA,aAAW,OAAO,GAAG,GAAG,KAAK,gBAEjE;IAEH;AAGD,UAAMA,eAAa;GACpB;EACF,EAAC;CACH;;;;;;AC3LD,QAAO,UAAUC;;;;;;CAOjB,SAASA,QAAM,IACf;EACE,IAAI,kBAAkB,gBAAgB,aAClC,sBAEO,WAAW,mBAAmB,QAAQ,YAAY,aACvD,QAAQ,WACR;AAGN,MAAI,SAEF,UAAS,GAAG;MAIZ,YAAW,IAAI,EAAE;CAEpB;;;;;;CCzBD,IAAI;AAGJ,QAAO,UAAUC;;;;;;;;CASjB,SAASA,QAAM,UACf;EACE,IAAI,UAAU;AAGd,QAAM,WAAW;AAAE,aAAU;EAAO,EAAC;AAErC,SAAO,SAAS,eAAe,KAAK,QACpC;AACE,OAAI,QAEF,UAAS,KAAK,OAAO;OAIrB,OAAM,SAAS,oBACf;AACE,aAAS,KAAK,OAAO;GACtB,EAAC;EAEL;CACF;;;;;;AChCD,QAAO,UAAUC;;;;;;CAOjB,SAASA,QAAMC,SACf;AACE,SAAO,KAAKA,QAAM,KAAK,CAAC,QAAQ,MAAM,KAAKA,QAAM,CAAC;AAGlD,UAAM,OAAO,CAAE;CAChB;;;;;;;CAQD,SAAS,MAAM,KACf;AACE,aAAW,KAAK,KAAK,QAAQ,WAE3B,MAAK,KAAK,MAAM;CAEnB;;;;;;CC5BD,IAAIC,2BACAC;AAIJ,QAAO,UAAUC;;;;;;;;;CAUjB,SAASA,UAAQ,MAAM,UAAUC,SAAO,UACxC;EAEE,IAAI,MAAMA,QAAM,eAAeA,QAAM,aAAaA,QAAM,SAASA,QAAM;AAEvE,UAAM,KAAK,OAAO,OAAO,UAAU,KAAK,KAAK,MAAM,SAAS,OAAO,QACnE;AAGE,SAAM,OAAOA,QAAM,MAEjB;AAIF,UAAOA,QAAM,KAAK;AAElB,OAAI,MAKF,SAAMA,QAAM;OAIZ,SAAM,QAAQ,OAAO;AAIvB,YAAS,OAAOA,QAAM,QAAQ;EAC/B,EAAC;CACH;;;;;;;;;;CAWD,SAAS,OAAO,UAAU,KAAK,MAAM,UACrC;EACE,IAAI;AAGJ,MAAI,SAAS,UAAU,EAErB,WAAU,SAAS,MAAM,QAAM,SAAS,CAAC;MAKzC,WAAU,SAAS,MAAM,KAAK,QAAM,SAAS,CAAC;AAGhD,SAAO;CACR;;;;;;ACzED,QAAO,UAAU;;;;;;;;;;CAWjB,SAAS,MAAM,MAAM,YACrB;EACE,IAAI,eAAe,MAAM,QAAQ,KAAK,EAClCC,cACF;GACE,OAAW;GACX,WAAW,eAAe,aAAa,OAAO,KAAK,KAAK,GAAG;GAC3D,MAAW,CAAE;GACb,SAAW,cAAc,CAAE,IAAG,CAAE;GAChC,MAAW,cAAc,OAAO,KAAK,KAAK,CAAC,SAAS,KAAK;EAC1D;AAGH,MAAI,WAIF,aAAU,UAAU,KAAK,cAAc,aAAa,SAAS,GAAG,GAChE;AACE,UAAO,WAAW,KAAK,IAAI,KAAK,GAAG;EACpC,EAAC;AAGJ,SAAOA;CACR;;;;;;CCpCD,IAAI,yBACA;AAIJ,QAAO,UAAUC;;;;;;;CAQjB,SAASA,aAAW,UACpB;AACE,OAAK,OAAO,KAAK,KAAK,KAAK,CAAC,OAE1B;AAIF,OAAK,QAAQ,KAAK;AAGlB,QAAM,KAAK;AAGX,QAAM,SAAS,CAAC,MAAM,KAAK,QAAQ;CACpC;;;;;;CC5BD,IAAIC,+BACAC,+BACAC;AAIJ,QAAO,UAAU;;;;;;;;;CAUjB,SAAS,SAAS,MAAM,UAAU,UAClC;EACE,IAAIC,UAAQ,YAAU,KAAK;AAE3B,SAAOA,QAAM,SAASA,QAAM,gBAAgB,MAAM,QAClD;AACE,aAAQ,MAAM,UAAUA,SAAO,SAAS,OAAO,QAC/C;AACE,QAAI,OACJ;AACE,cAAS,OAAO,OAAO;AACvB;IACD;AAGD,QAAI,OAAO,KAAKA,QAAM,KAAK,CAAC,WAAW,GACvC;AACE,cAAS,MAAMA,QAAM,QAAQ;AAC7B;IACD;GACF,EAAC;AAEF,WAAM;EACP;AAED,SAAO,aAAW,KAAKA,SAAO,SAAS;CACxC;;;;;;CC1CD,IAAI,6BACA,6BACA;AAIJ,QAAO,UAAUC;AAEjB,QAAO,QAAQ,YAAa;AAC5B,QAAO,QAAQ,aAAa;;;;;;;;;;CAW5B,SAASA,gBAAc,MAAM,UAAU,YAAY,UACnD;EACE,IAAIC,UAAQ,UAAU,MAAM,WAAW;AAEvC,UAAQ,MAAM,UAAUA,SAAO,SAAS,gBAAgB,OAAO,QAC/D;AACE,OAAI,OACJ;AACE,aAAS,OAAO,OAAO;AACvB;GACD;AAED,WAAM;AAGN,OAAIA,QAAM,SAASA,QAAM,gBAAgB,MAAM,QAC/C;AACE,YAAQ,MAAM,UAAUA,SAAO,gBAAgB;AAC/C;GACD;AAGD,YAAS,MAAMA,QAAM,QAAQ;EAC9B,EAAC;AAEF,SAAO,WAAW,KAAKA,SAAO,SAAS;CACxC;;;;;;;;CAaD,SAAS,UAAU,GAAG,GACtB;AACE,SAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI;CACjC;;;;;;;;CASD,SAAS,WAAW,GAAG,GACvB;AACE,SAAO,KAAK,UAAU,GAAG,EAAE;CAC5B;;;;;;CC1ED,IAAI;AAGJ,QAAO,UAAU;;;;;;;;;CAUjB,SAAS,OAAO,MAAM,UAAU,UAChC;AACE,SAAO,cAAc,MAAM,UAAU,MAAM,SAAS;CACrD;;;;;;AChBD,QAAO,UACP;EACE;EACA;EACA;CACD;;;;;;;ACFD,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU;;;;;;;ACAjB,QAAO,UAAU,KAAK;;;;;;;ACAtB,QAAO,UAAU,KAAK;;;;;;;ACAtB,QAAO,UAAU,KAAK;;;;;;;ACAtB,QAAO,UAAU,KAAK;;;;;;;ACAtB,QAAO,UAAU,KAAK;;;;;;;ACAtB,QAAO,UAAU,KAAK;;;;;;;ACAtB,QAAO,UAAU,OAAO,SAAS,SAASC,QAAM,GAAG;AAClD,SAAO,MAAM;CACb;;;;;;CCHD,IAAI;;AAGJ,QAAO,UAAU,SAASC,OAAKC,UAAQ;AACtC,MAAI,OAAOA,SAAO,IAAIA,aAAW,EAChC,QAAOA;AAER,SAAOA,WAAS,IAAI,KAAK;CACzB;;;;;;;ACPD,QAAO,UAAU,OAAO;;;;;;;CCAxB,IAAIC;AAEJ,KAAIA,QACH,KAAI;AACH,UAAM,CAAE,GAAE,SAAS;CACnB,SAAQ,GAAG;AAEX,YAAQ;CACR;AAGF,QAAO,UAAUA;;;;;;;CCXjB,IAAIC,oBAAkB,OAAO,kBAAkB;AAC/C,KAAIA,kBACH,KAAI;AACH,oBAAgB,CAAE,GAAE,KAAK,EAAE,OAAO,EAAG,EAAC;CACtC,SAAQ,GAAG;AAEX,sBAAkB;CAClB;AAGF,QAAO,UAAUA;;;;;;;ACTjB,QAAO,UAAU,SAASC,eAAa;AACtC,aAAW,WAAW,qBAAqB,OAAO,0BAA0B,WAAc,QAAO;AACjG,aAAW,OAAO,aAAa,SAAY,QAAO;;EAGlD,IAAI,MAAM,CAAE;EACZ,IAAI,MAAM,OAAO,OAAO;EACxB,IAAI,SAAS,OAAO,IAAI;AACxB,aAAW,QAAQ,SAAY,QAAO;AAEtC,MAAI,OAAO,UAAU,SAAS,KAAK,IAAI,KAAK,kBAAqB,QAAO;AACxE,MAAI,OAAO,UAAU,SAAS,KAAK,OAAO,KAAK,kBAAqB,QAAO;EAU3E,IAAI,SAAS;AACb,MAAI,OAAO;AACX,OAAK,IAAI,KAAK,IAAO,QAAO;AAC5B,aAAW,OAAO,SAAS,cAAc,OAAO,KAAK,IAAI,CAAC,WAAW,EAAK,QAAO;AAEjF,aAAW,OAAO,wBAAwB,cAAc,OAAO,oBAAoB,IAAI,CAAC,WAAW,EAAK,QAAO;EAE/G,IAAI,OAAO,OAAO,sBAAsB,IAAI;AAC5C,MAAI,KAAK,WAAW,KAAK,KAAK,OAAO,IAAO,QAAO;AAEnD,OAAK,OAAO,UAAU,qBAAqB,KAAK,KAAK,IAAI,CAAI,QAAO;AAEpE,aAAW,OAAO,6BAA6B,YAAY;GAE1D,IAAI,aAAgD,OAAO,yBAAyB,KAAK,IAAI;AAC7F,OAAI,WAAW,UAAU,UAAU,WAAW,eAAe,KAAQ,QAAO;EAC5E;AAED,SAAO;CACP;;;;;;CC1CD,IAAI,oBAAoB,WAAW,eAAe;CAClD,IAAI;;AAGJ,QAAO,UAAU,SAAS,mBAAmB;AAC5C,aAAW,eAAe,WAAc,QAAO;AAC/C,aAAW,WAAW,WAAc,QAAO;AAC3C,aAAW,WAAW,MAAM,KAAK,SAAY,QAAO;AACpD,aAAW,OAAO,MAAM,KAAK,SAAY,QAAO;AAEhD,SAAO,eAAe;CACtB;;;;;;;ACVD,QAAO,iBAAkB,YAAY,eAAe,QAAQ,kBAAmB;;;;;;CCD/E,IAAIC;;AAGJ,QAAO,UAAUA,UAAQ,kBAAkB;;;;;;CCD3C,IAAI,gBAAgB;CACpB,IAAI,QAAQ,OAAO,UAAU;CAC7B,IAAIC,QAAM,KAAK;CACf,IAAI,WAAW;CAEf,IAAI,WAAW,SAASC,WAAS,GAAG,GAAG;EACnC,IAAI,MAAM,CAAE;AAEZ,OAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAC/B,KAAI,KAAK,EAAE;AAEf,OAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAC/B,KAAI,IAAI,EAAE,UAAU,EAAE;AAG1B,SAAO;CACV;CAED,IAAI,QAAQ,SAASC,QAAM,SAAS,QAAQ;EACxC,IAAI,MAAM,CAAE;AACZ,OAAK,IAAI,IAAI,UAAU,GAAG,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG,KAAK,EAC9D,KAAI,KAAK,QAAQ;AAErB,SAAO;CACV;CAED,IAAI,QAAQ,SAAU,KAAK,QAAQ;EAC/B,IAAI,MAAM;AACV,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,GAAG;AACpC,UAAO,IAAI;AACX,OAAI,IAAI,IAAI,IAAI,OACZ,QAAO;EAEd;AACD,SAAO;CACV;AAED,QAAO,UAAU,SAASC,OAAK,MAAM;EACjC,IAAI,SAAS;AACb,aAAW,WAAW,cAAc,MAAM,MAAM,OAAO,KAAK,SACxD,OAAM,IAAI,UAAU,gBAAgB;EAExC,IAAI,OAAO,MAAM,WAAW,EAAE;EAE9B,IAAI;EACJ,IAAI,SAAS,WAAY;AACrB,OAAI,gBAAgB,OAAO;IACvB,IAAI,SAAS,OAAO,MAChB,MACA,SAAS,MAAM,UAAU,CAC5B;AACD,QAAI,OAAO,OAAO,KAAK,OACnB,QAAO;AAEX,WAAO;GACV;AACD,UAAO,OAAO,MACV,MACA,SAAS,MAAM,UAAU,CAC5B;EAEJ;EAED,IAAI,cAAc,MAAI,GAAG,OAAO,SAAS,KAAK,OAAO;EACrD,IAAI,YAAY,CAAE;AAClB,OAAK,IAAI,IAAI,GAAG,IAAI,aAAa,IAC7B,WAAU,KAAK,MAAM;AAGzB,UAAQ,SAAS,UAAU,sBAAsB,MAAM,WAAW,IAAI,GAAG,4CAA4C,CAAC,OAAO;AAE7H,MAAI,OAAO,WAAW;GAClB,IAAI,QAAQ,SAASC,UAAQ,CAAE;AAC/B,SAAM,YAAY,OAAO;AACzB,SAAM,YAAY,IAAI;AACtB,SAAM,YAAY;EACrB;AAED,SAAO;CACV;;;;;;CCjFD,IAAI;AAEJ,QAAO,UAAU,SAAS,UAAU,QAAQ;;;;;;;ACD5C,QAAO,UAAU,SAAS,UAAU;;;;;;;ACApC,QAAO,UAAU,SAAS,UAAU;;;;;;;ACApC,QAAO,iBAAiB,YAAY,eAAe,WAAW,QAAQ;;;;;;CCDtE,IAAIC;CAEJ,IAAIC;CACJ,IAAIC;CACJ,IAAI;;AAGJ,QAAO,UAAU,iBAAiB,OAAK,KAAKA,SAAOD,SAAO;;;;;;CCP1D,IAAIE;CACJ,IAAIC;CAEJ,IAAIC;CACJ,IAAI;;AAGJ,QAAO,UAAU,SAAS,cAAc,MAAM;AAC7C,MAAI,KAAK,SAAS,YAAY,KAAK,OAAO,WACzC,OAAM,IAAID,aAAW;AAEtB,SAAO,aAAaD,QAAME,SAAO,KAAK;CACtC;;;;;;CCZD,IAAI;CACJ,IAAI;CAEJ,IAAI;AACJ,KAAI;AAEH,qBAA0E,CAAE,EAAE,cAAc,MAAM;CAClG,SAAQ,GAAG;AACX,OAAK,YAAY,MAAM,cAAc,UAAU,MAAM,EAAE,SAAS,mBAC/D,OAAM;CAEP;CAGD,IAAI,SAAS,oBAAoB,QAAQ,KAAK,OAAO,WAAyD,YAAa;CAE3H,IAAIC,YAAU;CACd,IAAI,kBAAkBA,UAAQ;;AAG9B,QAAO,UAAU,eAAe,KAAK,QAAQ,aAC1C,SAAS,CAAC,KAAK,GAAI,EAAC,UACb,oBAAoB,aACK,SAAS,UAAU,OAAO;AAE1D,SAAO,gBAAgB,SAAS,OAAO,QAAQ,UAAQ,MAAM,CAAC;CAC9D,IACC;;;;;;CC3BJ,IAAI;CACJ,IAAI;CAEJ,IAAI;;AAGJ,QAAO,UAAU,kBACd,SAASC,WAAS,GAAG;AAEtB,SAAO,gBAAgB,EAAE;CACzB,IACC,mBACC,SAASA,WAAS,GAAG;AACtB,OAAK,YAAa,MAAM,mBAAmB,MAAM,WAChD,OAAM,IAAI,UAAU;AAGrB,SAAO,iBAAiB,EAAE;CAC1B,IACC,iBACC,SAASA,WAAS,GAAG;AAEtB,SAAO,eAAe,EAAE;CACxB,IACC;;;;;;CCxBL,IAAI,OAAO,SAAS,UAAU;CAC9B,IAAI,UAAU,OAAO,UAAU;CAC/B,IAAIC;;AAGJ,QAAO,UAAU,OAAK,KAAK,MAAM,QAAQ;;;;;;CCLzC,IAAIC;CAEJ,IAAI;CAEJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAIC;CACJ,IAAI;CAEJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,IAAI,YAAY;CAGhB,IAAI,wBAAwB,SAAU,kBAAkB;AACvD,MAAI;AACH,UAAO,UAAU,6BAA2B,mBAAmB,iBAAiB,EAAE;EAClF,SAAQ,GAAG,CAAE;CACd;CAED,IAAI;CACJ,IAAIC;CAEJ,IAAI,iBAAiB,WAAY;AAChC,QAAM,IAAID;CACV;CACD,IAAI,iBAAiB,QACjB,WAAY;AACd,MAAI;AAEH,aAAU;AACV,UAAO;EACP,SAAQ,cAAc;AACtB,OAAI;AAEH,WAAO,MAAM,WAAW,SAAS,CAAC;GAClC,SAAQ,YAAY;AACpB,WAAO;GACP;EACD;CACD,GAAE,GACD;CAEH,IAAIE,eAAa,uBAAwB;CAEzC,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,IAAI;CACJ,IAAI;CAEJ,IAAI,YAAY,CAAE;CAElB,IAAI,oBAAoB,eAAe,gBAAgB,WAAWH,cAAY,SAAS,WAAW;CAElG,IAAI,aAAa;EAChB,WAAW;EACX,2BAA2B,mBAAmB,cAAcA,cAAY;EACxE,WAAW;EACX,wBAAwB,gBAAgB,cAAcA,cAAY;EAClE,4BAA4BG,gBAAc,WAAW,SAAS,CAAE,EAAC,OAAO,WAAW,CAAC,GAAGH;EACvF,oCAAoCA;EACpC,mBAAmB;EACnB,oBAAoB;EACpB,4BAA4B;EAC5B,4BAA4B;EAC5B,oBAAoB,YAAY,cAAcA,cAAY;EAC1D,mBAAmB,WAAW,cAAcA,cAAY;EACxD,0BAA0B,kBAAkB,cAAcA,cAAY;EACtE,2BAA2B,mBAAmB,cAAcA,cAAY;EACxE,aAAa;EACb,qBAAqB,aAAa,cAAcA,cAAY;EAC5D,UAAU;EACV,eAAe;EACf,wBAAwB;EACxB,eAAe;EACf,wBAAwB;EACxB,WAAW;EACX,UAAU;EACV,eAAe;EACf,yBAAyB,iBAAiB,cAAcA,cAAY;EACpE,yBAAyB,iBAAiB,cAAcA,cAAY;EACpE,yBAAyB,iBAAiB,cAAcA,cAAY;EACpE,iCAAiC,yBAAyB,cAAcA,cAAY;EACpF,cAAc;EACd,uBAAuB;EACvB,sBAAsB,cAAc,cAAcA,cAAY;EAC9D,uBAAuB,eAAe,cAAcA,cAAY;EAChE,uBAAuB,eAAe,cAAcA,cAAY;EAChE,cAAc;EACd,WAAW;EACX,uBAAuBG,gBAAc,WAAW,SAAS,SAAS,CAAE,EAAC,OAAO,WAAW,CAAC,CAAC,GAAGH;EAC5F,iBAAiB,SAAS,WAAW,OAAOA;EAC5C,gBAAgB,QAAQ,cAAcA,cAAY;EAClD,iCAAiC,QAAQ,gBAAgBG,iBAAe,WAAWH,cAAY,SAAS,qBAAI,OAAM,OAAO,WAAW,CAAC;EACrI,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,qCAAqC;EACrC,gBAAgB;EAChB,cAAc;EACd,oBAAoB,YAAY,cAAcA,cAAY;EAC1D,kBAAkB,UAAU,cAAcA,cAAY;EACtD,gBAAgB;EAChB,oBAAoB;EACpB,oBAAoB,YAAY,cAAcA,cAAY;EAC1D,YAAY;EACZ,gBAAgB,QAAQ,cAAcA,cAAY;EAClD,iCAAiC,QAAQ,gBAAgBG,iBAAe,WAAWH,cAAY,SAAS,qBAAI,OAAM,OAAO,WAAW,CAAC;EACrI,8BAA8B,sBAAsB,cAAcA,cAAY;EAC9E,YAAY;EACZ,6BAA6BG,gBAAc,WAAW,SAAS,GAAG,OAAO,WAAW,CAAC,GAAGH;EACxF,YAAYG,eAAa,SAASH;EAClC,iBAAiB;EACjB,oBAAoB;EACpB,gBAAgB;EAChB,eAAeC;EACf,uBAAuB,eAAe,cAAcD,cAAY;EAChE,8BAA8B,sBAAsB,cAAcA,cAAY;EAC9E,wBAAwB,gBAAgB,cAAcA,cAAY;EAClE,wBAAwB,gBAAgB,cAAcA,cAAY;EAClE,cAAc;EACd,oBAAoB,YAAY,cAAcA,cAAY;EAC1D,oBAAoB,YAAY,cAAcA,cAAY;EAC1D,oBAAoB,YAAY,cAAcA,cAAY;EAE1D,6BAA6B;EAC7B,8BAA8B;EAC9B,2BAA2BE;EAC3B,2BAA2B;EAC3B,cAAc;EACd,gBAAgB;EAChB,cAAc;EACd,cAAc;EACd,cAAc;EACd,gBAAgB;EAChB,eAAe;EACf,4BAA4B;CAC5B;AAED,KAAI,SACH,KAAI;AACH,OAAK;CACL,SAAQ,GAAG;EAEX,IAAI,aAAa,SAAS,SAAS,EAAE,CAAC;AACtC,aAAW,uBAAuB;CAClC;CAGF,IAAI,SAAS,SAASE,SAAO,MAAM;EAClC,IAAI;AACJ,MAAI,SAAS,kBACZ,SAAQ,sBAAsB,uBAAuB;WAC3C,SAAS,sBACnB,SAAQ,sBAAsB,kBAAkB;WACtC,SAAS,2BACnB,SAAQ,sBAAsB,wBAAwB;WAC5C,SAAS,oBAAoB;GACvC,IAAI,KAAK,SAAO,2BAA2B;AAC3C,OAAI,GACH,SAAQ,GAAG;EAEZ,WAAU,SAAS,4BAA4B;GAC/C,IAAI,MAAM,SAAO,mBAAmB;AACpC,OAAI,OAAO,SACV,SAAQ,SAAS,IAAI,UAAU;EAEhC;AAED,aAAW,QAAQ;AAEnB,SAAO;CACP;CAED,IAAI,iBAAiB;EACpB,WAAW;EACX,0BAA0B,CAAC,eAAe,WAAY;EACtD,oBAAoB,CAAC,SAAS,WAAY;EAC1C,wBAAwB;GAAC;GAAS;GAAa;EAAU;EACzD,wBAAwB;GAAC;GAAS;GAAa;EAAU;EACzD,qBAAqB;GAAC;GAAS;GAAa;EAAO;EACnD,uBAAuB;GAAC;GAAS;GAAa;EAAS;EACvD,4BAA4B,CAAC,iBAAiB,WAAY;EAC1D,oBAAoB,CAAC,0BAA0B,WAAY;EAC3D,6BAA6B;GAAC;GAA0B;GAAa;EAAY;EACjF,sBAAsB,CAAC,WAAW,WAAY;EAC9C,uBAAuB,CAAC,YAAY,WAAY;EAChD,mBAAmB,CAAC,QAAQ,WAAY;EACxC,oBAAoB,CAAC,SAAS,WAAY;EAC1C,wBAAwB,CAAC,aAAa,WAAY;EAClD,2BAA2B,CAAC,gBAAgB,WAAY;EACxD,2BAA2B,CAAC,gBAAgB,WAAY;EACxD,uBAAuB,CAAC,YAAY,WAAY;EAChD,eAAe,CAAC,qBAAqB,WAAY;EACjD,wBAAwB;GAAC;GAAqB;GAAa;EAAY;EACvE,wBAAwB,CAAC,aAAa,WAAY;EAClD,yBAAyB,CAAC,cAAc,WAAY;EACpD,yBAAyB,CAAC,cAAc,WAAY;EACpD,eAAe,CAAC,QAAQ,OAAQ;EAChC,mBAAmB,CAAC,QAAQ,WAAY;EACxC,kBAAkB,CAAC,OAAO,WAAY;EACtC,qBAAqB,CAAC,UAAU,WAAY;EAC5C,qBAAqB,CAAC,UAAU,WAAY;EAC5C,uBAAuB;GAAC;GAAU;GAAa;EAAW;EAC1D,sBAAsB;GAAC;GAAU;GAAa;EAAU;EACxD,sBAAsB,CAAC,WAAW,WAAY;EAC9C,uBAAuB;GAAC;GAAW;GAAa;EAAO;EACvD,iBAAiB,CAAC,WAAW,KAAM;EACnC,oBAAoB,CAAC,WAAW,QAAS;EACzC,qBAAqB,CAAC,WAAW,SAAU;EAC3C,yBAAyB,CAAC,cAAc,WAAY;EACpD,6BAA6B,CAAC,kBAAkB,WAAY;EAC5D,qBAAqB,CAAC,UAAU,WAAY;EAC5C,kBAAkB,CAAC,OAAO,WAAY;EACtC,gCAAgC,CAAC,qBAAqB,WAAY;EAClE,qBAAqB,CAAC,UAAU,WAAY;EAC5C,qBAAqB,CAAC,UAAU,WAAY;EAC5C,0BAA0B,CAAC,eAAe,WAAY;EACtD,yBAAyB,CAAC,cAAc,WAAY;EACpD,wBAAwB,CAAC,aAAa,WAAY;EAClD,yBAAyB,CAAC,cAAc,WAAY;EACpD,gCAAgC,CAAC,qBAAqB,WAAY;EAClE,0BAA0B,CAAC,eAAe,WAAY;EACtD,0BAA0B,CAAC,eAAe,WAAY;EACtD,uBAAuB,CAAC,YAAY,WAAY;EAChD,sBAAsB,CAAC,WAAW,WAAY;EAC9C,sBAAsB,CAAC,WAAW,WAAY;CAC9C;CAED,IAAIC;CACJ,IAAIC;CACJ,IAAI,UAAU,OAAK,KAAK,OAAO,MAAM,UAAU,OAAO;CACtD,IAAI,eAAe,OAAK,KAAK,QAAQ,MAAM,UAAU,OAAO;CAC5D,IAAI,WAAW,OAAK,KAAK,OAAO,OAAO,UAAU,QAAQ;CACzD,IAAI,YAAY,OAAK,KAAK,OAAO,OAAO,UAAU,MAAM;CACxD,IAAI,QAAQ,OAAK,KAAK,OAAO,OAAO,UAAU,KAAK;CAGnD,IAAI,aAAa;CACjB,IAAI,eAAe;CACnB,IAAI,eAAe,SAASC,eAAaC,UAAQ;EAChD,IAAI,QAAQ,UAAUA,UAAQ,GAAG,EAAE;EACnC,IAAI,OAAO,UAAUA,UAAQ,GAAG;AAChC,MAAI,UAAU,OAAO,SAAS,IAC7B,OAAM,IAAI,aAAa;WACb,SAAS,OAAO,UAAU,IACpC,OAAM,IAAI,aAAa;EAExB,IAAI,SAAS,CAAE;AACf,WAASA,UAAQ,YAAY,SAAU,OAAOC,UAAQ,OAAO,WAAW;AACvE,UAAO,OAAO,UAAU,QAAQ,SAAS,WAAW,cAAc,KAAK,GAAGA,YAAU;EACpF,EAAC;AACF,SAAO;CACP;CAGD,IAAI,mBAAmB,SAASC,mBAAiB,MAAM,cAAc;EACpE,IAAI,gBAAgB;EACpB,IAAI;AACJ,MAAI,SAAO,gBAAgB,cAAc,EAAE;AAC1C,WAAQ,eAAe;AACvB,mBAAgB,MAAM,MAAM,KAAK;EACjC;AAED,MAAI,SAAO,YAAY,cAAc,EAAE;GACtC,IAAI,QAAQ,WAAW;AACvB,OAAI,UAAU,UACb,SAAQ,OAAO,cAAc;AAE9B,cAAW,UAAU,gBAAgB,aACpC,OAAM,IAAIT,aAAW,eAAe,OAAO;AAG5C,UAAO;IACC;IACP,MAAM;IACC;GACP;EACD;AAED,QAAM,IAAI,aAAa,eAAe,OAAO;CAC7C;AAED,QAAO,UAAU,SAASU,eAAa,MAAM,cAAc;AAC1D,aAAW,SAAS,YAAY,KAAK,WAAW,EAC/C,OAAM,IAAIV,aAAW;AAEtB,MAAI,UAAU,SAAS,YAAY,iBAAiB,UACnD,OAAM,IAAIA,aAAW;AAGtB,MAAI,MAAM,eAAe,KAAK,KAAK,KAClC,OAAM,IAAI,aAAa;EAExB,IAAI,QAAQ,aAAa,KAAK;EAC9B,IAAI,oBAAoB,MAAM,SAAS,IAAI,MAAM,KAAK;EAEtD,IAAI,YAAY,iBAAiB,MAAM,oBAAoB,KAAK,aAAa;EAC7E,IAAI,oBAAoB,UAAU;EAClC,IAAI,QAAQ,UAAU;EACtB,IAAI,qBAAqB;EAEzB,IAAI,QAAQ,UAAU;AACtB,MAAI,OAAO;AACV,uBAAoB,MAAM;AAC1B,gBAAa,OAAO,QAAQ,CAAC,GAAG,CAAE,GAAE,MAAM,CAAC;EAC3C;AAED,OAAK,IAAI,IAAI,GAAG,QAAQ,MAAM,IAAI,MAAM,QAAQ,KAAK,GAAG;GACvD,IAAI,OAAO,MAAM;GACjB,IAAI,QAAQ,UAAU,MAAM,GAAG,EAAE;GACjC,IAAI,OAAO,UAAU,MAAM,GAAG;AAC9B,QAEG,UAAU,QAAO,UAAU,OAAO,UAAU,OACzC,SAAS,QAAO,SAAS,OAAO,SAAS,QAE3C,UAAU,KAEb,OAAM,IAAI,aAAa;AAExB,OAAI,SAAS,kBAAkB,MAC9B,sBAAqB;AAGtB,wBAAqB,MAAM;AAC3B,uBAAoB,MAAM,oBAAoB;AAE9C,OAAI,SAAO,YAAY,kBAAkB,CACxC,SAAQ,WAAW;YACT,SAAS,MAAM;AACzB,UAAM,QAAQ,QAAQ;AACrB,UAAK,aACJ,OAAM,IAAIA,aAAW,wBAAwB,OAAO;AAErD,iBAAY;IACZ;AACD,QAAI,SAAU,IAAI,KAAM,MAAM,QAAQ;KACrC,IAAIW,SAAO,MAAM,OAAO,KAAK;AAC7B,eAAUA;AASV,SAAI,SAAS,SAASA,YAAU,mBAAmBA,OAAK,KACvD,SAAQA,OAAK;SAEb,SAAQ,MAAM;IAEf,OAAM;AACN,aAAQ,SAAO,OAAO,KAAK;AAC3B,aAAQ,MAAM;IACd;AAED,QAAI,UAAU,mBACb,YAAW,qBAAqB;GAEjC;EACD;AACD,SAAO;CACP;;;;;;CCvXD,IAAI;;AAGJ,QAAO,UAAU,SAAS,sBAAsB;AAC/C,SAAO,YAAY,MAAM,OAAO;CAChC;;;;;;CCLD,IAAI;CAEJ,IAAI,kBAAkB,aAAa,2BAA2B,KAAK;CAEnE,IAAI,iBAAiB,iBAAkC;CACvD,IAAI;CACJ,IAAI;CAEJ,IAAI,cAAc,iBAAiB,OAAO,cAAc;;AAGxD,QAAO,UAAU,SAASC,iBAAeC,UAAQ,OAAO;EACvD,IAAI,gBAAgB,UAAU,SAAS,OAAO,UAAU,MAAM,UAAU,GAAG;EAC3E,IAAI,kBAAkB,UAAU,SAAS,OAAO,UAAU,MAAM,UAAU,GAAG;AAC7E,aACS,kBAAkB,sBAAsB,kBAAkB,oBACvD,oBAAoB,sBAAsB,oBAAoB,UAEzE,OAAM,IAAI,WAAW;AAEtB,MAAI,gBAAgB,kBAAkB,OAAOA,UAAQ,YAAY,EAChE,KAAI,gBACH,iBAAgBA,UAAQ,aAAa;GACpC,eAAe;GACf,YAAY;GACL;GACP,UAAU;EACV,EAAC;MAEF,UAAO,eAAe;CAGxB;;;;;;ACjCD,QAAO,UAAU,SAAS,KAAK,KAAK;AAElC,SAAO,KAAK,IAAI,CAAC,QAAQ,SAAS,MAClC;AACE,OAAI,QAAQ,IAAI,SAAS,IAAI;EAC9B,EAAC;AAEF,SAAO;CACR;;;;;;CCTD,IAAI;CACJ,IAAI,OAAO,UAAQ,OAAO;CAC1B,IAAI,OAAO,UAAQ,OAAO;CAC1B,IAAI,OAAO,UAAQ,OAAO;CAC1B,IAAI,QAAQ,UAAQ,QAAQ;CAC5B,IAAI,WAAW,UAAQ,MAAM,CAAC;CAC9B,IAAI,KAAK,UAAQ,KAAK;CACtB,IAAI,SAAS,UAAQ,SAAS,CAAC;CAC/B,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AAGJ,QAAO,UAAUC;AAGjB,MAAK,SAASA,YAAU,eAAe;;;;;;;;;CAUvC,SAASA,WAAS,SAAS;AACzB,QAAM,gBAAgBA,YACpB,QAAO,IAAIA,WAAS;AAGtB,OAAK,kBAAkB;AACvB,OAAK,eAAe;AACpB,OAAK,mBAAmB,CAAE;AAE1B,iBAAe,KAAK,KAAK;AAEzB,YAAU,WAAW,CAAE;AACvB,OAAK,IAAI,UAAU,QACjB,MAAK,UAAU,QAAQ;CAE1B;AAED,YAAS,aAAa;AACtB,YAAS,uBAAuB;AAEhC,YAAS,UAAU,SAAS,SAAS,OAAO,OAAO,SAAS;AAE1D,YAAU,WAAW,CAAE;AAGvB,aAAW,WAAW,SACpB,WAAU,EAAC,UAAU,QAAQ;EAG/B,IAAI,SAAS,eAAe,UAAU,OAAO,KAAK,KAAK;AAGvD,aAAW,SAAS,SAClB,SAAQ,KAAK;AAIf,MAAI,MAAM,QAAQ,MAAM,EAAE;AAGxB,QAAK,OAAO,IAAI,MAAM,6BAA6B;AACnD;EACD;EAED,IAAI,SAAS,KAAK,iBAAiB,OAAO,OAAO,QAAQ;EACzD,IAAI,SAAS,KAAK,kBAAkB;AAEpC,SAAO,OAAO;AACd,SAAO,MAAM;AACb,SAAO,OAAO;AAGd,OAAK,aAAa,QAAQ,OAAO,QAAQ;CAC1C;AAED,YAAS,UAAU,eAAe,SAAS,QAAQ,OAAO,SAAS;EACjE,IAAI,cAAc;AAMlB,MAAI,QAAQ,eAAe,KACzB,iBAAgB,QAAQ;WACf,OAAO,SAAS,MAAM,CAC/B,eAAc,MAAM;kBACJ,UAAU,SAC1B,eAAc,OAAO,WAAW,MAAM;AAGxC,OAAK,gBAAgB;AAGrB,OAAK,mBACH,OAAO,WAAW,OAAO,GACzBA,WAAS,WAAW;AAGtB,OAAK,UAAY,MAAM,UAAU,MAAM,YAAY,OAAO,UAAU,eAAe,KAAK,OAAO,cAAc,OAAO,iBAAiB,QACnI;AAIF,OAAK,QAAQ,YACX,MAAK,iBAAiB,KAAK,MAAM;CAEpC;AAED,YAAS,UAAU,mBAAmB,SAAS,OAAO,UAAU;AAC9D,MAAI,OAAO,UAAU,eAAe,KAAK,OAAO,KAAK,CASnD,KAAI,MAAM,iBAAoB,MAAM,OAAO,YAAY,MAAM,gBAK3D,UAAS,MAAM,MAAM,MAAM,KAAK,MAAM,QAAQ,MAAM,QAAQ,GAAG;MAK/D,IAAG,KAAK,MAAM,MAAM,SAAS,KAAK,MAAM;GAEtC,IAAI;AAEJ,OAAI,KAAK;AACP,aAAS,IAAI;AACb;GACD;AAGD,cAAW,KAAK,QAAQ,MAAM,QAAQ,MAAM,QAAQ;AACpD,YAAS,MAAM,SAAS;EACzB,EAAC;WAIK,OAAO,UAAU,eAAe,KAAK,OAAO,cAAc,CACnE,UAAS,OAAO,MAAM,QAAQ,kBAAkB;WAGvC,OAAO,UAAU,eAAe,KAAK,OAAO,aAAa,EAAE;AAEpE,SAAM,GAAG,YAAY,SAAS,UAAU;AACtC,UAAM,OAAO;AACb,aAAS,OAAO,SAAS,QAAQ,kBAAkB;GACpD,EAAC;AACF,SAAM,QAAQ;EAGf,MACC,UAAS,iBAAiB;CAE7B;AAED,YAAS,UAAU,mBAAmB,SAAS,OAAO,OAAO,SAAS;AAIpE,aAAW,QAAQ,UAAU,SAC3B,QAAO,QAAQ;EAGjB,IAAI,qBAAqB,KAAK,uBAAuB,OAAO,QAAQ;EACpE,IAAIC,gBAAc,KAAK,gBAAgB,OAAO,QAAQ;EAEtD,IAAI,WAAW;EACf,IAAI,UAAW;GAEb,uBAAuB,CAAC,aAAa,YAAW,QAAQ,IAAI,EAAC,OAAO,sBAAsB,CAAE,EAAC;GAE7F,gBAAgB,CAAE,EAAC,OAAOA,iBAAe,CAAE,EAAC;EAC7C;AAGD,aAAW,QAAQ,UAAU,SAC3B,UAAS,SAAS,QAAQ,OAAO;EAGnC,IAAI;AACJ,OAAK,IAAI,QAAQ,QACf,KAAI,OAAO,UAAU,eAAe,KAAK,SAAS,KAAK,EAAE;AACvD,YAAS,QAAQ;AAGjB,OAAI,UAAU,KACZ;AAIF,QAAK,MAAM,QAAQ,OAAO,CACxB,UAAS,CAAC,MAAO;AAInB,OAAI,OAAO,OACT,aAAY,OAAO,OAAO,OAAO,KAAK,KAAK,GAAGD,WAAS;EAE1D;AAGH,SAAO,OAAO,KAAK,aAAa,GAAGA,WAAS,aAAa,WAAWA,WAAS;CAC9E;AAED,YAAS,UAAU,yBAAyB,SAAS,OAAO,SAAS;EAEnE,IAAI,UACA;AAGJ,aAAW,QAAQ,aAAa,SAE9B,YAAW,KAAK,UAAU,QAAQ,SAAS,CAAC,QAAQ,OAAO,IAAI;WACtD,QAAQ,YAAY,MAAM,QAAQ,MAAM,KAIjD,YAAW,KAAK,SAAS,QAAQ,YAAY,MAAM,QAAQ,MAAM,KAAK;WAC7D,MAAM,YAAY,OAAO,UAAU,eAAe,KAAK,OAAO,cAAc,CAErF,YAAW,KAAK,SAAS,MAAM,OAAO,aAAa,QAAQ,GAAG;AAGhE,MAAI,SACF,sBAAqB,gBAAe,WAAW;AAGjD,SAAO;CACR;AAED,YAAS,UAAU,kBAAkB,SAAS,OAAO,SAAS;EAG5D,IAAIC,gBAAc,QAAQ;AAG1B,OAAKA,iBAAe,MAAM,KACxB,iBAAc,KAAK,OAAO,MAAM,KAAK;AAIvC,OAAKA,iBAAe,MAAM,KACxB,iBAAc,KAAK,OAAO,MAAM,KAAK;AAIvC,OAAKA,iBAAe,MAAM,YAAY,OAAO,UAAU,eAAe,KAAK,OAAO,cAAc,CAC9F,iBAAc,MAAM,QAAQ;AAI9B,OAAKA,kBAAgB,QAAQ,YAAY,QAAQ,UAC/C,iBAAc,KAAK,OAAO,QAAQ,YAAY,QAAQ,SAAS;AAIjE,OAAKA,wBAAsB,SAAS,SAClC,iBAAcD,WAAS;AAGzB,SAAOC;CACR;AAED,YAAS,UAAU,mBAAmB,WAAW;AAC/C,SAAO,SAAS,MAAM;GACpB,IAAI,SAASD,WAAS;GAEtB,IAAI,WAAY,KAAK,SAAS,WAAW;AACzC,OAAI,SACF,WAAU,KAAK,eAAe;AAGhC,QAAK,OAAO;EACb,EAAC,KAAK,KAAK;CACb;AAED,YAAS,UAAU,gBAAgB,WAAW;AAC5C,SAAO,OAAO,KAAK,aAAa,GAAG,OAAOA,WAAS;CACpD;AAED,YAAS,UAAU,aAAa,SAAS,aAAa;EACpD,IAAI;EACJ,IAAI,cAAc,EAChB,gBAAgB,mCAAmC,KAAK,aAAa,CACtE;AAED,OAAK,UAAU,YACb,KAAI,OAAO,UAAU,eAAe,KAAK,aAAa,OAAO,CAC3D,aAAY,OAAO,aAAa,IAAI,YAAY;AAIpD,SAAO;CACR;AAED,YAAS,UAAU,cAAc,SAAS,UAAU;AAClD,OAAK,YAAY;CAClB;AAED,YAAS,UAAU,cAAc,WAAW;AAC1C,OAAK,KAAK,UACR,MAAK,mBAAmB;AAG1B,SAAO,KAAK;CACb;AAED,YAAS,UAAU,YAAY,WAAW;EACxC,IAAI,aAAa,IAAI,OAAO,MAAM;EAClC,IAAI,WAAW,KAAK,aAAa;AAGjC,OAAK,IAAI,IAAI,GAAG,MAAM,KAAK,SAAS,QAAQ,IAAI,KAAK,IACnD,YAAW,KAAK,SAAS,OAAO,YAAY;AAG1C,OAAG,OAAO,SAAS,KAAK,SAAS,GAAG,CAClC,cAAa,OAAO,OAAQ,CAAC,YAAY,KAAK,SAAS,EAAG,EAAC;OAE3D,cAAa,OAAO,OAAQ,CAAC,YAAY,OAAO,KAAK,KAAK,SAAS,GAAG,AAAC,EAAC;AAI1E,cAAW,KAAK,SAAS,OAAO,YAAY,KAAK,SAAS,GAAG,UAAW,GAAG,SAAS,SAAS,EAAG,KAAK,SACnG,cAAa,OAAO,OAAQ,CAAC,YAAY,OAAO,KAAKA,WAAS,WAAW,AAAC,EAAE;EAE/E;AAIH,SAAO,OAAO,OAAQ,CAAC,YAAY,OAAO,KAAK,KAAK,eAAe,CAAC,AAAC,EAAE;CACxE;AAED,YAAS,UAAU,oBAAoB,WAAW;EAGhD,IAAI,WAAW;AACf,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,aAAY,KAAK,MAAM,KAAK,QAAQ,GAAG,GAAG,CAAC,SAAS,GAAG;AAGzD,OAAK,YAAY;CAClB;AAKD,YAAS,UAAU,gBAAgB,WAAW;EAC5C,IAAI,cAAc,KAAK,kBAAkB,KAAK;AAI9C,MAAI,KAAK,SAAS,OAChB,gBAAe,KAAK,eAAe,CAAC;AAItC,OAAK,KAAK,gBAAgB,CAIxB,MAAK,OAAO,IAAI,MAAM,sDAAsD;AAG9E,SAAO;CACR;AAKD,YAAS,UAAU,iBAAiB,WAAW;EAC7C,IAAI,iBAAiB;AAErB,MAAI,KAAK,iBAAiB,OACxB,kBAAiB;AAGnB,SAAO;CACR;AAED,YAAS,UAAU,YAAY,SAAS,IAAI;EAC1C,IAAI,cAAc,KAAK,kBAAkB,KAAK;AAE9C,MAAI,KAAK,SAAS,OAChB,gBAAe,KAAK,eAAe,CAAC;AAGtC,OAAK,KAAK,iBAAiB,QAAQ;AACjC,WAAQ,SAAS,GAAG,KAAK,MAAM,MAAM,YAAY,CAAC;AAClD;EACD;AAED,WAAS,SAAS,KAAK,kBAAkB,KAAK,kBAAkB,SAAS,KAAK,QAAQ;AACpF,OAAI,KAAK;AACP,OAAG,IAAI;AACP;GACD;AAED,UAAO,QAAQ,SAAS,QAAQ;AAC9B,mBAAe;GAChB,EAAC;AAEF,MAAG,MAAM,YAAY;EACtB,EAAC;CACH;AAED,YAAS,UAAU,SAAS,SAAS,QAAQ,IAAI;EAC/C,IAAI,SACA,SACAE,aAAW,EAAC,QAAQ,OAAO;AAK/B,aAAW,UAAU,UAAU;AAE7B,YAAS,SAAS,OAAO;AACzB,aAAU,SAAS;IACjB,MAAM,OAAO;IACb,MAAM,OAAO;IACb,MAAM,OAAO;IACb,UAAU,OAAO;GAClB,GAAEA,WAAS;EAGb,OAAM;AAEL,aAAU,SAAS,QAAQA,WAAS;AAEpC,QAAK,QAAQ,KACX,SAAQ,OAAO,QAAQ,YAAY,WAAW,MAAM;EAEvD;AAGD,UAAQ,UAAU,KAAK,WAAW,OAAO,QAAQ;AAGjD,MAAI,QAAQ,YAAY,SACtB,WAAU,MAAM,QAAQ,QAAQ;MAEhC,WAAU,KAAK,QAAQ,QAAQ;AAIjC,OAAK,UAAU,SAAS,KAAK,QAAQ;AACnC,OAAI,OAAO,QAAQ,kBAAkB;AACnC,SAAK,OAAO,IAAI;AAChB;GACD;AAGD,OAAI,OACF,SAAQ,UAAU,kBAAkB,OAAO;AAG7C,QAAK,KAAK,QAAQ;AAClB,OAAI,IAAI;IACN,IAAI;IAEJ,IAAI,WAAW,SAAU,OAAO,UAAU;AACxC,aAAQ,eAAe,SAAS,SAAS;AACzC,aAAQ,eAAe,YAAY,WAAW;AAE9C,YAAO,GAAG,KAAK,MAAM,OAAO,SAAS;IACtC;AAED,iBAAa,SAAS,KAAK,MAAM,KAAK;AAEtC,YAAQ,GAAG,SAAS,SAAS;AAC7B,YAAQ,GAAG,YAAY,WAAW;GACnC;EACF,EAAC,KAAK,KAAK,CAAC;AAEb,SAAO;CACR;AAED,YAAS,UAAU,SAAS,SAAS,KAAK;AACxC,OAAK,KAAK,OAAO;AACf,QAAK,QAAQ;AACb,QAAK,OAAO;AACZ,QAAK,KAAK,SAAS,IAAI;EACxB;CACF;AAED,YAAS,UAAU,WAAW,WAAY;AACxC,SAAO;CACR;AACD,gBAAeF,YAAU,WAAW;;;;;;ACrfpC,QAAO;;;;;;CCCP,IAAIG;CACJ,IAAI;CACJ,IAAIC;CACJ,IAAI;CACJ,IAAI;CAEJ,IAAI,uBAAuB,EACzB,gBAAgB,oCACjB;CAED,SAAS,sBAAsB,SAAS,OAAO;AAC7C,OAAK,QAAM,YAAY,QAAQ,IAAI,QAAM,YAAY,QAAQ,gBAAgB,CAC3E,SAAQ,kBAAkB;CAE7B;CAED,SAAS,oBAAoB;EAC3B,IAAI;AACJ,aAAW,mBAAmB,YAE5B;kBACgB,YAAY,eAAe,OAAO,UAAU,SAAS,KAAK,QAAQ,KAAK,mBAEvF;AAEF,SAAO;CACR;CAED,SAAS,gBAAgB,UAAU,QAAQ,SAAS;AAClD,MAAI,QAAM,SAAS,SAAS,CAC1B,KAAI;AACF,IAAC,UAAU,KAAK,OAAO,SAAS;AAChC,UAAO,QAAM,KAAK,SAAS;EAC5B,SAAQ,GAAG;AACV,OAAI,EAAE,SAAS,cACb,OAAM;EAET;AAGH,SAAO,CAAC,WAAW,KAAK,WAAW,SAAS;CAC7C;CAED,IAAIC,aAAW;EAEb,cAAc;EAEd,SAAS,mBAAmB;EAE5B,kBAAkB,CAAC,SAAS,iBAAiB,MAAM,SAAS;AAC1D,uBAAoB,SAAS,SAAS;AACtC,uBAAoB,SAAS,eAAe;AAE5C,OAAI,QAAM,WAAW,KAAK,IACxB,QAAM,cAAc,KAAK,IACzB,QAAM,SAAS,KAAK,IACpB,QAAM,SAAS,KAAK,IACpB,QAAM,OAAO,KAAK,IAClB,QAAM,OAAO,KAAK,CAElB,QAAO;AAET,OAAI,QAAM,kBAAkB,KAAK,CAC/B,QAAO,KAAK;AAEd,OAAI,QAAM,kBAAkB,KAAK,EAAE;AACjC,0BAAsB,SAAS,kDAAkD;AACjF,WAAO,KAAK,UAAU;GACvB;GAED,IAAI,kBAAkB,QAAM,SAAS,KAAK;GAC1C,IAAIC,gBAAc,WAAW,QAAQ;GAErC,IAAIC;AAEJ,QAAKA,eAAa,QAAM,WAAW,KAAK,KAAM,mBAAmBD,kBAAgB,uBAAwB;IACvG,IAAI,YAAY,KAAK,OAAO,KAAK,IAAI;AACrC,WAAO,WAAWC,eAAa,EAAC,WAAW,KAAK,IAAG,MAAM,aAAa,IAAI,YAAY;GACvF,WAAU,mBAAmBD,kBAAgB,oBAAoB;AAChE,0BAAsB,SAAS,mBAAmB;AAClD,WAAO,gBAAgB,KAAK;GAC7B;AAED,UAAO;EACR,CAAC;EAEF,mBAAmB,CAAC,SAAS,kBAAkB,MAAM;GACnD,IAAI,eAAe,KAAK,gBAAgBD,WAAS;GACjD,IAAI,oBAAoB,gBAAgB,aAAa;GACrD,IAAI,oBAAoB,gBAAgB,aAAa;GACrD,IAAI,qBAAqB,qBAAqB,KAAK,iBAAiB;AAEpE,OAAI,qBAAsB,qBAAqB,QAAM,SAAS,KAAK,IAAI,KAAK,OAC1E,KAAI;AACF,WAAO,KAAK,MAAM,KAAK;GACxB,SAAQ,GAAG;AACV,QAAI,mBAAmB;AACrB,SAAI,EAAE,SAAS,cACb,OAAM,aAAW,KAAK,GAAGD,aAAW,kBAAkB,MAAM,MAAM,KAAK,SAAS;AAElF,WAAM;IACP;GACF;AAGH,UAAO;EACR,CAAC;EAMF,SAAS;EAET,gBAAgB;EAChB,gBAAgB;EAEhB,kBAAkB;EAClB,eAAe;EAEf,KAAK,EACH,6BACD;EAED,gBAAgB,SAAS,eAAe,QAAQ;AAC9C,UAAO,UAAU,OAAO,SAAS;EAClC;EAED,SAAS,EACP,QAAQ,EACN,UAAU,oCACX,EACF;CACF;AAED,SAAM,QAAQ;EAAC;EAAU;EAAO;CAAO,GAAE,SAAS,oBAAoB,QAAQ;AAC5E,aAAS,QAAQ,UAAU,CAAE;CAC9B,EAAC;AAEF,SAAM,QAAQ;EAAC;EAAQ;EAAO;CAAQ,GAAE,SAAS,sBAAsB,QAAQ;AAC7E,aAAS,QAAQ,UAAU,QAAM,MAAM,qBAAqB;CAC7D,EAAC;AAEF,QAAO,UAAUC;;;;;;CC/IjB,IAAIG;CACJ,IAAIC;;;;;;;;;AAUJ,QAAO,UAAU,SAASC,gBAAc,MAAM,SAAS,KAAK;EAC1D,IAAI,UAAU,QAAQD;AAEtB,UAAM,QAAQ,KAAK,SAASE,YAAU,IAAI;AACxC,UAAO,GAAG,KAAK,SAAS,MAAM,QAAQ;EACvC,EAAC;AAEF,SAAO;CACR;;;;;;ACnBD,QAAO,UAAU,SAASC,WAAS,OAAO;AACxC,YAAU,SAAS,MAAM;CAC1B;;;;;;CCFD,IAAIC;CACJ,IAAI;CACJ,IAAI;CACJ,IAAIC;CACJ,IAAIC;;;;CAKJ,SAAS,6BAA6BC,UAAQ;AAC5C,MAAIA,SAAO,YACT,UAAO,YAAY,kBAAkB;AAGvC,MAAIA,SAAO,UAAUA,SAAO,OAAO,QACjC,OAAM,IAAID;CAEb;;;;;;;AAQD,QAAO,UAAU,SAASE,kBAAgBD,UAAQ;AAChD,+BAA6BA,SAAO;AAGpC,WAAO,UAAUA,SAAO,WAAW,CAAE;AAGrC,WAAO,OAAO,cAAc,KAC1BA,UACAA,SAAO,MACPA,SAAO,SACPA,SAAO,iBACR;AAGD,WAAO,UAAU,QAAM,MACrBA,SAAO,QAAQ,UAAU,CAAE,GAC3BA,SAAO,QAAQA,SAAO,WAAW,CAAE,GACnCA,SAAO,QACR;AAED,UAAM,QACJ;GAAC;GAAU;GAAO;GAAQ;GAAQ;GAAO;GAAS;EAAS,GAC3D,SAAS,kBAAkB,QAAQ;AACjC,UAAOA,SAAO,QAAQ;EACvB,EACF;EAED,IAAI,UAAUA,SAAO,WAAWF,WAAS;AAEzC,SAAO,QAAQE,SAAO,CAAC,KAAK,SAAS,oBAAoB,UAAU;AACjE,gCAA6BA,SAAO;AAGpC,YAAS,OAAO,cAAc,KAC5BA,UACA,SAAS,MACT,SAAS,SACTA,SAAO,kBACR;AAED,UAAO;EACR,GAAE,SAAS,mBAAmB,QAAQ;AACrC,QAAK,SAAS,OAAO,EAAE;AACrB,iCAA6BA,SAAO;AAGpC,QAAI,UAAU,OAAO,SACnB,QAAO,SAAS,OAAO,cAAc,KACnCA,UACA,OAAO,SAAS,MAChB,OAAO,SAAS,SAChBA,SAAO,kBACR;GAEJ;AAED,UAAO,QAAQ,OAAO,OAAO;EAC9B,EAAC;CACH;;;;;;CCpFD,IAAIE;;;;;;;;;AAUJ,QAAO,UAAU,SAASC,cAAY,SAAS,SAAS;AAEtD,YAAU,WAAW,CAAE;EACvB,IAAIC,WAAS,CAAE;EAEf,SAAS,eAAe,QAAQ,QAAQ;AACtC,OAAI,QAAM,cAAc,OAAO,IAAI,QAAM,cAAc,OAAO,CAC5D,QAAO,QAAM,MAAM,QAAQ,OAAO;YACzB,QAAM,cAAc,OAAO,CACpC,QAAO,QAAM,MAAM,CAAE,GAAE,OAAO;YACrB,QAAM,QAAQ,OAAO,CAC9B,QAAO,OAAO,OAAO;AAEvB,UAAO;EACR;EAGD,SAAS,oBAAoB,MAAM;AACjC,QAAK,QAAM,YAAY,QAAQ,MAAM,CACnC,QAAO,eAAe,QAAQ,OAAO,QAAQ,MAAM;aACzC,QAAM,YAAY,QAAQ,MAAM,CAC1C,QAAO,uBAA0B,QAAQ,MAAM;EAElD;EAGD,SAAS,iBAAiB,MAAM;AAC9B,QAAK,QAAM,YAAY,QAAQ,MAAM,CACnC,QAAO,uBAA0B,QAAQ,MAAM;EAElD;EAGD,SAAS,iBAAiB,MAAM;AAC9B,QAAK,QAAM,YAAY,QAAQ,MAAM,CACnC,QAAO,uBAA0B,QAAQ,MAAM;aACrC,QAAM,YAAY,QAAQ,MAAM,CAC1C,QAAO,uBAA0B,QAAQ,MAAM;EAElD;EAGD,SAAS,gBAAgB,MAAM;AAC7B,OAAI,QAAQ,QACV,QAAO,eAAe,QAAQ,OAAO,QAAQ,MAAM;YAC1C,QAAQ,QACjB,QAAO,uBAA0B,QAAQ,MAAM;EAElD;EAED,IAAI,WAAW;GACb,OAAO;GACP,UAAU;GACV,QAAQ;GACR,WAAW;GACX,oBAAoB;GACpB,qBAAqB;GACrB,oBAAoB;GACpB,WAAW;GACX,kBAAkB;GAClB,mBAAmB;GACnB,WAAW;GACX,gBAAgB;GAChB,kBAAkB;GAClB,kBAAkB;GAClB,oBAAoB;GACpB,sBAAsB;GACtB,cAAc;GACd,oBAAoB;GACpB,iBAAiB;GACjB,kBAAkB;GAClB,aAAa;GACb,aAAa;GACb,cAAc;GACd,eAAe;GACf,cAAc;GACd,oBAAoB;GACpB,kBAAkB;EACnB;AAED,UAAM,QAAQ,OAAO,KAAK,QAAQ,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE,SAAS,mBAAmB,MAAM;GACjG,IAAIC,UAAQ,SAAS,SAAS;GAC9B,IAAI,cAAc,QAAM,KAAK;AAC7B,GAAC,QAAM,YAAY,YAAY,IAAIA,YAAU,oBAAqBD,SAAO,QAAQ;EAClF,EAAC;AAEF,SAAOA;CACR;;;;;;CCjGD,IAAI,yBAAiC;CACrC,IAAI;CAEJ,IAAIE,eAAa,CAAE;AAGnB;EAAC;EAAU;EAAW;EAAU;EAAY;EAAU;CAAS,EAAC,QAAQ,SAAS,MAAM,GAAG;AACxF,eAAW,QAAQ,SAASC,YAAU,OAAO;AAC3C,iBAAc,UAAU,QAAQ,OAAO,IAAI,IAAI,OAAO,OAAO;EAC9D;CACF,EAAC;CAEF,IAAI,qBAAqB,CAAE;;;;;;;;AAS3B,cAAW,eAAe,SAAS,aAAaA,aAAWC,WAAS,SAAS;EAC3E,SAAS,cAAc,KAAKC,QAAM;AAChC,UAAO,aAAa,UAAU,4BAA6B,MAAM,MAAOA,UAAQ,UAAU,OAAO,UAAU;EAC5G;AAGD,SAAO,SAAS,OAAO,KAAK,MAAM;AAChC,OAAIF,gBAAc,MAChB,OAAM,IAAI,WACR,cAAc,KAAK,uBAAuBC,YAAU,SAASA,YAAU,IAAI,EAC3E,WAAW;AAIf,OAAIA,cAAY,mBAAmB,MAAM;AACvC,uBAAmB,OAAO;AAE1B,YAAQ,KACN,cACE,KACA,iCAAiCA,YAAU,0CAC5C,CACF;GACF;AAED,UAAOD,cAAY,YAAU,OAAO,KAAK,KAAK,GAAG;EAClD;CACF;;;;;;;CASD,SAAS,cAAc,SAAS,QAAQ,cAAc;AACpD,aAAW,YAAY,SACrB,OAAM,IAAI,WAAW,6BAA6B,WAAW;EAE/D,IAAI,OAAO,OAAO,KAAK,QAAQ;EAC/B,IAAI,IAAI,KAAK;AACb,SAAO,MAAM,GAAG;GACd,IAAI,MAAM,KAAK;GACf,IAAIA,cAAY,OAAO;AACvB,OAAIA,aAAW;IACb,IAAI,QAAQ,QAAQ;IACpB,IAAI,SAAS,oBAAuB,YAAU,OAAO,KAAK,QAAQ;AAClE,QAAI,WAAW,KACb,OAAM,IAAI,WAAW,YAAY,MAAM,cAAc,QAAQ,WAAW;AAE1E;GACD;AACD,OAAI,iBAAiB,KACnB,OAAM,IAAI,WAAW,oBAAoB,KAAK,WAAW;EAE5D;CACF;AAED,QAAO,UAAU;EACA;EACf,YAAYD;CACb;;;;;;CCnFD,IAAII;CACJ,IAAIC;CACJ,IAAI;CACJ,IAAI;CACJ,IAAIC;CACJ,IAAIC;CACJ,IAAI;CAEJ,IAAI,aAAa,UAAU;;;;;;CAM3B,SAASC,QAAM,gBAAgB;AAC7B,OAAK,WAAW;AAChB,OAAK,eAAe;GAClB,SAAS,IAAI;GACb,UAAU,IAAI;EACf;CACF;;;;;;AAOD,SAAM,UAAU,UAAU,SAAS,QAAQ,aAAaC,UAAQ;AAG9D,aAAW,gBAAgB,UAAU;AACnC,cAASA,YAAU,CAAE;AACrB,YAAO,MAAM;EACd,MACC,YAAS,eAAe,CAAE;AAG5B,aAAS,cAAY,KAAK,UAAUA,SAAO;AAG3C,MAAIA,SAAO,OACT,UAAO,SAAS,SAAO,OAAO,aAAa;WAClC,KAAK,SAAS,OACvB,UAAO,SAAS,KAAK,SAAS,OAAO,aAAa;MAElD,UAAO,SAAS;EAGlB,IAAI,eAAeA,SAAO;AAE1B,MAAI,wBACF,WAAU,cAAc,cAAc;GACpC,mBAAmB,WAAW,aAAa,WAAW,QAAQ;GAC9D,mBAAmB,WAAW,aAAa,WAAW,QAAQ;GAC9D,qBAAqB,WAAW,aAAa,WAAW,QAAQ;EACjE,GAAE,MAAM;EAIX,IAAI,0BAA0B,CAAE;EAChC,IAAI,iCAAiC;AACrC,OAAK,aAAa,QAAQ,QAAQ,SAAS,2BAA2B,aAAa;AACjF,cAAW,YAAY,YAAY,cAAc,YAAY,QAAQA,SAAO,KAAK,MAC/E;AAGF,oCAAiC,kCAAkC,YAAY;AAE/E,2BAAwB,QAAQ,YAAY,WAAW,YAAY,SAAS;EAC7E,EAAC;EAEF,IAAI,2BAA2B,CAAE;AACjC,OAAK,aAAa,SAAS,QAAQ,SAAS,yBAAyB,aAAa;AAChF,4BAAyB,KAAK,YAAY,WAAW,YAAY,SAAS;EAC3E,EAAC;EAEF,IAAI;AAEJ,OAAK,gCAAgC;GACnC,IAAI,QAAQ,CAAC,uBAA2B;AAExC,SAAM,UAAU,QAAQ,MAAM,OAAO,wBAAwB;AAC7D,WAAQ,MAAM,OAAO,yBAAyB;AAE9C,aAAU,QAAQ,QAAQA,SAAO;AACjC,UAAO,MAAM,OACX,WAAU,QAAQ,KAAK,MAAM,OAAO,EAAE,MAAM,OAAO,CAAC;AAGtD,UAAO;EACR;EAGD,IAAI,YAAYA;AAChB,SAAO,wBAAwB,QAAQ;GACrC,IAAI,cAAc,wBAAwB,OAAO;GACjD,IAAI,aAAa,wBAAwB,OAAO;AAChD,OAAI;AACF,gBAAY,YAAY,UAAU;GACnC,SAAQ,OAAO;AACd,eAAW,MAAM;AACjB;GACD;EACF;AAED,MAAI;AACF,aAAU,gBAAgB,UAAU;EACrC,SAAQ,OAAO;AACd,UAAO,QAAQ,OAAO,MAAM;EAC7B;AAED,SAAO,yBAAyB,OAC9B,WAAU,QAAQ,KAAK,yBAAyB,OAAO,EAAE,yBAAyB,OAAO,CAAC;AAG5F,SAAO;CACR;AAED,SAAM,UAAU,SAAS,SAAS,OAAOA,UAAQ;AAC/C,aAAS,cAAY,KAAK,UAAUA,SAAO;EAC3C,IAAI,WAAW,gBAAcA,SAAO,SAASA,SAAO,IAAI;AACxD,SAAO,WAAS,UAAUA,SAAO,QAAQA,SAAO,iBAAiB;CAClE;AAGD,SAAM,QAAQ;EAAC;EAAU;EAAO;EAAQ;CAAU,GAAE,SAAS,oBAAoB,QAAQ;AAEvF,UAAM,UAAU,UAAU,SAASC,OAAKD,UAAQ;AAC9C,UAAO,KAAK,QAAQ,cAAYA,YAAU,CAAE,GAAE;IACpC;IACR,KAAKC;IACL,OAAOD,YAAU,CAAE,GAAE;GACtB,EAAC,CAAC;EACJ;CACF,EAAC;AAEF,SAAM,QAAQ;EAAC;EAAQ;EAAO;CAAQ,GAAE,SAAS,sBAAsB,QAAQ;EAG7E,SAAS,mBAAmB,QAAQ;AAClC,UAAO,SAAS,WAAWC,OAAK,MAAMD,UAAQ;AAC5C,WAAO,KAAK,QAAQ,cAAYA,YAAU,CAAE,GAAE;KACpC;KACR,SAAS,SAAS,EAChB,gBAAgB,sBACjB,IAAG,CAAE;KACN,KAAKC;KACC;IACP,EAAC,CAAC;GACJ;EACF;AAED,UAAM,UAAU,UAAU,oBAAoB;AAE9C,UAAM,UAAU,SAAS,UAAU,mBAAmB,KAAK;CAC5D,EAAC;AAEF,QAAO,UAAUF;;;;;;CC7JjB,IAAI;;;;;;;CAQJ,SAAS,YAAY,UAAU;AAC7B,aAAW,aAAa,WACtB,OAAM,IAAI,UAAU;EAGtB,IAAI;AAEJ,OAAK,UAAU,IAAI,QAAQ,SAAS,gBAAgB,SAAS;AAC3D,oBAAiB;EAClB;EAED,IAAI,QAAQ;AAGZ,OAAK,QAAQ,KAAK,SAAS,QAAQ;AACjC,QAAK,MAAM,WAAY;GAEvB,IAAI;GACJ,IAAI,IAAI,MAAM,WAAW;AAEzB,QAAK,IAAI,GAAG,IAAI,GAAG,IACjB,OAAM,WAAW,GAAG,OAAO;AAE7B,SAAM,aAAa;EACpB,EAAC;AAGF,OAAK,QAAQ,OAAO,SAAS,aAAa;GACxC,IAAI;GAEJ,IAAI,UAAU,IAAI,QAAQ,SAAS,SAAS;AAC1C,UAAM,UAAU,QAAQ;AACxB,eAAW;GACZ,GAAE,KAAK,YAAY;AAEpB,WAAQ,SAAS,SAAS,SAAS;AACjC,UAAM,YAAY,SAAS;GAC5B;AAED,UAAO;EACR;AAED,WAAS,SAAS,OAAO,SAAS;AAChC,OAAI,MAAM,OAER;AAGF,SAAM,SAAS,IAAI,cAAc;AACjC,kBAAe,MAAM,OAAO;EAC7B,EAAC;CACH;;;;AAKD,aAAY,UAAU,mBAAmB,SAAS,mBAAmB;AACnE,MAAI,KAAK,OACP,OAAM,KAAK;CAEd;;;;AAMD,aAAY,UAAU,YAAY,SAAS,UAAU,UAAU;AAC7D,MAAI,KAAK,QAAQ;AACf,YAAS,KAAK,OAAO;AACrB;EACD;AAED,MAAI,KAAK,WACP,MAAK,WAAW,KAAK,SAAS;MAE9B,MAAK,aAAa,CAAC,QAAS;CAE/B;;;;AAMD,aAAY,UAAU,cAAc,SAAS,YAAY,UAAU;AACjE,OAAK,KAAK,WACR;EAEF,IAAI,QAAQ,KAAK,WAAW,QAAQ,SAAS;AAC7C,MAAI,UAAU,GACZ,MAAK,WAAW,OAAO,OAAO,EAAE;CAEnC;;;;;AAMD,aAAY,SAAS,SAAS,SAAS;EACrC,IAAI;EACJ,IAAI,QAAQ,IAAI,YAAY,SAAS,SAAS,GAAG;AAC/C,YAAS;EACV;AACD,SAAO;GACE;GACC;EACT;CACF;AAED,QAAO,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;AChGjB,QAAO,UAAU,SAAS,OAAO,UAAU;AACzC,SAAO,SAASG,OAAK,KAAK;AACxB,UAAO,SAAS,MAAM,MAAM,IAAI;EACjC;CACF;;;;;;CCxBD,IAAIC;;;;;;;AAQJ,QAAO,UAAU,SAAS,aAAa,SAAS;AAC9C,SAAO,QAAM,SAAS,QAAQ,IAAK,QAAQ,iBAAiB;CAC7D;;;;;;CCVD,IAAI;CACJ,IAAI;CACJ,IAAIC;CACJ,IAAI;CACJ,IAAI;;;;;;;CAQJ,SAAS,eAAe,eAAe;EACrC,IAAI,UAAU,IAAIA,QAAM;EACxB,IAAI,WAAW,KAAKA,QAAM,UAAU,SAAS,QAAQ;AAGrD,QAAM,OAAO,UAAUA,QAAM,WAAW,QAAQ;AAGhD,QAAM,OAAO,UAAU,QAAQ;AAG/B,WAAS,SAAS,SAAS,OAAO,gBAAgB;AAChD,UAAO,eAAe,YAAY,eAAe,eAAe,CAAC;EAClE;AAED,SAAO;CACR;CAGD,IAAIC,UAAQ,eAAe,SAAS;AAGpC,SAAM,QAAQD;AAGd,SAAM;AACN,SAAM;AACN,SAAM;AACN,SAAM,yBAAgC;AACtC,SAAM;AAGN,SAAM;AAGN,SAAM,SAASC,QAAM;AAGrB,SAAM,MAAM,SAAS,IAAI,UAAU;AACjC,SAAO,QAAQ,IAAI,SAAS;CAC7B;AACD,SAAM;AAGN,SAAM;AAEN,QAAO,UAAUA;AAGjB,QAAO,QAAQ,UAAUA;;;;;;AC/DzB,QAAO;;;;;;;;;;;;;;;;;;;ACWP,eAA8B,aAAaC,UAAQ;CAC/C,MAAM,UAAU,cAAcA,SAAO;CACrC,MAAM,eAAe,CAAC,YAAY,SAASA,SAAO,AAAC;AAEnD,KAAIA,SAAO,WAAWA,SAAO,UAAU,EACnC,cAAa,KACT,IAAI,QAAQ,CAAC,QAAQ;AACjB,aAAW,MAAM;GACb,MAAM,UAAUA,SAAO,sBACjBA,SAAO,sBACP,gBAAgBA,SAAO,UAAU;AACvC,OAAI,YAAY,SAASA,UAAQ,gBAAgB,QAAQ,CAAC;EAC7D,GAAEA,SAAO,QAAQ;CACrB,GACJ;CAGL,MAAM,OAAO,MAAM,QAAQ,KAAK,aAAa;AAC7C,QAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,MAAI,gBAAgB,MAChB,QAAO,KAAK;MAEZ,QAAO,UAAU,SAAS,KAAKA,SAAO,OAAO,KAAK,sBAC5C,SAAO,OAAO,SAAS,QAAQ,KAAK,GACpC,2BAAO,SAAS,QAAQ,KAAK;CAE1C;AACJ;;;;;;;;AAOD,eAAe,YAAY,SAASA,UAAQ;CACxC,IAAI;AACJ,KAAI;AACA,aAAW,MAAM,MAAM,QAAQ;CAClC,SAAQ,GAAG;AACR,SAAO,YAAY,iBAAiBA,UAAQ,eAAe,QAAQ;CACtE;CAED,MAAM,WAAW;EACb,IAAI,SAAS;EACb,QAAQ,SAAS;EACjB,YAAY,SAAS;EACrB,SAAS,IAAI,QAAQ,SAAS;EAC9B,QAAQA;EACR;CACH;AAED,KAAI,SAAS,UAAU,OAAO,SAAS,WAAW,IAC9C,SAAQA,SAAO,cAAf;EACI,KAAK;AACD,YAAS,OAAO,MAAM,SAAS,aAAa;AAC5C;EACJ,KAAK;AACD,YAAS,OAAO,MAAM,SAAS,MAAM;AACrC;EACJ,KAAK;AACD,YAAS,OAAO,MAAM,SAAS,MAAM;AACrC;EACJ,KAAK;AACD,YAAS,OAAO,MAAM,SAAS,UAAU;AACzC;EACJ;AACI,YAAS,OAAO,MAAM,SAAS,MAAM;AACrC;CACP;AAGL,QAAO;AACV;;;;;;AAKD,SAAS,cAAcA,UAAQ;CAC3B,MAAM,UAAU,IAAI,QAAQA,SAAO;AAGnC,KAAIA,SAAO,MAAM;EACb,MAAM,WAAWA,SAAO,KAAK,YAAY;EACzC,MAAM,WAAWA,SAAO,KAAK,WAAW,UAAU,mBAAmBA,SAAO,KAAK,SAAS,CAAC,GAAG;AAC9F,UAAQ,IAAI,kBAAkB,QAAQ,KAAK,WAAW,MAAM,SAAS,CAAC,EAAE;CAC3E;CAED,MAAM,SAAS,SAAO,OAAO,aAAa;CAC1C,MAAM,UAAU;EACH;EACT;CACH;AACD,KAAI,WAAW,SAAS,WAAW,QAAQ;AACvC,UAAQ,OAAOA,SAAO;AAItB,MAAI,6BAAW,QAAQ,KAAK,IAAI,wCAAsB,CAClD,SAAQ,OAAO,eAAe;CAErC;AACD,KAAIA,SAAO,KACP,SAAQ,OAAOA,SAAO;AAE1B,KAAIA,SAAO,MACP,SAAQ,QAAQA,SAAO;AAE3B,KAAIA,SAAO,UACP,SAAQ,YAAYA,SAAO;AAE/B,KAAIA,SAAO,SACP,SAAQ,WAAWA,SAAO;AAE9B,KAAIA,SAAO,SACP,SAAQ,WAAWA,SAAO;AAI9B,MAAK,8BAAYA,SAAO,gBAAgB,CACpC,SAAQ,cAAcA,SAAO,kBAAkB,YAAY;CAG/D,MAAM,WAAW,kCAAcA,SAAO,SAASA,SAAO,IAAI;CAC1D,MAAMC,QAAM,6BAAS,UAAUD,SAAO,QAAQA,SAAO,iBAAiB;AAGtE,QAAO,IAAI,QAAQC,OAAK;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBD,SAAS,YAAY,SAASD,UAAQ,MAAM,SAAS,UAAU;AAC3D,KAAIE,uBAAM,qBAAqBA,uBAAM,eAAe,WAChD,QAAO,IAAIA,uBAAM,WAAW,SAASA,uBAAM,WAAW,OAAOF,UAAQ,SAAS;CAGlF,IAAI,QAAQ,IAAI,MAAM;AACtB,QAAO,aAAa,OAAOA,UAAQ,MAAM,SAAS,SAAS;AAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBD,SAAS,aAAa,OAAOA,UAAQ,MAAM,SAAS,UAAU;AAC5D,OAAM,SAASA;AACf,KAAI,KACF,OAAM,OAAO;AAGf,OAAM,UAAU;AAChB,OAAM,WAAW;AACjB,OAAM,eAAe;AAErB,OAAM,SAAS,SAAS,SAAS;AAC/B,SAAO;GAEL,SAAS,KAAK;GACd,MAAM,KAAK;GAEX,aAAa,KAAK;GAClB,QAAQ,KAAK;GAEb,UAAU,KAAK;GACf,YAAY,KAAK;GACjB,cAAc,KAAK;GACnB,OAAO,KAAK;GAEZ,QAAQ,KAAK;GACb,MAAM,KAAK;GACX,QAAQ,KAAK,YAAY,KAAK,SAAS,SAAS,KAAK,SAAS,SAAS;EACxE;CACF;AACD,QAAO;AACR;;;;ACtND,IAAI,eAAe,QAAQ,IAAI,aAAa;AAC5C,IAAI,SAAS;AACb,SAAS,UAAU,WAAW,SAAS;AACnC,KAAI,UACA;AAEJ,KAAI,aACA,OAAM,IAAI,MAAM;CAEpB,IAAI,kBAAkB,YAAY,aAAa,SAAS,GAAG;CAC3D,IAAI,QAAQ,WAAW,GAAG,OAAO,QAAQ,KAAK,CAAC,OAAO,SAAS,GAAG;AAClE,OAAM,IAAI,MAAM;AACnB;;;;;;;;;AC8BD,IAAa,mBAAb,MAA8B;CAC5B;CACA,AAAS;CAET,YAAYG,QAA4B;AACtC,OAAK,SAAS;CACf;CAED,oBAAoBC,YAAoBC,SAAkC,CAAE,GAAoB;AAC9F,OAAK,WAAW,OAAO,KAAK,OAAO,CAAC,OAAQ,QAAO,CAAE;EAErD,MAAM,OAAQ,aAAgE;AAE9E,SAAO,KAAK,IAAI,CAAC,EAAE,MAAM,KAAK;GAC5B,MAAM,QAAQ,OAAO;AAErB,OAAI,UAAU,MAAM,UAAU,EAAG,QAAO;AACxC,UAAO,SAAS;EACjB,EAAC;CACH;CAED,aAAaD,YAAgC;EAC3C,MAAM,OAAO,aAAa;AAC1B,SAAO,KAAK,IAAI,CAAC,QAAQ,IAAI,KAAK;CACnC;;;;CAKD,MAAM,KACJE,QACAC,SAAiC,KAAK,QAC1B;EACZ,MAAMC,SAAmB;GACvB,MAAM,OAAO;GACb,WAAW;GACX,QAAQ,KAAKC,oBAAoB,OAAO,MAAM,OAAO,OAAO;GAC5D,OAAO,KAAKC,aAAa,OAAO,KAAK;EACtC;EAED,MAAM,WAAW,MAAM,KAAK,OAAO,KAAK,QAAoB,OAAO;AACnE,SAAO,UAAU,MAAM;CACxB;;;;CAKD,MAAM,QACJC,QACAJ,SAAiC,KAAK,QACtC,cAAc,MACe;AAC7B,YAAU,QAAQ,gEAAgE;EAClF,MAAMK,SAAqB;GACzB,MAAM,OAAO;GACb,WAAW;GACX,aAAa,OAAO;GACpB,QAAQ,CAAC,KAAKH,oBAAoB,OAAO,MAAM,OAAO,OAAO,AAAC;GAC9D,OAAO,KAAKC,aAAa,OAAO,KAAK;EACtC;EACD,MAAM,WAAW,MAAM,KAAK,OAAO,QAAQ,QAAQ,QAAQ,YAAY;AACvE,SAAO,SAAS,MAAM;CACvB;CAED,UAAUH,QAAsC;AAC9C,OAAK,SAAS;CACf;AAKF;AAED,MAAM,kBAAkB;AAExB,MAAM,mBACJ,CAACM,QACD,OAAO,EAAE,SAAS,cAAc,SAAiC,KAAgC;CAC/F,MAAM,QAAQ,IAAI,IAAI;EAAE;EAAc,SAAS;CAAI;AACnD,cAAa,MAAM,MAAM,UAAU,EAAE,gBAAgB,KAAM,EAAC,EAAE,MAAM;AACpE,WAAU,SAAS,yDAAyD;CAE5E,MAAM,SAAS,IAAI,iBACjB,IAAI,IAAI;EAAE;EAAc;EAAS,SAAS;CAAiB;AAK7D,YAAW,WAAW,eAAe,OAAO,SAAS,IAAI;AACvD,UAAQ,KAAK,qDAAqD;AAElE,SAAO,OAAO,UAAU,WAAY;GAElC,MAAMC,UAAe,CAAE;AAGvB,OAAI,KAAK,OAEP,SAAQ,SAAS,KAAK;GAGxB,MAAM,WAAW,qBAAM,OAAO;IAE5B,SAAS,KAAK,OAAO;IAErB,SAAS,KAAK,OAAO;IACrB,kBAAkB,OAAO,OAAO;IAChC,iBAAiB;IACjB,SAAS;IACT;GACD,EAAC;AAGF,OAAI,KAAK,OAAO,SAAS;AACvB,aAAS,aAAa,QAAQ,IAAI,CAAC,YAAY;AAE7C,UAAK,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAAE,QAAQ,IAAI,EAAE;AAClE,YAAO;IACR,EAAC;AAEF,aAAS,aAAa,SAAS,IAAI,CAAC,aAAa;AAE/C,UAAK,OAAO,QAAQ,cAAc,SAAS,OAAO,IAAI,KAAK,SAAS,OAAO,EAAE;AAC7E,YAAO;IACR,EAAC;GACH;AACD,UAAO;EACR;CACF;AAED,QAAO;AACR;;;;AAKH,MAAaC,uBACX,iBAAiB,SAAS;;;;AAK5B,MAAaC,sBACX,iBAAiB,QAAQ;;;;ACtE3B,SAAgB,6BAA6BC,WAA2B;CACtE,MAAM,qBAAqB,UAAU,QAAQ,aAAa,GAAG;AAC7D,QAAO,SAAU,WAAW,mBAAmB,CAAC;AACjD;;;;AC7GD,SAAgB,iBACdC,WACyE;AACzE,QAAO,CAACC,YACN,OAAOC,iBAAkD;EACvD,MAAM,UAAU,SAAW,aAAa;EACxC,MAAM,cAAc;EACpB,MAAM,QAAQ,OAAO,gBAAgB,IAAI,WAAW,aAAa;EAEjE,MAAM,qBAAqB,EACzB,QAAQ;GACN,SAAS;GACT,OAAO,EAAE,OAAO;IAAE,MAAM;IAAM,KAAK;GAAa,EAAE;GAClD,WAAW;GACX,aAAa,EAAE,QAAQ,SAAU;EAClC,EACF;EAED,MAAM,MAAM;EAEZ,MAAM,EAAE,WAAW,GAAG,QAAQ,KAC5B,KACE,OACE,UAAe,OAAO,IAAI,EAC1B,UAAe,oBAAoB;GAAE;GAAS;GAAO;EAAW,EAAC,CAClE,CACF,CACF;EAED,MAAM,yBAAyB,EAC7B,QAAQ;GACN,KAAK;GACL,GAAG,mBAAmB;EACvB,EACF;EAED,MAAM,wBAAwB;GAC5B;GACA;GACA;GACA;EACD;EAED,MAAM,yBAAyB,UAAe,wBAAwB,sBAAsB;AAE5F,SAAO,OACL,cAAoB,uBAAuB,OAAO,EAClD,wBACA,UACD;CACF;AACJ;;;;;;;ACrCD,SAAS,kBAAkBC,UAA6C;AACtE,QACEC,aAAW,eACJA,aAAW,YAClB,eAAeA,YACfA,SAAO,qBAAqB,cAC5BA,SAAO,UAAU,WAAW,KAAK,KAAK,mBACtC,eAAeA,YACfA,SAAO,qBAAqB,cAC5BA,SAAO,UAAU,WAAW,KAAK,KAAK;AAEzC;;;;AAKD,SAAS,cAAcD,UAAwC;AAC7D,QACEC,aAAW,eACJA,aAAW,YAClB,kBAAkBA,YAClB,UAAUA,mBACHA,SAAO,iBAAiB,qBACxBA,SAAO,SAAS;AAE1B;;;;AAKD,SAAS,iBAAiBD,UAA2C;AACnE,QACEC,aAAW,eACJA,aAAW,YAClB,eAAeA,YACf,UAAUA,YACV,aAAaA,mBACNA,SAAO,cAAc,qBACrBA,SAAO,SAAS,qBAChBA,SAAO,YAAY;AAE7B;;;;AAUD,SAAS,cAAcD,UAAuC;AAC5D,UAASC,mBAAiBA,aAAW,YAAY,gBAAgBA,YAAU,eAAeA;AAC3F;;;;;;;AAkBD,SAAgB,uBAAuBC,QAAqD;AAC1F,KAAI,kBAAkB,OAAO,CAC3B,QAAO,CACL,IAAI,WACF,OAAOC,QAAoB,KAAK,KAAK,SAAS,KAAK,OAAO,UAAU,EACpE,OAAO,WACP,YAEF,6BAA6B,WAAW,OAAO,UAAU,CAAC,AAC3D;AAGH,KAAI,cAAc,OAAO,EAAE;EACzB,MAAM,YAAY,6BAA6B,OAAO,cAAc,CAAC,UAAU,CAAC;AAChF,SAAO,CACL,IAAI,WAAW,iBAAiB,cAAc,CAAC,OAAO,EAAE,WAAW,WACnE,SACD;CACF;AAED,KAAI,iBAAiB,OAAO,EAAE;EAC5B,MAAM,kBAAkB,OAAO,WAAW;EAC1C,MAAM,eAAe,OAAO,cAAc;AAC1C,SAAO,CACL,IAAI,WACF,OAAOA,QAAoB,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC,EACxD,cACA,YAEF,eACD;CACF;AAED,KAAI,cAAc,OAAO,CACvB,QAAO,CACL,IAAI,WACF,OAAOA,QAAoB,SAAU,WAAW,KAAK,SAAU,IAAI,EAAE,OAAO,WAAW,CAAC,EACxF,OAAO,WACP,SAEF,OAAO,SACR;AAGH,KAAI,aAAa,OACf,QAAO,CAAC,IAAI,WAAW,QAAQ,OAAO,UAAU,OAAO,OAAQ;AAKjE,QAAO,CAAC,CAACC,MAAa;AACpB,QAAM,IAAI,MAAM;CACjB,GAAE,OAAO;AACX;;;;AC5ID,SAAgB,aAAaC,MAAsB;AACjD,QAAO,OAAO,OAAO,MAAM,UAAU;AACtC;AAMD,SAAgB,sBAAsBC,KAAqB;AACzD,QAAO,IAAI,GAAG,aAAa,GAAG,IAAI,MAAM,EAAE;AAC3C;AAmBD,SAAS,YAAYC,QAAmE;AACtF,eACS,WAAW,YAClB,WAAW,QACX,UAAU,UACV,QAAQ,UACR,gBAAgB;AAEnB;AAED,SAAS,mBAAmBA,QAAyD;AACnF,eACS,WAAW,YAClB,WAAW,QACX,YAAY,UACZ,wBAAwB;AAE3B;AAED,eAAsB,YACpBA,QACqC;AACrC,KAAI,YAAY,OAAO,CACrB,QAAO;AAGT,KAAI,mBAAmB,OAAO,CAC5B,QAAO,MAAM,2BAA2B,KAAK;EAC3C,KAAK,EAAE,OAAO,OAAO;EACrB,aAAa,EAAE,OAAO,OAAO;EAC7B,oBAAoB,OAAO;EAC3B,qBAAqB,OAAO;EAC5B,MAAM;CACP,EAAC;AAGJ,QAAO,MAAM,2BAA2B,KAAK;EAAE,GAAG;EAAQ,MAAM;CAA8B,EAAC;AAChG;AAED,SAAgB,cAEdC,QAAWC,UAA0C;CACrD,MAAMC,MAA+B,CAAE;AAEvC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO,QAAQ,IAAI,EAAE;EAC9B,MAAM,QAAQ,OAAO;EACrB,MAAM,OAAOC,YAAU,EAAEA,SAAO,EAAE,sBAAsB,IAAI,CAAC,IAAI;AACjE,MAAI,iBAAiB,KACnB,KAAI,QAAQ,MAAM,aAAa;WACtB,iBAAiB,OAE1B,KAAI,QAAQ,aAAa,MAAM;MAE/B,KAAI,QAAQ;CAEf;AAGH,QAAO;AACR;;;;kBC/Fa;CACV,MAAM;CACN,QAAQ;CACR,cAAc;CACd,SAAS;EACP,OAAO;EACP,SAAS;EACT,cAAc;CACf;CACD,8BAA8B;EAC5B,OAAO;EACP,YAAY;GACV,cAAc;GACd,MAAM;GACN,QAAQ;GACR,cAAc;IACZ,OAAO;IACP,SAAS;GACV;GACD,WAAW;IACT,OAAO;IACP,SAAS;GACV;GACD,sBAAsB;IACpB,OAAO;IACP,SAAS;GACV;EACF;CACF;CACD,wBAAwB;EACtB,OAAO;EACP,YAAY;GACV,cAAc;GACd,MAAM;GACN,QAAQ;GACR,aAAa;GACb,WAAW;IACT,OAAO;IACP,SAAS;GACV;GACD,UAAU;GACV,WAAW;IACT,OAAO;IACP,SAAS;GACV;GACD,SAAS;GACT,gBAAgB;IACd,OAAO;IACP,SAAS;IACT,YAAY;KACV,cAAc;KACd,MAAM;KACN,QAAQ;KACR,mBAAmB;MACjB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,kBAAkB;MAChB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,wBAAwB;MACtB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,wBAAwB;MACtB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,gBAAgB;MACd,OAAO;MACP,SAAS;MACT,cAAc;KACf;IACF;GACF;GACD,cAAc;IACZ,OAAO;IACP,SAAS;GACV;GACD,sBAAsB;IACpB,OAAO;IACP,SAAS;GACV;EACF;CACF;AACF;wCA3FH,EACE,wBA2FD;;;;kBC3Fa;CACV,YAAY;CACZ,cAAc;CACd,OAAO;CACP,OAAO;CACP,eAAe;CACf,aAAa;CACb,aAAa;CACb,cAAc;CACd,eAAe;CACf,cAAc;CACd,cAAc;CACd,UAAU;CACV,gBAAgB;CAChB,oBAAoB;CACpB,SAAS;CACT,OAAO;CACP,eAAe;CACf,eAAe;CACf,gBAAgB;CAChB,qBAAqB;CACrB,oBAAoB;CACpB,kBAAkB;CAClB,yBAAyB;CACzB,0BAA0B;CAC1B,uBAAuB;CACvB,sBAAsB;CACtB,cAAc;CACd,4BAA4B;CAC5B,iCAAiC;CACjC,2CAA2C;CAC3C,4BAA4B;CAC5B,0BAA0B;CAC1B,gCAAgC;CAChC,6BAA6B;CAC7B,mCAAmC;CACnC,sCAAsC;CACtC,+BAA+B;AAChC;yCAvCH,EACE,wBAuCD;;;;kBCvCa;CACV,YAAY;CACZ,cAAc;CACd,OAAO;CACP,cAAc;CACd,SAAS;AACV;kCAPH,EACE,wBAOD;;;;gBCPa;CACV,YAAY;CACZ,cAAc;CAEd,MAAM;CACN,QAAQ;CAER,wBAAwB;EACtB,OAAO;EACP,YAAY;GACV,YAAY;GACZ,cAAc;GAEd,MAAM;GACN,QAAQ;GAER,QAAQ;GACR,OAAO;GACP,OAAO;GAEP,oBAAoB;IAClB,OAAO;IACP,SAAS;IACT,YAAY;KACV,YAAY;KACZ,cAAc;KAEd,MAAM;KACN,QAAQ;KAER,QAAQ;KAER,2BAA2B;IAC5B;GACF;GACD,oBAAoB;IAAE,OAAO;IAAyB,SAAS;GAAO;GACtE,qBAAqB;IAAE,OAAO;IAA0B,SAAS;GAAO;GACxE,YAAY;IAAE,OAAO;IAAiB,SAAS;GAAO;GACtD,kBAAkB;IAAE,OAAO;IAAuB,SAAS;GAAgB;GAC3E,UAAU;IAAE,OAAO;IAAe,SAAS;GAAO;GAClD,UAAU;IAAE,OAAO;IAAe,SAAS;GAAgB;GAC3D,UAAU;IAAE,OAAO;IAAe,SAAS;GAAO;GAClD,gBAAgB;IAAE,OAAO;IAAqB,SAAS;GAAgB;GACvE,SAAS;IAAE,OAAO;IAAa,SAAS;IAAO,cAAc;GAAU;GACvE,kBAAkB;IAChB,OAAO;IACP,SAAS;IACT,YAAY;KACV,YAAY;KACZ,cAAc;KAEd,MAAM;KACN,QAAQ;KAER,QAAQ;KAER,4BAA4B;IAC7B;GACF;GACD,cAAc;IAAE,OAAO;IAAmB,SAAS;GAAO;GAC1D,aAAa;IAAE,OAAO;IAAkB,SAAS;GAAgB;GACjE,cAAc;IAAE,OAAO;IAAmB,SAAS;GAAgB;EACpE;CACF;CAED,0BAA0B;EACxB,OAAO;EACP,YAAY;GACV,YAAY;GACZ,cAAc;GAEd,MAAM;GACN,QAAQ;GAER,QAAQ;GACR,OAAO;GAEP,UAAU;IAAE,OAAO;IAAe,SAAS;GAAO;GAClD,SAAS;IAAE,OAAO;IAAa,SAAS;IAAO,cAAc;GAAU;GACvE,wBAAwB;IACtB,OAAO;IACP,SAAS;IACT,cAAc;GACf;EACF;CACF;CAED,+BAA+B;EAC7B,OAAO;EACP,YAAY;GACV,YAAY;GACZ,cAAc;GAEd,MAAM;GACN,QAAQ;GAER,OAAO;GACP,OAAO;GAEP,aAAa;GACb,WAAW;IAAE,OAAO;IAAoC,SAAS;GAAgB;GACjF,UAAU;GACV,WAAW;IAAE,OAAO;IAAkB,SAAS;GAAgB;GAC/D,OAAO;GACP,SAAS;GACT,gBAAgB;IACd,OAAO;IACP,SAAS;IACT,YAAY;KACV,YAAY;KACZ,cAAc;KAEd,MAAM;KACN,QAAQ;KAER,OAAO;KAEP,mBAAmB;MACjB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,kBAAkB;MAChB,OAAO;MACP,SAAS;MACT,cAAc;KACf;IACF;GACF;GACD,cAAc;GACd,sBAAsB;IAAE,OAAO;IAA0B,SAAS;GAAO;EAC1E;CACF;CAED,+BAA+B;EAC7B,OAAO;EACP,YAAY;GACV,YAAY;GACZ,cAAc;GAEd,MAAM;GACN,QAAQ;GAER,OAAO;GACP,OAAO;GAEP,aAAa;GACb,WAAW;IAAE,OAAO;IAAoC,SAAS;GAAgB;GACjF,UAAU;GACV,WAAW;IAAE,OAAO;IAAkB,SAAS;GAAgB;GAC/D,OAAO;GACP,SAAS;GACT,gBAAgB;IACd,OAAO;IACP,SAAS;IACT,YAAY;KACV,YAAY;KACZ,cAAc;KAEd,MAAM;KACN,QAAQ;KAER,OAAO;KAEP,mBAAmB;MACjB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,kBAAkB;MAChB,OAAO;MACP,SAAS;MACT,cAAc;KACf;IACF;GACF;GACD,cAAc;GACd,sBAAsB;IAAE,OAAO;IAA0B,SAAS;GAAO;EAC1E;CACF;CAED,wBAAwB;EACtB,OAAO;EACP,YAAY;GACV,YAAY;GACZ,cAAc;GAEd,MAAM;GACN,QAAQ;GAER,OAAO;GACP,OAAO;GAEP,aAAa;GACb,WAAW;IAAE,OAAO;IAAoC,SAAS;GAAgB;GACjF,UAAU;GACV,WAAW;IAAE,OAAO;IAAkB,SAAS;GAAgB;GAC/D,OAAO;GACP,SAAS;GACT,gBAAgB;IACd,OAAO;IACP,SAAS;IACT,YAAY;KACV,YAAY;KACZ,cAAc;KAEd,MAAM;KACN,QAAQ;KAER,OAAO;KAEP,mBAAmB;MACjB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,kBAAkB;MAChB,OAAO;MACP,SAAS;MACT,cAAc;KACf;IACF;GACF;GACD,cAAc;GACd,sBAAsB;IAAE,OAAO;IAA0B,SAAS;GAAO;EAC1E;CACF;CAED,oBAAoB;EAClB,OAAO;EACP,YAAY;GACV,YAAY;GACZ,cAAc;GAEd,aAAa;GACb,WAAW;IAAE,OAAO;IAAoC,SAAS;GAAgB;GACjF,UAAU;GACV,WAAW;IAAE,OAAO;IAAkB,SAAS;GAAgB;GAC/D,OAAO;GACP,SAAS;GACT,gBAAgB;IACd,OAAO;IACP,SAAS;IACT,YAAY;KACV,YAAY;KACZ,cAAc;KAEd,MAAM;KACN,QAAQ;KAER,OAAO;KAEP,mBAAmB;MACjB,OAAO;MACP,SAAS;MACT,cAAc;KACf;KACD,kBAAkB;MAChB,OAAO;MACP,SAAS;MACT,cAAc;KACf;IACF;GACF;GACD,cAAc;GACd,sBAAsB;IAAE,OAAO;IAA0B,SAAS;GAAO;EAC1E;CACF;CAED,SAAS;EAAE,OAAO;EAAmC,SAAS;EAAO,cAAc;CAAU;AAC9F;iBA/QH,EACE,sBA+QD;;;;ACzQD,MAAa,aAAa;AAC1B,MAAa,oCAAoC;AAGjD,MAAa,8BACX;AACF,MAAa,sCACX;AAGF,MAAaC,2BAAmC;AAChD,MAAaC,mCAA2C;AACxD,MAAaC,yBAAiC;AAE9C,SAAgB,sBAAoD;CAClE,MAAM,SAAS,IAAI;AAEnB,QAAO,UAAU,YAAYC,WAAG;AAChC,QAAO,UAAU,6BAA6BC,4BAAkB;AAChE,QAAO,UAAU,qCAAqCC,mCAAwB;AAC9E,QAAO,UAAU,mCAAmCC,kCAAuB;AAG3E;EACE;EACA;EACA;EACA;CACD,EAAC,QAAQ,CAACC,WAAS;AAClB,SAAO,WACJ,6DAA6DA,OAAK,2DACnEH,4BACD;AACD,SAAO,WACJ,6DAA6DG,OAAK,kEACnEF,mCACD;CACF,EAAC;AAGF,EAAC,0CAA2C,EAAC,QAAQ,CAACE,WAAS;AAC7D,SAAO,WACJ,6DAA6DA,OAAK,0DACnEH,4BACD;AACD,SAAO,WACJ,6DAA6DG,OAAK,iEACnEF,mCACD;CACF,EAAC;AAEF,QAAO,OAAO,OAAO;AACtB;AAED,MAAaG,wBAAsD,qBAAqB;;;;ACzCxF,MAAaC,yBAMR,OAAS;CACZ,IAAI,QAAU;CAGd,OAAO,QAAU;CAGjB,QAAQ,MAAQ,CAAC,UAAU;CAG3B,YAAY,MAAQ,CAAC,UAAU;CAG/B,gBAAgB,MAAQ,CAAC,UAAU;AACpC,EAAC;AAKF,MAAaC,qCAQR,OAAS;CAEZ,QAAQ,QAAU;CAGlB,aAAa,QAAU,CAAC,UAAU;CAGlC,uBAAuB,QAAU,CAAC,UAAU;CAG5C,QAAQ,QAAU,CAAC,UAAU;CAG7B,MAAM,QAAU;CAGhB,YAAY,QAAU;CAGtB,SAAS,QAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;AAClC,EAAC;AAIF,MAAaC,uBAIR,MAAO;CAAC;CAAY;CAAW;AAAU,EAAC;AAG/C,MAAaC,eAIR,MAAO;CAAC;CAAK;CAAK;AAAQ,EAAC;AAIhC,MAAaC,0BA6BR,OAAS;CAEZ,IAAI,QAAU;CAGd,aAAa,QAAU,CAAC,UAAU;CAGlC,WAAW,QAAU,CAAC,UAAU;CAGhC,WAAW,QAAU;CAGrB,YAAY,QAAU,CAAC,UAAU;CAGjC,KAAK,QAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU;CAGxC,aAAa,QAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU;CAGhD,QAAQ,aAAa,UAAU;CAG/B,YAAY,QAAU;CAGtB,YAAY,QAAU,CAAC,UAAU;CAGjC,cAAc,QAAU,CAAC,UAAU;CAGnC,kBAAkB,QAAU,CAAC,UAAU;CAGvC,aAAa,MAAQ;CAGrB,cAAc,QAAU,CAAC,UAAU;CAGnC,OAAO,OAAS,CAAC,UAAU;CAG3B,aAAa,QAAU,CAAC,UAAU;CAGlC,mBAAmB,QAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;CAG3C,kBAAkB,QAAU;CAG5B,gBAAgB;CAGhB,uBAAuB,MAAQ,CAAC,UAAU;CAG1C,wBAAwB,MAAQ,CAAC,UAAU;CAG3C,qBAAqB,YAAa,OAAO;CAGzC,oBAAoB,YAAa,OAAO,CAAC,UAAU;CAGnD,YAAY,YAAa,OAAO;CAGhC,oBAAoB,mCAAmC,UAAU;CAGjE,iCAAiC,QAAU,CAAC,UAAU;CAGtD,oCAAoC,MAAQ,CAAC,UAAU;CAGvD,6BAA6B,YAAa,OAAO,CAAC,UAAU;AAC7D,EAAC;;;;ACzLF,eAAsB,iBACpBC,QACAC,SACAC,QACA,WAAW,MACW;AACtB,KAAI,UAAU;AAEZ,yBAAuB,MAAM,OAAO;AACpC,0BAAwB,MAAM,QAAQ;CACvC;CAED,MAAM,EAAE,mBAAoB,GAAG,aAAa,GAAG;CAE/C,MAAM,oBAAoB;EACxB,YAAY;EACZ,GAAG,cAAc,YAAY;EAE7B,GAAI,qBAAqB,cAAc,oBAAoB,qBAAqB,GAAG,CAAE;CACtF;CAED,MAAM,MAAM,MAAM,YAAY,OAAO;CAGrC,MAAM,aAAa;EACjB,YAAY;GAAC;GAAY;GAA0B;EAAuB;EAC1E,MAAM,CAAC,sBAAuB;EAC9B,QAAQ,IAAI;EACZ,GAAG,cAAc,OAAO;EACxB;CACD;CAED,MAAM,QAAQ,IAAI,qBAAqB,EAAE,IAAK;AAE9C,QAAO,GAAG,MAAmC;EAC3C;EACA;EACA,gBAAgB;CACjB,EAAC;AACH;;;;ACJD,IAAa,oBAAb,MAA+B;CAC7B,AAASC;CACT,AAASC;CACT,AAASC;CAET,YACEC,YACAC,gBACAC,qBACA;AACA,OAAKL,cAAc;AACnB,OAAKC,kBAAkB;AACvB,OAAKC,uBAAuB;CAC7B;CAQD,+BAA+B,EAC7B,QACA,aACA,kBACA,8BACwE,EAE5B;EAC5C,MAAM,mBAAmB,KAAK,IAAI,SAAS;EAC3C,MAAM,UAAU,eACd,kBACA,8BACA,iBAAiB,UAClB;EAED,MAAM,yBAAyB,OAC7B,KAAK,KAAK,SAAS,SAAW,YAAY,EAAE,KAAKD,gBAAgB,UAAU,CAC5E;AAED,SAAO;GACL,SAAS;GACT,SAAS,OAAa,QAAQ;GAC9B,cAAc;GACd;GAEA,mBAAmB,OACjB,KAAK,KAAK,SACR,WAAW,KAAK,CAAC,GAAG,OAAa,uBAAuB,EAAE,GAAG,OAAQ,EAAC,EACtE,KAAKA,gBAAgB,UACtB,CACF;GAED,wBAAwB,SAAU,KAAKA,gBAAgB,WAAW,KAAK;GACvE,sBAAsB,OAAa,iBAAiB,UAAU;EAC/D;CACF;CAED,gBAA2CK,QAA+B;AACxE,OAAK,OAAO,GACV,CAAC,OAA8B,KAAK,OAAO,YAAY;AAEzD,SAAO;CACR;CAED,MAAM,sCACJC,kBACAC,qBACAC,6BAIC;EACD,IAAI,qBAAqB;AACzB,OAAK,mBAGH,sBAAqB,KAAK,IAAI,QAAQ,cAAc,KAAKP,qBAAqB,CAAC;EAGjF,MAAM,qBAAqB,KAAKQ,gBAC9B,KAAKC,+BAA+B,iBAAiB,CACtD;EAED,MAAM,cAAc,oBAAoB,iBAAiB,iBAAiB;EAE1E,MAAM,iBAAiB,KAAKD,gBAC1B,KAAKC,+BAA+B;GAClC,aAAa;GACb,kBAAkB,iBAAiB;GACnC,8BAA8B;EAC/B,EAAC,CACH;EAED,MAAMC,UAAuD;GAC3D,wBAAwB,mBAAmB;GAC3C,+BAA+B,mBAAmB;GAClD,wBAAwB,mBAAmB;GAC3C,kBAAkB,mBAAmB;GACrC,uBAAuB,mBAAmB;GAC1C,iCAAiC,mBAAmB;GACpD,4BAA4B,mBAAmB;GAC/C,2BAA2B,eAAe;GAC1C,oBAAoB,eAAe;GACnC,cAAc,eAAe;GAC7B,6BAA6B,eAAe;GAC5C,wBAAwB,eAAe;GACvC,cAAc;GACd,WAAW,oBAAoB;GAC/B,aAAa,oBAAoB;GACjC,uBAAuB,oBAAoB;GAC3C,QAAQ,oBAAoB;GAC5B,2BAA2B,oBAAoB;GAC/C,gBAAgB,oBAAoB;GACpC,eAAe,oBAAoB;GACnC,eAAe,oBAAoB;EACpC;AAED,QAAM,sCAAsC,KAAKZ,aAAa,QAAQ;AAEtE,SAAO;GAAE;GAAoB;EAAgB;CAC9C;CAED,MAAM,uBACJa,eACAC,aAC8C;EAC9C,MAAM,UAAU;GACd,iBAAiB;GACjB,cAAc;EACf;EAED,MAAM,SAAS,MAAM,uBAAuB,KAAKd,aAAa,QAAQ;AAEtE,SAAO,UAAU;CAClB;CAED,MAAM,6BAA6Be,aAA6C;EAC9E,MAAM,KAAK,MAAM,6BAA6B,KAAKf,aAAa,YAAY;AAE5E,YAAU,IAAI,yCAAyC;AAEvD,SAAO;CACR;CAED,MAAM,oBAAoBgB,IAA4C;EACpE,MAAM,SAAS,MAAM,oBAAoB,KAAKhB,aAAa,GAAG;AAE9D,SAAO,UAAU;CAClB;AACF;;;;AC9LD,IAAa,eAAb,MAA0B;CACxB,AAASiB;CACT,AAASC;CAET,YAAYC,YAA8BC,qBAAiC;AACzE,OAAKH,cAAc;AACnB,OAAKC,uBAAuB;CAC7B;CAED,MAAM,yBACJG,QACAC,gCACAC,uBACgD;EAChD,MAAM,eAAe,MAAM,+BAA6B,OAAO,iBAAiB;AAEhF,YAAU,cAAc,8BAA8B;EAEtD,MAAM,aAAa,MAAM,sBAAoB,aAAa;AAE1D,YAAU,YAAY,sDAAsD;EAE5E,MAAM,mBAAmB,MAAM,UAAU,yBACvC,OAAa,KAAKL,qBAAqB,CACxC,CAAC,QAAQ,WAAW,SAAS,WAAW,qBAAqB;EAG9D,MAAM,cAAc,oBAAoB,SAAW,iBAAiB,CAAC;AAGrE,MAAI,gBAAgB,OAAO,iBACzB,OAAM,IAAI,MAAM;EAGlB,MAAM,SAAS,MAAM,uBAAwB,KAAKD,aAAa,OAAO;AAEtE,SAAO,UAAU;CAClB;AACF;;;;ACnDD,IAAa,qBAAb,MAAgC;CAC9B,YAA6BO,YAA8B;EAA9B;CAAgC;;;;CAK7D,MAAM,sBAAkD;AACtD,SAAO,oBAAoB,KAAK,WAAW;CAC5C;AACF;;;;ACSD,IAAa,cAAb,MAAyB;CACvB,AAASC;CAET,YAAYC,YAA8B;AACxC,OAAKD,cAAc;CACpB;CAED,gBAA2CE,QAA+B;AACxE,OAAK,OAAO,GACV,CAAC,OAA8B,KAAK,OAAO,YAAY;AAEzD,SAAO;CACR;CAED,MAAM,WAAWC,aAAuC;AACtD,SAAO,WAAY,KAAKH,aAAa,YAAY;CAClD;CAED,MAAM,kBAAkBI,QAAmD;EACzE,MAAM,UAAU,KAAKC,gBAAgB,OAAO;AAC5C,QAAM,WAAY,KAAKL,aAAa,QAAQ;AAC5C,SAAO;CACR;CAED,MAAM,uBAAuBM,QAAoD;EAC/E,MAAM,UAAU,KAAKD,gBAAgB,OAAO;AAC5C,QAAM,uBAAwB,KAAKL,aAAa,QAAQ;AACxD,SAAO;CACR;CAED,MAAM,WACJO,MACAC,QACiC;EACjC,MAAM,UAAU,KAAK,MAAM,OAAO,YAAY;EAC9C,MAAM,YAAY,OAAO,MAAM,OAAO,YAAY;EAElD,MAAM,gBAAgB;GACpB,GAAG;GACH,IAAI;EACL;EAED,MAAM,eAAe,MAAM,KAAK,kBAAkB,cAAc;EAEhE,MAAM,kBAAkB;GACtB,GAAG;GACH;GACA,IAAI;EACL;EAED,MAAM,iBAAiB,MAAM,KAAK,uBAAuB,gBAAgB;AAEzE,SAAO,CAAC,cAAc,cAAe;CACtC;AACF;;;;ACpCD,IAAa,aAAb,MAAa,WAAW;CACtB,AAASC;CACT,AAASC;CACT,AAASC;CACT,AAASC;CAET,aAAa,KAAKC,QAAiD;EACjE,MAAM,aAAa,MAAM,qBAAqB;GAC5C,SAAS,OAAO;GAChB,SAAS,OAAO;EACjB,EAAC;EAEF,MAAM,CAAC,OAAO,GAAG,uBAAuB,OAAO,eAAe;AAC9D,aAAW,UAAU,OAAO;EAE5B,MAAM,oBAAoB,IAAI,kBAC5B,YACA,OAAO,gBACP,OAAO;EAGT,MAAM,eAAe,IAAI,aAAa,YAAY,OAAO;EACzD,MAAM,cAAc,IAAI,YAAY;EACpC,MAAM,qBAAqB,IAAI,mBAAmB;AAElD,SAAO,IAAI,WAAW,mBAAmB,cAAc,aAAa;CACrE;CAED,AAAQ,YACNC,mBACAC,cACAC,aACAC,oBACA;AACA,OAAKR,qBAAqB;AAC1B,OAAKC,gBAAgB;AACrB,OAAKC,eAAe;AACpB,OAAKC,sBAAsB;CAC5B;CAGD,MAAM,WAAWM,aAAuC;AACtD,SAAO,KAAKP,aAAa,WAAW,YAAY;CACjD;CAED,MAAM,kBAAkBQ,QAAmD;AACzE,SAAO,KAAKR,aAAa,kBAAkB,OAAO;CACnD;CAED,MAAM,uBAAuBS,QAAoD;AAC/E,SAAO,KAAKT,aAAa,uBAAuB,OAAO;CACxD;CAED,MAAM,WACJU,MACAC,QACiC;AACjC,SAAO,KAAKX,aAAa,WAAW,MAAM,OAAO;CAClD;CAED,MAAM,sCACJY,kBACAC,qBACAC,6BAIC;AACD,SAAO,KAAKhB,mBAAmB,sCAC7B,kBACA,qBACA,4BACD;CACF;CAED,MAAM,uBACJiB,eACAC,aAC8C;AAC9C,SAAO,KAAKlB,mBAAmB,uBAAuB,eAAe,YAAY;CAClF;CAED,MAAM,6BAA6BmB,aAA6C;AAC9E,SAAO,KAAKnB,mBAAmB,6BAA6B,YAAY;CACzE;CAED,MAAM,oBAAoBoB,IAA4C;AACpE,SAAO,KAAKpB,mBAAmB,oBAAoB,GAAG;CACvD;CAED,MAAM,yBACJqB,QACgD;AAChD,SAAO,KAAKpB,cAAc,yBACxB,QACA,CAACkB,gBAAwB,KAAK,6BAA6B,YAAY,EACvE,CAACC,OAAe,KAAK,oBAAoB,GAAG,CAC7C;CACF;CAED,MAAM,iBACJE,QACAC,SACAC,QACA,WAAW,MACW;AACtB,SAAO,iBAAiB,QAAQ,SAAS,QAAQ,SAAS;CAC3D;CAED,MAAM,sBAAkD;AACtD,SAAO,KAAKrB,oBAAoB,qBAAqB;CACtD;AACF"}
|