@kingdomchain/wallet-client 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/attestation.ts","../src/generated/google/protobuf/timestamp.ts","../src/generated/isatheword/kingdomchain/citizen/v1/tx.ts","../src/generated/isatheword/kingdomchain/citizenrewards/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/compliance.ts","../src/registry.ts","../src/chainConstants.ts","../src/browserSigner.ts","../src/walletConnectSigner.ts","../src/embeddedWallet/types.ts","../src/embeddedWallet/signer.ts","../src/embeddedWallet/mnemonic.ts","../src/embeddedWallet/pin.ts","../src/embeddedWallet/crypto.ts","../src/embeddedWallet/prf.ts","../src/embeddedWallet/backup.ts","../src/embeddedWallet/webauthn.ts","../src/embeddedWallet/storage.ts","../src/embeddedWallet/lockout.ts","../src/embeddedWallet/passcode-denylist.json","../src/embeddedWallet/passcode-denylist.ts","../src/embeddedWallet/passcode-strength.ts","../src/embeddedWallet/wallet.ts","../src/submitApplication.ts","../src/amount.ts","../src/restQuery.ts","../src/citizenTx.ts"],"names":["BinaryWriter","BinaryReader","toTimestamp","fromTimestamp","ApplicationStatus","RecoveryAttestationStatus","englishWordlist","DirectSecp256k1Wallet","privateKey","toBase64","fromBase64","plaintext","signer","account","session"],"mappings":"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","file":"index.js","sourcesContent":["import { fromHex, toHex } from \"@cosmjs/encoding\";\nimport { sha256 } from \"@noble/hashes/sha256\";\nimport * as ed from \"@noble/ed25519\";\n\n/** Must match x/compliance/types/keys.go AttestationTypeCitizenshipApplication */\nexport const ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = \"citizenship_application\";\n\n/** Must match x/compliance/types/keys.go AttestationTypeRecovery */\nexport const ATTESTATION_TYPE_RECOVERY = \"recovery\";\n\nexport interface AttestationPayloadInput {\n attestationType: string;\n chainId: string;\n intendedWallet: string;\n caseId: string;\n policyVersion: string;\n nonce: string;\n uniquenessReference: string;\n issuedAt: Date;\n expiresAt: Date;\n providerId: string;\n providerKeyVersion: bigint;\n citizenId?: bigint;\n oldWallet?: string;\n newWallet?: string;\n}\n\nfunction hashField(value: string): Uint8Array {\n return sha256(new TextEncoder().encode(value));\n}\n\n/** Format uint64 the same way Go strconv.FormatUint(v, 10) does. Rejects out-of-range values. */\nfunction formatUint64(value: bigint, fieldName: string): string {\n if (value < 0n) {\n throw new Error(`${fieldName} must be non-negative, got ${value}`);\n }\n if (value > 0xffff_ffff_ffff_ffffn) {\n throw new Error(`${fieldName} exceeds uint64 max, got ${value}`);\n }\n return value.toString(10);\n}\n\n/** Unix seconds truncated toward zero — matches Go time.Time.Unix(). */\nfunction unixSeconds(date: Date): number {\n return Math.trunc(date.getTime() / 1000);\n}\n\nfunction combineHashes(hashes: Uint8Array[]): string {\n const totalLen = hashes.reduce((acc, h) => acc + h.length, 0);\n const preimage = new Uint8Array(totalLen);\n let offset = 0;\n for (const h of hashes) {\n preimage.set(h, offset);\n offset += h.length;\n }\n return toHex(sha256(preimage));\n}\n\n/**\n * Canonical attestation payload — must match Go types.AttestationSignPayload bit-for-bit.\n */\nexport function attestationSignPayload(input: AttestationPayloadInput): string {\n const hashes = [\n hashField(input.attestationType),\n hashField(input.chainId),\n hashField(input.intendedWallet),\n hashField(input.caseId),\n hashField(input.policyVersion),\n hashField(input.nonce),\n hashField(input.uniquenessReference),\n hashField(String(unixSeconds(input.issuedAt))),\n hashField(String(unixSeconds(input.expiresAt))),\n hashField(input.providerId),\n hashField(formatUint64(input.providerKeyVersion, \"providerKeyVersion\")),\n ];\n if (input.attestationType === ATTESTATION_TYPE_RECOVERY) {\n hashes.push(\n hashField(formatUint64(input.citizenId ?? 0n, \"citizenId\")),\n hashField(input.oldWallet ?? \"\"),\n hashField(input.newWallet ?? \"\"),\n );\n }\n return combineHashes(hashes);\n}\n\nexport async function signAttestationPayload(privateKeySeed: Uint8Array, payload: string): Promise<string> {\n if (privateKeySeed.length !== 32) {\n throw new Error(\"invalid ed25519 seed size\");\n }\n const sig = await ed.signAsync(new TextEncoder().encode(payload), privateKeySeed);\n return toHex(sig);\n}\n\nexport async function publicKeyFromPrivateSeed(privateKeySeed: Uint8Array): Promise<string> {\n if (privateKeySeed.length !== 32) {\n throw new Error(\"invalid ed25519 seed size\");\n }\n const pub = await ed.getPublicKeyAsync(privateKeySeed);\n return toHex(pub);\n}\n\nexport function providerSeedFromHex(hex: string): Uint8Array {\n const seed = fromHex(hex);\n if (seed.length !== 32) {\n throw new Error(\"provider seed hex must decode to 32 bytes\");\n }\n return new Uint8Array(seed);\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: google/protobuf/timestamp.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\n/**\n * A Timestamp represents a point in time independent of any time zone or local\n * calendar, encoded as a count of seconds and fractions of seconds at\n * nanosecond resolution. The count is relative to an epoch at UTC midnight on\n * January 1, 1970, in the proleptic Gregorian calendar which extends the\n * Gregorian calendar backwards to year one.\n *\n * All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n * second table is needed for interpretation, using a [24-hour linear\n * smear](https://developers.google.com/time/smear).\n *\n * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n * restricting to that range, we ensure that we can convert to and from [RFC\n * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n *\n * # Examples\n *\n * Example 1: Compute Timestamp from POSIX `time()`.\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(time(NULL));\n * timestamp.set_nanos(0);\n *\n * Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n *\n * struct timeval tv;\n * gettimeofday(&tv, NULL);\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(tv.tv_sec);\n * timestamp.set_nanos(tv.tv_usec * 1000);\n *\n * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n *\n * FILETIME ft;\n * GetSystemTimeAsFileTime(&ft);\n * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n *\n * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n * Timestamp timestamp;\n * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n *\n * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n *\n * long millis = System.currentTimeMillis();\n *\n * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n * .setNanos((int) ((millis % 1000) * 1000000)).build();\n *\n * Example 5: Compute Timestamp from Java `Instant.now()`.\n *\n * Instant now = Instant.now();\n *\n * Timestamp timestamp =\n * Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n * .setNanos(now.getNano()).build();\n *\n * Example 6: Compute Timestamp from current time in Python.\n *\n * timestamp = Timestamp()\n * timestamp.GetCurrentTime()\n *\n * # JSON Mapping\n *\n * In JSON format, the Timestamp type is encoded as a string in the\n * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n * format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n * where {year} is always expressed using four digits while {month}, {day},\n * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n * are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n * is required. A proto3 JSON serializer should always use UTC (as indicated by\n * \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n * able to accept both UTC and other timezones (as indicated by an offset).\n *\n * For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n * 01:30 UTC on January 15, 2017.\n *\n * In JavaScript, one can convert a Date object to this format using the\n * standard\n * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n * method. In Python, a standard `datetime.datetime` object can be converted\n * to this format using\n * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n * the Joda Time's [`ISODateTimeFormat.dateTime()`](\n * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n * ) to obtain a formatter capable of generating timestamps in this format.\n */\nexport interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n seconds: bigint;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n nanos: number;\n}\n\nfunction createBaseTimestamp(): Timestamp {\n return { seconds: 0n, nanos: 0 };\n}\n\nexport const Timestamp: MessageFns<Timestamp> = {\n encode(message: Timestamp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.seconds !== 0n) {\n if (BigInt.asIntN(64, message.seconds) !== message.seconds) {\n throw new globalThis.Error(\"value provided for field message.seconds of type int64 too large\");\n }\n writer.uint32(8).int64(message.seconds);\n }\n if (message.nanos !== 0) {\n writer.uint32(16).int32(message.nanos);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Timestamp {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimestamp();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.seconds = reader.int64() as bigint;\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.nanos = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Timestamp>): Timestamp {\n return Timestamp.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Timestamp>): Timestamp {\n const message = createBaseTimestamp();\n message.seconds = (object.seconds !== undefined && object.seconds !== null) ? BigInt(object.seconds) : 0n;\n message.nanos = object.nanos ?? 0;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/citizen/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport interface MsgIssueKCP {\n authority: string;\n application_id: string;\n wallet_address: string;\n uniqueness_commitment: string;\n decision_id: string;\n}\n\nexport interface MsgIssueKCPResponse {\n citizen_id: bigint;\n}\n\nexport interface MsgSuspendKCP {\n authority: string;\n citizen_id: bigint;\n reason_code: string;\n expires_at?: Date | undefined;\n}\n\nexport interface MsgSuspendKCPResponse {\n}\n\nexport interface MsgReactivateKCP {\n authority: string;\n citizen_id: bigint;\n}\n\nexport interface MsgReactivateKCPResponse {\n}\n\nexport interface MsgRevokeKCP {\n authority: string;\n citizen_id: bigint;\n reason_code: string;\n evidence_ref: string;\n}\n\nexport interface MsgRevokeKCPResponse {\n}\n\nexport interface MsgInitiateRecovery {\n authority: string;\n citizen_id: bigint;\n new_wallet: string;\n recovery_case_id: string;\n cooling_off_ends_at?: Date | undefined;\n}\n\nexport interface MsgInitiateRecoveryResponse {\n}\n\nexport interface MsgApproveRecovery {\n authority: string;\n recovery_case_id: string;\n}\n\nexport interface MsgApproveRecoveryResponse {\n}\n\nexport interface MsgFinalizeRecovery {\n authority: string;\n recovery_case_id: string;\n decision_id: string;\n}\n\nexport interface MsgFinalizeRecoveryResponse {\n}\n\nexport interface MsgCancelRecovery {\n authority: string;\n recovery_case_id: string;\n reason_code: string;\n}\n\nexport interface MsgCancelRecoveryResponse {\n}\n\nfunction createBaseMsgIssueKCP(): MsgIssueKCP {\n return { authority: \"\", application_id: \"\", wallet_address: \"\", uniqueness_commitment: \"\", decision_id: \"\" };\n}\n\nexport const MsgIssueKCP: MessageFns<MsgIssueKCP> = {\n encode(message: MsgIssueKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.wallet_address !== \"\") {\n writer.uint32(26).string(message.wallet_address);\n }\n if (message.uniqueness_commitment !== \"\") {\n writer.uint32(34).string(message.uniqueness_commitment);\n }\n if (message.decision_id !== \"\") {\n writer.uint32(42).string(message.decision_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIssueKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.wallet_address = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.uniqueness_commitment = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.decision_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\n return MsgIssueKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\n const message = createBaseMsgIssueKCP();\n message.authority = object.authority ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.wallet_address = object.wallet_address ?? \"\";\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\n message.decision_id = object.decision_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgIssueKCPResponse(): MsgIssueKCPResponse {\n return { citizen_id: 0n };\n}\n\nexport const MsgIssueKCPResponse: MessageFns<MsgIssueKCPResponse> = {\n encode(message: MsgIssueKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(8).uint64(message.citizen_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIssueKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\n return MsgIssueKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\n const message = createBaseMsgIssueKCPResponse();\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgSuspendKCP(): MsgSuspendKCP {\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", expires_at: undefined };\n}\n\nexport const MsgSuspendKCP: MessageFns<MsgSuspendKCP> = {\n encode(message: MsgSuspendKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\n return MsgSuspendKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\n const message = createBaseMsgSuspendKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.reason_code = object.reason_code ?? \"\";\n message.expires_at = object.expires_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgSuspendKCPResponse(): MsgSuspendKCPResponse {\n return {};\n}\n\nexport const MsgSuspendKCPResponse: MessageFns<MsgSuspendKCPResponse> = {\n encode(_: MsgSuspendKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\n return MsgSuspendKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\n const message = createBaseMsgSuspendKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgReactivateKCP(): MsgReactivateKCP {\n return { authority: \"\", citizen_id: 0n };\n}\n\nexport const MsgReactivateKCP: MessageFns<MsgReactivateKCP> = {\n encode(message: MsgReactivateKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgReactivateKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\n return MsgReactivateKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\n const message = createBaseMsgReactivateKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgReactivateKCPResponse(): MsgReactivateKCPResponse {\n return {};\n}\n\nexport const MsgReactivateKCPResponse: MessageFns<MsgReactivateKCPResponse> = {\n encode(_: MsgReactivateKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgReactivateKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\n return MsgReactivateKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\n const message = createBaseMsgReactivateKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRevokeKCP(): MsgRevokeKCP {\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", evidence_ref: \"\" };\n}\n\nexport const MsgRevokeKCP: MessageFns<MsgRevokeKCP> = {\n encode(message: MsgRevokeKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n if (message.evidence_ref !== \"\") {\n writer.uint32(34).string(message.evidence_ref);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRevokeKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.evidence_ref = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\n return MsgRevokeKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\n const message = createBaseMsgRevokeKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.reason_code = object.reason_code ?? \"\";\n message.evidence_ref = object.evidence_ref ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRevokeKCPResponse(): MsgRevokeKCPResponse {\n return {};\n}\n\nexport const MsgRevokeKCPResponse: MessageFns<MsgRevokeKCPResponse> = {\n encode(_: MsgRevokeKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRevokeKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\n return MsgRevokeKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\n const message = createBaseMsgRevokeKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgInitiateRecovery(): MsgInitiateRecovery {\n return { authority: \"\", citizen_id: 0n, new_wallet: \"\", recovery_case_id: \"\", cooling_off_ends_at: undefined };\n}\n\nexport const MsgInitiateRecovery: MessageFns<MsgInitiateRecovery> = {\n encode(message: MsgInitiateRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(26).string(message.new_wallet);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(34).string(message.recovery_case_id);\n }\n if (message.cooling_off_ends_at !== undefined) {\n Timestamp.encode(toTimestamp(message.cooling_off_ends_at), writer.uint32(42).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgInitiateRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.cooling_off_ends_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\n return MsgInitiateRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\n const message = createBaseMsgInitiateRecovery();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.new_wallet = object.new_wallet ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.cooling_off_ends_at = object.cooling_off_ends_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgInitiateRecoveryResponse(): MsgInitiateRecoveryResponse {\n return {};\n}\n\nexport const MsgInitiateRecoveryResponse: MessageFns<MsgInitiateRecoveryResponse> = {\n encode(_: MsgInitiateRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgInitiateRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\n return MsgInitiateRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\n const message = createBaseMsgInitiateRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgApproveRecovery(): MsgApproveRecovery {\n return { authority: \"\", recovery_case_id: \"\" };\n}\n\nexport const MsgApproveRecovery: MessageFns<MsgApproveRecovery> = {\n encode(message: MsgApproveRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgApproveRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\n return MsgApproveRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\n const message = createBaseMsgApproveRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgApproveRecoveryResponse(): MsgApproveRecoveryResponse {\n return {};\n}\n\nexport const MsgApproveRecoveryResponse: MessageFns<MsgApproveRecoveryResponse> = {\n encode(_: MsgApproveRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgApproveRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\n return MsgApproveRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\n const message = createBaseMsgApproveRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgFinalizeRecovery(): MsgFinalizeRecovery {\n return { authority: \"\", recovery_case_id: \"\", decision_id: \"\" };\n}\n\nexport const MsgFinalizeRecovery: MessageFns<MsgFinalizeRecovery> = {\n encode(message: MsgFinalizeRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.decision_id !== \"\") {\n writer.uint32(26).string(message.decision_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgFinalizeRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.decision_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\n return MsgFinalizeRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\n const message = createBaseMsgFinalizeRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.decision_id = object.decision_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgFinalizeRecoveryResponse(): MsgFinalizeRecoveryResponse {\n return {};\n}\n\nexport const MsgFinalizeRecoveryResponse: MessageFns<MsgFinalizeRecoveryResponse> = {\n encode(_: MsgFinalizeRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgFinalizeRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\n return MsgFinalizeRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\n const message = createBaseMsgFinalizeRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgCancelRecovery(): MsgCancelRecovery {\n return { authority: \"\", recovery_case_id: \"\", reason_code: \"\" };\n}\n\nexport const MsgCancelRecovery: MessageFns<MsgCancelRecovery> = {\n encode(message: MsgCancelRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCancelRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\n return MsgCancelRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\n const message = createBaseMsgCancelRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgCancelRecoveryResponse(): MsgCancelRecoveryResponse {\n return {};\n}\n\nexport const MsgCancelRecoveryResponse: MessageFns<MsgCancelRecoveryResponse> = {\n encode(_: MsgCancelRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCancelRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\n return MsgCancelRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\n const message = createBaseMsgCancelRecoveryResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.citizen.v1.Msg\",\n methods: {\n issueKCP: {\n name: \"IssueKCP\",\n requestType: MsgIssueKCP as typeof MsgIssueKCP,\n requestStream: false,\n responseType: MsgIssueKCPResponse as typeof MsgIssueKCPResponse,\n responseStream: false,\n options: {},\n },\n suspendKCP: {\n name: \"SuspendKCP\",\n requestType: MsgSuspendKCP as typeof MsgSuspendKCP,\n requestStream: false,\n responseType: MsgSuspendKCPResponse as typeof MsgSuspendKCPResponse,\n responseStream: false,\n options: {},\n },\n reactivateKCP: {\n name: \"ReactivateKCP\",\n requestType: MsgReactivateKCP as typeof MsgReactivateKCP,\n requestStream: false,\n responseType: MsgReactivateKCPResponse as typeof MsgReactivateKCPResponse,\n responseStream: false,\n options: {},\n },\n revokeKCP: {\n name: \"RevokeKCP\",\n requestType: MsgRevokeKCP as typeof MsgRevokeKCP,\n requestStream: false,\n responseType: MsgRevokeKCPResponse as typeof MsgRevokeKCPResponse,\n responseStream: false,\n options: {},\n },\n initiateRecovery: {\n name: \"InitiateRecovery\",\n requestType: MsgInitiateRecovery as typeof MsgInitiateRecovery,\n requestStream: false,\n responseType: MsgInitiateRecoveryResponse as typeof MsgInitiateRecoveryResponse,\n responseStream: false,\n options: {},\n },\n approveRecovery: {\n name: \"ApproveRecovery\",\n requestType: MsgApproveRecovery as typeof MsgApproveRecovery,\n requestStream: false,\n responseType: MsgApproveRecoveryResponse as typeof MsgApproveRecoveryResponse,\n responseStream: false,\n options: {},\n },\n finalizeRecovery: {\n name: \"FinalizeRecovery\",\n requestType: MsgFinalizeRecovery as typeof MsgFinalizeRecovery,\n requestStream: false,\n responseType: MsgFinalizeRecoveryResponse as typeof MsgFinalizeRecoveryResponse,\n responseStream: false,\n options: {},\n },\n cancelRecovery: {\n name: \"CancelRecovery\",\n requestType: MsgCancelRecovery as typeof MsgCancelRecovery,\n requestStream: false,\n responseType: MsgCancelRecoveryResponse as typeof MsgCancelRecoveryResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/citizenrewards/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Params } from \"./citizenrewards\";\n\n/** MsgClaimReward claims a finalized reward for the given reward day. */\nexport interface MsgClaimReward {\n claimer: string;\n day_id: bigint;\n}\n\nexport interface MsgClaimRewardResponse {\n day_id: bigint;\n amount_ukdr: string;\n}\n\nexport interface MsgUpdateParams {\n authority: string;\n params?: Params | undefined;\n}\n\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgClaimReward(): MsgClaimReward {\n return { claimer: \"\", day_id: 0n };\n}\n\nexport const MsgClaimReward: MessageFns<MsgClaimReward> = {\n encode(message: MsgClaimReward, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.claimer !== \"\") {\n writer.uint32(10).string(message.claimer);\n }\n if (message.day_id !== 0n) {\n if (BigInt.asUintN(64, message.day_id) !== message.day_id) {\n throw new globalThis.Error(\"value provided for field message.day_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.day_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgClaimReward {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgClaimReward();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.claimer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.day_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgClaimReward>): MsgClaimReward {\n return MsgClaimReward.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgClaimReward>): MsgClaimReward {\n const message = createBaseMsgClaimReward();\n message.claimer = object.claimer ?? \"\";\n message.day_id = (object.day_id !== undefined && object.day_id !== null) ? BigInt(object.day_id) : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgClaimRewardResponse(): MsgClaimRewardResponse {\n return { day_id: 0n, amount_ukdr: \"\" };\n}\n\nexport const MsgClaimRewardResponse: MessageFns<MsgClaimRewardResponse> = {\n encode(message: MsgClaimRewardResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.day_id !== 0n) {\n if (BigInt.asUintN(64, message.day_id) !== message.day_id) {\n throw new globalThis.Error(\"value provided for field message.day_id of type uint64 too large\");\n }\n writer.uint32(8).uint64(message.day_id);\n }\n if (message.amount_ukdr !== \"\") {\n writer.uint32(18).string(message.amount_ukdr);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgClaimRewardResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgClaimRewardResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.day_id = reader.uint64() as bigint;\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.amount_ukdr = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgClaimRewardResponse>): MsgClaimRewardResponse {\n return MsgClaimRewardResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgClaimRewardResponse>): MsgClaimRewardResponse {\n const message = createBaseMsgClaimRewardResponse();\n message.day_id = (object.day_id !== undefined && object.day_id !== null) ? BigInt(object.day_id) : 0n;\n message.amount_ukdr = object.amount_ukdr ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { authority: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams> = {\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n return MsgUpdateParams.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.authority = object.authority ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<MsgUpdateParamsResponse> = {\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n return MsgUpdateParamsResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.citizenrewards.v1.Msg\",\n methods: {\n claimReward: {\n name: \"ClaimReward\",\n requestType: MsgClaimReward as typeof MsgClaimReward,\n requestStream: false,\n responseType: MsgClaimRewardResponse as typeof MsgClaimRewardResponse,\n responseStream: false,\n options: {},\n },\n updateParams: {\n name: \"UpdateParams\",\n requestType: MsgUpdateParams as typeof MsgUpdateParams,\n requestStream: false,\n responseType: MsgUpdateParamsResponse as typeof MsgUpdateParamsResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/compliance/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport interface MsgRegisterProvider {\n authority: string;\n provider_id: string;\n public_key: string;\n key_version: bigint;\n supported_assurance_levels: string[];\n supported_jurisdictions: string[];\n active_from?: Date | undefined;\n active_until?: Date | undefined;\n}\n\nexport interface MsgRegisterProviderResponse {\n}\n\nexport interface MsgSuspendProvider {\n authority: string;\n provider_id: string;\n reason_code: string;\n}\n\nexport interface MsgSuspendProviderResponse {\n}\n\nexport interface MsgSubmitApplication {\n applicant_wallet: string;\n application_id: string;\n provider_id: string;\n provider_key_version: bigint;\n chain_id: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n signature: string;\n}\n\nexport interface MsgSubmitApplicationResponse {\n}\n\nexport interface MsgSubmitRecoveryAttestation {\n applicant_wallet: string;\n recovery_case_id: string;\n provider_id: string;\n provider_key_version: bigint;\n chain_id: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n signature: string;\n}\n\nexport interface MsgSubmitRecoveryAttestationResponse {\n}\n\nexport interface MsgDecideApplication {\n authority: string;\n application_id: string;\n approved: boolean;\n reason_code: string;\n}\n\nexport interface MsgDecideApplicationResponse {\n}\n\nexport interface MsgDecideRecoveryAttestation {\n authority: string;\n recovery_case_id: string;\n approved: boolean;\n reason_code: string;\n}\n\nexport interface MsgDecideRecoveryAttestationResponse {\n}\n\nfunction createBaseMsgRegisterProvider(): MsgRegisterProvider {\n return {\n authority: \"\",\n provider_id: \"\",\n public_key: \"\",\n key_version: 0n,\n supported_assurance_levels: [],\n supported_jurisdictions: [],\n active_from: undefined,\n active_until: undefined,\n };\n}\n\nexport const MsgRegisterProvider: MessageFns<MsgRegisterProvider> = {\n encode(message: MsgRegisterProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.public_key !== \"\") {\n writer.uint32(26).string(message.public_key);\n }\n if (message.key_version !== 0n) {\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.key_version);\n }\n for (const v of message.supported_assurance_levels) {\n writer.uint32(42).string(v!);\n }\n for (const v of message.supported_jurisdictions) {\n writer.uint32(50).string(v!);\n }\n if (message.active_from !== undefined) {\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(58).fork()).join();\n }\n if (message.active_until !== undefined) {\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(66).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProvider {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterProvider();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.public_key = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.supported_assurance_levels.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.supported_jurisdictions.push(reader.string());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\n return MsgRegisterProvider.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\n const message = createBaseMsgRegisterProvider();\n message.authority = object.authority ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.public_key = object.public_key ?? \"\";\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\n ? BigInt(object.key_version)\n : 0n;\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\n message.active_from = object.active_from ?? undefined;\n message.active_until = object.active_until ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgRegisterProviderResponse(): MsgRegisterProviderResponse {\n return {};\n}\n\nexport const MsgRegisterProviderResponse: MessageFns<MsgRegisterProviderResponse> = {\n encode(_: MsgRegisterProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProviderResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterProviderResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\n return MsgRegisterProviderResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\n const message = createBaseMsgRegisterProviderResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSuspendProvider(): MsgSuspendProvider {\n return { authority: \"\", provider_id: \"\", reason_code: \"\" };\n}\n\nexport const MsgSuspendProvider: MessageFns<MsgSuspendProvider> = {\n encode(message: MsgSuspendProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProvider {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendProvider();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\n return MsgSuspendProvider.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\n const message = createBaseMsgSuspendProvider();\n message.authority = object.authority ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSuspendProviderResponse(): MsgSuspendProviderResponse {\n return {};\n}\n\nexport const MsgSuspendProviderResponse: MessageFns<MsgSuspendProviderResponse> = {\n encode(_: MsgSuspendProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProviderResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendProviderResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\n return MsgSuspendProviderResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\n const message = createBaseMsgSuspendProviderResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitApplication(): MsgSubmitApplication {\n return {\n applicant_wallet: \"\",\n application_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n chain_id: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n issued_at: undefined,\n expires_at: undefined,\n signature: \"\",\n };\n}\n\nexport const MsgSubmitApplication: MessageFns<MsgSubmitApplication> = {\n encode(message: MsgSubmitApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.applicant_wallet !== \"\") {\n writer.uint32(10).string(message.applicant_wallet);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(26).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.provider_key_version);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.case_id !== \"\") {\n writer.uint32(50).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(58).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(66).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(74).string(message.uniqueness_reference);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(82).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(90).fork()).join();\n }\n if (message.signature !== \"\") {\n writer.uint32(98).string(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplication {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\n return MsgSubmitApplication.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\n const message = createBaseMsgSubmitApplication();\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.chain_id = object.chain_id ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitApplicationResponse(): MsgSubmitApplicationResponse {\n return {};\n}\n\nexport const MsgSubmitApplicationResponse: MessageFns<MsgSubmitApplicationResponse> = {\n encode(_: MsgSubmitApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitApplicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\n return MsgSubmitApplicationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\n const message = createBaseMsgSubmitApplicationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitRecoveryAttestation(): MsgSubmitRecoveryAttestation {\n return {\n applicant_wallet: \"\",\n recovery_case_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n chain_id: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n issued_at: undefined,\n expires_at: undefined,\n signature: \"\",\n };\n}\n\nexport const MsgSubmitRecoveryAttestation: MessageFns<MsgSubmitRecoveryAttestation> = {\n encode(message: MsgSubmitRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.applicant_wallet !== \"\") {\n writer.uint32(10).string(message.applicant_wallet);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(26).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.provider_key_version);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.case_id !== \"\") {\n writer.uint32(50).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(58).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(66).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(74).string(message.uniqueness_reference);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(80).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(90).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(98).string(message.new_wallet);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(106).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(114).fork()).join();\n }\n if (message.signature !== \"\") {\n writer.uint32(122).string(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitRecoveryAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 80) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 14: {\n if (tag !== 114) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 15: {\n if (tag !== 122) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\n return MsgSubmitRecoveryAttestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\n const message = createBaseMsgSubmitRecoveryAttestation();\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.chain_id = object.chain_id ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitRecoveryAttestationResponse(): MsgSubmitRecoveryAttestationResponse {\n return {};\n}\n\nexport const MsgSubmitRecoveryAttestationResponse: MessageFns<MsgSubmitRecoveryAttestationResponse> = {\n encode(_: MsgSubmitRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\n return MsgSubmitRecoveryAttestationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDecideApplication(): MsgDecideApplication {\n return { authority: \"\", application_id: \"\", approved: false, reason_code: \"\" };\n}\n\nexport const MsgDecideApplication: MessageFns<MsgDecideApplication> = {\n encode(message: MsgDecideApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.approved !== false) {\n writer.uint32(24).bool(message.approved);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(34).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplication {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.approved = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\n return MsgDecideApplication.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\n const message = createBaseMsgDecideApplication();\n message.authority = object.authority ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.approved = object.approved ?? false;\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDecideApplicationResponse(): MsgDecideApplicationResponse {\n return {};\n}\n\nexport const MsgDecideApplicationResponse: MessageFns<MsgDecideApplicationResponse> = {\n encode(_: MsgDecideApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideApplicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\n return MsgDecideApplicationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\n const message = createBaseMsgDecideApplicationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDecideRecoveryAttestation(): MsgDecideRecoveryAttestation {\n return { authority: \"\", recovery_case_id: \"\", approved: false, reason_code: \"\" };\n}\n\nexport const MsgDecideRecoveryAttestation: MessageFns<MsgDecideRecoveryAttestation> = {\n encode(message: MsgDecideRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.approved !== false) {\n writer.uint32(24).bool(message.approved);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(34).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideRecoveryAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.approved = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\n return MsgDecideRecoveryAttestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\n const message = createBaseMsgDecideRecoveryAttestation();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.approved = object.approved ?? false;\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDecideRecoveryAttestationResponse(): MsgDecideRecoveryAttestationResponse {\n return {};\n}\n\nexport const MsgDecideRecoveryAttestationResponse: MessageFns<MsgDecideRecoveryAttestationResponse> = {\n encode(_: MsgDecideRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideRecoveryAttestationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\n return MsgDecideRecoveryAttestationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\n const message = createBaseMsgDecideRecoveryAttestationResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.compliance.v1.Msg\",\n methods: {\n registerProvider: {\n name: \"RegisterProvider\",\n requestType: MsgRegisterProvider as typeof MsgRegisterProvider,\n requestStream: false,\n responseType: MsgRegisterProviderResponse as typeof MsgRegisterProviderResponse,\n responseStream: false,\n options: {},\n },\n suspendProvider: {\n name: \"SuspendProvider\",\n requestType: MsgSuspendProvider as typeof MsgSuspendProvider,\n requestStream: false,\n responseType: MsgSuspendProviderResponse as typeof MsgSuspendProviderResponse,\n responseStream: false,\n options: {},\n },\n submitApplication: {\n name: \"SubmitApplication\",\n requestType: MsgSubmitApplication as typeof MsgSubmitApplication,\n requestStream: false,\n responseType: MsgSubmitApplicationResponse as typeof MsgSubmitApplicationResponse,\n responseStream: false,\n options: {},\n },\n submitRecoveryAttestation: {\n name: \"SubmitRecoveryAttestation\",\n requestType: MsgSubmitRecoveryAttestation as typeof MsgSubmitRecoveryAttestation,\n requestStream: false,\n responseType: MsgSubmitRecoveryAttestationResponse as typeof MsgSubmitRecoveryAttestationResponse,\n responseStream: false,\n options: {},\n },\n decideApplication: {\n name: \"DecideApplication\",\n requestType: MsgDecideApplication as typeof MsgDecideApplication,\n requestStream: false,\n responseType: MsgDecideApplicationResponse as typeof MsgDecideApplicationResponse,\n responseStream: false,\n options: {},\n },\n decideRecoveryAttestation: {\n name: \"DecideRecoveryAttestation\",\n requestType: MsgDecideRecoveryAttestation as typeof MsgDecideRecoveryAttestation,\n requestStream: false,\n responseType: MsgDecideRecoveryAttestationResponse as typeof MsgDecideRecoveryAttestationResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/compliance/v1/compliance.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport enum ProviderStatus {\n PROVIDER_STATUS_UNSPECIFIED = 0,\n PROVIDER_STATUS_ACTIVE = 1,\n PROVIDER_STATUS_SUSPENDED = 2,\n PROVIDER_STATUS_REVOKED = 3,\n UNRECOGNIZED = -1,\n}\n\nexport enum AttestationType {\n ATTESTATION_TYPE_UNSPECIFIED = 0,\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = 1,\n ATTESTATION_TYPE_RECOVERY = 2,\n UNRECOGNIZED = -1,\n}\n\nexport enum ApplicationStatus {\n APPLICATION_STATUS_UNSPECIFIED = 0,\n APPLICATION_STATUS_SUBMITTED = 1,\n APPLICATION_STATUS_PENDING_REVIEW = 2,\n APPLICATION_STATUS_APPROVED = 3,\n APPLICATION_STATUS_REJECTED = 4,\n UNRECOGNIZED = -1,\n}\n\nexport enum RecoveryAttestationStatus {\n RECOVERY_ATTESTATION_STATUS_UNSPECIFIED = 0,\n RECOVERY_ATTESTATION_STATUS_SUBMITTED = 1,\n RECOVERY_ATTESTATION_STATUS_PENDING_REVIEW = 2,\n RECOVERY_ATTESTATION_STATUS_APPROVED = 3,\n RECOVERY_ATTESTATION_STATUS_REJECTED = 4,\n UNRECOGNIZED = -1,\n}\n\nexport interface ProviderRecord {\n provider_id: string;\n public_key: string;\n key_version: bigint;\n supported_assurance_levels: string[];\n supported_jurisdictions: string[];\n active_from?: Date | undefined;\n active_until?: Date | undefined;\n status: ProviderStatus;\n}\n\nexport interface Attestation {\n attestation_id: string;\n provider_id: string;\n provider_key_version: bigint;\n attestation_type: AttestationType;\n chain_id: string;\n intended_wallet: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n consumed: boolean;\n signature: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n}\n\nexport interface Application {\n application_id: string;\n applicant_wallet: string;\n status: ApplicationStatus;\n attestation_id: string;\n uniqueness_commitment: string;\n policy_version: string;\n decision_reason_code: string;\n submitted_at?: Date | undefined;\n decided_at?: Date | undefined;\n}\n\nexport interface RecoveryAttestationCase {\n recovery_case_id: string;\n applicant_wallet: string;\n status: RecoveryAttestationStatus;\n attestation_id: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n policy_version: string;\n decision_reason_code: string;\n submitted_at?: Date | undefined;\n decided_at?: Date | undefined;\n}\n\nfunction createBaseProviderRecord(): ProviderRecord {\n return {\n provider_id: \"\",\n public_key: \"\",\n key_version: 0n,\n supported_assurance_levels: [],\n supported_jurisdictions: [],\n active_from: undefined,\n active_until: undefined,\n status: 0,\n };\n}\n\nexport const ProviderRecord: MessageFns<ProviderRecord> = {\n encode(message: ProviderRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.provider_id !== \"\") {\n writer.uint32(10).string(message.provider_id);\n }\n if (message.public_key !== \"\") {\n writer.uint32(18).string(message.public_key);\n }\n if (message.key_version !== 0n) {\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.key_version);\n }\n for (const v of message.supported_assurance_levels) {\n writer.uint32(34).string(v!);\n }\n for (const v of message.supported_jurisdictions) {\n writer.uint32(42).string(v!);\n }\n if (message.active_from !== undefined) {\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(50).fork()).join();\n }\n if (message.active_until !== undefined) {\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(58).fork()).join();\n }\n if (message.status !== 0) {\n writer.uint32(64).int32(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ProviderRecord {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProviderRecord();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.public_key = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.key_version = reader.uint64() as bigint;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.supported_assurance_levels.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.supported_jurisdictions.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 64) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<ProviderRecord>): ProviderRecord {\n return ProviderRecord.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ProviderRecord>): ProviderRecord {\n const message = createBaseProviderRecord();\n message.provider_id = object.provider_id ?? \"\";\n message.public_key = object.public_key ?? \"\";\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\n ? BigInt(object.key_version)\n : 0n;\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\n message.active_from = object.active_from ?? undefined;\n message.active_until = object.active_until ?? undefined;\n message.status = object.status ?? 0;\n return message;\n },\n};\n\nfunction createBaseAttestation(): Attestation {\n return {\n attestation_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n attestation_type: 0,\n chain_id: \"\",\n intended_wallet: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n issued_at: undefined,\n expires_at: undefined,\n consumed: false,\n signature: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n };\n}\n\nexport const Attestation: MessageFns<Attestation> = {\n encode(message: Attestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.attestation_id !== \"\") {\n writer.uint32(10).string(message.attestation_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.provider_key_version);\n }\n if (message.attestation_type !== 0) {\n writer.uint32(32).int32(message.attestation_type);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.intended_wallet !== \"\") {\n writer.uint32(50).string(message.intended_wallet);\n }\n if (message.case_id !== \"\") {\n writer.uint32(58).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(66).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(74).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(82).string(message.uniqueness_reference);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(90).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(98).fork()).join();\n }\n if (message.consumed !== false) {\n writer.uint32(104).bool(message.consumed);\n }\n if (message.signature !== \"\") {\n writer.uint32(114).string(message.signature);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(120).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(130).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(138).string(message.new_wallet);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Attestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.attestation_type = reader.int32() as any;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.intended_wallet = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 13: {\n if (tag !== 104) {\n break;\n }\n\n message.consumed = reader.bool();\n continue;\n }\n case 14: {\n if (tag !== 114) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n case 15: {\n if (tag !== 120) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 16: {\n if (tag !== 130) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 17: {\n if (tag !== 138) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Attestation>): Attestation {\n return Attestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Attestation>): Attestation {\n const message = createBaseAttestation();\n message.attestation_id = object.attestation_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.attestation_type = object.attestation_type ?? 0;\n message.chain_id = object.chain_id ?? \"\";\n message.intended_wallet = object.intended_wallet ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.consumed = object.consumed ?? false;\n message.signature = object.signature ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n return message;\n },\n};\n\nfunction createBaseApplication(): Application {\n return {\n application_id: \"\",\n applicant_wallet: \"\",\n status: 0,\n attestation_id: \"\",\n uniqueness_commitment: \"\",\n policy_version: \"\",\n decision_reason_code: \"\",\n submitted_at: undefined,\n decided_at: undefined,\n };\n}\n\nexport const Application: MessageFns<Application> = {\n encode(message: Application, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.application_id !== \"\") {\n writer.uint32(10).string(message.application_id);\n }\n if (message.applicant_wallet !== \"\") {\n writer.uint32(18).string(message.applicant_wallet);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n if (message.attestation_id !== \"\") {\n writer.uint32(34).string(message.attestation_id);\n }\n if (message.uniqueness_commitment !== \"\") {\n writer.uint32(42).string(message.uniqueness_commitment);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(50).string(message.policy_version);\n }\n if (message.decision_reason_code !== \"\") {\n writer.uint32(58).string(message.decision_reason_code);\n }\n if (message.submitted_at !== undefined) {\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(66).fork()).join();\n }\n if (message.decided_at !== undefined) {\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(74).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Application {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.uniqueness_commitment = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.decision_reason_code = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Application>): Application {\n return Application.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Application>): Application {\n const message = createBaseApplication();\n message.application_id = object.application_id ?? \"\";\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.status = object.status ?? 0;\n message.attestation_id = object.attestation_id ?? \"\";\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.decision_reason_code = object.decision_reason_code ?? \"\";\n message.submitted_at = object.submitted_at ?? undefined;\n message.decided_at = object.decided_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRecoveryAttestationCase(): RecoveryAttestationCase {\n return {\n recovery_case_id: \"\",\n applicant_wallet: \"\",\n status: 0,\n attestation_id: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n policy_version: \"\",\n decision_reason_code: \"\",\n submitted_at: undefined,\n decided_at: undefined,\n };\n}\n\nexport const RecoveryAttestationCase: MessageFns<RecoveryAttestationCase> = {\n encode(message: RecoveryAttestationCase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.recovery_case_id !== \"\") {\n writer.uint32(10).string(message.recovery_case_id);\n }\n if (message.applicant_wallet !== \"\") {\n writer.uint32(18).string(message.applicant_wallet);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n if (message.attestation_id !== \"\") {\n writer.uint32(34).string(message.attestation_id);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(40).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(50).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(58).string(message.new_wallet);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(66).string(message.policy_version);\n }\n if (message.decision_reason_code !== \"\") {\n writer.uint32(74).string(message.decision_reason_code);\n }\n if (message.submitted_at !== undefined) {\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(82).fork()).join();\n }\n if (message.decided_at !== undefined) {\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(90).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RecoveryAttestationCase {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecoveryAttestationCase();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.decision_reason_code = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\n return RecoveryAttestationCase.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\n const message = createBaseRecoveryAttestationCase();\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.status = object.status ?? 0;\n message.attestation_id = object.attestation_id ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.decision_reason_code = object.decision_reason_code ?? \"\";\n message.submitted_at = object.submitted_at ?? undefined;\n message.decided_at = object.decided_at ?? undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","import { GeneratedType, Registry } from \"@cosmjs/proto-signing\";\nimport { defaultRegistryTypes } from \"@cosmjs/stargate\";\nimport { BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\nimport {\n MsgApproveRecovery,\n MsgCancelRecovery,\n MsgFinalizeRecovery,\n MsgInitiateRecovery,\n MsgIssueKCP,\n MsgReactivateKCP,\n MsgRevokeKCP,\n MsgSuspendKCP,\n} from \"./generated/isatheword/kingdomchain/citizen/v1/tx\";\nimport { MsgClaimReward } from \"./generated/isatheword/kingdomchain/citizenrewards/v1/tx\";\nimport {\n MsgDecideApplication,\n MsgDecideRecoveryAttestation,\n MsgRegisterProvider,\n MsgSubmitApplication,\n MsgSubmitRecoveryAttestation,\n MsgSuspendProvider,\n} from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: Uint8Array): T;\n fromPartial(object: Partial<T>): T;\n}\n\n/** Adapt ts-proto @bufbuild MessageFns to CosmJS Registry (encode().finish()). */\nfunction wrapMsgFns<T>(msgFns: MessageFns<T>): GeneratedType {\n return {\n encode: (message: T) => msgFns.encode(message) as any,\n decode: (input: Uint8Array) => msgFns.decode(input),\n fromPartial: (object: Partial<T>) => msgFns.fromPartial(object),\n };\n}\n\nconst COMPLIANCE_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.compliance.v1.MsgRegisterProvider\", wrapMsgFns(MsgRegisterProvider)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSuspendProvider\", wrapMsgFns(MsgSuspendProvider)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\", wrapMsgFns(MsgSubmitApplication)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitRecoveryAttestation\", wrapMsgFns(MsgSubmitRecoveryAttestation)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideApplication\", wrapMsgFns(MsgDecideApplication)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideRecoveryAttestation\", wrapMsgFns(MsgDecideRecoveryAttestation)],\n];\n\nconst CITIZEN_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.citizen.v1.MsgIssueKCP\", wrapMsgFns(MsgIssueKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgSuspendKCP\", wrapMsgFns(MsgSuspendKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgReactivateKCP\", wrapMsgFns(MsgReactivateKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgRevokeKCP\", wrapMsgFns(MsgRevokeKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgInitiateRecovery\", wrapMsgFns(MsgInitiateRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgApproveRecovery\", wrapMsgFns(MsgApproveRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgFinalizeRecovery\", wrapMsgFns(MsgFinalizeRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgCancelRecovery\", wrapMsgFns(MsgCancelRecovery)],\n];\n\nconst CITIZEN_REWARDS_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.citizenrewards.v1.MsgClaimReward\", wrapMsgFns(MsgClaimReward)],\n];\n\n/** CosmJS registry: standard Cosmos SDK types + Kingdom Chain citizen/compliance/rewards messages. */\nexport function createKingdomChainRegistry(): Registry {\n return new Registry([\n ...defaultRegistryTypes,\n ...COMPLIANCE_MSG_TYPES,\n ...CITIZEN_MSG_TYPES,\n ...CITIZEN_REWARDS_MSG_TYPES,\n ]);\n}\n\nexport { MsgSubmitApplication, MsgSubmitRecoveryAttestation } from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\nexport { ApplicationStatus, RecoveryAttestationStatus } from \"./generated/isatheword/kingdomchain/compliance/v1/compliance\";\n","/**\n * Kingdom Chain on-chain denom and display metadata.\n *\n * Sources:\n * - x/supply/types/constants.go (UkdrDenom = \"ukdr\")\n * - TOKENOMICS_COSMOS_SPEC.md (1 KDR = 1,000,000 ukdr)\n * - app/app.go + app/config.go (bech32 prefix, coin type)\n */\n\n/** Base (minimal) denom registered in x/supply. */\nexport const UKDR_MINIMAL_DENOM = \"ukdr\";\n\n/** Human-readable display symbol. */\nexport const UKDR_DISPLAY_DENOM = \"KDR\";\n\n/** ukdr is a micro-unit: 10^6 ukdr = 1 KDR. */\nexport const UKDR_DECIMALS = 6;\n\n/** Account / validator bech32 prefix (AccountAddressPrefix in app/app.go). */\nexport const BECH32_PREFIX = \"king\";\n\n/** SLIP-0044 coin type (ChainCoinType in app/app.go). */\nexport const CHAIN_COIN_TYPE = 118;\n\n/** Devnet default chain ID (override via env when a permanent node exists). */\nexport const DEFAULT_CHAIN_ID = \"kingdomchain-e2e\";\n\nexport const DEFAULT_RPC_URL = \"http://127.0.0.1:26657\";\nexport const DEFAULT_REST_URL = \"http://127.0.0.1:1317\";\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\nimport { SigningStargateClient } from \"@cosmjs/stargate\";\n\nimport {\n BECH32_PREFIX,\n CHAIN_COIN_TYPE,\n UKDR_DECIMALS,\n UKDR_DISPLAY_DENOM,\n UKDR_MINIMAL_DENOM,\n} from \"./chainConstants\";\nimport { createKingdomChainRegistry } from \"./registry\";\n\n/** Keplr/Leap-compatible currency entry. */\nexport interface ChainCurrency {\n coinDenom: string;\n coinMinimalDenom: string;\n coinDecimals: number;\n gasPriceStep?: { low: number; average: number; high: number };\n}\n\n/** Keplr/Leap-compatible ChainInfo for experimentalSuggestChain. */\nexport interface ChainInfo {\n chainId: string;\n chainName: string;\n rpc: string;\n rest: string;\n bip44: { coinType: number };\n bech32Config: {\n bech32PrefixAccAddr: string;\n bech32PrefixAccPub: string;\n bech32PrefixValAddr: string;\n bech32PrefixValPub: string;\n bech32PrefixConsAddr: string;\n bech32PrefixConsPub: string;\n };\n currencies: ChainCurrency[];\n feeCurrencies: ChainCurrency[];\n stakeCurrency: ChainCurrency;\n}\n\n/** Subset of Keplr/Leap window API used for chain connect. */\nexport interface BrowserWalletApi {\n experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>;\n enable(chainId: string): Promise<void>;\n getOfflineSigner(chainId: string): OfflineDirectSigner;\n}\n\nexport class WalletNotInstalledError extends Error {\n constructor(public readonly walletName: string) {\n super(`${walletName} extension is not installed. Install it and refresh the page.`);\n this.name = \"WalletNotInstalledError\";\n }\n}\n\nexport class WalletConnectionError extends Error {\n constructor(\n public readonly walletName: string,\n public readonly step: \"suggestChain\" | \"enable\" | \"getOfflineSigner\",\n cause?: unknown,\n ) {\n const stepLabel =\n step === \"suggestChain\"\n ? \"chain suggestion\"\n : step === \"enable\"\n ? \"connection request\"\n : \"offline signer retrieval\";\n super(`${walletName} failed during ${stepLabel}.`, { cause });\n this.name = \"WalletConnectionError\";\n }\n}\n\n/** @deprecated Use WalletConnectionError — kept for backward compatibility in tests/demo. */\nexport class WalletConnectionRejectedError extends WalletConnectionError {\n constructor(walletName: string, step: \"suggestChain\" | \"enable\", cause?: unknown) {\n super(walletName, step, cause);\n this.name = \"WalletConnectionRejectedError\";\n }\n}\n\nexport class WalletAccountError extends Error {\n constructor(public readonly walletName: string) {\n super(`${walletName} returned no usable accounts. Reconnect the wallet and try again.`);\n this.name = \"WalletAccountError\";\n }\n}\n\nexport class InvalidChainConfigError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"InvalidChainConfigError\";\n }\n}\n\nexport class RpcConnectionError extends Error {\n constructor(\n public readonly rpcUrl: string,\n cause?: unknown,\n ) {\n super(`Failed to connect to RPC endpoint ${rpcUrl}. Is the node running and reachable?`, { cause });\n this.name = \"RpcConnectionError\";\n }\n}\n\n/** Cosmostation exposes a Keplr-compatible provider at providers.keplr. */\nexport interface CosmostationWindowApi {\n providers?: {\n keplr?: BrowserWalletApi;\n };\n}\n\ndeclare global {\n interface Window {\n keplr?: BrowserWalletApi;\n leap?: BrowserWalletApi;\n cosmostation?: CosmostationWindowApi;\n }\n}\n\nconst UKDR_CURRENCY: ChainCurrency = {\n coinDenom: UKDR_DISPLAY_DENOM,\n coinMinimalDenom: UKDR_MINIMAL_DENOM,\n coinDecimals: UKDR_DECIMALS,\n};\n\n/** E2E devnet uses minimum-gas-prices = \"0ukdr\" (scripts/citizen-compliance-e2e/run.sh). */\nconst UKDR_FEE_CURRENCY: ChainCurrency = {\n ...UKDR_CURRENCY,\n gasPriceStep: { low: 0, average: 0, high: 0.025 },\n};\n\nfunction isWalletApiPresent(api: unknown): api is BrowserWalletApi {\n if (api == null || typeof api !== \"object\") {\n return false;\n }\n const candidate = api as BrowserWalletApi;\n return (\n typeof candidate.experimentalSuggestChain === \"function\" &&\n typeof candidate.enable === \"function\" &&\n typeof candidate.getOfflineSigner === \"function\"\n );\n}\n\n/** Validate chain endpoint inputs before passing to Keplr/Leap. */\nexport function validateChainConfig(chainId: string, rpcUrl: string, restUrl: string): void {\n if (!chainId.trim()) {\n throw new InvalidChainConfigError(\"chainId is required\");\n }\n if (!rpcUrl.trim()) {\n throw new InvalidChainConfigError(\"rpcUrl is required\");\n }\n if (!restUrl.trim()) {\n throw new InvalidChainConfigError(\"restUrl is required\");\n }\n}\n\nexport function isKeplrAvailable(): boolean {\n return typeof window !== \"undefined\" && isWalletApiPresent(window.keplr);\n}\n\nexport function isLeapAvailable(): boolean {\n return typeof window !== \"undefined\" && isWalletApiPresent(window.leap);\n}\n\n/** Keplr-compatible API injected by the Cosmostation extension. */\nexport function getCosmostationKeplrApi(): BrowserWalletApi | undefined {\n if (typeof window === \"undefined\") {\n return undefined;\n }\n const api = window.cosmostation?.providers?.keplr;\n return isWalletApiPresent(api) ? api : undefined;\n}\n\nexport function isCosmostationAvailable(): boolean {\n return getCosmostationKeplrApi() != null;\n}\n\n/** Build ChainInfo for Keplr/Leap experimentalSuggestChain. */\nexport function buildKingdomChainInfo(\n chainId: string,\n rpcUrl: string,\n restUrl: string,\n chainName = \"Kingdom Chain\",\n): ChainInfo {\n validateChainConfig(chainId, rpcUrl, restUrl);\n\n const accPub = `${BECH32_PREFIX}pub`;\n const valAddr = `${BECH32_PREFIX}valoper`;\n const valPub = `${BECH32_PREFIX}valoperpub`;\n const consAddr = `${BECH32_PREFIX}valcons`;\n const consPub = `${BECH32_PREFIX}valconspub`;\n\n return {\n chainId,\n chainName,\n rpc: rpcUrl,\n rest: restUrl,\n bip44: { coinType: CHAIN_COIN_TYPE },\n bech32Config: {\n bech32PrefixAccAddr: BECH32_PREFIX,\n bech32PrefixAccPub: accPub,\n bech32PrefixValAddr: valAddr,\n bech32PrefixValPub: valPub,\n bech32PrefixConsAddr: consAddr,\n bech32PrefixConsPub: consPub,\n },\n currencies: [UKDR_CURRENCY],\n feeCurrencies: [UKDR_FEE_CURRENCY],\n stakeCurrency: UKDR_CURRENCY,\n };\n}\n\nasync function assertSignerHasAccount(signer: OfflineDirectSigner, walletName: string): Promise<void> {\n let accounts;\n try {\n accounts = await signer.getAccounts();\n } catch (err) {\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\n }\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\n throw new WalletAccountError(walletName);\n }\n}\n\n/** Suggest chain, request access, return CosmJS OfflineDirectSigner. */\nexport async function suggestAndConnect(\n walletApi: BrowserWalletApi,\n chainInfo: ChainInfo,\n walletName = \"Wallet\",\n): Promise<OfflineDirectSigner> {\n try {\n await walletApi.experimentalSuggestChain(chainInfo);\n } catch (err) {\n throw new WalletConnectionRejectedError(walletName, \"suggestChain\", err);\n }\n\n try {\n await walletApi.enable(chainInfo.chainId);\n } catch (err) {\n throw new WalletConnectionRejectedError(walletName, \"enable\", err);\n }\n\n let signer: OfflineDirectSigner;\n try {\n signer = walletApi.getOfflineSigner(chainInfo.chainId);\n } catch (err) {\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\n }\n\n await assertSignerHasAccount(signer, walletName);\n return signer;\n}\n\nfunction resolveWalletApi(\n getter: () => BrowserWalletApi | undefined,\n walletName: string,\n): BrowserWalletApi {\n if (!isWalletApiPresent(getter())) {\n throw new WalletNotInstalledError(walletName);\n }\n const api = getter();\n if (!isWalletApiPresent(api)) {\n throw new WalletNotInstalledError(walletName);\n }\n return api;\n}\n\nexport async function connectKeplr(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(() => window.keplr, \"Keplr\");\n return suggestAndConnect(api, chainInfo, \"Keplr\");\n}\n\nexport async function connectLeap(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(() => window.leap, \"Leap\");\n return suggestAndConnect(api, chainInfo, \"Leap\");\n}\n\nexport async function connectCosmostation(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(getCosmostationKeplrApi, \"Cosmostation\");\n return suggestAndConnect(api, chainInfo, \"Cosmostation\");\n}\n\n/** SigningStargateClient wired with Kingdom Chain custom message registry. */\nexport async function createBrowserSigningClient(\n rpcUrl: string,\n signer: OfflineDirectSigner,\n): Promise<SigningStargateClient> {\n if (!rpcUrl.trim()) {\n throw new InvalidChainConfigError(\"rpcUrl is required\");\n }\n try {\n return await SigningStargateClient.connectWithSigner(rpcUrl, signer, {\n registry: createKingdomChainRegistry(),\n });\n } catch (err) {\n throw new RpcConnectionError(rpcUrl, err);\n }\n}\n","import SignClient from \"@walletconnect/sign-client\";\nimport type { ProposalTypes, SessionTypes } from \"@walletconnect/types\";\nimport type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\nimport type { AccountData, DirectSignResponse } from \"@cosmjs/proto-signing\";\nimport type { SignDoc } from \"cosmjs-types/cosmos/tx/v1beta1/tx\";\nimport { fromBase64, toBase64 } from \"@cosmjs/encoding\";\n\nexport const WALLETCONNECT_COSMOS_NAMESPACE = \"cosmos\";\n\nexport const WALLETCONNECT_COSMOS_METHODS = [\n \"cosmos_getAccounts\",\n \"cosmos_signDirect\",\n \"cosmos_signAmino\",\n] as const;\n\nexport interface WalletConnectMetadata {\n name: string;\n description: string;\n url: string;\n icons: string[];\n}\n\nexport interface WalletConnectChainConfig {\n chainId: string;\n projectId: string;\n metadata: WalletConnectMetadata;\n relayUrl?: string;\n}\n\nexport interface WalletConnectConnectResult {\n uri: string;\n session: SessionTypes.Struct;\n signer: OfflineDirectSigner;\n}\n\nexport class WalletConnectNotInitializedError extends Error {\n constructor() {\n super(\"WalletConnect Sign Client is not initialized.\");\n this.name = \"WalletConnectNotInitializedError\";\n }\n}\n\nexport class WalletConnectSessionError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"WalletConnectSessionError\";\n }\n}\n\nexport class WalletConnectSigningError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"WalletConnectSigningError\";\n }\n}\n\n/** WalletConnect chain id: `cosmos:{chainId}`. */\nexport function toWalletConnectCosmosChainId(chainId: string): string {\n return `${WALLETCONNECT_COSMOS_NAMESPACE}:${chainId}`;\n}\n\nexport function parseWalletConnectAccount(\n account: string,\n): { namespace: string; chainId: string; address: string } {\n const parts = account.split(\":\");\n if (parts.length !== 3) {\n throw new WalletConnectSessionError(`Invalid WalletConnect account id: ${account}`);\n }\n const [namespace, chainId, address] = parts;\n return { namespace, chainId, address };\n}\n\nexport function buildRequiredCosmosNamespaces(chainId: string): ProposalTypes.RequiredNamespaces {\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n return {\n [WALLETCONNECT_COSMOS_NAMESPACE]: {\n methods: [...WALLETCONNECT_COSMOS_METHODS],\n chains: [wcChainId],\n events: [],\n },\n };\n}\n\nexport async function initWalletConnectClient(\n config: WalletConnectChainConfig,\n): Promise<SignClient> {\n if (!config.projectId.trim()) {\n throw new WalletConnectSessionError(\"WalletConnect projectId is required\");\n }\n if (!config.chainId.trim()) {\n throw new WalletConnectSessionError(\"chainId is required\");\n }\n\n return SignClient.init({\n projectId: config.projectId,\n metadata: config.metadata,\n relayUrl: config.relayUrl,\n });\n}\n\nexport function createWalletConnectOfflineSigner(\n client: SignClient,\n session: SessionTypes.Struct,\n chainId: string,\n): OfflineDirectSigner {\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n const accounts = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.accounts ?? [];\n const chainAccounts = accounts\n .map(parseWalletConnectAccount)\n .filter((entry) => entry.chainId === chainId);\n\n if (chainAccounts.length === 0) {\n throw new WalletConnectSessionError(\n `WalletConnect session has no accounts for chain ${chainId}`,\n );\n }\n\n const primaryAddress = chainAccounts[0].address;\n\n return {\n getAccounts: async (): Promise<AccountData[]> => {\n try {\n const response = (await client.request({\n topic: session.topic,\n chainId: wcChainId,\n request: {\n method: \"cosmos_getAccounts\",\n params: {},\n },\n })) as { address: string; algo: string; pubkey: string }[];\n\n if (Array.isArray(response) && response.length > 0) {\n return response.map((account) => ({\n address: account.address,\n algo: account.algo as AccountData[\"algo\"],\n pubkey: fromBase64(account.pubkey),\n }));\n }\n } catch {\n // Some wallets omit cosmos_getAccounts; fall back to session account list.\n }\n\n return chainAccounts.map((account) => ({\n address: account.address,\n algo: \"secp256k1\",\n pubkey: new Uint8Array(0),\n }));\n },\n\n signDirect: async (signerAddress: string, signDoc: SignDoc): Promise<DirectSignResponse> => {\n if (signerAddress !== primaryAddress) {\n throw new WalletConnectSigningError(\n `WalletConnect signer address mismatch: expected ${primaryAddress}, got ${signerAddress}`,\n );\n }\n\n try {\n const result = (await client.request({\n topic: session.topic,\n chainId: wcChainId,\n request: {\n method: \"cosmos_signDirect\",\n params: {\n signerAddress,\n signDoc: {\n chainId: signDoc.chainId,\n accountNumber: signDoc.accountNumber.toString(),\n authInfoBytes: toBase64(signDoc.authInfoBytes),\n bodyBytes: toBase64(signDoc.bodyBytes),\n },\n },\n },\n })) as {\n signature: { pub_key: { type: string; value: string }; signature: string };\n signed?: {\n chainId: string;\n accountNumber: string;\n authInfoBytes: string;\n bodyBytes: string;\n };\n };\n\n return {\n signed: {\n chainId: result.signed?.chainId ?? signDoc.chainId,\n accountNumber: BigInt(result.signed?.accountNumber ?? signDoc.accountNumber),\n authInfoBytes: result.signed?.authInfoBytes\n ? fromBase64(result.signed.authInfoBytes)\n : signDoc.authInfoBytes,\n bodyBytes: result.signed?.bodyBytes\n ? fromBase64(result.signed.bodyBytes)\n : signDoc.bodyBytes,\n },\n signature: {\n pub_key: {\n type: result.signature.pub_key.type,\n value: result.signature.pub_key.value,\n },\n signature: result.signature.signature,\n },\n };\n } catch (err) {\n throw new WalletConnectSigningError(\"WalletConnect cosmos_signDirect failed.\", err);\n }\n },\n };\n}\n\n/** Pair with a mobile wallet; returns WC URI (for QR) and approval promise. */\nexport async function connectWalletConnect(\n client: SignClient,\n chainId: string,\n options?: { pairingTopic?: string },\n): Promise<WalletConnectConnectResult> {\n const { uri, approval } = await client.connect({\n pairingTopic: options?.pairingTopic,\n requiredNamespaces: buildRequiredCosmosNamespaces(chainId),\n });\n\n if (!uri) {\n throw new WalletConnectSessionError(\"WalletConnect did not return a pairing URI\");\n }\n\n const session = await approval();\n const signer = createWalletConnectOfflineSigner(client, session, chainId);\n const accounts = await signer.getAccounts();\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\n throw new WalletConnectSessionError(\"WalletConnect session returned no usable accounts\");\n }\n\n return { uri, session, signer };\n}\n\nexport async function disconnectWalletConnect(\n client: SignClient,\n session: SessionTypes.Struct,\n reason = \"User disconnected\",\n): Promise<void> {\n await client.disconnect({\n topic: session.topic,\n reason: { code: 6000, message: reason },\n });\n}\n\nexport async function restoreWalletConnectSession(\n client: SignClient,\n chainId: string,\n): Promise<{ session: SessionTypes.Struct; signer: OfflineDirectSigner } | null> {\n const sessions = client.session.getAll();\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n const active = sessions.find((session) => {\n const chains = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.chains ?? [];\n return chains.includes(wcChainId);\n });\n\n if (!active) {\n return null;\n }\n\n const signer = createWalletConnectOfflineSigner(client, active, chainId);\n return { session: active, signer };\n}\n","/** Embedded wallet vault format version. */\nexport const EMBEDDED_WALLET_VAULT_VERSION = 1;\n\nexport const EMBEDDED_WALLET_KDF_PRF = \"webauthn-prf\" as const;\nexport const EMBEDDED_WALLET_KDF_PBKDF2 = \"pbkdf2-passkey\" as const;\nexport const EMBEDDED_WALLET_KDF_PIN = \"pbkdf2-pin\" as const;\n\nexport type EmbeddedWalletKdf =\n | typeof EMBEDDED_WALLET_KDF_PRF\n | typeof EMBEDDED_WALLET_KDF_PBKDF2\n | typeof EMBEDDED_WALLET_KDF_PIN;\n\n/** How the wallet key relates to its recovery phrase. */\nexport const EMBEDDED_WALLET_KEY_HD_DERIVED = \"hd-derived\" as const;\nexport const EMBEDDED_WALLET_KEY_DIRECT_ENTROPY = \"direct-entropy\" as const;\n\nexport type EmbeddedWalletKeyType =\n | typeof EMBEDDED_WALLET_KEY_HD_DERIVED\n | typeof EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n\n/** Plaintext wallet payload — never persisted unencrypted. */\nexport interface EmbeddedWalletPlaintext {\n privateKey: Uint8Array;\n hdPath: string;\n createdAt: string;\n /** Omitted in pre-phase-3 vaults; treated as direct-entropy when absent. */\n keyType?: EmbeddedWalletKeyType;\n /** Stored for hd-derived wallets so the phrase can be revealed later. */\n mnemonic?: string;\n}\n\n/** Warnings shown before revealing a recovery phrase. */\nexport interface EmbeddedWalletRecoveryPhraseWarning {\n id: \"general\" | \"direct-entropy-portability\";\n title: string;\n body: string;\n}\n\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING: EmbeddedWalletRecoveryPhraseWarning =\n {\n id: \"general\",\n title: \"Protect your recovery phrase\",\n body:\n \"Anyone with these words can access your funds. Never share them, never enter them on any other website, and Kingdom OS will never ask you for them.\",\n };\n\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING: EmbeddedWalletRecoveryPhraseWarning =\n {\n id: \"direct-entropy-portability\",\n title: \"Kingdom OS recovery phrase only\",\n body:\n \"This phrase restores this wallet in Kingdom OS only. It will not import into Keplr, Exodus, or other standard Cosmos wallets.\",\n };\n\nexport interface EmbeddedWalletRecoveryPhraseReveal {\n mnemonic: string;\n keyType: EmbeddedWalletKeyType;\n address: string;\n warnings: EmbeddedWalletRecoveryPhraseWarning[];\n}\n\n/** Encrypted vault stored in IndexedDB and exported backup files. */\nexport interface EmbeddedWalletVaultV1 {\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\n kdf: EmbeddedWalletKdf;\n credentialId: string;\n publicAddress: string;\n iv: string;\n ciphertext: string;\n /** PBKDF2 salt (base64). Empty when kdf=webauthn-prf. */\n kdfSalt: string;\n /** PBKDF2 iterations. Zero when kdf=webauthn-prf. */\n kdfIterations: number;\n /** PRF eval salt (base64). Empty when kdf=pbkdf2-passkey. */\n prfSalt: string;\n /** Hard gate: must be true before any transaction is permitted. */\n backupAcknowledged: boolean;\n backupAcknowledgedAt?: string;\n createdAt: string;\n}\n\nexport interface EmbeddedWalletBackupFileV1 {\n format: \"kingdom-os-embedded-wallet-backup\";\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\n vault: EmbeddedWalletVaultV1;\n exportedAt: string;\n}\n\nexport class EmbeddedWalletBackupRequiredError extends Error {\n constructor() {\n super(\n \"Encrypted backup must be downloaded and acknowledged before the first transaction.\",\n );\n this.name = \"EmbeddedWalletBackupRequiredError\";\n }\n}\n\nexport class EmbeddedWalletVaultError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"EmbeddedWalletVaultError\";\n }\n}\n\n/** Thrown when AES-GCM decryption fails (wrong KEK or tampered ciphertext). */\nexport class EmbeddedWalletDecryptError extends EmbeddedWalletVaultError {\n readonly code = \"decrypt_failed\" as const;\n\n constructor(cause?: unknown) {\n super(\"Failed to decrypt wallet vault (wrong key or corrupted data)\", cause);\n this.name = \"EmbeddedWalletDecryptError\";\n }\n}\n\nexport type PasscodeStrengthLabel = \"weak\" | \"fair\" | \"good\" | \"strong\";\n\nexport type PasscodeBlockReason = \"denylist\" | \"too_weak\" | \"numeric_short\";\n\n/** Thrown when too many failed passcode unlock attempts trigger a timed lockout. */\nexport class EmbeddedWalletLockoutError extends Error {\n readonly retryAfterMs: number;\n\n constructor(retryAfterMs: number) {\n super(`Passcode unlock temporarily locked; retry in ${Math.ceil(retryAfterMs / 1000)} seconds`);\n this.name = \"EmbeddedWalletLockoutError\";\n this.retryAfterMs = retryAfterMs;\n }\n}\n\n/** Thrown when a passcode is too weak or on the common-password denylist. */\nexport class EmbeddedWalletWeakPasscodeError extends Error {\n readonly reason: PasscodeBlockReason;\n\n constructor(reason: PasscodeBlockReason) {\n const messages: Record<PasscodeBlockReason, string> = {\n denylist: \"Passcode is too common; choose something less predictable\",\n too_weak: \"Passcode is too weak; use a longer or more varied passcode\",\n numeric_short: \"Numeric-only passcodes must be at least 12 digits\",\n };\n super(messages[reason]);\n this.name = \"EmbeddedWalletWeakPasscodeError\";\n this.reason = reason;\n }\n}\n","import { DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\n\nimport { BECH32_PREFIX } from \"../chainConstants\";\nimport type { EmbeddedWalletPlaintext } from \"./types\";\nimport { EmbeddedWalletVaultError } from \"./types\";\n\nconst DEFAULT_HD_PATH = \"m/44'/118'/0'/0/0\";\n\n/** Build a CosmJS offline signer from decrypted vault plaintext. */\nexport async function embeddedPlaintextToSigner(\n plaintext: EmbeddedWalletPlaintext,\n prefix = BECH32_PREFIX,\n): Promise<DirectSecp256k1Wallet> {\n if (plaintext.privateKey.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Invalid secp256k1 private key length: ${plaintext.privateKey.length}`,\n );\n }\n return DirectSecp256k1Wallet.fromKey(plaintext.privateKey, prefix);\n}\n\nexport function defaultEmbeddedHdPath(): string {\n return DEFAULT_HD_PATH;\n}\n","import { Bip39, EnglishMnemonic, Slip10, Slip10Curve, stringToPath } from \"@cosmjs/crypto\";\nimport { DirectSecp256k1HdWallet, DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\nimport { entropyToMnemonic, mnemonicToEntropy, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist as englishWordlist } from \"@scure/bip39/wordlists/english\";\n\nimport { BECH32_PREFIX } from \"../chainConstants\";\nimport { defaultEmbeddedHdPath } from \"./signer\";\nimport {\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_KEY_HD_DERIVED,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n EmbeddedWalletVaultError,\n} from \"./types\";\n\nconst MNEMONIC_WORD_COUNT = 24;\n\n/** Normalize user input: trim, lowercase, collapse whitespace. */\nexport function normalizeRecoveryMnemonic(mnemonic: string): string {\n return mnemonic.trim().toLowerCase().replace(/\\s+/g, \" \");\n}\n\nexport function assertValidRecoveryMnemonic(mnemonic: string): void {\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n if (!validateMnemonic(normalized, englishWordlist)) {\n throw new EmbeddedWalletVaultError(\"Recovery phrase is not a valid BIP-39 mnemonic\");\n }\n const words = normalized.split(\" \");\n if (words.length !== MNEMONIC_WORD_COUNT) {\n throw new EmbeddedWalletVaultError(\n `Recovery phrase must be ${MNEMONIC_WORD_COUNT} words, got ${words.length}`,\n );\n }\n}\n\nexport function resolvePlaintextKeyType(plaintext: EmbeddedWalletPlaintext): EmbeddedWalletKeyType {\n return plaintext.keyType ?? EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n}\n\n/** Encode a legacy raw 32-byte key as a 24-word BIP-39 mnemonic (entropy encoding, no HD). */\nexport function encodeDirectEntropyMnemonic(privateKey: Uint8Array): string {\n if (privateKey.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Direct-entropy mnemonic requires a 32-byte key, got ${privateKey.length}`,\n );\n }\n return entropyToMnemonic(privateKey, englishWordlist);\n}\n\n/** Decode a direct-entropy mnemonic back to the original 32-byte key. */\nexport function decodeDirectEntropyMnemonic(mnemonic: string): Uint8Array {\n assertValidRecoveryMnemonic(mnemonic);\n const entropy = mnemonicToEntropy(normalizeRecoveryMnemonic(mnemonic), englishWordlist);\n if (entropy.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Direct-entropy mnemonic must decode to 32 bytes, got ${entropy.length}`,\n );\n }\n return entropy;\n}\n\nexport async function derivePrivateKeyFromHdMnemonic(\n mnemonic: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<Uint8Array> {\n assertValidRecoveryMnemonic(mnemonic);\n const seed = await Bip39.mnemonicToSeed(new EnglishMnemonic(normalizeRecoveryMnemonic(mnemonic)));\n const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, stringToPath(hdPath));\n return privkey;\n}\n\nexport async function addressFromPrivateKey(\n privateKey: Uint8Array,\n prefix = BECH32_PREFIX,\n): Promise<string> {\n const wallet = await DirectSecp256k1Wallet.fromKey(privateKey, prefix);\n const [account] = await wallet.getAccounts();\n return account.address;\n}\n\nexport async function addressFromHdMnemonic(\n mnemonic: string,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<string> {\n const wallet = await DirectSecp256k1HdWallet.fromMnemonic(normalizeRecoveryMnemonic(mnemonic), {\n prefix,\n hdPaths: [stringToPath(hdPath)],\n });\n const [account] = await wallet.getAccounts();\n return account.address;\n}\n\nexport async function createHdDerivedPlaintext(\n createdAt: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<EmbeddedWalletPlaintext> {\n const hdWallet = await DirectSecp256k1HdWallet.generate(MNEMONIC_WORD_COUNT, {\n prefix: BECH32_PREFIX,\n hdPaths: [stringToPath(hdPath)],\n });\n const mnemonic = hdWallet.mnemonic;\n const privateKey = await derivePrivateKeyFromHdMnemonic(mnemonic, hdPath);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\n mnemonic,\n };\n}\n\nexport async function plaintextFromRecoveryMnemonic(\n mnemonic: string,\n keyType: EmbeddedWalletKeyType,\n createdAt: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<EmbeddedWalletPlaintext> {\n assertValidRecoveryMnemonic(mnemonic);\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n const privateKey = await derivePrivateKeyFromHdMnemonic(normalized, hdPath);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\n mnemonic: normalized,\n };\n }\n\n const privateKey = decodeDirectEntropyMnemonic(normalized);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n };\n}\n\n/** Infer key type by matching an expected on-chain address, or default to hd-derived. */\nexport async function detectRecoveryMnemonicKeyType(\n mnemonic: string,\n expectedAddress: string,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<EmbeddedWalletKeyType> {\n assertValidRecoveryMnemonic(mnemonic);\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n\n const hdAddress = await addressFromHdMnemonic(normalized, hdPath, prefix);\n if (hdAddress === expectedAddress) {\n return EMBEDDED_WALLET_KEY_HD_DERIVED;\n }\n\n const directKey = decodeDirectEntropyMnemonic(normalized);\n const directAddress = await addressFromPrivateKey(directKey, prefix);\n if (directAddress === expectedAddress) {\n return EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n }\n\n throw new EmbeddedWalletVaultError(\n \"Recovery phrase does not match the expected wallet address for either HD or direct-entropy decoding\",\n );\n}\n\nexport async function recoveryMnemonicAddress(\n mnemonic: string,\n keyType: EmbeddedWalletKeyType,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<string> {\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n return addressFromHdMnemonic(mnemonic, hdPath, prefix);\n }\n const privateKey = decodeDirectEntropyMnemonic(mnemonic);\n return addressFromPrivateKey(privateKey, prefix);\n}\n\n/** Build the recovery phrase for an unlocked plaintext payload. */\nexport function recoveryMnemonicFromPlaintext(plaintext: EmbeddedWalletPlaintext): string {\n const keyType = resolvePlaintextKeyType(plaintext);\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n if (!plaintext.mnemonic) {\n throw new EmbeddedWalletVaultError(\n \"HD-derived wallet is missing stored mnemonic; cannot reveal recovery phrase\",\n );\n }\n return normalizeRecoveryMnemonic(plaintext.mnemonic);\n }\n return encodeDirectEntropyMnemonic(plaintext.privateKey);\n}\n","import { deriveKekFromPbkdf2 } from \"./crypto\";\nimport { EmbeddedWalletVaultError } from \"./types\";\n\n/** Minimum passcode length — alphanumeric passcode, not a 4–6 digit PIN. */\nexport const EMBEDDED_WALLET_PASSCODE_MIN_LENGTH = 8;\n\n/** Maximum passcode length (DoS guard for PBKDF2 input). */\nexport const EMBEDDED_WALLET_PASSCODE_MAX_LENGTH = 128;\n\n/**\n * OWASP-recommended PBKDF2-SHA256 iteration count (2023 guidance).\n * Uses native Web Crypto — no WASM bundle required.\n */\nexport const EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS = 600_000;\n\n/** Passkey PBKDF2 fallback iteration count (matches PIN path; OWASP 2023 guidance). */\nexport const EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS = 600_000;\n\nexport function normalizePasscode(passcode: string): string {\n return passcode.normalize(\"NFKC\");\n}\n\n/** Validate citizen-chosen passcode before KDF. */\nexport function assertValidPasscode(passcode: string): void {\n const normalized = normalizePasscode(passcode);\n if (normalized.length < EMBEDDED_WALLET_PASSCODE_MIN_LENGTH) {\n throw new EmbeddedWalletVaultError(\n `Passcode must be at least ${EMBEDDED_WALLET_PASSCODE_MIN_LENGTH} characters`,\n );\n }\n if (normalized.length > EMBEDDED_WALLET_PASSCODE_MAX_LENGTH) {\n throw new EmbeddedWalletVaultError(\n `Passcode must be at most ${EMBEDDED_WALLET_PASSCODE_MAX_LENGTH} characters`,\n );\n }\n}\n\nexport async function deriveKekFromPasscode(\n passcode: string,\n salt: Uint8Array,\n iterations = EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n): Promise<Uint8Array> {\n assertValidPasscode(passcode);\n const material = new TextEncoder().encode(normalizePasscode(passcode));\n return deriveKekFromPbkdf2(material, salt, iterations);\n}\n","import { toBase64, fromBase64 } from \"@cosmjs/encoding\";\n\nimport {\n EMBEDDED_WALLET_KDF_PBKDF2,\n EMBEDDED_WALLET_KDF_PIN,\n EMBEDDED_WALLET_KDF_PRF,\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_VAULT_VERSION,\n EmbeddedWalletBackupRequiredError,\n type EmbeddedWalletKdf,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n type EmbeddedWalletVaultV1,\n EmbeddedWalletDecryptError,\n EmbeddedWalletVaultError,\n} from \"./types\";\nimport { resolvePlaintextKeyType } from \"./mnemonic\";\nimport { EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS } from \"./pin\";\nconst AES_GCM_IV_BYTES = 12;\n\nexport interface EncryptWalletOptions {\n kdf: EmbeddedWalletKdf;\n credentialId: Uint8Array;\n publicAddress: string;\n kek: Uint8Array;\n /** Required when kdf=pbkdf2-passkey or kdf=pbkdf2-pin */\n kdfSalt?: Uint8Array;\n /** Required when kdf=webauthn-prf */\n prfSalt?: Uint8Array;\n /** Override PBKDF2 iterations (defaults vary by kdf type). */\n kdfIterations?: number;\n backupAcknowledged?: boolean;\n}\n\nfunction pbkdf2IterationsForKdf(kdf: EmbeddedWalletKdf, override?: number): number {\n if (kdf === EMBEDDED_WALLET_KDF_PRF) {\n return 0;\n }\n if (override != null) {\n return override;\n }\n if (kdf === EMBEDDED_WALLET_KDF_PIN) {\n throw new EmbeddedWalletVaultError(\"PIN vault encryption requires explicit kdfIterations\");\n }\n return EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS;\n}\n\nfunction assertKekLength(kek: Uint8Array): void {\n if (kek.length !== 32) {\n throw new EmbeddedWalletVaultError(`KEK must be 32 bytes, got ${kek.length}`);\n }\n}\n\nfunction serializePlaintext(payload: EmbeddedWalletPlaintext): Uint8Array {\n const keyType = resolvePlaintextKeyType(payload);\n const json: Record<string, string> = {\n privateKey: toBase64(payload.privateKey),\n hdPath: payload.hdPath,\n createdAt: payload.createdAt,\n keyType,\n };\n if (payload.mnemonic) {\n json.mnemonic = payload.mnemonic;\n }\n return new TextEncoder().encode(JSON.stringify(json));\n}\n\nfunction deserializePlaintext(bytes: Uint8Array): EmbeddedWalletPlaintext {\n let parsed: unknown;\n try {\n parsed = JSON.parse(new TextDecoder().decode(bytes));\n } catch (err) {\n throw new EmbeddedWalletVaultError(\"Failed to parse decrypted wallet payload\", err);\n }\n\n if (\n typeof parsed !== \"object\" ||\n parsed == null ||\n typeof (parsed as EmbeddedWalletPlaintext).hdPath !== \"string\" ||\n typeof (parsed as EmbeddedWalletPlaintext).createdAt !== \"string\" ||\n typeof (parsed as { privateKey?: unknown }).privateKey !== \"string\"\n ) {\n throw new EmbeddedWalletVaultError(\"Decrypted wallet payload has invalid shape\");\n }\n\n const record = parsed as {\n privateKey: string;\n hdPath: string;\n createdAt: string;\n keyType?: EmbeddedWalletKeyType;\n mnemonic?: string;\n };\n\n const plaintext: EmbeddedWalletPlaintext = {\n privateKey: fromBase64(record.privateKey),\n hdPath: record.hdPath,\n createdAt: record.createdAt,\n };\n\n if (record.keyType) {\n plaintext.keyType = record.keyType;\n } else {\n plaintext.keyType = EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n }\n\n if (typeof record.mnemonic === \"string\" && record.mnemonic.length > 0) {\n plaintext.mnemonic = record.mnemonic;\n }\n\n return plaintext;\n}\n\nexport async function deriveKekFromPrf(prfOutput: Uint8Array): Promise<Uint8Array> {\n if (prfOutput.length < 32) {\n throw new EmbeddedWalletVaultError(`PRF output must be at least 32 bytes, got ${prfOutput.length}`);\n }\n return prfOutput.slice(0, 32);\n}\n\n/** PBKDF2-SHA256 fallback when WebAuthn PRF is unavailable (Safari cross-device QR, etc.). */\nexport async function deriveKekFromPbkdf2(\n passkeyMaterial: Uint8Array,\n salt: Uint8Array,\n iterations = EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS,\n): Promise<Uint8Array> {\n if (salt.length < 16) {\n throw new EmbeddedWalletVaultError(\"PBKDF2 salt must be at least 16 bytes\");\n }\n\n const keyMaterial = await crypto.subtle.importKey(\n \"raw\",\n new Uint8Array(passkeyMaterial),\n \"PBKDF2\",\n false,\n [\"deriveBits\"],\n );\n const derived = await crypto.subtle.deriveBits(\n { name: \"PBKDF2\", salt: new Uint8Array(salt), iterations, hash: \"SHA-256\" },\n keyMaterial,\n 256,\n );\n return new Uint8Array(derived);\n}\n\nexport function createPbkdf2Salt(): Uint8Array {\n const salt = new Uint8Array(32);\n crypto.getRandomValues(salt);\n return salt;\n}\n\nexport function createPasskeyMaterialFromAssertion(\n authenticatorData: Uint8Array,\n clientDataJSON: Uint8Array,\n): Uint8Array {\n const combined = new Uint8Array(authenticatorData.length + clientDataJSON.length);\n combined.set(authenticatorData, 0);\n combined.set(clientDataJSON, authenticatorData.length);\n return combined;\n}\n\nasync function importAesKey(kek: Uint8Array): Promise<CryptoKey> {\n assertKekLength(kek);\n const raw = new Uint8Array(kek);\n return crypto.subtle.importKey(\"raw\", raw, \"AES-GCM\", false, [\"encrypt\", \"decrypt\"]);\n}\n\nexport async function encryptWalletPayload(\n payload: EmbeddedWalletPlaintext,\n options: EncryptWalletOptions,\n): Promise<EmbeddedWalletVaultV1> {\n const iv = crypto.getRandomValues(new Uint8Array(AES_GCM_IV_BYTES));\n const aesKey = await importAesKey(options.kek);\n const plaintext = serializePlaintext(payload);\n const ciphertext = await crypto.subtle.encrypt(\n { name: \"AES-GCM\", iv },\n aesKey,\n new Uint8Array(plaintext),\n );\n\n if (\n (options.kdf === EMBEDDED_WALLET_KDF_PBKDF2 || options.kdf === EMBEDDED_WALLET_KDF_PIN) &&\n !options.kdfSalt\n ) {\n throw new EmbeddedWalletVaultError(\"PBKDF2 encryption requires kdfSalt\");\n }\n\n const iterations = pbkdf2IterationsForKdf(options.kdf, options.kdfIterations);\n\n return {\n version: EMBEDDED_WALLET_VAULT_VERSION,\n kdf: options.kdf,\n credentialId: toBase64(options.credentialId),\n publicAddress: options.publicAddress,\n iv: toBase64(iv),\n ciphertext: toBase64(new Uint8Array(ciphertext)),\n kdfSalt: options.kdfSalt ? toBase64(options.kdfSalt) : \"\",\n kdfIterations: iterations,\n prfSalt: options.prfSalt ? toBase64(options.prfSalt) : \"\",\n backupAcknowledged: options.backupAcknowledged ?? false,\n backupAcknowledgedAt: options.backupAcknowledged ? new Date().toISOString() : undefined,\n createdAt: payload.createdAt,\n };\n}\n\nexport async function decryptWalletPayload(\n vault: EmbeddedWalletVaultV1,\n kek: Uint8Array,\n): Promise<EmbeddedWalletPlaintext> {\n if (vault.version !== EMBEDDED_WALLET_VAULT_VERSION) {\n throw new EmbeddedWalletVaultError(`Unsupported vault version: ${vault.version}`);\n }\n\n const aesKey = await importAesKey(kek);\n const iv = fromBase64(vault.iv);\n const ciphertext = fromBase64(vault.ciphertext);\n\n let plaintextBytes: ArrayBuffer;\n try {\n plaintextBytes = await crypto.subtle.decrypt(\n { name: \"AES-GCM\", iv: new Uint8Array(iv) },\n aesKey,\n new Uint8Array(ciphertext),\n );\n } catch (err) {\n throw new EmbeddedWalletDecryptError(err);\n }\n\n return deserializePlaintext(new Uint8Array(plaintextBytes));\n}\n\nexport function markVaultBackupAcknowledged(vault: EmbeddedWalletVaultV1): EmbeddedWalletVaultV1 {\n const now = new Date().toISOString();\n return {\n ...vault,\n backupAcknowledged: true,\n backupAcknowledgedAt: now,\n };\n}\n\nexport function assertVaultPermitsTransaction(vault: EmbeddedWalletVaultV1): void {\n if (!vault.backupAcknowledged) {\n throw new EmbeddedWalletBackupRequiredError();\n }\n}\n","/**\n * WebAuthn PRF capability detection for embedded wallet KEK derivation.\n *\n * Safari does not expose PRF during cross-device QR-code WebAuthn flows — only\n * direct iCloud-synced passkeys. Callers must fall back to PBKDF2 in that case.\n */\n\nexport interface WebAuthnPrfCapabilities {\n /** Browser exposes PublicKeyCredential. */\n webAuthnAvailable: boolean;\n /** PRF extension likely usable on this device/browser combo. */\n prfLikelySupported: boolean;\n /** Human-readable reason when prfLikelySupported is false. */\n prfFallbackReason?: string;\n}\n\n/** Best-effort PRF support probe — PBKDF2 fallback remains mandatory. */\nexport function detectWebAuthnPrfCapabilities(): WebAuthnPrfCapabilities {\n if (typeof globalThis.PublicKeyCredential === \"undefined\") {\n return {\n webAuthnAvailable: false,\n prfLikelySupported: false,\n prfFallbackReason: \"WebAuthn is not available in this environment\",\n };\n }\n\n const ua = typeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n const isSafari = /Safari/i.test(ua) && !/Chrome|Chromium|CriOS|FxiOS/i.test(ua);\n\n // Safari cross-device QR WebAuthn cannot use PRF today — PBKDF2 is load-bearing.\n if (isSafari) {\n return {\n webAuthnAvailable: true,\n prfLikelySupported: false,\n prfFallbackReason:\n \"Safari does not support WebAuthn PRF for cross-device QR flows; use PBKDF2 fallback\",\n };\n }\n\n const getCaps = (\n PublicKeyCredential as unknown as {\n getClientCapabilities?: () => Promise<Record<string, boolean>>;\n }\n ).getClientCapabilities;\n\n if (typeof getCaps !== \"function\") {\n return {\n webAuthnAvailable: true,\n prfLikelySupported: true,\n };\n }\n\n return {\n webAuthnAvailable: true,\n prfLikelySupported: true,\n prfFallbackReason: undefined,\n };\n}\n\n/** Extract 32-byte PRF output from assertion clientExtensionResults. */\nexport function readPrfOutput(\n clientExtensionResults: AuthenticationExtensionsClientOutputs | undefined,\n): Uint8Array | null {\n const prf = clientExtensionResults?.prf as\n | { results?: Record<string, ArrayBuffer> }\n | undefined;\n const first = prf?.results?.first ?? (prf?.results ? Object.values(prf.results)[0] : undefined);\n if (!first || first.byteLength < 32) {\n return null;\n }\n return new Uint8Array(first).slice(0, 32);\n}\n\nexport function selectEmbeddedWalletKdf(\n caps: WebAuthnPrfCapabilities,\n prfOutput: Uint8Array | null,\n): \"webauthn-prf\" | \"pbkdf2-passkey\" {\n if (caps.prfLikelySupported && prfOutput && prfOutput.length >= 32) {\n return \"webauthn-prf\";\n }\n return \"pbkdf2-passkey\";\n}\n","import type { EmbeddedWalletBackupFileV1, EmbeddedWalletVaultV1 } from \"./types\";\nimport { EMBEDDED_WALLET_VAULT_VERSION } from \"./types\";\n\nexport function exportEncryptedBackup(vault: EmbeddedWalletVaultV1): EmbeddedWalletBackupFileV1 {\n return {\n format: \"kingdom-os-embedded-wallet-backup\",\n version: EMBEDDED_WALLET_VAULT_VERSION,\n vault: structuredClone(vault),\n exportedAt: new Date().toISOString(),\n };\n}\n\nexport function parseEncryptedBackup(json: string): EmbeddedWalletBackupFileV1 {\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch (err) {\n throw new Error(\"Backup file is not valid JSON\", { cause: err });\n }\n\n if (\n typeof parsed !== \"object\" ||\n parsed == null ||\n (parsed as EmbeddedWalletBackupFileV1).format !== \"kingdom-os-embedded-wallet-backup\" ||\n (parsed as EmbeddedWalletBackupFileV1).version !== EMBEDDED_WALLET_VAULT_VERSION ||\n typeof (parsed as EmbeddedWalletBackupFileV1).vault !== \"object\"\n ) {\n throw new Error(\"Unrecognized embedded wallet backup format\");\n }\n\n return parsed as EmbeddedWalletBackupFileV1;\n}\n\nexport function serializeBackupFile(backup: EmbeddedWalletBackupFileV1): string {\n return JSON.stringify(backup, null, 2);\n}\n","import { fromBase64, toBase64 } from \"@cosmjs/encoding\";\n\nimport { EmbeddedWalletVaultError } from \"./types\";\n\nexport const WEBAUTHN_RP_NAME = \"Kingdom OS\";\n\nexport interface PasskeyRegistrationResult {\n credentialId: Uint8Array;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n prfOutput: Uint8Array | null;\n prfSalt: Uint8Array;\n}\n\nexport interface PasskeyAssertionResult {\n credentialId: Uint8Array;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n prfOutput: Uint8Array | null;\n}\n\nexport class WebAuthnUnavailableError extends Error {\n constructor(message = \"WebAuthn is not available in this browser\") {\n super(message);\n this.name = \"WebAuthnUnavailableError\";\n }\n}\n\nexport class WebAuthnUserCancelledError extends Error {\n constructor(message = \"Passkey request was cancelled\") {\n super(message);\n this.name = \"WebAuthnUserCancelledError\";\n }\n}\n\nfunction randomChallenge(): BufferSource {\n return toBufferSource(crypto.getRandomValues(new Uint8Array(32)));\n}\n\n/** Copy bytes into a plain ArrayBuffer-backed Uint8Array for WebAuthn BufferSource typing. */\nfunction toBufferSource(bytes: Uint8Array): BufferSource {\n return Uint8Array.from(bytes);\n}\n\nfunction resolveRpId(explicit?: string): string {\n if (explicit?.trim()) {\n return explicit.trim();\n }\n if (typeof window !== \"undefined\" && window.location.hostname) {\n return window.location.hostname;\n }\n throw new EmbeddedWalletVaultError(\"rpId is required when window.location is unavailable\");\n}\n\nfunction mapWebAuthnError(err: unknown): Error {\n if (err instanceof DOMException) {\n if (err.name === \"NotAllowedError\") {\n return new WebAuthnUserCancelledError();\n }\n return new EmbeddedWalletVaultError(`WebAuthn failed: ${err.name}`, err);\n }\n return err instanceof Error ? err : new EmbeddedWalletVaultError(String(err));\n}\n\n/** Register a platform passkey; attempts PRF extension when supported. */\nexport async function registerPasskey(options: {\n userId: Uint8Array;\n userName: string;\n displayName: string;\n rpId?: string;\n prfSalt?: Uint8Array;\n}): Promise<PasskeyRegistrationResult> {\n if (typeof navigator === \"undefined\" || !navigator.credentials?.create) {\n throw new WebAuthnUnavailableError();\n }\n\n const rpId = resolveRpId(options.rpId);\n const prfSalt = options.prfSalt ?? crypto.getRandomValues(new Uint8Array(32));\n\n try {\n const credential = (await navigator.credentials.create({\n publicKey: {\n challenge: randomChallenge(),\n rp: { name: WEBAUTHN_RP_NAME, id: rpId },\n user: {\n id: toBufferSource(options.userId),\n name: options.userName,\n displayName: options.displayName,\n },\n pubKeyCredParams: [{ alg: -7, type: \"public-key\" }],\n authenticatorSelection: {\n residentKey: \"preferred\",\n userVerification: \"required\",\n },\n extensions: {\n prf: { eval: { first: toBufferSource(prfSalt) } },\n } as AuthenticationExtensionsClientInputs,\n },\n })) as PublicKeyCredential | null;\n\n if (!credential || !(credential.response instanceof AuthenticatorAttestationResponse)) {\n throw new EmbeddedWalletVaultError(\"Passkey registration returned no credential\");\n }\n\n const prfOutput = readPrfFromExtensions(credential.getClientExtensionResults());\n\n return {\n credentialId: new Uint8Array(credential.rawId),\n authenticatorData: new Uint8Array(credential.response.getAuthenticatorData()),\n clientDataJSON: new Uint8Array(credential.response.clientDataJSON),\n prfOutput,\n prfSalt,\n };\n } catch (err) {\n throw mapWebAuthnError(err);\n }\n}\n\n/** Assert an existing passkey; re-derives PRF output when extension succeeds. */\nexport async function assertPasskey(options: {\n credentialId: Uint8Array;\n rpId?: string;\n prfSalt?: Uint8Array;\n}): Promise<PasskeyAssertionResult> {\n if (typeof navigator === \"undefined\" || !navigator.credentials?.get) {\n throw new WebAuthnUnavailableError();\n }\n\n const rpId = resolveRpId(options.rpId);\n const extensions: AuthenticationExtensionsClientInputs = {};\n if (options.prfSalt) {\n extensions.prf = { eval: { first: toBufferSource(options.prfSalt) } };\n }\n\n try {\n const assertion = (await navigator.credentials.get({\n publicKey: {\n challenge: randomChallenge(),\n rpId,\n allowCredentials: [{ id: toBufferSource(options.credentialId), type: \"public-key\" }],\n userVerification: \"required\",\n extensions,\n },\n })) as PublicKeyCredential | null;\n\n if (!assertion || !(assertion.response instanceof AuthenticatorAssertionResponse)) {\n throw new EmbeddedWalletVaultError(\"Passkey assertion returned no credential\");\n }\n\n return {\n credentialId: new Uint8Array(assertion.rawId),\n authenticatorData: new Uint8Array(assertion.response.authenticatorData),\n clientDataJSON: new Uint8Array(assertion.response.clientDataJSON),\n prfOutput: readPrfFromExtensions(assertion.getClientExtensionResults()),\n };\n } catch (err) {\n throw mapWebAuthnError(err);\n }\n}\n\nfunction readPrfFromExtensions(\n results: AuthenticationExtensionsClientOutputs,\n): Uint8Array | null {\n const prf = results?.prf as { results?: { first?: ArrayBuffer } } | undefined;\n const first = prf?.results?.first;\n if (!first || first.byteLength < 32) {\n return null;\n }\n return new Uint8Array(first).slice(0, 32);\n}\n\nexport function encodeCredentialId(id: Uint8Array): string {\n return toBase64(id);\n}\n\nexport function decodeCredentialId(encoded: string): Uint8Array {\n return fromBase64(encoded);\n}\n","import type { EmbeddedWalletVaultV1 } from \"./types\";\n\nconst DB_NAME = \"kingdom-os-wallet\";\nconst DB_VERSION = 2;\nconst VAULT_STORE_NAME = \"vault\";\nconst LOCKOUT_STORE_NAME = \"passcode-lockout\";\n\n/** Legacy unscoped vault key used before per-account scoping shipped. */\nexport const VAULT_LEGACY_KEY = \"primary\";\n\nexport interface VaultStorageOptions {\n /** When set, vault is stored under this account-scoped key instead of {@link VAULT_LEGACY_KEY}. */\n scopeId?: string;\n}\n\nexport interface PasscodeLockoutRecord {\n failedAttempts: number;\n lockoutTier: number;\n lockedUntil: string | null;\n}\n\nexport function resolveVaultStorageKey(scopeId?: string): string {\n const trimmed = scopeId?.trim();\n return trimmed ? trimmed : VAULT_LEGACY_KEY;\n}\n\nfunction openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB open failed\"));\n request.onupgradeneeded = () => {\n const db = request.result;\n if (!db.objectStoreNames.contains(VAULT_STORE_NAME)) {\n db.createObjectStore(VAULT_STORE_NAME);\n }\n if (!db.objectStoreNames.contains(LOCKOUT_STORE_NAME)) {\n db.createObjectStore(LOCKOUT_STORE_NAME);\n }\n };\n request.onsuccess = () => resolve(request.result);\n });\n}\n\nexport async function saveVaultToIndexedDb(\n vault: EmbeddedWalletVaultV1,\n options: VaultStorageOptions = {},\n): Promise<void> {\n const key = resolveVaultStorageKey(options.scopeId);\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(VAULT_STORE_NAME, \"readwrite\");\n tx.objectStore(VAULT_STORE_NAME).put(vault, key);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\n });\n db.close();\n}\n\nexport async function loadVaultFromIndexedDb(\n options: VaultStorageOptions = {},\n): Promise<EmbeddedWalletVaultV1 | null> {\n const key = resolveVaultStorageKey(options.scopeId);\n const db = await openDb();\n const vault = await new Promise<EmbeddedWalletVaultV1 | null>((resolve, reject) => {\n const tx = db.transaction(VAULT_STORE_NAME, \"readonly\");\n const request = tx.objectStore(VAULT_STORE_NAME).get(key);\n request.onsuccess = () => resolve((request.result as EmbeddedWalletVaultV1 | undefined) ?? null);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\n });\n db.close();\n return vault;\n}\n\nexport async function clearVaultFromIndexedDb(options: VaultStorageOptions = {}): Promise<void> {\n const key = resolveVaultStorageKey(options.scopeId);\n const vault = await loadVaultFromIndexedDb(options);\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const storeNames = vault ? [VAULT_STORE_NAME, LOCKOUT_STORE_NAME] : [VAULT_STORE_NAME];\n const tx = db.transaction(storeNames, \"readwrite\");\n tx.objectStore(VAULT_STORE_NAME).delete(key);\n if (vault) {\n tx.objectStore(LOCKOUT_STORE_NAME).delete(vault.publicAddress);\n }\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\n });\n db.close();\n}\n\nexport async function loadPasscodeLockoutRecord(\n publicAddress: string,\n): Promise<PasscodeLockoutRecord | null> {\n const db = await openDb();\n const record = await new Promise<PasscodeLockoutRecord | null>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readonly\");\n const request = tx.objectStore(LOCKOUT_STORE_NAME).get(publicAddress);\n request.onsuccess = () =>\n resolve((request.result as PasscodeLockoutRecord | undefined) ?? null);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\n });\n db.close();\n return record;\n}\n\nexport async function savePasscodeLockoutRecord(\n publicAddress: string,\n record: PasscodeLockoutRecord,\n): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\n tx.objectStore(LOCKOUT_STORE_NAME).put(record, publicAddress);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\n });\n db.close();\n}\n\nexport async function clearPasscodeLockoutRecord(publicAddress: string): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\n tx.objectStore(LOCKOUT_STORE_NAME).delete(publicAddress);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\n });\n db.close();\n}\n","import {\n clearPasscodeLockoutRecord,\n loadPasscodeLockoutRecord,\n savePasscodeLockoutRecord,\n type PasscodeLockoutRecord,\n} from \"./storage\";\nimport { EmbeddedWalletLockoutError } from \"./types\";\n\n/** Consecutive wrong passcodes before lockout triggers. */\nexport const PASSCODE_LOCKOUT_FAILURE_THRESHOLD = 5;\n\n/** First lockout duration (milliseconds). */\nexport const PASSCODE_LOCKOUT_INITIAL_MS = 30_000;\n\n/** Maximum lockout duration (15 minutes). */\nexport const PASSCODE_LOCKOUT_MAX_MS = 900_000;\n\n/** Pure lockout duration for a tier (exported for property tests). */\nexport function computePasscodeLockoutDurationMs(tier: number): number {\n const duration = PASSCODE_LOCKOUT_INITIAL_MS * 2 ** tier;\n return Math.min(duration, PASSCODE_LOCKOUT_MAX_MS);\n}\n\nfunction emptyRecord(): PasscodeLockoutRecord {\n return {\n failedAttempts: 0,\n lockoutTier: 0,\n lockedUntil: null,\n };\n}\n\nfunction computeRetryAfterMs(lockedUntil: string | null): number {\n if (!lockedUntil) {\n return 0;\n }\n const until = Date.parse(lockedUntil);\n if (Number.isNaN(until)) {\n return 0;\n }\n return Math.max(0, until - Date.now());\n}\n\n/** Throws when the vault is temporarily locked after too many failed unlock attempts. */\nexport async function assertPasscodeUnlockAllowed(publicAddress: string): Promise<void> {\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n const retryAfterMs = computeRetryAfterMs(record.lockedUntil);\n if (retryAfterMs > 0) {\n throw new EmbeddedWalletLockoutError(retryAfterMs);\n }\n}\n\n/** Record a failed passcode unlock attempt; triggers lockout at threshold. */\nexport async function recordPasscodeUnlockFailure(publicAddress: string): Promise<void> {\n const existing = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n\n const retryAfterMs = computeRetryAfterMs(existing.lockedUntil);\n if (retryAfterMs > 0) {\n return;\n }\n\n const failedAttempts = existing.failedAttempts + 1;\n if (failedAttempts < PASSCODE_LOCKOUT_FAILURE_THRESHOLD) {\n await savePasscodeLockoutRecord(publicAddress, {\n ...existing,\n failedAttempts,\n });\n return;\n }\n\n const durationMs = computePasscodeLockoutDurationMs(existing.lockoutTier);\n const lockedUntil = new Date(Date.now() + durationMs).toISOString();\n await savePasscodeLockoutRecord(publicAddress, {\n failedAttempts: 0,\n lockoutTier: existing.lockoutTier + 1,\n lockedUntil,\n });\n}\n\n/** Clear lockout state after a successful passcode unlock. */\nexport async function recordPasscodeUnlockSuccess(publicAddress: string): Promise<void> {\n await clearPasscodeLockoutRecord(publicAddress);\n}\n\nexport async function getPasscodeLockoutState(\n publicAddress: string,\n): Promise<PasscodeLockoutRecord & { retryAfterMs: number }> {\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n return {\n ...record,\n retryAfterMs: computeRetryAfterMs(record.lockedUntil),\n };\n}\n","[\"password\",\"123456\",\"12345678\",\"1234\",\"qwerty\",\"12345\",\"dragon\",\"pussy\",\"baseball\",\"football\",\"letmein\",\"monkey\",\"696969\",\"abc123\",\"mustang\",\"michael\",\"shadow\",\"master\",\"jennifer\",\"111111\",\"2000\",\"jordan\",\"superman\",\"harley\",\"1234567\",\"fuckme\",\"hunter\",\"fuckyou\",\"trustno1\",\"ranger\",\"buster\",\"thomas\",\"tigger\",\"robert\",\"soccer\",\"fuck\",\"batman\",\"test\",\"pass\",\"killer\",\"hockey\",\"george\",\"charlie\",\"andrew\",\"michelle\",\"love\",\"sunshine\",\"jessica\",\"asshole\",\"6969\",\"pepper\",\"daniel\",\"access\",\"123456789\",\"654321\",\"joshua\",\"maggie\",\"starwars\",\"silver\",\"william\",\"dallas\",\"yankees\",\"123123\",\"ashley\",\"666666\",\"hello\",\"amanda\",\"orange\",\"biteme\",\"freedom\",\"computer\",\"sexy\",\"thunder\",\"nicole\",\"ginger\",\"heather\",\"hammer\",\"summer\",\"corvette\",\"taylor\",\"fucker\",\"austin\",\"1111\",\"merlin\",\"matthew\",\"121212\",\"golfer\",\"cheese\",\"princess\",\"martin\",\"chelsea\",\"patrick\",\"richard\",\"diamond\",\"yellow\",\"bigdog\",\"secret\",\"asdfgh\",\"sparky\",\"cowboy\",\"camaro\",\"anthony\",\"matrix\",\"falcon\",\"iloveyou\",\"bailey\",\"guitar\",\"jackson\",\"purple\",\"scooter\",\"phoenix\",\"aaaaaa\",\"morgan\",\"tigers\",\"porsche\",\"mickey\",\"maverick\",\"cookie\",\"nascar\",\"peanut\",\"justin\",\"131313\",\"money\",\"horny\",\"samantha\",\"panties\",\"steelers\",\"joseph\",\"snoopy\",\"boomer\",\"whatever\",\"iceman\",\"smokey\",\"gateway\",\"dakota\",\"cowboys\",\"eagles\",\"chicken\",\"dick\",\"black\",\"zxcvbn\",\"please\",\"andrea\",\"ferrari\",\"knight\",\"hardcore\",\"melissa\",\"compaq\",\"coffee\",\"booboo\",\"bitch\",\"johnny\",\"bulldog\",\"xxxxxx\",\"welcome\",\"james\",\"player\",\"ncc1701\",\"wizard\",\"scooby\",\"charles\",\"junior\",\"internet\",\"bigdick\",\"mike\",\"brandy\",\"tennis\",\"blowjob\",\"banana\",\"monster\",\"spider\",\"lakers\",\"miller\",\"rabbit\",\"enter\",\"mercedes\",\"brandon\",\"steven\",\"fender\",\"john\",\"yamaha\",\"diablo\",\"chris\",\"boston\",\"tiger\",\"marine\",\"chicago\",\"rangers\",\"gandalf\",\"winter\",\"bigtits\",\"barney\",\"edward\",\"raiders\",\"porn\",\"badboy\",\"blowme\",\"spanky\",\"bigdaddy\",\"johnson\",\"chester\",\"london\",\"midnight\",\"blue\",\"fishing\",\"000000\",\"hannah\",\"slayer\",\"11111111\",\"rachel\",\"sexsex\",\"redsox\",\"thx1138\",\"asdf\",\"marlboro\",\"panther\",\"zxcvbnm\",\"arsenal\",\"oliver\",\"qazwsx\",\"mother\",\"victoria\",\"7777777\",\"jasper\",\"angel\",\"david\",\"winner\",\"crystal\",\"golden\",\"butthead\",\"viking\",\"jack\",\"iwantu\",\"shannon\",\"murphy\",\"angels\",\"prince\",\"cameron\",\"girls\",\"madison\",\"wilson\",\"carlos\",\"hooters\",\"willie\",\"startrek\",\"captain\",\"maddog\",\"jasmine\",\"butter\",\"booger\",\"angela\",\"golf\",\"lauren\",\"rocket\",\"tiffany\",\"theman\",\"dennis\",\"liverpoo\",\"flower\",\"forever\",\"green\",\"jackie\",\"muffin\",\"turtle\",\"sophie\",\"danielle\",\"redskins\",\"toyota\",\"jason\",\"sierra\",\"winston\",\"debbie\",\"giants\",\"packers\",\"newyork\",\"jeremy\",\"casper\",\"bubba\",\"112233\",\"sandra\",\"lovers\",\"mountain\",\"united\",\"cooper\",\"driver\",\"tucker\",\"helpme\",\"fucking\",\"pookie\",\"lucky\",\"maxwell\",\"8675309\",\"bear\",\"suckit\",\"gators\",\"5150\",\"222222\",\"shithead\",\"fuckoff\",\"jaguar\",\"monica\",\"fred\",\"happy\",\"hotdog\",\"tits\",\"gemini\",\"lover\",\"xxxxxxxx\",\"777777\",\"canada\",\"nathan\",\"victor\",\"florida\",\"88888888\",\"nicholas\",\"rosebud\",\"metallic\",\"doctor\",\"trouble\",\"success\",\"stupid\",\"tomcat\",\"warrior\",\"peaches\",\"apples\",\"fish\",\"qwertyui\",\"magic\",\"buddy\",\"dolphins\",\"rainbow\",\"gunner\",\"987654\",\"freddy\",\"alexis\",\"braves\",\"cock\",\"2112\",\"1212\",\"cocacola\",\"xavier\",\"dolphin\",\"testing\",\"bond007\",\"member\",\"calvin\",\"voodoo\",\"7777\",\"samson\",\"alex\",\"apollo\",\"fire\",\"tester\",\"walter\",\"beavis\",\"voyager\",\"peter\",\"porno\",\"bonnie\",\"rush2112\",\"beer\",\"apple\",\"scorpio\",\"jonathan\",\"skippy\",\"sydney\",\"scott\",\"red123\",\"power\",\"gordon\",\"travis\",\"beaver\",\"star\",\"jackass\",\"flyers\",\"boobs\",\"232323\",\"zzzzzz\",\"steve\",\"rebecca\",\"scorpion\",\"doggie\",\"legend\",\"ou812\",\"yankee\",\"blazer\",\"bill\",\"runner\",\"birdie\",\"bitches\",\"555555\",\"parker\",\"topgun\",\"asdfasdf\",\"heaven\",\"viper\",\"animal\",\"2222\",\"bigboy\",\"4444\",\"arthur\",\"baby\",\"private\",\"godzilla\",\"donald\",\"williams\",\"lifehack\",\"phantom\",\"dave\",\"rock\",\"august\",\"sammy\",\"cool\",\"brian\",\"platinum\",\"jake\",\"bronco\",\"paul\",\"mark\",\"frank\",\"heka6w2\",\"copper\",\"billy\",\"cumshot\",\"garfield\",\"willow\",\"cunt\",\"little\",\"carter\",\"slut\",\"albert\",\"69696969\",\"kitten\",\"super\",\"jordan23\",\"eagle1\",\"shelby\",\"america\",\"11111\",\"jessie\",\"house\",\"free\",\"123321\",\"chevy\",\"bullshit\",\"white\",\"broncos\",\"horney\",\"surfer\",\"nissan\",\"999999\",\"saturn\",\"airborne\",\"elephant\",\"marvin\",\"shit\",\"action\",\"adidas\",\"qwert\",\"kevin\",\"1313\",\"explorer\",\"walker\",\"police\",\"christin\",\"december\",\"benjamin\",\"wolf\",\"sweet\",\"therock\",\"king\",\"online\",\"dickhead\",\"brooklyn\",\"teresa\",\"cricket\",\"sharon\",\"dexter\",\"racing\",\"penis\",\"gregory\",\"0000\",\"teens\",\"redwings\",\"dreams\",\"michigan\",\"hentai\",\"magnum\",\"87654321\",\"nothing\",\"donkey\",\"trinity\",\"digital\",\"333333\",\"stella\",\"cartman\",\"guinness\",\"123abc\",\"speedy\",\"buffalo\",\"kitty\",\"pimpin\",\"eagle\",\"einstein\",\"kelly\",\"nelson\",\"nirvana\",\"vampire\",\"xxxx\",\"playboy\",\"louise\",\"pumpkin\",\"snowball\",\"test123\",\"girl\",\"sucker\",\"mexico\",\"beatles\",\"fantasy\",\"ford\",\"gibson\",\"celtic\",\"marcus\",\"cherry\",\"cassie\",\"888888\",\"natasha\",\"sniper\",\"chance\",\"genesis\",\"hotrod\",\"reddog\",\"alexande\",\"college\",\"jester\",\"passw0rd\",\"bigcock\",\"smith\",\"lasvegas\",\"carmen\",\"slipknot\",\"3333\",\"death\",\"kimberly\",\"1q2w3e\",\"eclipse\",\"1q2w3e4r\",\"stanley\",\"samuel\",\"drummer\",\"homer\",\"montana\",\"music\",\"aaaa\",\"spencer\",\"jimmy\",\"carolina\",\"colorado\",\"creative\",\"hello1\",\"rocky\",\"goober\",\"friday\",\"bollocks\",\"scotty\",\"abcdef\",\"bubbles\",\"hawaii\",\"fluffy\",\"mine\",\"stephen\",\"horses\",\"thumper\",\"5555\",\"pussies\",\"darkness\",\"asdfghjk\",\"pamela\",\"boobies\",\"buddha\",\"vanessa\",\"sandman\",\"naughty\",\"douglas\",\"honda\",\"matt\",\"azerty\",\"6666\",\"shorty\",\"money1\",\"beach\",\"loveme\",\"4321\",\"simple\",\"poohbear\",\"444444\",\"badass\",\"destiny\",\"sarah\",\"denise\",\"vikings\",\"lizard\",\"melanie\",\"assman\",\"sabrina\",\"nintendo\",\"water\",\"good\",\"howard\",\"time\",\"123qwe\",\"november\",\"xxxxx\",\"october\",\"leather\",\"bastard\",\"young\",\"101010\",\"extreme\",\"hard\",\"password1\",\"vincent\",\"pussy1\",\"lacrosse\",\"hotmail\",\"spooky\",\"amateur\",\"alaska\",\"badger\",\"paradise\",\"maryjane\",\"poop\",\"crazy\",\"mozart\",\"video\",\"russell\",\"vagina\",\"spitfire\",\"anderson\",\"norman\",\"eric\",\"cherokee\",\"cougar\",\"barbara\",\"long\",\"420420\",\"family\",\"horse\",\"enigma\",\"allison\",\"raider\",\"brazil\",\"blonde\",\"jones\",\"55555\",\"dude\",\"drowssap\",\"jeff\",\"school\",\"marshall\",\"lovely\",\"1qaz2wsx\",\"jeffrey\",\"caroline\",\"franklin\",\"booty\",\"molly\",\"snickers\",\"leslie\",\"nipples\",\"courtney\",\"diesel\",\"rocks\",\"eminem\",\"westside\",\"suzuki\",\"daddy\",\"passion\",\"hummer\",\"ladies\",\"zachary\",\"frankie\",\"elvis\",\"reggie\",\"alpha\",\"suckme\",\"simpson\",\"patricia\",\"147147\",\"pirate\",\"tommy\",\"semperfi\",\"jupiter\",\"redrum\",\"freeuser\",\"wanker\",\"stinky\",\"ducati\",\"paris\",\"natalie\",\"babygirl\",\"bishop\",\"windows\",\"spirit\",\"pantera\",\"monday\",\"patches\",\"brutus\",\"houston\",\"smooth\",\"penguin\",\"marley\",\"forest\",\"cream\",\"212121\",\"flash\",\"maximus\",\"nipple\",\"bobby\",\"bradley\",\"vision\",\"pokemon\",\"champion\",\"fireman\",\"indian\",\"softball\",\"picard\",\"system\",\"clinton\",\"cobra\",\"enjoy\",\"lucky1\",\"claire\",\"claudia\",\"boogie\",\"timothy\",\"marines\",\"security\",\"dirty\",\"admin\",\"wildcats\",\"pimp\",\"dancer\",\"hardon\",\"veronica\",\"fucked\",\"abcd1234\",\"abcdefg\",\"ironman\",\"wolverin\",\"remember\",\"great\",\"freepass\",\"bigred\",\"squirt\",\"justice\",\"francis\",\"hobbes\",\"kermit\",\"pearljam\",\"mercury\",\"domino\",\"9999\",\"denver\",\"brooke\",\"rascal\",\"hitman\",\"mistress\",\"simon\",\"tony\",\"bbbbbb\",\"friend\",\"peekaboo\",\"naked\",\"budlight\",\"electric\",\"sluts\",\"stargate\",\"saints\",\"bondage\",\"brittany\",\"bigman\",\"zombie\",\"swimming\",\"duke\",\"qwerty1\",\"babes\",\"scotland\",\"disney\",\"rooster\",\"brenda\",\"mookie\",\"swordfis\",\"candy\",\"duncan\",\"olivia\",\"hunting\",\"blink182\",\"alicia\",\"8888\",\"samsung\",\"bubba1\",\"whore\",\"virginia\",\"general\",\"passport\",\"aaaaaaaa\",\"erotic\",\"liberty\",\"arizona\",\"jesus\",\"abcd\",\"newport\",\"skipper\",\"rolltide\",\"balls\",\"happy1\",\"galore\",\"christ\",\"weasel\",\"242424\",\"wombat\",\"digger\",\"classic\",\"bulldogs\",\"poopoo\",\"accord\",\"popcorn\",\"turkey\",\"jenny\",\"amber\",\"bunny\",\"mouse\",\"007007\",\"titanic\",\"liverpool\",\"dreamer\",\"everton\",\"friends\",\"chevelle\",\"carrie\",\"gabriel\",\"psycho\",\"nemesis\",\"burton\",\"pontiac\",\"connor\",\"eatme\",\"lickme\",\"roland\",\"cumming\",\"mitchell\",\"ireland\",\"lincoln\",\"arnold\",\"spiderma\",\"patriots\",\"goblue\",\"devils\",\"eugene\",\"empire\",\"asdfg\",\"cardinal\",\"brown\",\"shaggy\",\"froggy\",\"qwer\",\"kawasaki\",\"kodiak\",\"people\",\"phpbb\",\"light\",\"54321\",\"kramer\",\"chopper\",\"hooker\",\"honey\",\"whynot\",\"lesbian\",\"lisa\",\"baxter\",\"adam\",\"snake\",\"teen\",\"ncc1701d\",\"qqqqqq\",\"airplane\",\"britney\",\"avalon\",\"sandy\",\"sugar\",\"sublime\",\"stewart\",\"wildcat\",\"raven\",\"scarface\",\"elizabet\",\"123654\",\"trucks\",\"wolfpack\",\"pervert\",\"lawrence\",\"raymond\",\"redhead\",\"american\",\"alyssa\",\"bambam\",\"movie\",\"woody\",\"shaved\",\"snowman\",\"tiger1\",\"chicks\",\"raptor\",\"1969\",\"stingray\",\"shooter\",\"france\",\"stars\",\"madmax\",\"kristen\",\"sports\",\"jerry\",\"789456\",\"garcia\",\"simpsons\",\"lights\",\"ryan\",\"looking\",\"chronic\",\"alison\",\"hahaha\",\"packard\",\"hendrix\",\"perfect\",\"service\",\"spring\",\"srinivas\",\"spike\",\"katie\",\"252525\",\"oscar\",\"brother\",\"bigmac\",\"suck\",\"single\",\"cannon\",\"georgia\",\"popeye\",\"tattoo\",\"texas\",\"party\",\"bullet\",\"taurus\",\"sailor\",\"wolves\",\"panthers\",\"japan\",\"strike\",\"flowers\",\"pussycat\",\"chris1\",\"loverboy\",\"berlin\",\"sticky\",\"marina\",\"tarheels\",\"fisher\",\"russia\",\"connie\",\"wolfgang\",\"testtest\",\"mature\",\"bass\",\"catch22\",\"juice\",\"michael1\",\"nigger\",\"159753\",\"women\",\"alpha1\",\"trooper\",\"hawkeye\",\"head\",\"freaky\",\"dodgers\",\"pakistan\",\"machine\",\"pyramid\",\"vegeta\",\"katana\",\"moose\",\"tinker\",\"coyote\",\"infinity\",\"inside\",\"pepsi\",\"letmein1\",\"bang\",\"control\",\"hercules\",\"morris\",\"james1\",\"tickle\",\"outlaw\",\"browns\",\"billybob\",\"pickle\",\"test1\",\"michele\",\"antonio\",\"sucks\",\"pavilion\",\"changeme\",\"caesar\",\"prelude\",\"tanner\",\"adrian\",\"darkside\",\"bowling\",\"wutang\",\"sunset\",\"robbie\",\"alabama\",\"danger\",\"zeppelin\",\"juan\",\"rusty\",\"pppppp\",\"nick\",\"2001\",\"ping\",\"darkstar\",\"madonna\",\"qwe123\",\"bigone\",\"casino\",\"cheryl\",\"charlie1\",\"mmmmmm\",\"integra\",\"wrangler\",\"apache\",\"tweety\",\"qwerty12\",\"bobafett\",\"simone\",\"none\",\"business\",\"sterling\",\"trevor\",\"transam\",\"dustin\",\"harvey\",\"england\",\"2323\",\"seattle\",\"ssssss\",\"rose\",\"harry\",\"openup\",\"pandora\",\"pussys\",\"trucker\",\"wallace\",\"indigo\",\"storm\",\"malibu\",\"weed\",\"review\",\"babydoll\",\"doggy\",\"dilbert\",\"pegasus\",\"joker\",\"catfish\",\"flipper\",\"valerie\",\"herman\",\"fuckit\",\"detroit\",\"kenneth\",\"cheyenne\",\"bruins\",\"stacey\",\"smoke\",\"joey\",\"seven\",\"marino\",\"fetish\",\"xfiles\",\"wonder\",\"stinger\",\"pizza\",\"babe\",\"pretty\",\"stealth\",\"manutd\",\"gracie\",\"gundam\",\"cessna\",\"longhorn\",\"presario\",\"mnbvcxz\",\"wicked\",\"mustang1\",\"victory\",\"21122112\",\"shelly\",\"awesome\",\"athena\",\"q1w2e3r4\",\"help\",\"holiday\",\"knicks\",\"street\",\"redneck\",\"12341234\",\"casey\",\"gizmo\",\"scully\",\"dragon1\",\"devildog\",\"triumph\",\"eddie\",\"bluebird\",\"shotgun\",\"peewee\",\"ronnie\",\"angel1\",\"daisy\",\"special\",\"metallica\",\"madman\",\"country\",\"impala\",\"lennon\",\"roscoe\",\"omega\",\"access14\",\"enterpri\",\"miranda\",\"search\",\"smitty\",\"blizzard\",\"unicorn\",\"tight\",\"rick\",\"ronald\",\"asdf1234\",\"harrison\",\"trigger\",\"truck\",\"danny\",\"home\",\"winnie\",\"beauty\",\"thailand\",\"1234567890\",\"cadillac\",\"castle\",\"tyler\",\"bobcat\",\"buddy1\",\"sunny\",\"stones\",\"asian\",\"freddie\",\"chuck\",\"butt\",\"loveyou\",\"norton\",\"hellfire\",\"hotsex\",\"indiana\",\"short\",\"panzer\",\"lonewolf\",\"trumpet\",\"colors\",\"blaster\",\"12121212\",\"fireball\",\"logan\",\"precious\",\"aaron\",\"elaine\",\"jungle\",\"atlanta\",\"gold\",\"corona\",\"curtis\",\"nikki\",\"polaris\",\"timber\",\"theone\",\"baller\",\"chipper\",\"orlando\",\"island\",\"skyline\",\"dragons\",\"dogs\",\"benson\",\"licker\",\"goldie\",\"engineer\",\"kong\",\"pencil\",\"basketba\",\"open\",\"hornet\",\"world\",\"linda\",\"barbie\",\"chan\",\"farmer\",\"valentin\",\"wetpussy\",\"indians\",\"larry\",\"redman\",\"foobar\",\"travel\",\"morpheus\",\"bernie\",\"target\",\"141414\",\"hotstuff\",\"photos\",\"laura\",\"savage\",\"holly\",\"rocky1\",\"fuck_inside\",\"dollar\",\"turbo\",\"design\",\"newton\",\"hottie\",\"moon\",\"202020\",\"blondes\",\"4128\",\"lestat\",\"avatar\",\"future\",\"goforit\",\"random\",\"abgrtyu\",\"jjjjjj\",\"cancer\",\"q1w2e3\",\"smiley\",\"goldberg\",\"express\",\"virgin\",\"zipper\",\"wrinkle1\",\"stone\",\"andy\",\"babylon\",\"dong\",\"powers\",\"consumer\",\"dudley\",\"monkey1\",\"serenity\",\"samurai\",\"99999999\",\"bigboobs\",\"skeeter\",\"lindsay\",\"joejoe\",\"master1\",\"aaaaa\",\"chocolat\",\"christia\",\"birthday\",\"stephani\",\"tang\",\"1234qwer\",\"alfred\",\"ball\",\"98765432\",\"maria\",\"sexual\",\"maxima\",\"77777777\",\"sampson\",\"buckeye\",\"highland\",\"kristin\",\"seminole\",\"reaper\",\"bassman\",\"nugget\",\"lucifer\",\"airforce\",\"nasty\",\"watson\",\"warlock\",\"2121\",\"philip\",\"always\",\"dodge\",\"chrissy\",\"burger\",\"bird\",\"snatch\",\"missy\",\"pink\",\"gang\",\"maddie\",\"holmes\",\"huskers\",\"piglet\",\"photo\",\"joanne\",\"hamilton\",\"dodger\",\"paladin\",\"christy\",\"chubby\",\"buckeyes\",\"hamlet\",\"abcdefgh\",\"bigfoot\",\"sunday\",\"manson\",\"goldfish\",\"garden\",\"deftones\",\"icecream\",\"blondie\",\"spartan\",\"julie\",\"harold\",\"charger\",\"brandi\",\"stormy\",\"sherry\",\"pleasure\",\"juventus\",\"rodney\",\"galaxy\",\"holland\",\"escort\",\"zxcvb\",\"planet\",\"jerome\",\"wesley\",\"blues\",\"song\",\"peace\",\"david1\",\"ncc1701e\",\"1966\",\"51505150\",\"cavalier\",\"gambit\",\"karen\",\"sidney\",\"ripper\",\"oicu812\",\"jamie\",\"sister\",\"marie\",\"martha\",\"nylons\",\"aardvark\",\"nadine\",\"minnie\",\"whiskey\",\"bing\",\"plastic\",\"anal\",\"babylon5\",\"chang\",\"savannah\",\"loser\",\"racecar\",\"insane\",\"yankees1\",\"mememe\",\"hansolo\",\"chiefs\",\"fredfred\",\"freak\",\"frog\",\"salmon\",\"concrete\",\"yvonne\",\"zxcv\",\"shamrock\",\"atlantis\",\"warren\",\"wordpass\",\"julian\",\"mariah\",\"rommel\",\"1010\",\"harris\",\"predator\",\"sylvia\",\"massive\",\"cats\",\"sammy1\",\"mister\",\"stud\",\"marathon\",\"rubber\",\"ding\",\"trunks\",\"desire\",\"montreal\",\"justme\",\"faster\",\"kathleen\",\"irish\",\"1999\",\"bertha\",\"jessica1\",\"alpine\",\"sammie\",\"diamonds\",\"tristan\",\"00000\",\"swinger\",\"shan\",\"stallion\",\"pitbull\",\"letmein2\",\"roberto\",\"ready\",\"april\",\"palmer\",\"ming\",\"shadow1\",\"audrey\",\"chong\",\"clitoris\",\"wang\",\"shirley\",\"fuckers\",\"jackoff\",\"bluesky\",\"sundance\",\"renegade\",\"hollywoo\",\"151515\",\"bernard\",\"wolfman\",\"soldier\",\"picture\",\"pierre\",\"ling\",\"goddess\",\"manager\",\"nikita\",\"sweety\",\"titans\",\"hang\",\"fang\",\"ficken\",\"niners\",\"bottom\",\"bubble\",\"hello123\",\"ibanez\",\"webster\",\"sweetpea\",\"stocking\",\"323232\",\"tornado\",\"lindsey\",\"content\",\"bruce\",\"buck\",\"aragorn\",\"griffin\",\"chen\",\"campbell\",\"trojan\",\"christop\",\"newman\",\"wayne\",\"tina\",\"rockstar\",\"father\",\"geronimo\",\"pascal\",\"crimson\",\"brooks\",\"hector\",\"penny\",\"anna\",\"google\",\"camera\",\"chandler\",\"fatcat\",\"lovelove\",\"cody\",\"cunts\",\"waters\",\"stimpy\",\"finger\",\"cindy\",\"wheels\",\"viper1\",\"latin\",\"robin\",\"greenday\",\"987654321\",\"creampie\",\"brendan\",\"hiphop\",\"willy\",\"snapper\",\"funtime\",\"duck\",\"trombone\",\"adult\",\"cotton\",\"cookies\",\"kaiser\",\"mulder\",\"westham\",\"latino\",\"jeep\",\"ravens\",\"aurora\",\"drizzt\",\"madness\",\"energy\",\"kinky\",\"314159\",\"sophia\",\"stefan\",\"slick\",\"rocker\",\"55555555\",\"freeman\",\"french\",\"mongoose\",\"speed\",\"dddddd\",\"hong\",\"henry\",\"hungry\",\"yang\",\"catdog\",\"cheng\",\"ghost\",\"gogogo\",\"randy\",\"tottenha\",\"curious\",\"butterfl\",\"mission\",\"january\",\"singer\",\"sherman\",\"shark\",\"techno\",\"lancer\",\"lalala\",\"autumn\",\"chichi\",\"orion\",\"trixie\",\"clifford\",\"delta\",\"bobbob\",\"bomber\",\"holden\",\"kang\",\"kiss\",\"1968\",\"spunky\",\"liquid\",\"mary\",\"beagle\",\"granny\",\"network\",\"bond\",\"kkkkkk\",\"millie\",\"1973\",\"biggie\",\"beetle\",\"teacher\",\"susan\",\"toronto\",\"anakin\",\"genius\",\"dream\",\"cocks\",\"dang\",\"bush\",\"karate\",\"snakes\",\"bangkok\",\"callie\",\"fuckyou2\",\"pacific\",\"daytona\",\"kelsey\",\"infantry\",\"skywalke\",\"foster\",\"felix\",\"sailing\",\"raistlin\",\"vanhalen\",\"huang\",\"herbert\",\"jacob\",\"blackie\",\"tarzan\",\"strider\",\"sherlock\",\"lang\",\"gong\",\"sang\",\"dietcoke\",\"ultimate\",\"tree\",\"shai\",\"sprite\",\"ting\",\"artist\",\"chai\",\"chao\",\"devil\",\"python\",\"ninja\",\"misty\",\"ytrewq\",\"sweetie\",\"superfly\",\"456789\",\"tian\",\"jing\",\"jesus1\",\"freedom1\",\"dian\",\"drpepper\",\"potter\",\"chou\",\"darren\",\"hobbit\",\"violet\",\"yong\",\"shen\",\"phillip\",\"maurice\",\"gloria\",\"nolimit\",\"mylove\",\"biscuit\",\"yahoo\",\"shasta\",\"sex4me\",\"smoker\",\"smile\",\"pebbles\",\"pics\",\"philly\",\"tong\",\"tintin\",\"lesbians\",\"marlin\",\"cactus\",\"frank1\",\"tttttt\",\"chun\",\"danni\",\"emerald\",\"showme\",\"pirates\",\"lian\",\"dogg\",\"colleen\",\"xiao\",\"xian\",\"tazman\",\"tanker\",\"patton\",\"toshiba\",\"richie\",\"alberto\",\"gotcha\",\"graham\",\"dillon\",\"rang\",\"emily\",\"keng\",\"jazz\",\"bigguy\",\"yuan\",\"woman\",\"tomtom\",\"marion\",\"greg\",\"chaos\",\"fossil\",\"flight\",\"racerx\",\"tuan\",\"creamy\",\"boss\",\"bobo\",\"musicman\",\"warcraft\",\"window\",\"blade\",\"shuang\",\"sheila\",\"shun\",\"lick\",\"jian\",\"microsoft\",\"rong\",\"allen\",\"feng\",\"getsome\",\"sally\",\"quality\",\"kennedy\",\"morrison\",\"1977\",\"beng\",\"wwwwww\",\"yoyoyo\",\"zhang\",\"seng\",\"teddy\",\"joanna\",\"andreas\",\"harder\",\"luke\",\"qazxsw\",\"qian\",\"cong\",\"chuan\",\"deng\",\"nang\",\"boeing\",\"keeper\",\"western\",\"isabelle\",\"1963\",\"subaru\",\"sheng\",\"thuglife\",\"teng\",\"jiong\",\"miao\",\"martina\",\"mang\",\"maniac\",\"pussie\",\"tracey\",\"a1b2c3\",\"clayton\",\"zhou\",\"zhuang\",\"xing\",\"stonecol\",\"snow\",\"spyder\",\"liang\",\"jiang\",\"memphis\",\"regina\",\"ceng\",\"magic1\",\"logitech\",\"chuang\",\"dark\",\"million\",\"blow\",\"sesame\",\"shao\",\"poison\",\"titty\",\"terry\",\"kuan\",\"kuai\",\"kyle\",\"mian\",\"guan\",\"hamster\",\"guai\",\"ferret\",\"florence\",\"geng\",\"duan\",\"pang\",\"maiden\",\"quan\",\"velvet\",\"nong\",\"neng\",\"nookie\",\"buttons\",\"bian\",\"bingo\",\"biao\",\"zhong\",\"zeng\",\"xiong\",\"zhun\",\"ying\",\"zong\",\"xuan\",\"zang\",\"0.0.000\",\"suan\",\"shei\",\"shui\",\"sharks\",\"shang\",\"shua\",\"small\",\"peng\",\"pian\",\"piao\",\"liao\",\"meng\",\"miami\",\"reng\",\"guang\",\"cang\",\"change\",\"ruan\",\"diao\",\"luan\",\"lucas\",\"qing\",\"chui\",\"chuo\",\"cuan\",\"nuan\",\"ning\",\"heng\",\"huan\",\"kansas\",\"muscle\",\"monroe\",\"weng\",\"whitney\",\"1passwor\",\"bluemoon\",\"zhui\",\"zhua\",\"xiang\",\"zheng\",\"zhen\",\"zhei\",\"zhao\",\"zhan\",\"yomama\",\"zhai\",\"zhuo\",\"zuan\",\"tarheel\",\"shou\",\"shuo\",\"tiao\",\"lady\",\"leonard\",\"leng\",\"kuang\",\"jiao\",\"13579\",\"basket\",\"qiao\",\"qiong\",\"qiang\",\"chuai\",\"nian\",\"niao\",\"niang\",\"huai\",\"22222222\",\"bianca\",\"zhuan\",\"zhuai\",\"shuan\",\"shuai\",\"stardust\",\"jumper\",\"margaret\",\"archie\",\"66666666\",\"charlott\",\"forget\",\"qwertz\",\"bones\",\"history\",\"milton\",\"waterloo\",\"2002\",\"stuff\",\"11223344\",\"office\",\"oldman\",\"preston\",\"trains\",\"murray\",\"vertigo\",\"246810\",\"black1\",\"swallow\",\"smiles\",\"standard\",\"alexandr\",\"parrot\",\"luther\",\"user\",\"nicolas\",\"1976\",\"surfing\",\"pioneer\",\"pete\",\"masters\",\"apple1\",\"asdasd\",\"auburn\",\"hannibal\",\"frontier\",\"panama\",\"lucy\",\"buffy\",\"brianna\",\"welcome1\",\"vette\",\"blue22\",\"shemale\",\"111222\",\"baggins\",\"groovy\",\"global\",\"turner\",\"181818\",\"1979\",\"blades\",\"spanking\",\"life\",\"byteme\",\"lobster\",\"collins\",\"dawg\",\"hilton\",\"japanese\",\"1970\",\"1964\",\"2424\",\"polo\",\"markus\",\"coco\",\"deedee\",\"mikey\",\"1972\",\"171717\",\"1701\",\"strip\",\"jersey\",\"green1\",\"capital\",\"sasha\",\"sadie\",\"putter\",\"vader\",\"seven7\",\"lester\",\"marcel\",\"banshee\",\"grendel\",\"gilbert\",\"dicks\",\"dead\",\"hidden\",\"iloveu\",\"1980\",\"sound\",\"ledzep\",\"michel\",\"147258\",\"female\",\"bugger\",\"buffett\",\"bryan\",\"hell\",\"kristina\",\"molson\",\"2020\",\"wookie\",\"sprint\",\"thanks\",\"jericho\",\"102030\",\"grace\",\"fuckin\",\"mandy\",\"ranger1\",\"trebor\",\"deepthroat\",\"bonehead\",\"molly1\",\"mirage\",\"models\",\"1984\",\"2468\",\"stuart\",\"showtime\",\"squirrel\",\"pentium\",\"mario\",\"anime\",\"gator\",\"powder\",\"twister\",\"connect\",\"neptune\",\"bruno\",\"butts\",\"engine\",\"eatshit\",\"mustangs\",\"woody1\",\"shogun\",\"septembe\",\"pooh\",\"jimbo\",\"roger\",\"annie\",\"bacon\",\"center\",\"russian\",\"sabine\",\"damien\",\"mollie\",\"voyeur\",\"2525\",\"363636\",\"leonardo\",\"camel\",\"chair\",\"germany\",\"giant\",\"qqqq\",\"nudist\",\"bone\",\"sleepy\",\"tequila\",\"megan\",\"fighter\",\"garrett\",\"dominic\",\"obiwan\",\"makaveli\",\"vacation\",\"walnut\",\"1974\",\"ladybug\",\"cantona\",\"ccbill\",\"satan\",\"rusty1\",\"passwor1\",\"columbia\",\"napoleon\",\"dusty\",\"kissme\",\"motorola\",\"william1\",\"1967\",\"zzzz\",\"skater\",\"smut\",\"play\",\"matthew1\",\"robinson\",\"valley\",\"coolio\",\"dagger\",\"boner\",\"bull\",\"horndog\",\"jason1\",\"blake\",\"penguins\",\"rescue\",\"griffey\",\"8j4ye3uz\",\"californ\",\"champs\",\"qwertyuiop\",\"portland\",\"queen\",\"colt45\",\"boat\",\"xxxxxxx\",\"xanadu\",\"tacoma\",\"mason\",\"carpet\",\"gggggg\",\"safety\",\"palace\",\"italia\",\"stevie\",\"picturs\",\"picasso\",\"thongs\",\"tempest\",\"ricardo\",\"roberts\",\"asd123\",\"hairy\",\"foxtrot\",\"gary\",\"nimrod\",\"hotboy\",\"343434\",\"1111111\",\"asdfghjkl\",\"goose\",\"overlord\",\"blood\",\"wood\",\"stranger\",\"454545\",\"shaolin\",\"sooners\",\"socrates\",\"spiderman\",\"peanuts\",\"maxine\",\"rogers\",\"13131313\",\"andrew1\",\"filthy\",\"donnie\",\"ohyeah\",\"africa\",\"national\",\"kenny\",\"keith\",\"monique\",\"intrepid\",\"jasmin\",\"pickles\",\"assass\",\"fright\",\"potato\",\"darwin\",\"hhhhhh\",\"kingdom\",\"weezer\",\"424242\",\"pepsi1\",\"throat\",\"romeo\",\"gerard\",\"looker\",\"puppy\",\"butch\",\"monika\",\"suzanne\",\"sweets\",\"temple\",\"laurie\",\"josh\",\"megadeth\",\"analsex\",\"nymets\",\"ddddddd\",\"bigballs\",\"support\",\"stick\",\"today\",\"down\",\"oakland\",\"oooooo\",\"qweasd\",\"chucky\",\"bridge\",\"carrot\",\"chargers\",\"discover\",\"dookie\",\"condor\",\"night\",\"butler\",\"hoover\",\"horny1\",\"isabella\",\"sunrise\",\"sinner\",\"jojo\",\"megapass\",\"martini\",\"assfuck\",\"grateful\",\"ffffff\",\"abigail\",\"esther\",\"mushroom\",\"janice\",\"jamaica\",\"wright\",\"sims\",\"space\",\"there\",\"timmy\",\"7654321\",\"77777\",\"cccccc\",\"gizmodo\",\"roxanne\",\"ralph\",\"tractor\",\"cristina\",\"dance\",\"mypass\",\"hongkong\",\"helena\",\"1975\",\"blue123\",\"pissing\",\"thomas1\",\"redred\",\"rich\",\"basketball\",\"attack\",\"cash\",\"satan666\",\"drunk\",\"dixie\",\"dublin\",\"bollox\",\"kingkong\",\"katrina\",\"miles\",\"1971\",\"22222\",\"272727\",\"sexx\",\"penelope\",\"thompson\",\"anything\",\"bbbb\",\"battle\",\"grizzly\",\"passat\",\"porter\",\"tracy\",\"defiant\",\"bowler\",\"knickers\",\"monitor\",\"wisdom\",\"wild\",\"slappy\",\"thor\",\"letsgo\",\"robert1\",\"feet\",\"rush\",\"brownie\",\"hudson\",\"098765\",\"playing\",\"playtime\",\"lightnin\",\"melvin\",\"atomic\",\"bart\",\"hawk\",\"goku\",\"glory\",\"llllll\",\"qwaszx\",\"cosmos\",\"bosco\",\"knights\",\"bentley\",\"beast\",\"slapshot\",\"lewis\",\"assword\",\"frosty\",\"gillian\",\"sara\",\"dumbass\",\"mallard\",\"dddd\",\"deanna\",\"elwood\",\"wally\",\"159357\",\"titleist\",\"angelo\",\"aussie\",\"guest\",\"golfing\",\"doobie\",\"loveit\",\"chloe\",\"elliott\",\"werewolf\",\"vipers\",\"janine\",\"1965\",\"blabla\",\"surf\",\"sucking\",\"tardis\",\"serena\",\"shelley\",\"thegame\",\"legion\",\"rebels\",\"fernando\",\"fast\",\"gerald\",\"sarah1\",\"double\",\"onelove\",\"loulou\",\"toto\",\"crash\",\"blackcat\",\"0007\",\"tacobell\",\"soccer1\",\"jedi\",\"manuel\",\"method\",\"river\",\"chase\",\"ludwig\",\"poopie\",\"derrick\",\"boob\",\"breast\",\"kittycat\",\"isabel\",\"belly\",\"pikachu\",\"thunder1\",\"thankyou\",\"jose\",\"celeste\",\"celtics\",\"frances\",\"frogger\",\"scoobydo\",\"sabbath\",\"coltrane\",\"budman\",\"willis\",\"jackal\",\"bigger\",\"zzzzz\",\"silvia\",\"sooner\",\"licking\",\"gopher\",\"geheim\",\"lonestar\",\"primus\",\"pooper\",\"newpass\",\"brasil\",\"heather1\",\"husker\",\"element\",\"moomoo\",\"beefcake\",\"zzzzzzzz\",\"tammy\",\"shitty\",\"smokin\",\"personal\",\"jjjj\",\"anthony1\",\"anubis\",\"backup\",\"gorilla\",\"fuckface\",\"painter\",\"lowrider\",\"punkrock\",\"traffic\",\"claude\",\"daniela\",\"dale\",\"delta1\",\"nancy\",\"boys\",\"easy\",\"kissing\",\"kelley\",\"wendy\",\"theresa\",\"amazon\",\"alan\",\"fatass\",\"dodgeram\",\"dingdong\",\"malcolm\",\"qqqqqqqq\",\"breasts\",\"boots\",\"honda1\",\"spidey\",\"poker\",\"temp\",\"johnjohn\",\"miguel\",\"147852\",\"archer\",\"asshole1\",\"dogdog\",\"tricky\",\"crusader\",\"weather\",\"syracuse\",\"spankme\",\"speaker\",\"meridian\",\"amadeus\",\"back\",\"harley1\",\"falcons\",\"dorothy\",\"turkey50\",\"kenwood\",\"keyboard\",\"ilovesex\",\"1978\",\"blackman\",\"shazam\",\"shalom\",\"lickit\",\"jimbob\",\"richmond\",\"roller\",\"carson\",\"check\",\"fatman\",\"funny\",\"garbage\",\"sandiego\",\"loving\",\"magnus\",\"cooldude\",\"clover\",\"mobile\",\"bell\",\"payton\",\"plumber\",\"texas1\",\"tool\",\"topper\",\"jenna\",\"mariners\",\"rebel\",\"harmony\",\"caliente\",\"celica\",\"fletcher\",\"german\",\"diana\",\"oxford\",\"osiris\",\"orgasm\",\"punkin\",\"porsche9\",\"tuesday\",\"close\",\"breeze\",\"bossman\",\"kangaroo\",\"billie\",\"latinas\",\"judith\",\"astros\",\"scruffy\",\"donna\",\"qwertyu\",\"davis\",\"hearts\",\"kathy\",\"jammer\",\"java\",\"springer\",\"rhonda\",\"ricky\",\"1122\",\"goodtime\",\"chelsea1\",\"freckles\",\"flyboy\",\"doodle\",\"city\",\"nebraska\",\"bootie\",\"kicker\",\"webmaster\",\"vulcan\",\"iverson\",\"191919\",\"blueeyes\",\"stoner\",\"321321\",\"farside\",\"rugby\",\"director\",\"pussy69\",\"power1\",\"bobbie\",\"hershey\",\"hermes\",\"monopoly\",\"west\",\"birdman\",\"blessed\",\"blackjac\",\"southern\",\"peterpan\",\"thumbs\",\"lawyer\",\"melinda\",\"fingers\",\"fuckyou1\",\"rrrrrr\",\"a1b2c3d4\",\"coke\",\"nicola\",\"bohica\",\"heart\",\"elvis1\",\"kids\",\"blacky\",\"stories\",\"sentinel\",\"snake1\",\"phoebe\",\"jesse\",\"richard1\",\"1234abcd\",\"guardian\",\"candyman\",\"fisting\",\"scarlet\",\"dildo\",\"pancho\",\"mandingo\",\"lucky7\",\"condom\",\"munchkin\",\"billyboy\",\"summer1\",\"student\",\"sword\",\"skiing\",\"sergio\",\"site\",\"sony\",\"thong\",\"rootbeer\",\"assassin\",\"cassidy\",\"frederic\",\"fffff\",\"fitness\",\"giovanni\",\"scarlett\",\"durango\",\"postal\",\"achilles\",\"dawn\",\"dylan\",\"kisses\",\"warriors\",\"imagine\",\"plymouth\",\"topdog\",\"asterix\",\"hallo\",\"cameltoe\",\"fuckfuck\",\"bridget\",\"eeeeee\",\"mouth\",\"weird\",\"will\",\"sithlord\",\"sommer\",\"toby\",\"theking\",\"juliet\",\"avenger\",\"backdoor\",\"goodbye\",\"chevrole\",\"faith\",\"lorraine\",\"trance\",\"cosworth\",\"brad\",\"houses\",\"homers\",\"eternity\",\"kingpin\",\"verbatim\",\"incubus\",\"1961\",\"blond\",\"zaphod\",\"shiloh\",\"spurs\",\"station\",\"jennie\",\"maynard\",\"mighty\",\"aliens\",\"hank\",\"charly\",\"running\",\"dogman\",\"omega1\",\"printer\",\"aggies\",\"chocolate\",\"deadhead\",\"hope\",\"javier\",\"bitch1\",\"stone55\",\"pineappl\",\"thekid\",\"lizzie\",\"rockets\",\"ashton\",\"camels\",\"formula\",\"forrest\",\"rosemary\",\"oracle\",\"rain\",\"pussey\",\"porkchop\",\"abcde\",\"clancy\",\"nellie\",\"mystic\",\"inferno\",\"blackdog\",\"steve1\",\"pauline\",\"alexander\",\"alice\",\"alfa\",\"grumpy\",\"flames\",\"scream\",\"lonely\",\"puffy\",\"proxy\",\"valhalla\",\"unreal\",\"cynthia\",\"herbie\",\"engage\",\"yyyyyy\",\"010101\",\"solomon\",\"pistol\",\"melody\",\"celeb\",\"flying\",\"gggg\",\"santiago\",\"scottie\",\"oakley\",\"portugal\",\"a12345\",\"newbie\",\"mmmm\",\"venus\",\"1qazxsw2\",\"beverly\",\"zorro\",\"work\",\"writer\",\"stripper\",\"sebastia\",\"spread\",\"phil\",\"tobias\",\"links\",\"members\",\"metal\",\"1221\",\"andre\",\"565656\",\"funfun\",\"trojans\",\"again\",\"cyber\",\"hurrican\",\"moneys\",\"1x2zkg8w\",\"zeus\",\"thing\",\"tomato\",\"lion\",\"atlantic\",\"celine\",\"usa123\",\"trans\",\"account\",\"aaaaaaa\",\"homerun\",\"hyperion\",\"kevin1\",\"blacks\",\"44444444\",\"skittles\",\"sean\",\"hastings\",\"fart\",\"gangbang\",\"fubar\",\"sailboat\",\"older\",\"oilers\",\"craig\",\"conrad\",\"church\",\"damian\",\"dean\",\"broken\",\"buster1\",\"hithere\",\"immortal\",\"sticks\",\"pilot\",\"peters\",\"lexmark\",\"jerkoff\",\"maryland\",\"anders\",\"cheers\",\"possum\",\"columbus\",\"cutter\",\"muppet\",\"beautiful\",\"stolen\",\"swordfish\",\"sport\",\"sonic\",\"peter1\",\"jethro\",\"rockon\",\"asdfghj\",\"pass123\",\"paper\",\"pornos\",\"ncc1701a\",\"bootys\",\"buttman\",\"bonjour\",\"escape\",\"1960\",\"becky\",\"bears\",\"362436\",\"spartans\",\"tinman\",\"threesom\",\"lemons\",\"maxmax\",\"1414\",\"bbbbb\",\"camelot\",\"chad\",\"chewie\",\"gogo\",\"fusion\",\"saint\",\"dilligaf\",\"nopass\",\"myself\",\"hustler\",\"hunter1\",\"whitey\",\"beast1\",\"yesyes\",\"spank\",\"smudge\",\"pinkfloy\",\"patriot\",\"lespaul\",\"annette\",\"hammers\",\"catalina\",\"finish\",\"formula1\",\"sausage\",\"scooter1\",\"orioles\",\"oscar1\",\"over\",\"colombia\",\"cramps\",\"natural\",\"eating\",\"exotic\",\"iguana\",\"bella\",\"suckers\",\"strong\",\"sheena\",\"start\",\"slave\",\"pearl\",\"topcat\",\"lancelot\",\"angelica\",\"magelan\",\"racer\",\"ramona\",\"crunch\",\"british\",\"button\",\"eileen\",\"steph\",\"456123\",\"skinny\",\"seeking\",\"rockhard\",\"chief\",\"filter\",\"first\",\"freaks\",\"sakura\",\"pacman\",\"poontang\",\"dalton\",\"newlife\",\"homer1\",\"klingon\",\"watcher\",\"walleye\",\"tasha\",\"tasty\",\"sinatra\",\"starship\",\"steel\",\"starbuck\",\"poncho\",\"amber1\",\"gonzo\",\"grover\",\"catherin\",\"carol\",\"candle\",\"firefly\",\"goblin\",\"scotch\",\"diver\",\"usmc\",\"huskies\",\"eleven\",\"kentucky\",\"kitkat\",\"israel\",\"beckham\",\"bicycle\",\"yourmom\",\"studio\",\"tara\",\"33333333\",\"shane\",\"splash\",\"jimmy1\",\"reality\",\"12344321\",\"caitlin\",\"focus\",\"sapphire\",\"mailman\",\"raiders1\",\"clark\",\"ddddd\",\"hopper\",\"excalibu\",\"more\",\"wilbur\",\"illini\",\"imperial\",\"phillips\",\"lansing\",\"maxx\",\"gothic\",\"golfball\",\"carlton\",\"camille\",\"facial\",\"front242\",\"macdaddy\",\"qwer1234\",\"vectra\",\"cowboys1\",\"crazy1\",\"dannyboy\",\"jane\",\"betty\",\"benny\",\"bennett\",\"leader\",\"martinez\",\"aquarius\",\"barkley\",\"hayden\",\"caught\",\"franky\",\"ffff\",\"floyd\",\"sassy\",\"pppp\",\"pppppppp\",\"prodigy\",\"clarence\",\"noodle\",\"eatpussy\",\"vortex\",\"wanking\",\"beatrice\",\"billy1\",\"siemens\",\"pedro\",\"phillies\",\"research\",\"groups\",\"carolyn\",\"chevy1\",\"cccc\",\"fritz\",\"gggggggg\",\"doughboy\",\"dracula\",\"nurses\",\"loco\",\"madrid\",\"lollipop\",\"trout\",\"utopia\",\"chrono\",\"cooler\",\"conner\",\"nevada\",\"wibble\",\"werner\",\"summit\",\"marco\",\"marilyn\",\"1225\",\"babies\",\"capone\",\"fugazi\",\"panda\",\"mama\",\"qazwsxed\",\"puppies\",\"triton\",\"9876\",\"command\",\"nnnnnn\",\"ernest\",\"momoney\",\"iforgot\",\"wolfie\",\"studly\",\"shawn\",\"renee\",\"alien\",\"hamburg\",\"81fukkc\",\"741852\",\"catman\",\"china\",\"forgot\",\"gagging\",\"scott1\",\"drew\",\"oregon\",\"qweqwe\",\"train\",\"crazybab\",\"daniel1\",\"cutlass\",\"brothers\",\"holes\",\"heidi\",\"mothers\",\"music1\",\"what\",\"walrus\",\"1957\",\"bigtime\",\"bike\",\"xtreme\",\"simba\",\"ssss\",\"rookie\",\"angie\",\"bathing\",\"fresh\",\"sanchez\",\"rotten\",\"maestro\",\"luis\",\"look\",\"turbo1\",\"99999\",\"butthole\",\"hhhh\",\"elijah\",\"monty\",\"bender\",\"yoda\",\"shania\",\"shock\",\"phish\",\"thecat\",\"rightnow\",\"reagan\",\"baddog\",\"asia\",\"greatone\",\"gateway1\",\"randall\",\"abstr\",\"napster\",\"brian1\",\"bogart\",\"high\",\"hitler\",\"emma\",\"kill\",\"weaver\",\"wildfire\",\"jackson1\",\"isaiah\",\"1981\",\"belinda\",\"beaner\",\"yoyo\",\"0.0.0.000\",\"super1\",\"select\",\"snuggles\",\"slutty\",\"some\",\"phoenix1\",\"technics\",\"toon\",\"raven1\",\"rayray\",\"123789\",\"1066\",\"albion\",\"greens\",\"fashion\",\"gesperrt\",\"santana\",\"paint\",\"powell\",\"credit\",\"darling\",\"mystery\",\"bowser\",\"bottle\",\"brucelee\",\"hehehe\",\"kelly1\",\"mojo\",\"1998\",\"bikini\",\"woofwoof\",\"yyyy\",\"strap\",\"sites\",\"spears\",\"theodore\",\"julius\",\"richards\",\"amelia\",\"central\",\"f**k\",\"nyjets\",\"punisher\",\"username\",\"vanilla\",\"twisted\",\"bryant\",\"brent\",\"bunghole\",\"here\",\"elizabeth\",\"erica\",\"kimber\",\"viagra\",\"veritas\",\"pony\",\"pool\",\"titts\",\"labtec\",\"lifetime\",\"jenny1\",\"masterbate\",\"mayhem\",\"redbull\",\"govols\",\"gremlin\",\"505050\",\"gmoney\",\"rupert\",\"rovers\",\"diamond1\",\"lorenzo\",\"trident\",\"abnormal\",\"davidson\",\"deskjet\",\"cuddles\",\"nice\",\"bristol\",\"karina\",\"milano\",\"vh5150\",\"jarhead\",\"1982\",\"bigbird\",\"bizkit\",\"sixers\",\"slider\",\"star69\",\"starfish\",\"penetration\",\"tommy1\",\"john316\",\"meghan\",\"michaela\",\"market\",\"grant\",\"caligula\",\"carl\",\"flicks\",\"films\",\"madden\",\"railroad\",\"cosmo\",\"cthulhu\",\"bradford\",\"br0d3r\",\"military\",\"bearbear\",\"swedish\",\"spawn\",\"patrick1\",\"polly\",\"these\",\"todd\",\"reds\",\"anarchy\",\"groove\",\"franco\",\"fuckher\",\"oooo\",\"tyrone\",\"vegas\",\"airbus\",\"cobra1\",\"christine\",\"clips\",\"delete\",\"duster\",\"kitty1\",\"mouse1\",\"monkeys\",\"jazzman\",\"1919\",\"262626\",\"swinging\",\"stroke\",\"stocks\",\"sting\",\"pippen\",\"labrador\",\"jordan1\",\"justdoit\",\"meatball\",\"females\",\"saturday\",\"park\",\"vector\",\"cooter\",\"defender\",\"desert\",\"demon\",\"nike\",\"bubbas\",\"bonkers\",\"english\",\"kahuna\",\"wildman\",\"4121\",\"sirius\",\"static\",\"piercing\",\"terror\",\"teenage\",\"leelee\",\"marissa\",\"microsof\",\"mechanic\",\"robotech\",\"rated\",\"hailey\",\"chaser\",\"sanders\",\"salsero\",\"nuts\",\"macross\",\"quantum\",\"rachael\",\"tsunami\",\"universe\",\"daddy1\",\"cruise\",\"nguyen\",\"newpass6\",\"nudes\",\"hellyeah\",\"vernon\",\"1959\",\"zaq12wsx\",\"striker\",\"sixty\",\"steele\",\"spice\",\"spectrum\",\"smegma\",\"thumb\",\"jjjjjjjj\",\"mellow\",\"astrid\",\"cancun\",\"cartoon\",\"sabres\",\"samiam\",\"pants\",\"oranges\",\"oklahoma\",\"lust\",\"coleman\",\"denali\",\"nude\",\"noodles\",\"buzz\",\"brest\",\"hooter\",\"mmmmmmmm\",\"warthog\",\"bloody\",\"blueblue\",\"zappa\",\"wolverine\",\"sniffing\",\"lance\",\"jean\",\"jjjjj\",\"harper\",\"calico\",\"freee\",\"rover\",\"door\",\"pooter\",\"closeup\",\"bonsai\",\"evelyn\",\"emily1\",\"kathryn\",\"keystone\",\"iiii\",\"1955\",\"yzerman\",\"theboss\",\"tolkien\",\"jill\",\"megaman\",\"rasta\",\"bbbbbbbb\",\"bean\",\"handsome\",\"hal9000\",\"goofy\",\"gringo\",\"gofish\",\"gizmo1\",\"samsam\",\"scuba\",\"onlyme\",\"tttttttt\",\"corrado\",\"clown\",\"clapton\",\"deborah\",\"boris\",\"bulls\",\"vivian\",\"jayhawk\",\"bethany\",\"wwww\",\"sharky\",\"seeker\",\"ssssssss\",\"somethin\",\"pillow\",\"thesims\",\"lighter\",\"lkjhgf\",\"melissa1\",\"marcius2\",\"barry\",\"guiness\",\"gymnast\",\"casey1\",\"goalie\",\"godsmack\",\"doug\",\"lolo\",\"rangers1\",\"poppy\",\"abby\",\"clemson\",\"clipper\",\"deeznuts\",\"nobody\",\"holly1\",\"elliot\",\"eeee\",\"kingston\",\"miriam\",\"belle\",\"yosemite\",\"sucked\",\"sex123\",\"sexy69\",\"pic\\\\'s\",\"tommyboy\",\"lamont\",\"meat\",\"masterbating\",\"marianne\",\"marc\",\"gretzky\",\"happyday\",\"frisco\",\"scratch\",\"orchid\",\"orange1\",\"manchest\",\"quincy\",\"unbelievable\",\"aberdeen\",\"dawson\",\"nathalie\",\"ne1469\",\"boxing\",\"hill\",\"korn\",\"intercourse\",\"161616\",\"1985\",\"ziggy\",\"supersta\",\"stoney\",\"senior\",\"amature\",\"barber\",\"babyboy\",\"bcfields\",\"goliath\",\"hack\",\"hardrock\",\"children\",\"frodo\",\"scout\",\"scrappy\",\"rosie\",\"qazqaz\",\"tracker\",\"active\",\"craving\",\"commando\",\"cohiba\",\"deep\",\"cyclone\",\"dana\",\"bubba69\",\"katie1\",\"mpegs\",\"vsegda\",\"jade\",\"irish1\",\"better\",\"sexy1\",\"sinclair\",\"smelly\",\"squerting\",\"lions\",\"jokers\",\"jeanette\",\"julia\",\"jojojo\",\"meathead\",\"ashley1\",\"groucho\",\"cheetah\",\"champ\",\"firefox\",\"gandalf1\",\"packer\",\"magnolia\",\"love69\",\"tyler1\",\"typhoon\",\"tundra\",\"bobby1\",\"kenworth\",\"village\",\"volley\",\"beth\",\"wolf359\",\"0420\",\"000007\",\"swimmer\",\"skydive\",\"smokes\",\"patty\",\"peugeot\",\"pompey\",\"legolas\",\"kristy\",\"redhot\",\"rodman\",\"redalert\",\"having\",\"grapes\",\"4runner\",\"carrera\",\"floppy\",\"dollars\",\"ou8122\",\"quattro\",\"adams\",\"cloud9\",\"davids\",\"nofear\",\"busty\",\"homemade\",\"mmmmm\",\"whisper\",\"vermont\",\"webmaste\",\"wives\",\"insertion\",\"jayjay\",\"philips\",\"phone\",\"topher\",\"tongue\",\"temptress\",\"midget\",\"ripken\",\"havefun\",\"gretchen\",\"canon\",\"celebrity\",\"five\",\"getting\",\"ghetto\",\"direct\",\"otto\",\"ragnarok\",\"trinidad\",\"usnavy\",\"conover\",\"cruiser\",\"dalshe\",\"nicole1\",\"buzzard\",\"hottest\",\"kingfish\",\"misfit\",\"moore\",\"milfnew\",\"warlord\",\"wassup\",\"bigsexy\",\"blackhaw\",\"zippy\",\"shearer\",\"tights\",\"thursday\",\"kungfu\",\"labia\",\"journey\",\"meatloaf\",\"marlene\",\"rider\",\"area51\",\"batman1\",\"bananas\",\"636363\",\"cancel\",\"ggggg\",\"paradox\",\"mack\",\"lynn\",\"queens\",\"adults\",\"aikido\",\"cigars\",\"nova\",\"hoosier\",\"eeyore\",\"moose1\",\"warez\",\"interacial\",\"streaming\",\"313131\",\"pertinant\",\"pool6123\",\"mayday\",\"rivers\",\"revenge\",\"animated\",\"banker\",\"baddest\",\"gordon24\",\"ccccc\",\"fortune\",\"fantasies\",\"touching\",\"aisan\",\"deadman\",\"homepage\",\"ejaculation\",\"whocares\",\"iscool\",\"jamesbon\",\"1956\",\"1pussy\",\"womam\",\"sweden\",\"skidoo\",\"spock\",\"sssss\",\"petra\",\"pepper1\",\"pinhead\",\"micron\",\"allsop\",\"amsterda\",\"army\",\"aside\",\"gunnar\",\"666999\",\"chip\",\"foot\",\"fowler\",\"february\",\"face\",\"fletch\",\"george1\",\"sapper\",\"science\",\"sasha1\",\"luckydog\",\"lover1\",\"magick\",\"popopo\",\"public\",\"ultima\",\"derek\",\"cypress\",\"booker\",\"businessbabe\",\"brandon1\",\"edwards\",\"experience\",\"vulva\",\"vvvv\",\"jabroni\",\"bigbear\",\"yummy\",\"010203\",\"searay\",\"secret1\",\"showing\",\"sinbad\",\"sexxxx\",\"soleil\",\"software\",\"piccolo\",\"thirteen\",\"leopard\",\"legacy\",\"jensen\",\"justine\",\"memorex\",\"marisa\",\"mathew\",\"redwing\",\"rasputin\",\"134679\",\"anfield\",\"greenbay\",\"gore\",\"catcat\",\"feather\",\"scanner\",\"pa55word\",\"contortionist\",\"danzig\",\"daisy1\",\"hores\",\"erik\",\"exodus\",\"vinnie\",\"iiiiii\",\"zero\",\"1001\",\"subway\",\"tank\",\"second\",\"snapple\",\"sneakers\",\"sonyfuck\",\"picks\",\"poodle\",\"test1234\",\"their\",\"llll\",\"junebug\",\"june\",\"marker\",\"mellon\",\"ronaldo\",\"roadkill\",\"amanda1\",\"asdfjkl\",\"beaches\",\"greene\",\"great1\",\"cheerleaers\",\"force\",\"doitnow\",\"ozzy\",\"madeline\",\"radio\",\"tyson\",\"christian\",\"daphne\",\"boxster\",\"brighton\",\"housewifes\",\"emmanuel\",\"emerson\",\"kkkk\",\"mnbvcx\",\"moocow\",\"vides\",\"wagner\",\"janet\",\"1717\",\"bigmoney\",\"blonds\",\"1000\",\"storys\",\"stereo\",\"4545\",\"420247\",\"seductive\",\"sexygirl\",\"lesbean\",\"live\",\"justin1\",\"124578\",\"animals\",\"balance\",\"hansen\",\"cabbage\",\"canadian\",\"gangbanged\",\"dodge1\",\"dimas\",\"lori\",\"loud\",\"malaka\",\"puss\",\"probes\",\"adriana\",\"coolman\",\"crawford\",\"dante\",\"nacked\",\"hotpussy\",\"erotica\",\"kool\",\"mirror\",\"wearing\",\"implants\",\"intruder\",\"bigass\",\"zenith\",\"woohoo\",\"womans\",\"tanya\",\"tango\",\"stacy\",\"pisces\",\"laguna\",\"krystal\",\"maxell\",\"andyod22\",\"barcelon\",\"chainsaw\",\"chickens\",\"flash1\",\"downtown\",\"orgasms\",\"magicman\",\"profit\",\"pusyy\",\"pothead\",\"coconut\",\"chuckie\",\"contact\",\"clevelan\",\"designer\",\"builder\",\"budweise\",\"hotshot\",\"horizon\",\"hole\",\"experienced\",\"mondeo\",\"wifes\",\"1962\",\"strange\",\"stumpy\",\"smiths\",\"sparks\",\"slacker\",\"piper\",\"pitchers\",\"passwords\",\"laptop\",\"jeremiah\",\"allmine\",\"alliance\",\"bbbbbbb\",\"asscock\",\"halflife\",\"grandma\",\"hayley\",\"88888\",\"cecilia\",\"chacha\",\"saratoga\",\"sandy1\",\"santos\",\"doogie\",\"number\",\"positive\",\"qwert40\",\"transexual\",\"crow\",\"close-up\",\"darrell\",\"bonita\",\"ib6ub9\",\"volvo\",\"jacob1\",\"iiiii\",\"beastie\",\"sunnyday\",\"stoned\",\"sonics\",\"starfire\",\"snapon\",\"pictuers\",\"pepe\",\"testing1\",\"tiberius\",\"lisalisa\",\"lesbain\",\"litle\",\"retard\",\"ripple\",\"austin1\",\"badgirl\",\"golfgolf\",\"flounder\",\"garage\",\"royals\",\"dragoon\",\"dickie\",\"passwor\",\"ocean\",\"majestic\",\"poppop\",\"trailers\",\"dammit\",\"nokia\",\"bobobo\",\"br549\",\"emmitt\",\"knock\",\"minime\",\"mikemike\",\"whitesox\",\"1954\",\"3232\",\"353535\",\"seamus\",\"solo\",\"sparkle\",\"sluttey\",\"pictere\",\"titten\",\"lback\",\"1024\",\"angelina\",\"goodluck\",\"charlton\",\"fingerig\",\"gallaries\",\"goat\",\"ruby\",\"passme\",\"oasis\",\"lockerroom\",\"logan1\",\"rainman\",\"twins\",\"treasure\",\"absolutely\",\"club\",\"custom\",\"cyclops\",\"nipper\",\"bucket\",\"homepage-\",\"hhhhh\",\"momsuck\",\"indain\",\"2345\",\"beerbeer\",\"bimmer\",\"susanne\",\"stunner\",\"stevens\",\"456456\",\"shell\",\"sheba\",\"tootsie\",\"tiny\",\"testerer\",\"reefer\",\"really\",\"1012\",\"harcore\",\"gollum\",\"545454\",\"chico\",\"caveman\",\"carole\",\"fordf150\",\"fishes\",\"gaymen\",\"saleen\",\"doodoo\",\"pa55w0rd\",\"looney\",\"presto\",\"qqqqq\",\"cigar\",\"bogey\",\"brewer\",\"helloo\",\"dutch\",\"kamikaze\",\"monte\",\"wasser\",\"vietnam\",\"visa\",\"japanees\",\"0123\",\"swords\",\"slapper\",\"peach\",\"jump\",\"marvel\",\"masterbaiting\",\"march\",\"redwood\",\"rolling\",\"1005\",\"ametuer\",\"chiks\",\"cathy\",\"callaway\",\"fucing\",\"sadie1\",\"panasoni\",\"mamas\",\"race\",\"rambo\",\"unknown\",\"absolut\",\"deacon\",\"dallas1\",\"housewife\",\"kristi\",\"keywest\",\"kirsten\",\"kipper\",\"morning\",\"wings\",\"idiot\",\"18436572\",\"1515\",\"beating\",\"zxczxc\",\"sullivan\",\"303030\",\"shaman\",\"sparrow\",\"terrapin\",\"jeffery\",\"masturbation\",\"mick\",\"redfish\",\"1492\",\"angus\",\"barrett\",\"goirish\",\"hardcock\",\"felicia\",\"forfun\",\"galary\",\"freeporn\",\"duchess\",\"olivier\",\"lotus\",\"pornographic\",\"ramses\",\"purdue\",\"traveler\",\"crave\",\"brando\",\"enter1\",\"killme\",\"moneyman\",\"welder\",\"windsor\",\"wifey\",\"indon\",\"yyyyy\",\"stretch\",\"taylor1\",\"4417\",\"shopping\",\"picher\",\"pickup\",\"thumbnils\",\"johnboy\",\"jets\",\"jess\",\"maureen\",\"anne\",\"ameteur\",\"amateurs\",\"apollo13\",\"hambone\",\"goldwing\",\"5050\",\"charley\",\"sally1\",\"doghouse\",\"padres\",\"pounding\",\"quest\",\"truelove\",\"underdog\",\"trader\",\"crack\",\"climber\",\"bolitas\",\"bravo\",\"hohoho\",\"model\",\"italian\",\"beanie\",\"beretta\",\"wrestlin\",\"stroker\",\"tabitha\",\"sherwood\",\"sexyman\",\"jewels\",\"johannes\",\"mets\",\"marcos\",\"rhino\",\"bdsm\",\"balloons\",\"goodman\",\"grils\",\"happy123\",\"flamingo\",\"games\",\"route66\",\"devo\",\"dino\",\"outkast\",\"paintbal\",\"magpie\",\"llllllll\",\"twilight\",\"critter\",\"christie\",\"cupcake\",\"nickel\",\"bullseye\",\"krista\",\"knickerless\",\"mimi\",\"murder\",\"videoes\",\"binladen\",\"xerxes\",\"slim\",\"slinky\",\"pinky\",\"peterson\",\"thanatos\",\"meister\",\"menace\",\"ripley\",\"retired\",\"albatros\",\"balloon\",\"bank\",\"goten\",\"5551212\",\"getsdown\",\"donuts\",\"divorce\",\"nwo4life\",\"lord\",\"lost\",\"underwear\",\"tttt\",\"comet\",\"deer\",\"damnit\",\"dddddddd\",\"deeznutz\",\"nasty1\",\"nonono\",\"nina\",\"enterprise\",\"eeeee\",\"misfit99\",\"milkman\",\"vvvvvv\",\"isaac\",\"1818\",\"blueboy\",\"beans\",\"bigbutt\",\"wyatt\",\"tech\",\"solution\",\"poetry\",\"toolman\",\"laurel\",\"juggalo\",\"jetski\",\"meredith\",\"barefoot\",\"50spanks\",\"gobears\",\"scandinavian\",\"original\",\"truman\",\"cubbies\",\"nitram\",\"briana\",\"ebony\",\"kings\",\"warner\",\"bilbo\",\"yumyum\",\"zzzzzzz\",\"stylus\",\"321654\",\"shannon1\",\"server\",\"secure\",\"silly\",\"squash\",\"starman\",\"steeler\",\"staples\",\"phrases\",\"techniques\",\"laser\",\"135790\",\"allan\",\"barker\",\"athens\",\"cbr600\",\"chemical\",\"fester\",\"gangsta\",\"fucku2\",\"freeze\",\"game\",\"salvador\",\"droopy\",\"objects\",\"passwd\",\"lllll\",\"loaded\",\"louis\",\"manchester\",\"losers\",\"vedder\",\"clit\",\"chunky\",\"darkman\",\"damage\",\"buckshot\",\"buddah\",\"boobed\",\"henti\",\"hillary\",\"webber\",\"winter1\",\"ingrid\",\"bigmike\",\"beta\",\"zidane\",\"talon\",\"slave1\",\"pissoff\",\"person\",\"thegreat\",\"living\",\"lexus\",\"matador\",\"readers\",\"riley\",\"roberta\",\"armani\",\"ashlee\",\"goldstar\",\"5656\",\"cards\",\"fmale\",\"ferris\",\"fuking\",\"gaston\",\"fucku\",\"ggggggg\",\"sauron\",\"diggler\",\"pacers\",\"looser\",\"pounded\",\"premier\",\"pulled\",\"town\",\"trisha\",\"triangle\",\"cornell\",\"collin\",\"cosmic\",\"deeper\",\"depeche\",\"norway\",\"bright\",\"helmet\",\"kristine\",\"kendall\",\"mustard\",\"misty1\",\"watch\",\"jagger\",\"bertie\",\"berger\",\"word\",\"3x7pxr\",\"silver1\",\"smoking\",\"snowboar\",\"sonny\",\"paula\",\"penetrating\",\"photoes\",\"lesbens\",\"lambert\",\"lindros\",\"lillian\",\"roadking\",\"rockford\",\"1357\",\"143143\",\"asasas\",\"goodboy\",\"898989\",\"chicago1\",\"card\",\"ferrari1\",\"galeries\",\"godfathe\",\"gawker\",\"gargoyle\",\"gangster\",\"rubble\",\"rrrr\",\"onetime\",\"pussyman\",\"pooppoop\",\"trapper\",\"twenty\",\"abraham\",\"cinder\",\"company\",\"newcastl\",\"boricua\",\"bunny1\",\"boxer\",\"hotred\",\"hockey1\",\"hooper\",\"edward1\",\"evan\",\"kris\",\"misery\",\"moscow\",\"milk\",\"mortgage\",\"bigtit\",\"show\",\"snoopdog\",\"three\",\"lionel\",\"leanne\",\"joshua1\",\"july\",\"1230\",\"assholes\",\"cedric\",\"fallen\",\"farley\",\"gene\",\"frisky\",\"sanity\",\"script\",\"divine\",\"dharma\",\"lucky13\",\"property\",\"tricia\",\"akira\",\"desiree\",\"broadway\",\"butterfly\",\"hunt\",\"hotbox\",\"hootie\",\"heat\",\"howdy\",\"earthlink\",\"karma\",\"kiteboy\",\"motley\",\"westwood\",\"1988\",\"bert\",\"blackbir\",\"biggles\",\"wrench\",\"working\",\"wrestle\",\"slippery\",\"pheonix\",\"penny1\",\"pianoman\",\"tomorrow\",\"thedude\",\"jenn\",\"jonjon\",\"jones1\",\"mattie\",\"memory\",\"micheal\",\"roadrunn\",\"arrow\",\"attitude\",\"azzer\",\"seahawks\",\"diehard\",\"dotcom\",\"lola\",\"tunafish\",\"chivas\",\"cinnamon\",\"clouds\",\"deluxe\",\"northern\",\"nuclear\",\"north\",\"boom\",\"boobie\",\"hurley\",\"krishna\",\"momomo\",\"modles\",\"volume\",\"23232323\",\"bluedog\",\"wwwwwww\",\"zerocool\",\"yousuck\",\"pluto\",\"limewire\",\"link\",\"joung\",\"marcia\",\"awnyce\",\"gonavy\",\"haha\",\"films+pic+galeries\",\"fabian\",\"francois\",\"girsl\",\"fuckthis\",\"girfriend\",\"rufus\",\"drive\",\"uncencored\",\"a123456\",\"airport\",\"clay\",\"chrisbln\",\"combat\",\"cygnus\",\"cupoi\",\"never\",\"netscape\",\"brett\",\"hhhhhhhh\",\"eagles1\",\"elite\",\"knockers\",\"kendra\",\"mommy\",\"1958\",\"tazmania\",\"shonuf\",\"piano\",\"pharmacy\",\"thedog\",\"lips\",\"jillian\",\"jenkins\",\"midway\",\"arsenal1\",\"anaconda\",\"australi\",\"gromit\",\"gotohell\",\"787878\",\"66666\",\"carmex2\",\"camber\",\"gator1\",\"ginger1\",\"fuzzy\",\"seadoo\",\"dorian\",\"lovesex\",\"rancid\",\"uuuuuu\",\"911911\",\"nature\",\"bulldog1\",\"helen\",\"health\",\"heater\",\"higgins\",\"kirk\",\"monalisa\",\"mmmmmmm\",\"whiteout\",\"virtual\",\"ventura\",\"jamie1\",\"japanes\",\"james007\",\"2727\",\"2469\",\"blam\",\"bitchass\",\"believe\",\"zephyr\",\"stiffy\",\"sweet1\",\"silent\",\"southpar\",\"spectre\",\"tigger1\",\"tekken\",\"lenny\",\"lakota\",\"lionking\",\"jjjjjjj\",\"medical\",\"megatron\",\"1369\",\"hawaiian\",\"gymnastic\",\"golfer1\",\"gunners\",\"7779311\",\"515151\",\"famous\",\"glass\",\"screen\",\"rudy\",\"royal\",\"sanfran\",\"drake\",\"optimus\",\"panther1\",\"love1\",\"mail\",\"maggie1\",\"pudding\",\"venice\",\"aaron1\",\"delphi\",\"niceass\",\"bounce\",\"busted\",\"house1\",\"killer1\",\"miracle\",\"momo\",\"musashi\",\"jammin\",\"2003\",\"234567\",\"wp2003wp\",\"submit\",\"silence\",\"sssssss\",\"state\",\"spikes\",\"sleeper\",\"passwort\",\"toledo\",\"kume\",\"media\",\"meme\",\"medusa\",\"mantis\",\"remote\",\"reading\",\"reebok\",\"1017\",\"artemis\",\"hampton\",\"harry1\",\"cafc91\",\"fettish\",\"friendly\",\"oceans\",\"oooooooo\",\"mango\",\"ppppp\",\"trainer\",\"troy\",\"uuuu\",\"909090\",\"cross\",\"death1\",\"news\",\"bullfrog\",\"hokies\",\"holyshit\",\"eeeeeee\",\"mitch\",\"jasmine1\",\"&amp\",\"&amp;\",\"sergeant\",\"spinner\",\"leon\",\"jockey\",\"records\",\"right\",\"babyblue\",\"hans\",\"gooner\",\"474747\",\"cheeks\",\"cars\",\"candice\",\"fight\",\"glow\",\"pass1234\",\"parola\",\"okokok\",\"pablo\",\"magical\",\"major\",\"ramsey\",\"poseidon\",\"989898\",\"confused\",\"circle\",\"crusher\",\"cubswin\",\"nnnn\",\"hollywood\",\"erin\",\"kotaku\",\"milo\",\"mittens\",\"whatsup\",\"vvvvv\",\"iomega\",\"insertions\",\"bengals\",\"bermuda\",\"biit\",\"yellow1\",\"012345\",\"spike1\",\"south\",\"sowhat\",\"pitures\",\"peacock\",\"pecker\",\"theend\",\"juliette\",\"jimmie\",\"romance\",\"augusta\",\"hayabusa\",\"hawkeyes\",\"castro\",\"florian\",\"geoffrey\",\"dolly\",\"lulu\",\"qaz123\",\"usarmy\",\"twinkle\",\"cloud\",\"chuckles\",\"cold\",\"hounddog\",\"hover\",\"hothot\",\"europa\",\"ernie\",\"kenshin\",\"kojak\",\"mikey1\",\"water1\",\"196969\",\"because\",\"wraith\",\"zebra\",\"wwwww\",\"33333\",\"simon1\",\"spider1\",\"snuffy\",\"philippe\",\"thunderb\",\"teddy1\",\"lesley\",\"marino13\",\"maria1\",\"redline\",\"renault\",\"aloha\",\"antoine\",\"handyman\",\"cerberus\",\"gamecock\",\"gobucks\",\"freesex\",\"duffman\",\"ooooo\",\"papa\",\"nuggets\",\"magician\",\"longbow\",\"preacher\",\"porno1\",\"county\",\"chrysler\",\"contains\",\"dalejr\",\"darius\",\"darlene\",\"dell\",\"navy\",\"buffy1\",\"hedgehog\",\"hoosiers\",\"honey1\",\"hott\",\"heyhey\",\"europe\",\"dutchess\",\"everest\",\"wareagle\",\"ihateyou\",\"sunflowe\",\"3434\",\"senators\",\"shag\",\"spoon\",\"sonoma\",\"stalker\",\"poochie\",\"terminal\",\"terefon\",\"laurence\",\"maradona\",\"maryann\",\"marty\",\"roman\",\"1007\",\"142536\",\"alibaba\",\"america1\",\"bartman\",\"astro\",\"goth\",\"century\",\"chicken1\",\"cheater\",\"four\",\"ghost1\",\"passpass\",\"oral\",\"r2d2c3po\",\"civic\",\"cicero\",\"myxworld\",\"kkkkk\",\"missouri\",\"wishbone\",\"infiniti\",\"jameson\",\"1a2b3c\",\"1qwerty\",\"wonderboy\",\"skip\",\"shojou\",\"stanford\",\"sparky1\",\"smeghead\",\"poiuy\",\"titanium\",\"torres\",\"lantern\",\"jelly\",\"jeanne\",\"meier\",\"1213\",\"bayern\",\"basset\",\"gsxr750\",\"cattle\",\"charlene\",\"fishing1\",\"fullmoon\",\"gilles\",\"dima\",\"obelix\",\"popo\",\"prissy\",\"ramrod\",\"unique\",\"absolute\",\"bummer\",\"hotone\",\"dynasty\",\"entry\",\"konyor\",\"missy1\",\"moses\",\"282828\",\"yeah\",\"xyz123\",\"stop\",\"426hemi\",\"404040\",\"seinfeld\",\"simmons\",\"pingpong\",\"lazarus\",\"matthews\",\"marine1\",\"manning\",\"recovery\",\"12345a\",\"beamer\",\"babyface\",\"greece\",\"gustav\",\"7007\",\"charity\",\"camilla\",\"ccccccc\",\"faggot\",\"foxy\",\"frozen\",\"gladiato\",\"duckie\",\"dogfood\",\"paranoid\",\"packers1\",\"longjohn\",\"radical\",\"tuna\",\"clarinet\",\"claudio\",\"circus\",\"danny1\",\"novell\",\"nights\",\"bonbon\",\"kashmir\",\"kiki\",\"mortimer\",\"modelsne\",\"moondog\",\"monaco\",\"vladimir\",\"insert\",\"1953\",\"zxc123\",\"supreme\",\"3131\",\"sexxx\",\"selena\",\"softail\",\"poipoi\",\"pong\",\"together\",\"mars\",\"martin1\",\"rogue\",\"alone\",\"avalanch\",\"audia4\",\"55bgates\",\"cccccccc\",\"chick\",\"came11\",\"figaro\",\"geneva\",\"dogboy\",\"dnsadm\",\"dipshit\",\"paradigm\",\"othello\",\"operator\",\"officer\",\"malone\",\"post\",\"rafael\",\"valencia\",\"tripod\",\"choice\",\"chopin\",\"coucou\",\"coach\",\"cocksuck\",\"common\",\"creature\",\"borussia\",\"book\",\"browning\",\"heritage\",\"hiziad\",\"homerj\",\"eight\",\"earth\",\"millions\",\"mullet\",\"whisky\",\"jacques\",\"store\",\"4242\",\"speedo\",\"starcraf\",\"skylar\",\"spaceman\",\"piggy\",\"pierce\",\"tiger2\",\"legos\",\"lala\",\"jezebel\",\"judy\",\"joker1\",\"mazda\",\"barton\",\"baker\",\"727272\",\"chester1\",\"fishman\",\"food\",\"rrrrrrrr\",\"sandwich\",\"dundee\",\"lumber\",\"magazine\",\"radar\",\"ppppppp\",\"tranny\",\"aaliyah\",\"admiral\",\"comics\",\"cleo\",\"delight\",\"buttfuck\",\"homeboy\",\"eternal\",\"kilroy\",\"kellie\",\"khan\",\"violin\",\"wingman\",\"walmart\",\"bigblue\",\"blaze\",\"beemer\",\"beowulf\",\"bigfish\",\"yyyyyyy\",\"woodie\",\"yeahbaby\",\"0123456\",\"tbone\",\"style\",\"syzygy\",\"starter\",\"lemon\",\"linda1\",\"merlot\",\"mexican\",\"11235813\",\"anita\",\"banner\",\"bangbang\",\"badman\",\"barfly\",\"grease\",\"carla\",\"charles1\",\"ffffffff\",\"screw\",\"doberman\",\"diane\",\"dogshit\",\"overkill\",\"counter\",\"coolguy\",\"claymore\",\"demons\",\"demo\",\"nomore\",\"normal\",\"brewster\",\"hhhhhhh\",\"hondas\",\"iamgod\",\"enterme\",\"everett\",\"electron\",\"eastside\",\"kayla\",\"minimoni\",\"mybaby\",\"wildbill\",\"wildcard\",\"ipswich\",\"200000\",\"bearcat\",\"zigzag\",\"yyyyyyyy\",\"xander\",\"sweetnes\",\"369369\",\"skyler\",\"skywalker\",\"pigeon\",\"peyton\",\"tipper\",\"lilly\",\"asdf123\",\"alphabet\",\"asdzxc\",\"babybaby\",\"banane\",\"barnes\",\"guyver\",\"graphics\",\"grand\",\"chinook\",\"florida1\",\"flexible\",\"fuckinside\",\"otis\",\"ursitesux\",\"tototo\",\"trust\",\"tower\",\"adam12\",\"christma\",\"corey\",\"chrome\",\"buddie\",\"bombers\",\"bunker\",\"hippie\",\"keegan\",\"misfits\",\"vickie\",\"292929\",\"woofer\",\"wwwwwwww\",\"stubby\",\"sheep\",\"secrets\",\"sparta\",\"stang\",\"spud\",\"sporty\",\"pinball\",\"jorge\",\"just4fun\",\"johanna\",\"maxxxx\",\"rebecca1\",\"gunther\",\"fatima\",\"fffffff\",\"freeway\",\"garion\",\"score\",\"rrrrr\",\"sancho\",\"outback\",\"maggot\",\"puddin\",\"trial\",\"adrienne\",\"987456\",\"colton\",\"clyde\",\"brain\",\"brains\",\"hoops\",\"eleanor\",\"dwayne\",\"kirby\",\"mydick\",\"villa\",\"19691969\",\"bigcat\",\"becker\",\"shiner\",\"silverad\",\"spanish\",\"templar\",\"lamer\",\"juicy\",\"marsha\",\"mike1\",\"maximum\",\"rhiannon\",\"real\",\"1223\",\"10101010\",\"arrows\",\"andres\",\"alucard\",\"baldwin\",\"baron\",\"avenue\",\"ashleigh\",\"haggis\",\"channel\",\"cheech\",\"safari\",\"ross\",\"dog123\",\"orion1\",\"paloma\",\"qwerasdf\",\"presiden\",\"vegitto\",\"trees\",\"969696\",\"adonis\",\"colonel\",\"cookie1\",\"newyork1\",\"brigitte\",\"buddyboy\",\"hellos\",\"heineken\",\"dwight\",\"eraser\",\"kerstin\",\"motion\",\"moritz\",\"millwall\",\"visual\",\"jaybird\",\"1983\",\"beautifu\",\"bitter\",\"yvette\",\"zodiac\",\"steven1\",\"sinister\",\"slammer\",\"smashing\",\"slick1\",\"sponge\",\"teddybea\",\"theater\",\"this\",\"ticklish\",\"lipstick\",\"jonny\",\"massage\",\"mann\",\"reynolds\",\"ring\",\"1211\",\"amazing\",\"aptiva\",\"applepie\",\"bailey1\",\"guitar1\",\"chanel\",\"canyon\",\"gagged\",\"fuckme1\",\"rough\",\"digital1\",\"dinosaur\",\"punk\",\"98765\",\"90210\",\"clowns\",\"cubs\",\"daniels\",\"deejay\",\"nigga\",\"naruto\",\"boxcar\",\"icehouse\",\"hotties\",\"electra\",\"kent\",\"widget\",\"india\",\"insanity\",\"1986\",\"2004\",\"best\",\"bluefish\",\"bingo1\",\"*****\",\"stratus\",\"strength\",\"sultan\",\"storm1\",\"44444\",\"4200\",\"sentnece\",\"season\",\"sexyboy\",\"sigma\",\"smokie\",\"spam\",\"point\",\"pippo\",\"ticket\",\"temppass\",\"joel\",\"manman\",\"medicine\",\"1022\",\"anton\",\"almond\",\"bacchus\",\"aztnm\",\"axio\",\"awful\",\"bamboo\",\"hakr\",\"gregor\",\"hahahaha\",\"5678\",\"casanova\",\"caprice\",\"camero1\",\"fellow\",\"fountain\",\"dupont\",\"dolphin1\",\"dianne\",\"paddle\",\"magnet\",\"qwert1\",\"pyon\",\"porsche1\",\"tripper\",\"vampires\",\"coming\",\"noway\",\"burrito\",\"bozo\",\"highheel\",\"hughes\",\"hookem\",\"eddie1\",\"ellie\",\"entropy\",\"kkkkkkkk\",\"kkkkkkk\",\"illinois\",\"jacobs\",\"1945\",\"1951\",\"24680\",\"21212121\",\"100000\",\"stonecold\",\"taco\",\"subzero\",\"sharp\",\"sexxxy\",\"skolko\",\"shanna\",\"skyhawk\",\"spurs1\",\"sputnik\",\"piazza\",\"testpass\",\"letter\",\"lane\",\"kurt\",\"jiggaman\",\"matilda\",\"1224\",\"harvard\",\"hannah1\",\"525252\",\"4ever\",\"carbon\",\"chef\",\"federico\",\"ghosts\",\"gina\",\"scorpio1\",\"rt6ytere\",\"madison1\",\"loki\",\"raquel\",\"promise\",\"coolness\",\"christina\",\"coldbeer\",\"citadel\",\"brittney\",\"highway\",\"evil\",\"monarch\",\"morgan1\",\"washingt\",\"1997\",\"bella1\",\"berry\",\"yaya\",\"yolanda\",\"superb\",\"taxman\",\"studman\",\"stephanie\",\"3636\",\"sherri\",\"sheriff\",\"shepherd\",\"poland\",\"pizzas\",\"tiffany1\",\"toilet\",\"latina\",\"lassie\",\"larry1\",\"joseph1\",\"mephisto\",\"meagan\",\"marian\",\"reptile\",\"rico\",\"razor\",\"1013\",\"barron\",\"hammer1\",\"gypsy\",\"grande\",\"carroll\",\"camper\",\"chippy\",\"cat123\",\"call\",\"chimera\",\"fiesta\",\"glock\",\"glenn\",\"domain\",\"dieter\",\"dragonba\",\"onetwo\",\"nygiants\",\"odessa\",\"password2\",\"louie\",\"quartz\",\"prowler\",\"prophet\",\"towers\",\"ultra\",\"cocker\",\"corleone\",\"dakota1\",\"cumm\",\"nnnnnnn\",\"natalia\",\"boxers\",\"hugo\",\"heynow\",\"hollow\",\"iceberg\",\"elvira\",\"kittykat\",\"kate\",\"kitchen\",\"wasabi\",\"vikings1\",\"impact\",\"beerman\",\"string\",\"sleep\",\"splinter\",\"snoopy1\",\"pipeline\",\"pocket\",\"legs\",\"maple\",\"mickey1\",\"manuela\",\"mermaid\",\"micro\",\"meowmeow\",\"redbird\",\"alisha\",\"baura\",\"battery\",\"grass\",\"chevys\",\"chestnut\",\"caravan\",\"carina\",\"charmed\",\"fraser\",\"frogman\",\"diving\",\"dogger\",\"draven\",\"drifter\",\"oatmeal\",\"paris1\",\"longdong\",\"quant4307s\",\"rachel1\",\"vegitta\",\"cole\",\"cobras\",\"corsair\",\"dadada\",\"noelle\",\"mylife\",\"nine\",\"bowwow\",\"body\",\"hotrats\",\"eastwood\",\"moonligh\",\"modena\",\"wave\",\"illusion\",\"iiiiiii\",\"jayhawks\",\"birgit\",\"zone\",\"sutton\",\"susana\",\"swingers\",\"shocker\",\"shrimp\",\"sexgod\",\"squall\",\"stefanie\",\"squeeze\",\"soul\",\"patrice\",\"poiu\",\"players\",\"tigers1\",\"toejam\",\"tickler\",\"line\",\"julie1\",\"jimbo1\",\"jefferso\",\"juanita\",\"michael2\",\"rodeo\",\"robot\",\"1023\",\"annie1\",\"bball\",\"guess\",\"happy2\",\"charter\",\"farm\",\"flasher\",\"falcon1\",\"fiction\",\"fastball\",\"gadget\",\"scrabble\",\"diaper\",\"dirtbike\",\"dinner\",\"oliver1\",\"partner\",\"paco\",\"lucille\",\"macman\",\"poopy\",\"popper\",\"postman\",\"ttttttt\",\"ursula\",\"acura\",\"cowboy1\",\"conan\",\"daewoo\",\"cyrus\",\"customer\",\"nation\",\"nemrac58\",\"nnnnn\",\"nextel\",\"bolton\",\"bobdylan\",\"hopeless\",\"eureka\",\"extra\",\"kimmie\",\"kcj9wx5n\",\"killbill\",\"musica\",\"volkswag\",\"wage\",\"windmill\",\"wert\",\"vintage\",\"iloveyou1\",\"itsme\",\"bessie\",\"zippo\",\"311311\",\"starligh\",\"smokey1\",\"spot\",\"snappy\",\"soulmate\",\"plasma\",\"thelma\",\"tonight\",\"krusty\",\"just4me\",\"mcdonald\",\"marius\",\"rochelle\",\"rebel1\",\"1123\",\"alfredo\",\"aubrey\",\"audi\",\"chantal\",\"fick\",\"goaway\",\"roses\",\"sales\",\"rusty2\",\"dirt\",\"dogbone\",\"doofus\",\"ooooooo\",\"oblivion\",\"mankind\",\"luck\",\"mahler\",\"lllllll\",\"pumper\",\"puck\",\"pulsar\",\"valkyrie\",\"tupac\",\"compass\",\"concorde\",\"costello\",\"cougars\",\"delaware\",\"niceguy\",\"nocturne\",\"bob123\",\"boating\",\"bronze\",\"hopkins\",\"herewego\",\"hewlett\",\"houhou\",\"hubert\",\"earnhard\",\"eeeeeeee\",\"keller\",\"mingus\",\"mobydick\",\"venture\",\"verizon\",\"imation\",\"1950\",\"1948\",\"1949\",\"223344\",\"bigbig\",\"blossom\",\"zack\",\"wowwow\",\"sissy\",\"skinner\",\"spiker\",\"square\",\"snooker\",\"sluggo\",\"player1\",\"junk\",\"jeannie\",\"jsbach\",\"jumbo\",\"jewel\",\"medic\",\"robins\",\"reddevil\",\"reckless\",\"123456a\",\"1125\",\"1031\",\"beacon\",\"astra\",\"gumby\",\"hammond\",\"hassan\",\"757575\",\"585858\",\"chillin\",\"fuck1\",\"sander\",\"lowell\",\"radiohea\",\"upyours\",\"trek\",\"courage\",\"coolcool\",\"classics\",\"choochoo\",\"darryl\",\"nikki1\",\"nitro\",\"bugs\",\"boytoy\",\"ellen\",\"excite\",\"kirsty\",\"kane\",\"wingnut\",\"wireless\",\"icu812\",\"1master\",\"beatle\",\"bigblock\",\"blanca\",\"wolfen\",\"summer99\",\"sugar1\",\"tartar\",\"sexysexy\",\"senna\",\"sexman\",\"sick\",\"someone\",\"soprano\",\"pippin\",\"platypus\",\"pixies\",\"telephon\",\"land\",\"laura1\",\"laurent\",\"rimmer\",\"road\",\"report\",\"1020\",\"12qwaszx\",\"arturo\",\"around\",\"hamish\",\"halifax\",\"fishhead\",\"forum\",\"dododo\",\"doit\",\"outside\",\"paramedi\",\"lonesome\",\"mandy1\",\"twist\",\"uuuuu\",\"uranus\",\"ttttt\",\"butcher\",\"bruce1\",\"helper\",\"hopeful\",\"eduard\",\"dusty1\",\"kathy1\",\"katherin\",\"moonbeam\",\"muscles\",\"monster1\",\"monkeybo\",\"morton\",\"windsurf\",\"vvvvvvv\",\"vivid\",\"install\",\"1947\",\"187187\",\"1941\",\"1952\",\"tatiana\",\"susan1\",\"31415926\",\"sinned\",\"sexxy\",\"senator\",\"sebastian\",\"shadows\",\"smoothie\",\"snowflak\",\"playstat\",\"playa\",\"playboy1\",\"toaster\",\"jerry1\",\"marie1\",\"mason1\",\"merlin1\",\"roger1\",\"roadster\",\"112358\",\"1121\",\"andrea1\",\"bacardi\",\"auto\",\"hardware\",\"hardy\",\"789789\",\"5555555\",\"captain1\",\"flores\",\"fergus\",\"sascha\",\"rrrrrrr\",\"dome\",\"onion\",\"nutter\",\"lololo\",\"qqqqqqq\",\"quick\",\"undertak\",\"uuuuuuuu\",\"uuuuuuu\",\"criminal\",\"cobain\",\"cindy1\",\"coors\",\"dani\",\"descent\",\"nimbus\",\"nomad\",\"nanook\",\"norwich\",\"bomb\",\"bombay\",\"broker\",\"hookup\",\"kiwi\",\"winners\",\"jackpot\",\"1a2b3c4d\",\"1776\",\"beardog\",\"bighead\",\"blast\",\"bird33\",\"0987\",\"stress\",\"shot\",\"spooge\",\"pelican\",\"peepee\",\"perry\",\"pointer\",\"titan\",\"thedoors\",\"jeremy1\",\"annabell\",\"altima\",\"baba\",\"hallie\",\"hate\",\"hardone\",\"5454\",\"candace\",\"catwoman\",\"flip\",\"faithful\",\"finance\",\"farmboy\",\"farscape\",\"genesis1\",\"salomon\",\"destroy\",\"papers\",\"option\",\"page\",\"loser1\",\"lopez\",\"r2d2\",\"pumpkins\",\"training\",\"chriss\",\"cumcum\",\"ninjas\",\"ninja1\",\"hung\",\"erika\",\"eduardo\",\"killers\",\"miller1\",\"islander\",\"jamesbond\",\"intel\",\"jarvis\",\"19841984\",\"2626\",\"bizzare\",\"blue12\",\"biker\",\"yoyoma\",\"sushi\",\"styles\",\"shitface\",\"series\",\"shanti\",\"spanker\",\"steffi\",\"smart\",\"sphinx\",\"please1\",\"paulie\",\"pistons\",\"tiburon\",\"limited\",\"maxwell1\",\"mdogg\",\"rockies\",\"armstron\",\"alexia\",\"arlene\",\"alejandr\",\"arctic\",\"banger\",\"audio\",\"asimov\",\"augustus\",\"grandpa\",\"753951\",\"4you\",\"chilly\",\"care1839\",\"chapman\",\"flyfish\",\"fantasia\",\"freefall\",\"santa\",\"sandrine\",\"oreo\",\"ohshit\",\"macbeth\",\"madcat\",\"loveya\",\"mallory\",\"rage\",\"quentin\",\"qwerqwer\",\"project\",\"ramirez\",\"colnago\",\"citizen\",\"chocha\",\"cobalt\",\"crystal1\",\"dabears\",\"nevets\",\"nineinch\",\"broncos1\",\"helene\",\"huge\",\"edgar\",\"epsilon\",\"easter\",\"kestrel\",\"moron\",\"virgil\",\"winston1\",\"warrior1\",\"iiiiiiii\",\"iloveyou2\",\"1616\",\"beat\",\"bettina\",\"woowoo\",\"zander\",\"straight\",\"shower\",\"sloppy\",\"specialk\",\"tinkerbe\",\"jellybea\",\"reader\",\"romero\",\"redsox1\",\"ride\",\"1215\",\"1112\",\"annika\",\"arcadia\",\"answer\",\"baggio\",\"base\",\"guido\",\"555666\",\"carmel\",\"cayman\",\"cbr900rr\",\"chips\",\"gabriell\",\"gertrude\",\"glennwei\",\"roxy\",\"sausages\",\"disco\",\"pass1\",\"luna\",\"lovebug\",\"macmac\",\"queenie\",\"puffin\",\"vanguard\",\"trip\",\"trinitro\",\"airwolf\",\"abbott\",\"aaa111\",\"cocaine\",\"cisco\",\"cottage\",\"dayton\",\"deadly\",\"datsun\",\"bricks\",\"bumper\",\"eldorado\",\"kidrock\",\"wizard1\",\"whiskers\",\"wind\",\"wildwood\",\"istheman\",\"interest\",\"italy\",\"25802580\",\"benoit\",\"bigones\",\"woodland\",\"wolfpac\",\"strawber\",\"suicide\",\"3030\",\"sheba1\",\"sixpack\",\"peace1\",\"physics\",\"pearson\",\"tigger2\",\"toad\",\"megan1\",\"meow\",\"ringo\",\"roll\",\"amsterdam\",\"717171\",\"686868\",\"5424\",\"catherine\",\"canuck\",\"football1\",\"footjob\",\"fulham\",\"seagull\",\"orgy\",\"lobo\",\"mancity\",\"truth\",\"trace\",\"vancouve\",\"vauxhall\",\"acidburn\",\"derf\",\"myspace1\",\"boozer\",\"buttercu\",\"howell\",\"hola\",\"easton\",\"minemine\",\"munch\",\"jared\",\"1dragon\",\"biology\",\"bestbuy\",\"bigpoppa\",\"blackout\",\"blowfish\",\"bmw325\",\"bigbob\",\"stream\",\"talisman\",\"tazz\",\"sundevil\",\"3333333\",\"skate\",\"shutup\",\"shanghai\",\"shop\",\"spencer1\",\"slowhand\",\"polish\",\"pinky1\",\"tootie\",\"thecrow\",\"leroy\",\"jonathon\",\"jubilee\",\"jingle\",\"martine\",\"matrix1\",\"manowar\",\"michaels\",\"messiah\",\"mclaren\",\"resident\",\"reilly\",\"redbaron\",\"rollins\",\"romans\",\"return\",\"rivera\",\"andromed\",\"athlon\",\"beach1\",\"badgers\",\"guitars\",\"harald\",\"harddick\",\"gotribe\",\"6996\",\"7grout\",\"5wr2i7h8\",\"635241\",\"chase1\",\"carver\",\"charlotte\",\"fallout\",\"fiddle\",\"fredrick\",\"fenris\",\"francesc\",\"fortuna\",\"ferguson\",\"fairlane\",\"felipe\",\"felix1\",\"forward\",\"gasman\",\"frost\",\"fucks\",\"sahara\",\"sassy1\",\"dogpound\",\"dogbert\",\"divx1\",\"manila\",\"loretta\",\"priest\",\"pornporn\",\"quasar\",\"venom\",\"987987\",\"access1\",\"clippers\",\"daylight\",\"decker\",\"daman\",\"data\",\"dentist\",\"crusty\",\"nathan1\",\"nnnnnnnn\",\"bruno1\",\"bucks\",\"brodie\",\"budapest\",\"kittens\",\"kerouac\",\"mother1\",\"waldo1\",\"wedding\",\"whistler\",\"whatwhat\",\"wanderer\",\"idontkno\",\"1942\",\"1946\",\"bigdawg\",\"bigpimp\",\"zaqwsx\",\"414141\",\"3000gt\",\"434343\",\"shoes\",\"serpent\",\"starr\",\"smurf\",\"pasword\",\"tommie\",\"thisisit\",\"lake\",\"john1\",\"robotics\",\"redeye\",\"rebelz\",\"1011\",\"alatam\",\"asses\",\"asians\",\"bama\",\"banzai\",\"harvest\",\"gonzalez\",\"hair\",\"hanson\",\"575757\",\"5329\",\"cascade\",\"chinese\",\"fatty\",\"fender1\",\"flower2\",\"funky\",\"sambo\",\"drummer1\",\"dogcat\",\"dottie\",\"oedipus\",\"osama\",\"macleod\",\"prozac\",\"private1\",\"rampage\",\"punch\",\"presley\",\"concord\",\"cook\",\"cinema\",\"cornwall\",\"cleaner\",\"christopher\",\"ciccio\",\"corinne\",\"clutch\",\"corvet07\",\"daemon\",\"bruiser\",\"boiler\",\"hjkl\",\"eyes\",\"egghead\",\"expert\",\"ethan\",\"kasper\",\"mordor\",\"wasted\",\"jamess\",\"iverson3\",\"bluesman\",\"zouzou\",\"090909\",\"1002\",\"switch\",\"stone1\",\"4040\",\"sisters\",\"sexo\",\"shawna\",\"smith1\",\"sperma\",\"sneaky\",\"polska\",\"thewho\",\"terminat\",\"krypton\",\"lawson\",\"library\",\"lekker\",\"jules\",\"johnson1\",\"johann\",\"justus\",\"rockie\",\"romano\",\"aspire\",\"bastards\",\"goodie\",\"cheese1\",\"fenway\",\"fishon\",\"fishin\",\"fuckoff1\",\"girls1\",\"sawyer\",\"dolores\",\"desmond\",\"duane\",\"doomsday\",\"pornking\",\"ramones\",\"rabbits\",\"transit\",\"aaaaa1\",\"clock\",\"delilah\",\"noel\",\"boyz\",\"bookworm\",\"bongo\",\"bunnies\",\"brady\",\"buceta\",\"highbury\",\"henry1\",\"heels\",\"eastern\",\"krissy\",\"mischief\",\"mopar\",\"ministry\",\"vienna\",\"weston\",\"wildone\",\"vodka\",\"jayson\",\"bigbooty\",\"beavis1\",\"betsy\",\"xxxxxx1\",\"yogibear\",\"000001\",\"0815\",\"zulu\",\"420000\",\"september\",\"sigmar\",\"sprout\",\"stalin\",\"peggy\",\"patch\",\"lkjhgfds\",\"lagnaf\",\"rolex\",\"redfox\",\"referee\",\"123123123\",\"1231\",\"angus1\",\"ariana\",\"ballin\",\"attila\",\"hall\",\"greedy\",\"grunt\",\"747474\",\"carpedie\",\"cecile\",\"caramel\",\"foxylady\",\"field\",\"gatorade\",\"gidget\",\"futbol\",\"frosch\",\"saiyan\",\"schmidt\",\"drums\",\"donner\",\"doggy1\",\"drum\",\"doudou\",\"pack\",\"pain\",\"nutmeg\",\"quebec\",\"valdepen\",\"trash\",\"triple\",\"tosser\",\"tuscl\",\"track\",\"comfort\",\"choke\",\"comein\",\"cola\",\"deputy\",\"deadpool\",\"bremen\",\"borders\",\"bronson\",\"break\",\"hotass\",\"hotmail1\",\"eskimo\",\"eggman\",\"koko\",\"kieran\",\"katrin\",\"kordell1\",\"komodo\",\"mone\",\"munich\",\"vvvvvvvv\",\"winger\",\"jaeger\",\"ivan\",\"jackson5\",\"2222222\",\"bergkamp\",\"bennie\",\"bigben\",\"zanzibar\",\"worm\",\"xxx123\",\"sunny1\",\"373737\",\"services\",\"sheridan\",\"slater\",\"slayer1\",\"snoop\",\"stacie\",\"peachy\",\"thecure\",\"times\",\"little1\",\"jennaj\",\"marquis\",\"middle\",\"rasta69\",\"1114\",\"aries\",\"havana\",\"gratis\",\"calgary\",\"checkers\",\"flanker\",\"salope\",\"dirty1\",\"draco\",\"dogface\",\"luv2epus\",\"rainbow6\",\"qwerty123\",\"umpire\",\"turnip\",\"vbnm\",\"tucson\",\"troll\",\"aileen\",\"codered\",\"commande\",\"damon\",\"nana\",\"neon\",\"nico\",\"nightwin\",\"neil\",\"boomer1\",\"bushido\",\"hotmail0\",\"horace\",\"enternow\",\"kaitlyn\",\"keepout\",\"karen1\",\"mindy\",\"mnbv\",\"viewsoni\",\"volcom\",\"wizards\",\"wine\",\"1995\",\"berkeley\",\"bite\",\"zach\",\"woodstoc\",\"tarpon\",\"shinobi\",\"starstar\",\"phat\",\"patience\",\"patrol\",\"toolbox\",\"julien\",\"johnny1\",\"joebob\",\"marble\",\"riders\",\"reflex\",\"120676\",\"1235\",\"angelus\",\"anthrax\",\"atlas\",\"hawks\",\"grandam\",\"harlem\",\"hawaii50\",\"gorgeous\",\"655321\",\"cabron\",\"challeng\",\"callisto\",\"firewall\",\"firefire\",\"fischer\",\"flyer\",\"flower1\",\"factory\",\"federal\",\"gambler\",\"frodo1\",\"funk\",\"sand\",\"sam123\",\"scania\",\"dingo\",\"papito\",\"passmast\",\"olive\",\"palermo\",\"ou8123\",\"lock\",\"ranch\",\"pride\",\"randy1\",\"twiggy\",\"travis1\",\"transfer\",\"treetop\",\"addict\",\"admin1\",\"963852\",\"aceace\",\"clarissa\",\"cliff\",\"cirrus\",\"clifton\",\"colin\",\"bobdole\",\"bonner\",\"bogus\",\"bonjovi\",\"bootsy\",\"boater\",\"elway7\",\"edison\",\"kelvin\",\"kenny1\",\"moonshin\",\"montag\",\"moreno\",\"wayne1\",\"white1\",\"jazzy\",\"jakejake\",\"1994\",\"1991\",\"2828\",\"blunt\",\"bluejays\",\"beau\",\"belmont\",\"worthy\",\"systems\",\"sensei\",\"southpark\",\"stan\",\"peeper\",\"pharao\",\"pigpen\",\"tomahawk\",\"teensex\",\"leedsutd\",\"larkin\",\"jermaine\",\"jeepster\",\"jimjim\",\"josephin\",\"melons\",\"marlon\",\"matthias\",\"marriage\",\"robocop\",\"1003\",\"1027\",\"antelope\",\"azsxdc\",\"gordo\",\"hazard\",\"granada\",\"8989\",\"7894\",\"ceasar\",\"cabernet\",\"cheshire\",\"california\",\"chelle\",\"candy1\",\"fergie\",\"fanny\",\"fidelio\",\"giorgio\",\"fuckhead\",\"ruth\",\"sanford\",\"diego\",\"dominion\",\"devon\",\"panic\",\"longer\",\"mackie\",\"qawsed\",\"trucking\",\"twelve\",\"chloe1\",\"coral\",\"daddyo\",\"nostromo\",\"boyboy\",\"booster\",\"bucky\",\"honolulu\",\"esquire\",\"dynamite\",\"motor\",\"mollydog\",\"wilder\",\"windows1\",\"waffle\",\"wallet\",\"warning\",\"virus\",\"washburn\",\"wealth\",\"vincent1\",\"jabber\",\"jaguars\",\"javelin\",\"irishman\",\"idefix\",\"bigdog1\",\"blue42\",\"blanked\",\"blue32\",\"biteme1\",\"bearcats\",\"blaine\",\"yessir\",\"sylveste\",\"team\",\"stephan\",\"sunfire\",\"tbird\",\"stryker\",\"3ip76k2\",\"sevens\",\"sheldon\",\"pilgrim\",\"tenchi\",\"titman\",\"leeds\",\"lithium\",\"lander\",\"linkin\",\"landon\",\"marijuan\",\"mariner\",\"markie\",\"midnite\",\"reddwarf\",\"1129\",\"123asd\",\"12312312\",\"allstar\",\"albany\",\"asdf12\",\"antonia\",\"aspen\",\"hardball\",\"goldfing\",\"7734\",\"49ers\",\"carlo\",\"chambers\",\"cable\",\"carnage\",\"callum\",\"carlos1\",\"fitter\",\"fandango\",\"festival\",\"flame\",\"gofast\",\"gamma\",\"fucmy69\",\"scrapper\",\"dogwood\",\"django\",\"magneto\",\"loose\",\"premium\",\"addison\",\"9999999\",\"abc1234\",\"cromwell\",\"newyear\",\"nichole\",\"bookie\",\"burns\",\"bounty\",\"brown1\",\"bologna\",\"earl\",\"entrance\",\"elway\",\"killjoy\",\"kerry\",\"keenan\",\"kick\",\"klondike\",\"mini\",\"mouser\",\"mohammed\",\"wayer\",\"impreza\",\"irene\",\"insomnia\",\"24682468\",\"2580\",\"24242424\",\"billbill\",\"bellaco\",\"blessing\",\"blues1\",\"bedford\",\"blanco\",\"blunts\",\"stinks\",\"teaser\",\"streets\",\"sf49ers\",\"shovel\",\"solitude\",\"spikey\",\"sonia\",\"pimpdadd\",\"timeout\",\"toffee\",\"lefty\",\"johndoe\",\"johndeer\",\"mega\",\"manolo\",\"mentor\",\"margie\",\"ratman\",\"ridge\",\"record\",\"rhodes\",\"robin1\",\"1124\",\"1210\",\"1028\",\"1226\",\"another\",\"babylove\",\"barbados\",\"harbor\",\"gramma\",\"646464\",\"carpente\",\"chaos1\",\"fishbone\",\"fireblad\",\"glasgow\",\"frogs\",\"scissors\",\"screamer\",\"salem\",\"scuba1\",\"ducks\",\"driven\",\"doggies\",\"dicky\",\"donovan\",\"obsidian\",\"rams\",\"progress\",\"tottenham\",\"aikman\",\"comanche\",\"corolla\",\"clarke\",\"conway\",\"cumslut\",\"cyborg\",\"dancing\",\"boston1\",\"bong\",\"houdini\",\"helmut\",\"elvisp\",\"edge\",\"keksa12\",\"misha\",\"monty1\",\"monsters\",\"wetter\",\"watford\",\"wiseguy\",\"veronika\",\"visitor\",\"janelle\",\"1989\",\"1987\",\"20202020\",\"biatch\",\"beezer\",\"bigguns\",\"blueball\",\"bitchy\",\"wyoming\",\"yankees2\",\"wrestler\",\"stupid1\",\"sealteam\",\"sidekick\",\"simple1\",\"smackdow\",\"sporting\",\"spiral\",\"smeller\",\"sperm\",\"plato\",\"tophat\",\"test2\",\"theatre\",\"thick\",\"toomuch\",\"leigh\",\"jello\",\"jewish\",\"junkie\",\"maxim\",\"maxime\",\"meadow\",\"remingto\",\"roofer\",\"124038\",\"1018\",\"1269\",\"1227\",\"123457\",\"arkansas\",\"alberta\",\"aramis\",\"andersen\",\"beaker\",\"barcelona\",\"baltimor\",\"googoo\",\"goochi\",\"852456\",\"4711\",\"catcher\",\"carman\",\"champ1\",\"chess\",\"fortress\",\"fishfish\",\"firefigh\",\"geezer\",\"rsalinas\",\"samuel1\",\"saigon\",\"scooby1\",\"doors\",\"dick1\",\"devin\",\"doom\",\"dirk\",\"doris\",\"dontknow\",\"load\",\"magpies\",\"manfred\",\"raleigh\",\"vader1\",\"universa\",\"tulips\",\"defense\",\"mygirl\",\"burn\",\"bowtie\",\"bowman\",\"holycow\",\"heinrich\",\"honeys\",\"enforcer\",\"katherine\",\"minerva\",\"wheeler\",\"witch\",\"waterboy\",\"jaime\",\"irving\",\"1992\",\"23skidoo\",\"bimbo\",\"blue11\",\"birddog\",\"woodman\",\"womble\",\"zildjian\",\"030303\",\"stinker\",\"stoppedby\",\"sexybabe\",\"speakers\",\"slugger\",\"spotty\",\"smoke1\",\"polopolo\",\"perfect1\",\"things\",\"torpedo\",\"tender\",\"thrasher\",\"lakeside\",\"lilith\",\"jimmys\",\"jerk\",\"junior1\",\"marsh\",\"masamune\",\"rice\",\"root\",\"1214\",\"april1\",\"allgood\",\"bambi\",\"grinch\",\"767676\",\"5252\",\"cherries\",\"chipmunk\",\"cezer121\",\"carnival\",\"capecod\",\"finder\",\"flint\",\"fearless\",\"goats\",\"funstuff\",\"gideon\",\"savior\",\"seabee\",\"sandro\",\"schalke\",\"salasana\",\"disney1\",\"duckman\",\"options\",\"pancake\",\"pantera1\",\"malice\",\"lookin\",\"love123\",\"lloyd\",\"qwert123\",\"puppet\",\"prayers\",\"union\",\"tracer\",\"crap\",\"creation\",\"cwoui\",\"nascar24\",\"hookers\",\"hollie\",\"hewitt\",\"estrella\",\"erection\",\"ernesto\",\"ericsson\",\"edthom\",\"kaylee\",\"kokoko\",\"kokomo\",\"kimball\",\"morales\",\"mooses\",\"monk\",\"walton\",\"weekend\",\"inter\",\"internal\",\"1michael\",\"1993\",\"19781978\",\"25252525\",\"worker\",\"summers\",\"surgery\",\"shibby\",\"shamus\",\"skibum\",\"sheepdog\",\"sex69\",\"spliff\",\"slipper\",\"spoons\",\"spanner\",\"snowbird\",\"slow\",\"toriamos\",\"temp123\",\"tennesse\",\"lakers1\",\"jomama\",\"julio\",\"mazdarx7\",\"rosario\",\"recon\",\"riddle\",\"room\",\"revolver\",\"1025\",\"1101\",\"barney1\",\"babycake\",\"baylor\",\"gotham\",\"gravity\",\"hallowee\",\"hancock\",\"616161\",\"515000\",\"caca\",\"cannabis\",\"castor\",\"chilli\",\"fdsa\",\"getout\",\"fuck69\",\"gators1\",\"sail\",\"sable\",\"rumble\",\"dolemite\",\"dork\",\"dickens\",\"duffer\",\"dodgers1\",\"painting\",\"onions\",\"logger\",\"lorena\",\"lookout\",\"magic32\",\"port\",\"poon\",\"prime\",\"twat\",\"coventry\",\"citroen\",\"christmas\",\"civicsi\",\"cocksucker\",\"coochie\",\"compaq1\",\"nancy1\",\"buzzer\",\"boulder\",\"butkus\",\"bungle\",\"hogtied\",\"honor\",\"hero\",\"hotgirls\",\"hilary\",\"heidi1\",\"eggplant\",\"mustang6\",\"mortal\",\"monkey12\",\"wapapapa\",\"wendy1\",\"volleyba\",\"vibrate\",\"vicky\",\"bledsoe\",\"blink\",\"birthday4\",\"woof\",\"xxxxx1\",\"talk\",\"stephen1\",\"suburban\",\"stock\",\"tabatha\",\"sheeba\",\"start1\",\"soccer10\",\"something\",\"starcraft\",\"soccer12\",\"peanut1\",\"plastics\",\"penthous\",\"peterbil\",\"tools\",\"tetsuo\",\"torino\",\"tennis1\",\"termite\",\"ladder\",\"last\",\"lemmein\",\"lakewood\",\"jughead\",\"melrose\",\"megane\",\"reginald\",\"redone\",\"request\",\"angela1\",\"alive\",\"alissa\",\"goodgirl\",\"gonzo1\",\"golden1\",\"gotyoass\",\"656565\",\"626262\",\"capricor\",\"chains\",\"calvin1\",\"foolish\",\"fallon\",\"getmoney\",\"godfather\",\"gabber\",\"gilligan\",\"runaway\",\"salami\",\"dummy\",\"dungeon\",\"dudedude\",\"dumb\",\"dope\",\"opus\",\"paragon\",\"oxygen\",\"panhead\",\"pasadena\",\"opendoor\",\"odyssey\",\"magellan\",\"lottie\",\"printing\",\"pressure\",\"prince1\",\"trustme\",\"christa\",\"court\",\"davies\",\"neville\",\"nono\",\"bread\",\"buffet\",\"hound\",\"kajak\",\"killkill\",\"mona\",\"moto\",\"mildred\",\"winner1\",\"vixen\",\"whiteboy\",\"versace\",\"winona\",\"voyager1\",\"instant\",\"indy\",\"jackjack\",\"bigal\",\"beech\",\"biggun\",\"blake1\",\"blue99\",\"big1\",\"woods\",\"synergy\",\"success1\",\"336699\",\"sixty9\",\"shark1\",\"skin\",\"simba1\",\"sharpe\",\"sebring\",\"spongebo\",\"spunk\",\"springs\",\"sliver\",\"phialpha\",\"password9\",\"pizza1\",\"plane\",\"perkins\",\"pookey\",\"tickling\",\"lexingky\",\"lawman\",\"joe123\",\"jolly\",\"mike123\",\"romeo1\",\"redheads\",\"reserve\",\"apple123\",\"alanis\",\"ariane\",\"antony\",\"backbone\",\"aviation\",\"band\",\"hand\",\"green123\",\"haley\",\"carlitos\",\"byebye\",\"cartman1\",\"camden\",\"chewy\",\"camaross\",\"favorite6\",\"forumwp\",\"franks\",\"ginscoot\",\"fruity\",\"sabrina1\",\"devil666\",\"doughnut\",\"pantie\",\"oldone\",\"paintball\",\"lumina\",\"rainbow1\",\"prosper\",\"total\",\"true\",\"umbrella\",\"ajax\",\"951753\",\"achtung\",\"abc12345\",\"compact\",\"color\",\"corn\",\"complete\",\"christi\",\"closer\",\"corndog\",\"deerhunt\",\"darklord\",\"dank\",\"nimitz\",\"brandy1\",\"bowl\",\"breanna\",\"holidays\",\"hetfield\",\"holein1\",\"hillbill\",\"hugetits\",\"east\",\"evolutio\",\"kenobi\",\"whiplash\",\"waldo\",\"wg8e3wjf\",\"wing\",\"istanbul\",\"invis\",\"1996\",\"benton\",\"bigjohn\",\"bluebell\",\"beef\",\"beater\",\"benji\",\"bluejay\",\"xyzzy\",\"wrestling\",\"storage\",\"superior\",\"suckdick\",\"taichi\",\"stellar\",\"stephane\",\"shaker\",\"skirt\",\"seymour\",\"semper\",\"splurge\",\"squeak\",\"pearls\",\"playball\",\"pitch\",\"phyllis\",\"pooky\",\"piss\",\"tomas\",\"titfuck\",\"joemama\",\"johnny5\",\"marcello\",\"marjorie\",\"married\",\"maxi\",\"rhubarb\",\"rockwell\",\"ratboy\",\"reload\",\"rooney\",\"redd\",\"1029\",\"1030\",\"1220\",\"anchor\",\"bbking\",\"baritone\",\"gryphon\",\"gone\",\"57chevy\",\"494949\",\"celeron\",\"fishy\",\"gladiator\",\"fucker1\",\"roswell\",\"dougie\",\"downer\",\"dicker\",\"diva\",\"domingo\",\"donjuan\",\"nympho\",\"omar\",\"praise\",\"racers\",\"trick\",\"trauma\",\"truck1\",\"trample\",\"acer\",\"corwin\",\"cricket1\",\"clemente\",\"climax\",\"denmark\",\"cuervo\",\"notnow\",\"nittany\",\"neutron\",\"native\",\"bosco1\",\"buffa\",\"breaker\",\"hello2\",\"hydro\",\"estelle\",\"exchange\",\"explore\",\"kisskiss\",\"kittys\",\"kristian\",\"montecar\",\"modem\",\"mississi\",\"mooney\",\"weiner\",\"washington\",\"20012001\",\"bigdick1\",\"bibi\",\"benfica\",\"yahoo1\",\"striper\",\"tabasco\",\"supra\",\"383838\",\"456654\",\"seneca\",\"serious\",\"shuttle\",\"socks\",\"stanton\",\"penguin1\",\"pathfind\",\"testibil\",\"thethe\",\"listen\",\"lightning\",\"lighting\",\"jeter2\",\"marma\",\"mark1\",\"metoo\",\"republic\",\"rollin\",\"redleg\",\"redbone\",\"redskin\",\"rocco\",\"1245\",\"armand\",\"anthony7\",\"altoids\",\"andrews\",\"barley\",\"away\",\"asswipe\",\"bauhaus\",\"bbbbbb1\",\"gohome\",\"harrier\",\"golfpro\",\"goldeney\",\"818181\",\"6666666\",\"5000\",\"5rxypn\",\"cameron1\",\"calling\",\"checker\",\"calibra\",\"fields\",\"freefree\",\"faith1\",\"fist\",\"fdm7ed\",\"finally\",\"giraffe\",\"glasses\",\"giggles\",\"fringe\",\"gate\",\"georgie\",\"scamper\",\"rrpass1\",\"screwyou\",\"duffy\",\"deville\",\"dimples\",\"pacino\",\"ontario\",\"passthie\",\"oberon\",\"quest1\",\"postov1000\",\"puppydog\",\"puffer\",\"raining\",\"protect\",\"qwerty7\",\"trey\",\"tribe\",\"ulysses\",\"tribal\",\"adam25\",\"a1234567\",\"compton\",\"collie\",\"cleopatr\",\"contract\",\"davide\",\"norris\",\"namaste\",\"myrtle\",\"buffalo1\",\"bonovox\",\"buckley\",\"bukkake\",\"burning\",\"burner\",\"bordeaux\",\"burly\",\"hun999\",\"emilie\",\"elmo\",\"enters\",\"enrique\",\"keisha\",\"mohawk\",\"willard\",\"vgirl\",\"whale\",\"vince\",\"jayden\",\"jarrett\",\"1812\",\"1943\",\"222333\",\"bigjim\",\"bigd\",\"zoom\",\"wordup\",\"ziggy1\",\"yahooo\",\"workout\",\"young1\",\"written\",\"xmas\",\"zzzzzz1\",\"surfer1\",\"strife\",\"sunlight\",\"tasha1\",\"skunk\",\"shauna\",\"seth\",\"soft\",\"sprinter\",\"peaches1\",\"planes\",\"pinetree\",\"plum\",\"pimping\",\"theforce\",\"thedon\",\"toocool\",\"leeann\",\"laddie\",\"list\",\"lkjh\",\"lara\",\"joke\",\"jupiter1\",\"mckenzie\",\"matty\",\"rene\",\"redrose\",\"1200\",\"102938\",\"annmarie\",\"alexa\",\"antares\",\"austin31\",\"ground\",\"goose1\",\"737373\",\"78945612\",\"789987\",\"6464\",\"calimero\",\"caster\",\"casper1\",\"cement\",\"chevrolet\",\"chessie\",\"caddy\",\"chill\",\"child\",\"canucks\",\"feeling\",\"favorite\",\"fellatio\",\"f00tball\",\"francine\",\"gateway2\",\"gigi\",\"gamecube\",\"giovanna\",\"rugby1\",\"scheisse\",\"dshade\",\"dudes\",\"dixie1\",\"owen\",\"offshore\",\"olympia\",\"lucas1\",\"macaroni\",\"manga\",\"pringles\",\"puff\",\"tribble\",\"trouble1\",\"ussy\",\"core\",\"clint\",\"coolhand\",\"colonial\",\"colt\",\"debra\",\"darthvad\",\"dealer\",\"cygnusx1\",\"natalie1\",\"newark\",\"husband\",\"hiking\",\"errors\",\"eighteen\",\"elcamino\",\"emmett\",\"emilia\",\"koolaid\",\"knight1\",\"murphy1\",\"volcano\",\"idunno\",\"2005\",\"2233\",\"block\",\"benito\",\"blueberr\",\"biguns\",\"yamahar1\",\"zapper\",\"zorro1\",\"0911\",\"3006\",\"sixsix\",\"shopper\",\"siobhan\",\"sextoy\",\"stafford\",\"snowboard\",\"speedway\",\"sounds\",\"pokey\",\"peabody\",\"playboy2\",\"titi\",\"think\",\"toast\",\"toonarmy\",\"lister\",\"lambda\",\"joecool\",\"jonas\",\"joyce\",\"juniper\",\"mercer\",\"max123\",\"manny\",\"massimo\",\"mariposa\",\"met2002\",\"reggae\",\"ricky1\",\"1236\",\"1228\",\"1016\",\"all4one\",\"arianna\",\"baberuth\",\"asgard\",\"gonzales\",\"484848\",\"5683\",\"6669\",\"catnip\",\"chiquita\",\"charisma\",\"capslock\",\"cashmone\",\"chat\",\"figure\",\"galant\",\"frenchy\",\"gizmodo1\",\"girlies\",\"gabby\",\"garner\",\"screwy\",\"doubled\",\"divers\",\"dte4uw\",\"done\",\"dragonfl\",\"maker\",\"locks\",\"rachelle\",\"treble\",\"twinkie\",\"trailer\",\"tropical\",\"acid\",\"crescent\",\"cooking\",\"cococo\",\"cory\",\"dabomb\",\"daffy\",\"dandfa\",\"cyrano\",\"nathanie\",\"briggs\",\"boners\",\"helium\",\"horton\",\"hoffman\",\"hellas\",\"espresso\",\"emperor\",\"killa\",\"kikimora\",\"wanda\",\"w4g8at\",\"verona\",\"ilikeit\",\"iforget\",\"1944\",\"20002000\",\"birthday1\",\"beatles1\",\"blue1\",\"bigdicks\",\"beethove\",\"blacklab\",\"blazers\",\"benny1\",\"woodwork\",\"0069\",\"0101\",\"taffy\",\"susie\",\"survivor\",\"swim\",\"stokes\",\"4567\",\"shodan\",\"spoiled\",\"steffen\",\"pissed\",\"pavlov\",\"pinnacle\",\"place\",\"petunia\",\"terrell\",\"thirty\",\"toni\",\"tito\",\"teenie\",\"lemonade\",\"lily\",\"lillie\",\"lalakers\",\"lebowski\",\"lalalala\",\"ladyboy\",\"jeeper\",\"joyjoy\",\"mercury1\",\"mantle\",\"mannn\",\"rocknrol\",\"riversid\",\"reeves\",\"123aaa\",\"11112222\",\"121314\",\"1021\",\"1004\",\"1120\",\"allen1\",\"ambers\",\"amstel\",\"ambrose\",\"alice1\",\"alleycat\",\"allegro\",\"ambrosia\",\"alley\",\"australia\",\"hatred\",\"gspot\",\"graves\",\"goodsex\",\"hattrick\",\"harpoon\",\"878787\",\"8inches\",\"4wwvte\",\"cassandr\",\"charlie123\",\"case\",\"chavez\",\"fighting\",\"gabriela\",\"gatsby\",\"fudge\",\"gerry\",\"generic\",\"gareth\",\"fuckme2\",\"samm\",\"sage\",\"seadog\",\"satchmo\",\"scxakv\",\"santafe\",\"dipper\",\"dingle\",\"dizzy\",\"outoutout\",\"madmad\",\"london1\",\"qbg26i\",\"pussy123\",\"randolph\",\"vaughn\",\"tzpvaw\",\"vamp\",\"comedy\",\"comp\",\"cowgirl\",\"coldplay\",\"dawgs\",\"delaney\",\"nt5d27\",\"novifarm\",\"needles\",\"notredam\",\"newness\",\"mykids\",\"bryan1\",\"bouncer\",\"hihihi\",\"honeybee\",\"iceman1\",\"herring\",\"horn\",\"hook\",\"hotlips\",\"dynamo\",\"klaus\",\"kittie\",\"kappa\",\"kahlua\",\"muffy\",\"mizzou\",\"mohamed\",\"musical\",\"wannabe\",\"wednesda\",\"whatup\",\"weller\",\"waterfal\",\"willy1\",\"invest\",\"blanche\",\"bear1\",\"billabon\",\"youknow\",\"zelda\",\"yyyyyy1\",\"zachary1\",\"01234567\",\"070462\",\"zurich\",\"superstar\",\"storms\",\"tail\",\"stiletto\",\"strat\",\"427900\",\"sigmachi\",\"shelter\",\"shells\",\"sexy123\",\"smile1\",\"sophie1\",\"stefano\",\"stayout\",\"somerset\",\"smithers\",\"playmate\",\"pinkfloyd\",\"phish1\",\"payday\",\"thebear\",\"telefon\",\"laetitia\",\"kswbdu\",\"larson\",\"jetta\",\"jerky\",\"melina\",\"metro\",\"revoluti\",\"retire\",\"respect\",\"1216\",\"1201\",\"1204\",\"1222\",\"1115\",\"archange\",\"barry1\",\"handball\",\"676767\",\"chandra\",\"chewbacc\",\"flesh\",\"furball\",\"gocubs\",\"fruit\",\"fullback\",\"gman\",\"gentle\",\"dunbar\",\"dewalt\",\"dominiqu\",\"diver1\",\"dhip6a\",\"olemiss\",\"ollie\",\"mandrake\",\"mangos\",\"pretzel\",\"pusssy\",\"tripleh\",\"valdez\",\"vagabond\",\"clean\",\"comment\",\"crew\",\"clovis\",\"deaths\",\"dandan\",\"csfbr5yy\",\"deadspin\",\"darrel\",\"ninguna\",\"noah\",\"ncc74656\",\"bootsie\",\"bp2002\",\"bourbon\",\"brennan\",\"bumble\",\"books\",\"hose\",\"heyyou\",\"houston1\",\"hemlock\",\"hippo\",\"hornets\",\"hurricane\",\"horseman\",\"hogan\",\"excess\",\"extensa\",\"muffin1\",\"virginie\",\"werdna\",\"idontknow\",\"info\",\"iron\",\"jack1\",\"1bitch\",\"151nxjmt\",\"bendover\",\"bmwbmw\",\"bills\",\"zaq123\",\"wxcvbn\",\"surprise\",\"supernov\",\"tahoe\",\"talbot\",\"simona\",\"shakur\",\"sexyone\",\"seviyi\",\"sonja\",\"smart1\",\"speed1\",\"pepito\",\"phantom1\",\"playoffs\",\"terry1\",\"terrier\",\"laser1\",\"lite\",\"lancia\",\"johngalt\",\"jenjen\",\"jolene\",\"midori\",\"message\",\"maserati\",\"matteo\",\"mental\",\"miami1\",\"riffraff\",\"ronald1\",\"reason\",\"rhythm\",\"1218\",\"1026\",\"123987\",\"1015\",\"1103\",\"armada\",\"architec\",\"austria\",\"gotmilk\",\"hawkins\",\"gray\",\"camila\",\"camp\",\"cambridg\",\"charge\",\"camero\",\"flex\",\"foreplay\",\"getoff\",\"glacier\",\"glotest\",\"froggie\",\"gerbil\",\"rugger\",\"sanity72\",\"salesman\",\"donna1\",\"dreaming\",\"deutsch\",\"orchard\",\"oyster\",\"palmtree\",\"ophelia\",\"pajero\",\"m5wkqf\",\"magenta\",\"luckyone\",\"treefrog\",\"vantage\",\"usmarine\",\"tyvugq\",\"uptown\",\"abacab\",\"aaaaaa1\",\"advance\",\"chuck1\",\"delmar\",\"darkange\",\"cyclones\",\"nate\",\"navajo\",\"nope\",\"border\",\"bubba123\",\"building\",\"iawgk2\",\"hrfzlz\",\"dylan1\",\"enrico\",\"encore\",\"emilio\",\"eclipse1\",\"killian\",\"kayleigh\",\"mutant\",\"mizuno\",\"mustang2\",\"video1\",\"viewer\",\"weed420\",\"whales\",\"jaguar1\",\"insight\",\"1990\",\"159159\",\"1love\",\"bliss\",\"bears1\",\"bigtruck\",\"binder\",\"bigboss\",\"blitz\",\"xqgann\",\"yeahyeah\",\"zeke\",\"zardoz\",\"stickman\",\"table\",\"3825\",\"signal\",\"sentra\",\"side\",\"shiva\",\"skipper1\",\"singapor\",\"southpaw\",\"sonora\",\"squid\",\"slamdunk\",\"slimjim\",\"placid\",\"photon\",\"placebo\",\"pearl1\",\"test12\",\"therock1\",\"tiger123\",\"leinad\",\"legman\",\"jeepers\",\"joeblow\",\"mccarthy\",\"mike23\",\"redcar\",\"rhinos\",\"rjw7x4\",\"1102\",\"13576479\",\"112211\",\"alcohol\",\"gwju3g\",\"greywolf\",\"7bgiqk\",\"7878\",\"535353\",\"4snz9g\",\"candyass\",\"cccccc1\",\"carola\",\"catfight\",\"cali\",\"fister\",\"fosters\",\"finland\",\"frankie1\",\"gizzmo\",\"fuller\",\"royalty\",\"rugrat\",\"sandie\",\"rudolf\",\"dooley\",\"dive\",\"doreen\",\"dodo\",\"drop\",\"oemdlg\",\"out3xf\",\"paddy\",\"opennow\",\"puppy1\",\"qazwsxedc\",\"pregnant\",\"quinn\",\"ramjet\",\"under\",\"uncle\",\"abraxas\",\"corner\",\"creed\",\"cocoa\",\"crown\",\"cows\",\"cn42qj\",\"dancer1\",\"death666\",\"damned\",\"nudity\",\"negative\",\"nimda2k\",\"buick\",\"bobb\",\"braves1\",\"brook\",\"henrik\",\"higher\",\"hooligan\",\"dust\",\"everlast\",\"karachi\",\"mortis\",\"mulligan\",\"monies\",\"motocros\",\"wally1\",\"weapon\",\"waterman\",\"view\",\"willie1\",\"vicki\",\"inspiron\",\"1test\",\"2929\",\"bigblack\",\"xytfu7\",\"yackwin\",\"zaq1xsw2\",\"yy5rbfsc\",\"100100\",\"0660\",\"tahiti\",\"takehana\",\"talks\",\"332211\",\"3535\",\"sedona\",\"seawolf\",\"skydiver\",\"shine\",\"spleen\",\"slash\",\"spjfet\",\"special1\",\"spooner\",\"slimshad\",\"sopranos\",\"spock1\",\"penis1\",\"patches1\",\"terri\",\"thierry\",\"thething\",\"toohot\",\"large\",\"limpone\",\"johnnie\",\"mash4077\",\"matchbox\",\"masterp\",\"maxdog\",\"ribbit\",\"reed\",\"rita\",\"rockin\",\"redhat\",\"rising\",\"1113\",\"14789632\",\"1331\",\"allday\",\"aladin\",\"andrey\",\"amethyst\",\"ariel\",\"anytime\",\"baseball1\",\"athome\",\"basil\",\"goofy1\",\"greenman\",\"gustavo\",\"goofball\",\"ha8fyp\",\"goodday\",\"778899\",\"charon\",\"chappy\",\"castillo\",\"caracas\",\"cardiff\",\"capitals\",\"canada1\",\"cajun\",\"catter\",\"freddy1\",\"favorite2\",\"frazier\",\"forme\",\"follow\",\"forsaken\",\"feelgood\",\"gavin\",\"gfxqx686\",\"garlic\",\"sarge\",\"saskia\",\"sanjose\",\"russ\",\"salsa\",\"dilbert1\",\"dukeduke\",\"downhill\",\"longhair\",\"loop\",\"locutus\",\"lockdown\",\"malachi\",\"mamacita\",\"lolipop\",\"rainyday\",\"pumpkin1\",\"punker\",\"prospect\",\"rambo1\",\"rainbows\",\"quake\",\"twin\",\"trinity1\",\"trooper1\",\"aimee\",\"citation\",\"coolcat\",\"crappy\",\"default\",\"dental\",\"deniro\",\"d9ungl\",\"daddys\",\"napoli\",\"nautica\",\"nermal\",\"bukowski\",\"brick\",\"bubbles1\",\"bogota\",\"board\",\"branch\",\"breath\",\"buds\",\"hulk\",\"humphrey\",\"hitachi\",\"evans\",\"ender\",\"export\",\"kikiki\",\"kcchiefs\",\"kram\",\"morticia\",\"montrose\",\"mongo\",\"waqw3p\",\"wizzard\",\"visited\",\"whdbtp\",\"whkzyc\",\"image\",\"154ugeiu\",\"1fuck\",\"binky\",\"blind\",\"bigred1\",\"blubber\",\"benz\",\"becky1\",\"year2005\",\"wonderfu\",\"wooden\",\"xrated\",\"0001\",\"tampabay\",\"survey\",\"tammy1\",\"stuffer\",\"3mpz4r\",\"3000\",\"3some\",\"selina\",\"sierra1\",\"shampoo\",\"silk\",\"shyshy\",\"slapnuts\",\"standby\",\"spartan1\",\"sprocket\",\"sometime\",\"stanley1\",\"poker1\",\"plus\",\"thought\",\"theshit\",\"torture\",\"thinking\",\"lavalamp\",\"light1\",\"laserjet\",\"jediknig\",\"jjjjj1\",\"jocelyn\",\"mazda626\",\"menthol\",\"maximo\",\"margaux\",\"medic1\",\"release\",\"richter\",\"rhino1\",\"roach\",\"renate\",\"repair\",\"reveal\",\"1209\",\"1234321\",\"amigos\",\"apricot\",\"alexandra\",\"asdfgh1\",\"hairball\",\"hatter\",\"graduate\",\"grimace\",\"7xm5rq\",\"6789\",\"cartoons\",\"capcom\",\"cheesy\",\"cashflow\",\"carrots\",\"camping\",\"fanatic\",\"fool\",\"format\",\"fleming\",\"girlie\",\"glover\",\"gilmore\",\"gardner\",\"safeway\",\"ruthie\",\"dogfart\",\"dondon\",\"diapers\",\"outsider\",\"odin\",\"opiate\",\"lollol\",\"love12\",\"loomis\",\"mallrats\",\"prague\",\"primetime21\",\"pugsley\",\"program\",\"r29hqq\",\"touch\",\"valleywa\",\"airman\",\"abcdefg1\",\"darkone\",\"cummer\",\"dempsey\",\"damn\",\"nadia\",\"natedogg\",\"nineball\",\"ndeyl5\",\"natchez\",\"newone\",\"normandy\",\"nicetits\",\"buddy123\",\"buddys\",\"homely\",\"husky\",\"iceland\",\"hr3ytm\",\"highlife\",\"holla\",\"earthlin\",\"exeter\",\"eatmenow\",\"kimkim\",\"karine\",\"k2trix\",\"kernel\",\"kirkland\",\"money123\",\"moonman\",\"miles1\",\"mufasa\",\"mousey\",\"wilma\",\"wilhelm\",\"whites\",\"warhamme\",\"instinct\",\"jackass1\",\"2277\",\"20spanks\",\"blobby\",\"blair\",\"blinky\",\"bikers\",\"blackjack\",\"becca\",\"blue23\",\"xman\",\"wyvern\",\"085tzzqi\",\"zxzxzx\",\"zsmj2v\",\"suede\",\"t26gn4\",\"sugars\",\"sylvie\",\"tantra\",\"swoosh\",\"swiss\",\"4226\",\"4271\",\"321123\",\"383pdjvl\",\"shoe\",\"shane1\",\"shelby1\",\"spades\",\"spain\",\"smother\",\"soup\",\"sparhawk\",\"pisser\",\"photo1\",\"pebble\",\"phones\",\"peavey\",\"picnic\",\"pavement\",\"terra\",\"thistle\",\"tokyo\",\"therapy\",\"lives\",\"linden\",\"kronos\",\"lilbit\",\"linux\",\"johnston\",\"material\",\"melanie1\",\"marbles\",\"redlight\",\"reno\",\"recall\",\"1208\",\"1138\",\"1008\",\"alchemy\",\"aolsucks\",\"alexalex\",\"atticus\",\"auditt\",\"ballet\",\"b929ezzh\",\"goodyear\",\"hanna\",\"griffith\",\"gubber\",\"863abgsg\",\"7474\",\"797979\",\"464646\",\"543210\",\"4zqauf\",\"4949\",\"ch5nmk\",\"carlito\",\"chewey\",\"carebear\",\"caleb\",\"checkmat\",\"cheddar\",\"chachi\",\"fever\",\"forgetit\",\"fine\",\"forlife\",\"giants1\",\"gates\",\"getit\",\"gamble\",\"gerhard\",\"galileo\",\"g3ujwg\",\"ganja\",\"rufus1\",\"rushmore\",\"scouts\",\"discus\",\"dudeman\",\"olympus\",\"oscars\",\"osprey\",\"madcow\",\"locust\",\"loyola\",\"mammoth\",\"proton\",\"rabbit1\",\"question\",\"ptfe3xxp\",\"pwxd5x\",\"purple1\",\"punkass\",\"prophecy\",\"uyxnyd\",\"tyson1\",\"aircraft\",\"access99\",\"abcabc\",\"cocktail\",\"colts\",\"civilwar\",\"cleveland\",\"claudia1\",\"contour\",\"clement\",\"dddddd1\",\"cypher\",\"denied\",\"dapzu455\",\"dagmar\",\"daisydog\",\"name\",\"noles\",\"butters\",\"buford\",\"hoochie\",\"hotel\",\"hoser\",\"eddy\",\"ellis\",\"eldiablo\",\"kingrich\",\"mudvayne\",\"motown\",\"mp8o6d\",\"wife\",\"vipergts\",\"italiano\",\"innocent\",\"2055\",\"2211\",\"beavers\",\"bloke\",\"blade1\",\"yamato\",\"zooropa\",\"yqlgr667\",\"050505\",\"zxcvbnm1\",\"zw6syj\",\"suckcock\",\"tango1\",\"swing\",\"stern\",\"stephens\",\"swampy\",\"susanna\",\"tammie\",\"445566\",\"333666\",\"380zliki\",\"sexpot\",\"sexylady\",\"sixtynin\",\"sickboy\",\"spiffy\",\"sleeping\",\"skylark\",\"sparkles\",\"slam\",\"pintail\",\"phreak\",\"places\",\"teller\",\"timtim\",\"tires\",\"thighs\",\"left\",\"latex\",\"llamas\",\"letsdoit\",\"lkjhg\",\"landmark\",\"letters\",\"lizzard\",\"marlins\",\"marauder\",\"metal1\",\"manu\",\"register\",\"righton\",\"1127\",\"alain\",\"alcat\",\"amigo\",\"basebal1\",\"azertyui\",\"attract\",\"azrael\",\"hamper\",\"gotenks\",\"golfgti\",\"gutter\",\"hawkwind\",\"h2slca\",\"harman\",\"grace1\",\"6chid8\",\"789654\",\"canine\",\"casio\",\"cazzo\",\"chamber\",\"cbr900\",\"cabrio\",\"calypso\",\"capetown\",\"feline\",\"flathead\",\"fisherma\",\"flipmode\",\"fungus\",\"goal\",\"g9zns4\",\"full\",\"giggle\",\"gabriel1\",\"fuck123\",\"saffron\",\"dogmeat\",\"dreamcas\",\"dirtydog\",\"dunlop\",\"douche\",\"dresden\",\"dickdick\",\"destiny1\",\"pappy\",\"oaktree\",\"lydia\",\"luft4\",\"puta\",\"prayer\",\"ramada\",\"trumpet1\",\"vcradq\",\"tulip\",\"tracy71\",\"tycoon\",\"aaaaaaa1\",\"conquest\",\"click\",\"chitown\",\"corps\",\"creepers\",\"constant\",\"couples\",\"code\",\"cornhole\",\"danman\",\"dada\",\"density\",\"d9ebk7\",\"cummins\",\"darth\",\"cute\",\"nash\",\"nirvana1\",\"nixon\",\"norbert\",\"nestle\",\"brenda1\",\"bonanza\",\"bundy\",\"buddies\",\"hotspur\",\"heavy\",\"horror\",\"hufmqw\",\"electro\",\"erasure\",\"enough\",\"elisabet\",\"etvww4\",\"ewyuza\",\"eric1\",\"kinder\",\"kenken\",\"kismet\",\"klaatu\",\"musician\",\"milamber\",\"willi\",\"waiting\",\"isacs155\",\"igor\",\"1million\",\"1letmein\",\"x35v8l\",\"yogi\",\"ywvxpz\",\"xngwoj\",\"zippy1\",\"020202\",\"****\",\"stonewal\",\"sweeney\",\"story\",\"sentry\",\"sexsexsex\",\"spence\",\"sonysony\",\"smirnoff\",\"star12\",\"solace\",\"sledge\",\"states\",\"snyder\",\"star1\",\"paxton\",\"pentagon\",\"pkxe62\",\"pilot1\",\"pommes\",\"paulpaul\",\"plants\",\"tical\",\"tictac\",\"toes\",\"lighthou\",\"lemans\",\"kubrick\",\"letmein22\",\"letmesee\",\"jys6wz\",\"jonesy\",\"jjjjjj1\",\"jigga\",\"joelle\",\"mate\",\"merchant\",\"redstorm\",\"riley1\",\"rosa\",\"relief\",\"14141414\",\"1126\",\"allison1\",\"badboy1\",\"asthma\",\"auggie\",\"basement\",\"hartley\",\"hartford\",\"hardwood\",\"gumbo\",\"616913\",\"57np39\",\"56qhxs\",\"4mnveh\",\"cake\",\"forbes\",\"fatluvr69\",\"fqkw5m\",\"fidelity\",\"feathers\",\"fresno\",\"godiva\",\"gecko\",\"gladys\",\"gibson1\",\"gogators\",\"fridge\",\"general1\",\"saxman\",\"rowing\",\"sammys\",\"scotts\",\"scout1\",\"sasasa\",\"samoht\",\"dragon69\",\"ducky\",\"dragonball\",\"driller\",\"p3wqaw\",\"nurse\",\"papillon\",\"oneone\",\"openit\",\"optimist\",\"longshot\",\"portia\",\"rapier\",\"pussy2\",\"ralphie\",\"tuxedo\",\"ulrike\",\"undertow\",\"trenton\",\"copenhag\",\"come\",\"delldell\",\"culinary\",\"deltas\",\"mytime\",\"nicky\",\"nickie\",\"noname\",\"noles1\",\"bucker\",\"bopper\",\"bullock\",\"burnout\",\"bryce\",\"hedges\",\"ibilltes\",\"hihje863\",\"hitter\",\"ekim\",\"espana\",\"eatme69\",\"elpaso\",\"envelope\",\"express1\",\"eeeeee1\",\"eatme1\",\"karaoke\",\"kara\",\"mustang5\",\"misses\",\"wellingt\",\"willem\",\"waterski\",\"webcam\",\"jasons\",\"infinite\",\"iloveyou!\",\"jakarta\",\"belair\",\"bigdad\",\"beerme\",\"yoshi\",\"yinyang\",\"zimmer\",\"x24ik3\",\"063dyjuy\",\"0000007\",\"ztmfcq\",\"stopit\",\"stooges\",\"survival\",\"stockton\",\"symow8\",\"strato\",\"2hot4u\",\"ship\",\"simons\",\"skins\",\"shakes\",\"sex1\",\"shield\",\"snacks\",\"softtail\",\"slimed123\",\"pizzaman\",\"pipe\",\"pitt\",\"pathetic\",\"pinto\",\"tigercat\",\"tonton\",\"lager\",\"lizzy\",\"juju\",\"john123\",\"jennings\",\"josiah\",\"jesse1\",\"jordon\",\"jingles\",\"martian\",\"mario1\",\"rootedit\",\"rochard\",\"redwine\",\"requiem\",\"riverrat\",\"rats\",\"1117\",\"1014\",\"1205\",\"althea\",\"allie\",\"amor\",\"amiga\",\"alpina\",\"alert\",\"atreides\",\"banana1\",\"bahamut\",\"hart\",\"golfman\",\"happines\",\"7uftyx\",\"5432\",\"5353\",\"5151\",\"4747\",\"byron\",\"chatham\",\"chadwick\",\"cherie\",\"foxfire\",\"ffvdj474\",\"freaked\",\"foreskin\",\"gayboy\",\"gggggg1\",\"glenda\",\"gameover\",\"glitter\",\"funny1\",\"scoobydoo\",\"scroll\",\"rudolph\",\"saddle\",\"saxophon\",\"dingbat\",\"digimon\",\"omicron\",\"parsons\",\"ohio\",\"panda1\",\"loloxx\",\"macintos\",\"lululu\",\"lollypop\",\"racer1\",\"queen1\",\"qwertzui\",\"prick\",\"upnfmc\",\"tyrant\",\"trout1\",\"9skw5g\",\"aceman\",\"adelaide\",\"acls2h\",\"aaabbb\",\"acapulco\",\"aggie\",\"comcast\",\"craft\",\"crissy\",\"cloudy\",\"cq2kph\",\"custer\",\"d6o8pm\",\"cybersex\",\"davecole\",\"darian\",\"crumbs\",\"daisey\",\"davedave\",\"dasani\",\"needle\",\"mzepab\",\"myporn\",\"narnia\",\"nineteen\",\"booger1\",\"bravo1\",\"budgie\",\"btnjey\",\"highlander\",\"hotel6\",\"humbug\",\"edwin\",\"ewtosi\",\"kristin1\",\"kobe\",\"knuckles\",\"keith1\",\"katarina\",\"muff\",\"muschi\",\"montana1\",\"wingchun\",\"wiggle\",\"whatthe\",\"walking\",\"watching\",\"vette1\",\"vols\",\"virago\",\"intj3a\",\"ishmael\",\"intern\",\"jachin\",\"illmatic\",\"199999\",\"2010\",\"beck\",\"blender\",\"bigpenis\",\"bengal\",\"blue1234\",\"your\",\"zaqxsw\",\"xray\",\"xxxxxxx1\",\"zebras\",\"yanks\",\"worlds\",\"tadpole\",\"stripes\",\"svetlana\",\"3737\",\"4343\",\"3728\",\"4444444\",\"368ejhih\",\"solar\",\"sonne\",\"smalls\",\"sniffer\",\"sonata\",\"squirts\",\"pitcher\",\"playstation\",\"pktmxr\",\"pescator\",\"points\",\"texaco\",\"lesbos\",\"lilian\",\"l8v53x\",\"jo9k2jw2\",\"jimbeam\",\"josie\",\"jimi\",\"jupiter2\",\"jurassic\",\"marines1\",\"maya\",\"rocket1\",\"ringer\",\"14725836\",\"12345679\",\"1219\",\"123098\",\"1233\",\"alessand\",\"althor\",\"angelika\",\"arch\",\"armando\",\"alpha123\",\"basher\",\"barefeet\",\"balboa\",\"bbbbb1\",\"banks\",\"badabing\",\"harriet\",\"gopack\",\"golfnut\",\"gsxr1000\",\"gregory1\",\"766rglqy\",\"8520\",\"753159\",\"8dihc6\",\"69camaro\",\"666777\",\"cheeba\",\"chino\",\"calendar\",\"cheeky\",\"camel1\",\"fishcake\",\"falling\",\"flubber\",\"giuseppe\",\"gianni\",\"gloves\",\"gnasher23\",\"frisbee\",\"fuzzy1\",\"fuzzball\",\"sauce\",\"save13tx\",\"schatz\",\"russell1\",\"sandra1\",\"scrotum\",\"scumbag\",\"sabre\",\"samdog\",\"dripping\",\"dragon12\",\"dragster\",\"paige\",\"orwell\",\"mainland\",\"lunatic\",\"lonnie\",\"lotion\",\"maine\",\"maddux\",\"qn632o\",\"poophead\",\"rapper\",\"porn4life\",\"producer\",\"rapunzel\",\"tracks\",\"velocity\",\"vanessa1\",\"ulrich\",\"trueblue\",\"vampire1\",\"abacus\",\"902100\",\"crispy\",\"corky\",\"crane\",\"chooch\",\"d6wnro\",\"cutie\",\"deal\",\"dabulls\",\"dehpye\",\"navyseal\",\"njqcw4\",\"nownow\",\"nigger1\",\"nightowl\",\"nonenone\",\"nightmar\",\"bustle\",\"buddy2\",\"boingo\",\"bugman\",\"bulletin\",\"bosshog\",\"bowie\",\"hybrid\",\"hillside\",\"hilltop\",\"hotlegs\",\"honesty\",\"hzze929b\",\"hhhhh1\",\"hellohel\",\"eloise\",\"evilone\",\"edgewise\",\"e5pftu\",\"eded\",\"embalmer\",\"excalibur\",\"elefant\",\"kenzie\",\"karl\",\"karin\",\"killah\",\"kleenex\",\"mouses\",\"mounta1n\",\"motors\",\"mutley\",\"muffdive\",\"vivitron\",\"winfield\",\"wednesday\",\"w00t88\",\"iloveit\",\"jarjar\",\"incest\",\"indycar\",\"17171717\",\"1664\",\"17011701\",\"222777\",\"2663\",\"beelch\",\"benben\",\"yitbos\",\"yyyyy1\",\"yasmin\",\"zapata\",\"zzzzz1\",\"stooge\",\"tangerin\",\"taztaz\",\"stewart1\",\"summer69\",\"sweetness\",\"system1\",\"surveyor\",\"stirling\",\"3qvqod\",\"3way\",\"456321\",\"sizzle\",\"simhrq\",\"shrink\",\"shawnee\",\"someday\",\"sparty\",\"ssptx452\",\"sphere\",\"spark\",\"slammed\",\"sober\",\"persian\",\"peppers\",\"ploppy\",\"pn5jvw\",\"poobear\",\"pianos\",\"plaster\",\"testme\",\"tiff\",\"thriller\",\"larissa\",\"lennox\",\"jewell\",\"master12\",\"messier\",\"rockey\",\"1229\",\"1217\",\"1478\",\"1009\",\"anastasi\",\"almighty\",\"amonra\",\"aragon\",\"argentin\",\"albino\",\"azazel\",\"grinder\",\"6uldv8\",\"83y6pv\",\"8888888\",\"4tlved\",\"515051\",\"carsten\",\"changes\",\"flanders\",\"flyers88\",\"ffffff1\",\"firehawk\",\"foreman\",\"firedog\",\"flashman\",\"ggggg1\",\"gerber\",\"godspeed\",\"galway\",\"giveitup\",\"funtimes\",\"gohan\",\"giveme\",\"geryfe\",\"frenchie\",\"sayang\",\"rudeboy\",\"savanna\",\"sandals\",\"devine\",\"dougal\",\"drag0n\",\"dga9la\",\"disaster\",\"desktop\",\"only\",\"onlyone\",\"otter\",\"pandas\",\"mafia\",\"lombard\",\"luckys\",\"lovejoy\",\"lovelife\",\"manders\",\"product\",\"qqh92r\",\"qcmfd454\",\"pork\",\"radar1\",\"punani\",\"ptbdhw\",\"turtles\",\"undertaker\",\"trs8f7\",\"tramp\",\"ugejvp\",\"abba\",\"911turbo\",\"acdc\",\"abcd123\",\"clever\",\"corina\",\"cristian\",\"create\",\"crash1\",\"colony\",\"crosby\",\"delboy\",\"daniele\",\"davinci\",\"daughter\",\"notebook\",\"niki\",\"nitrox\",\"borabora\",\"bonzai\",\"budd\",\"brisbane\",\"hotter\",\"heeled\",\"heroes\",\"hooyah\",\"hotgirl\",\"i62gbq\",\"horse1\",\"hills\",\"hpk2qc\",\"epvjb6\",\"echo\",\"korean\",\"kristie\",\"mnbvc\",\"mohammad\",\"mind\",\"mommy1\",\"munster\",\"wade\",\"wiccan\",\"wanted\",\"jacket\",\"2369\",\"bettyboo\",\"blondy\",\"bismark\",\"beanbag\",\"bjhgfi\",\"blackice\",\"yvtte545\",\"ynot\",\"yess\",\"zlzfrh\",\"wolvie\",\"007bond\",\"******\",\"tailgate\",\"tanya1\",\"sxhq65\",\"stinky1\",\"3234412\",\"3ki42x\",\"seville\",\"shimmer\",\"sheryl\",\"sienna\",\"shitshit\",\"skillet\",\"seaman\",\"sooners1\",\"solaris\",\"smartass\",\"pastor\",\"pasta\",\"pedros\",\"pennywis\",\"pfloyd\",\"tobydog\",\"thetruth\",\"lethal\",\"letme1n\",\"leland\",\"jenifer\",\"mario66\",\"micky\",\"rocky2\",\"rewq\",\"ripped\",\"reindeer\",\"1128\",\"1207\",\"1104\",\"1432\",\"aprilia\",\"allstate\",\"alyson\",\"bagels\",\"basic\",\"baggies\",\"barb\",\"barrage\",\"greatest\",\"gomez\",\"guru\",\"guard\",\"72d5tn\",\"606060\",\"4wcqjn\",\"caldwell\",\"chance1\",\"catalog\",\"faust\",\"film\",\"flange\",\"fran\",\"fartman\",\"geil\",\"gbhcf2\",\"fussball\",\"glen\",\"fuaqz4\",\"gameboy\",\"garnet\",\"geneviev\",\"rotary\",\"seahawk\",\"russel\",\"saab\",\"seal\",\"samadams\",\"devlt4\",\"ditto\",\"drevil\",\"drinker\",\"deuce\",\"dipstick\",\"donut\",\"octopus\",\"ottawa\",\"losangel\",\"loverman\",\"porky\",\"q9umoz\",\"rapture\",\"pump\",\"pussy4me\",\"university\",\"triplex\",\"ue8fpw\",\"trent\",\"trophy\",\"turbos\",\"troubles\",\"agent\",\"aaa340\",\"churchil\",\"crazyman\",\"consult\",\"creepy\",\"craven\",\"class\",\"cutiepie\",\"ddddd1\",\"dejavu\",\"cuxldv\",\"nettie\",\"nbvibt\",\"nikon\",\"niko\",\"norwood\",\"nascar1\",\"nolan\",\"bubba2\",\"boobear\",\"boogers\",\"buff\",\"bullwink\",\"bully\",\"bulldawg\",\"horsemen\",\"escalade\",\"editor\",\"eagle2\",\"dynamic\",\"ella\",\"efyreg\",\"edition\",\"kidney\",\"minnesot\",\"mogwai\",\"morrow\",\"msnxbi\",\"moonlight\",\"mwq6qlzo\",\"wars\",\"werder\",\"verygood\",\"voodoo1\",\"wheel\",\"iiiiii1\",\"159951\",\"1624\",\"1911a1\",\"2244\",\"bellagio\",\"bedlam\",\"belkin\",\"bill1\",\"woodrow\",\"xirt2k\",\"worship\",\"??????\",\"tanaka\",\"swift\",\"susieq\",\"sundown\",\"sukebe\",\"tales\",\"swifty\",\"2fast4u\",\"senate\",\"sexe\",\"sickness\",\"shroom\",\"shaun\",\"seaweed\",\"skeeter1\",\"status\",\"snicker\",\"sorrow\",\"spanky1\",\"spook\",\"patti\",\"phaedrus\",\"pilots\",\"pinch\",\"peddler\",\"theo\",\"thumper1\",\"tessie\",\"tiger7\",\"tmjxn151\",\"thematri\",\"l2g7k3\",\"letmeinn\",\"lazy\",\"jeffjeff\",\"joan\",\"johnmish\",\"mantra\",\"mariana\",\"mike69\",\"marshal\",\"mart\",\"mazda6\",\"riptide\",\"robots\",\"rental\",\"1107\",\"1130\",\"142857\",\"11001001\",\"1134\",\"armored\",\"alvin\",\"alec\",\"allnight\",\"alright\",\"amatuers\",\"bartok\",\"attorney\",\"astral\",\"baboon\",\"bahamas\",\"balls1\",\"bassoon\",\"hcleeb\",\"happyman\",\"granite\",\"graywolf\",\"golf1\",\"gomets\",\"8vjzus\",\"7890\",\"789123\",\"8uiazp\",\"5757\",\"474jdvff\",\"551scasi\",\"50cent\",\"camaro1\",\"cherry1\",\"chemist\",\"final\",\"firenze\",\"fishtank\",\"farrell\",\"freewill\",\"glendale\",\"frogfrog\",\"gerhardt\",\"ganesh\",\"same\",\"scirocco\",\"devilman\",\"doodles\",\"dinger\",\"okinawa\",\"olympic\",\"nursing\",\"orpheus\",\"ohmygod\",\"paisley\",\"pallmall\",\"null\",\"lounge\",\"lunchbox\",\"manhatta\",\"mahalo\",\"mandarin\",\"qwqwqw\",\"qguvyt\",\"pxx3eftp\",\"president\",\"rambler\",\"puzzle\",\"poppy1\",\"turk182\",\"trotter\",\"vdlxuc\",\"trish\",\"tugboat\",\"valiant\",\"tracie\",\"uwrl7c\",\"chris123\",\"coaster\",\"cmfnpu\",\"decimal\",\"debbie1\",\"dandy\",\"daedalus\",\"dede\",\"natasha1\",\"nissan1\",\"nancy123\",\"nevermin\",\"napalm\",\"newcastle\",\"boats\",\"branden\",\"britt\",\"bonghit\",\"hester\",\"ibxnsm\",\"hhhhhh1\",\"holger\",\"durham\",\"edmonton\",\"erwin\",\"equinox\",\"dvader\",\"kimmy\",\"knulla\",\"mustafa\",\"monsoon\",\"mistral\",\"morgana\",\"monica1\",\"mojave\",\"month\",\"monterey\",\"mrbill\",\"vkaxcs\",\"victor1\",\"wacker\",\"wendell\",\"violator\",\"vfdhif\",\"wilson1\",\"wavpzt\",\"verena\",\"wildstar\",\"winter99\",\"iqzzt580\",\"jarrod\",\"imback\",\"1914\",\"19741974\",\"1monkey\",\"1q2w3e4r5t\",\"2500\",\"2255\",\"blank\",\"bigshow\",\"bigbucks\",\"blackcoc\",\"zoomer\",\"wtcacq\",\"wobble\",\"xmen\",\"xjznq5\",\"yesterda\",\"yhwnqc\",\"zzzxxx\",\"streak\",\"393939\",\"2fchbg\",\"skinhead\",\"skilled\",\"shakira\",\"shaft\",\"shadow12\",\"seaside\",\"sigrid\",\"sinful\",\"silicon\",\"smk7366\",\"snapshot\",\"sniper1\",\"soccer11\",\"staff\",\"slap\",\"smutty\",\"peepers\",\"pleasant\",\"plokij\",\"pdiddy\",\"pimpdaddy\",\"thrust\",\"terran\",\"topaz\",\"today1\",\"lionhear\",\"littlema\",\"lauren1\",\"lincoln1\",\"lgnu9d\",\"laughing\",\"juneau\",\"methos\",\"medina\",\"merlyn\",\"rogue1\",\"romulus\",\"redshift\",\"1202\",\"1469\",\"12locked\",\"arizona1\",\"alfarome\",\"al9agd\",\"aol123\",\"altec\",\"apollo1\",\"arse\",\"baker1\",\"bbb747\",\"bach\",\"axeman\",\"astro1\",\"hawthorn\",\"goodfell\",\"hawks1\",\"gstring\",\"hannes\",\"8543852\",\"868686\",\"4ng62t\",\"554uzpad\",\"5401\",\"567890\",\"5232\",\"catfood\",\"frame\",\"flow\",\"fire1\",\"flipflop\",\"fffff1\",\"fozzie\",\"fluff\",\"garrison\",\"fzappa\",\"furious\",\"round\",\"rustydog\",\"sandberg\",\"scarab\",\"satin\",\"ruger\",\"samsung1\",\"destin\",\"diablo2\",\"dreamer1\",\"detectiv\",\"dominick\",\"doqvq3\",\"drywall\",\"paladin1\",\"papabear\",\"offroad\",\"panasonic\",\"nyyankee\",\"luetdi\",\"qcfmtz\",\"pyf8ah\",\"puddles\",\"privacy\",\"rainer\",\"pussyeat\",\"ralph1\",\"princeto\",\"trivia\",\"trewq\",\"tri5a3\",\"advent\",\"9898\",\"agyvorc\",\"clarkie\",\"coach1\",\"courier\",\"contest\",\"christo\",\"corinna\",\"chowder\",\"concept\",\"climbing\",\"cyzkhw\",\"davidb\",\"dad2ownu\",\"days\",\"daredevi\",\"de7mdf\",\"nose\",\"necklace\",\"nazgul\",\"booboo1\",\"broad\",\"bonzo\",\"brenna\",\"boot\",\"butch1\",\"huskers1\",\"hgfdsa\",\"hornyman\",\"elmer\",\"elektra\",\"england1\",\"elodie\",\"kermit1\",\"knife\",\"kaboom\",\"minute\",\"modern\",\"motherfucker\",\"morten\",\"mocha\",\"monday1\",\"morgoth\",\"ward\",\"weewee\",\"weenie\",\"walters\",\"vorlon\",\"website\",\"wahoo\",\"ilovegod\",\"insider\",\"jayman\",\"1911\",\"1dallas\",\"1900\",\"1ranger\",\"201jedlz\",\"2501\",\"1qaz\",\"bertram\",\"bignuts\",\"bigbad\",\"beebee\",\"billows\",\"belize\",\"bebe\",\"wvj5np\",\"wu4etd\",\"yamaha1\",\"wrinkle5\",\"zebra1\",\"yankee1\",\"zoomzoom\",\"09876543\",\"0311\",\"?????\",\"stjabn\",\"tainted\",\"3tmnej\",\"shoot\",\"skooter\",\"skelter\",\"sixteen\",\"starlite\",\"smack\",\"spice1\",\"stacey1\",\"smithy\",\"perrin\",\"pollux\",\"peternorth\",\"pixie\",\"paulina\",\"piston\",\"pick\",\"poets\",\"pine\",\"toons\",\"tooth\",\"topspin\",\"kugm7b\",\"legends\",\"jeepjeep\",\"juliana\",\"joystick\",\"junkmail\",\"jojojojo\",\"jonboy\",\"judge\",\"midland\",\"meteor\",\"mccabe\",\"matter\",\"mayfair\",\"meeting\",\"merrill\",\"raul\",\"riches\",\"reznor\",\"rockrock\",\"reboot\",\"reject\",\"robyn\",\"renee1\",\"roadway\",\"rasta220\",\"1411\",\"1478963\",\"1019\",\"archery\",\"allman\",\"andyandy\",\"barks\",\"bagpuss\",\"auckland\",\"gooseman\",\"hazmat\",\"gucci\",\"guns\",\"grammy\",\"happydog\",\"greek\",\"7kbe9d\",\"7676\",\"6bjvpe\",\"5lyedn\",\"5858\",\"5291\",\"charlie2\",\"chas\",\"c7lrwu\",\"candys\",\"chateau\",\"ccccc1\",\"cardinals\",\"fear\",\"fihdfv\",\"fortune12\",\"gocats\",\"gaelic\",\"fwsadn\",\"godboy\",\"gldmeo\",\"fx3tuo\",\"fubar1\",\"garland\",\"generals\",\"gforce\",\"rxmtkp\",\"rulz\",\"sairam\",\"dunhill\",\"division\",\"dogggg\",\"detect\",\"details\",\"doll\",\"drinks\",\"ozlq6qwm\",\"ov3ajy\",\"lockout\",\"makayla\",\"macgyver\",\"mallorca\",\"loves\",\"prima\",\"pvjegu\",\"qhxbij\",\"raphael\",\"prelude1\",\"totoro\",\"tusymo\",\"trousers\",\"tunnel\",\"valeria\",\"tulane\",\"turtle1\",\"tracy1\",\"aerosmit\",\"abbey1\",\"address\",\"clticic\",\"clueless\",\"cooper1\",\"comets\",\"collect\",\"corbin\",\"delpiero\",\"derick\",\"cyprus\",\"dante1\",\"dave1\",\"nounours\",\"neal\",\"nexus6\",\"nero\",\"nogard\",\"norfolk\",\"brent1\",\"booyah\",\"bootleg\",\"buckaroo\",\"bulls23\",\"bulls1\",\"booper\",\"heretic\",\"icecube\",\"hellno\",\"hounds\",\"honeydew\",\"hooters1\",\"hoes\",\"howie\",\"hevnm4\",\"hugohugo\",\"eighty\",\"epson\",\"evangeli\",\"eeeee1\",\"eyphed\"]","/** SecLists 10k-most-common.txt — NFKC-lowercased at build time. Version pinned in PASSCODE_SECURITY.md */\nimport denylistJson from \"./passcode-denylist.json\";\n\nexport const PASSCODE_DENYLIST_SOURCE =\n \"SecLists/Passwords/Common-Credentials/10k-most-common.txt\";\nexport const PASSCODE_DENYLIST_VERSION = \"2026-08-13\";\n\nconst DENYLIST = new Set<string>(denylistJson as string[]);\n\nexport function isPasscodeDenylisted(passcode: string): boolean {\n const normalized = passcode.normalize(\"NFKC\").toLowerCase();\n return DENYLIST.has(normalized);\n}\n\nexport function passcodeDenylistSize(): number {\n return DENYLIST.size;\n}\n","import { ZxcvbnFactory } from \"@zxcvbn-ts/core\";\nimport * as zxcvbnCommon from \"@zxcvbn-ts/language-common\";\nimport * as zxcvbnEn from \"@zxcvbn-ts/language-en\";\n\nimport { assertValidPasscode, normalizePasscode } from \"./pin\";\nimport { isPasscodeDenylisted } from \"./passcode-denylist\";\nimport { EmbeddedWalletWeakPasscodeError, type PasscodeStrengthLabel } from \"./types\";\n\nlet zxcvbnChecker: ZxcvbnFactory | null = null;\n\nfunction getZxcvbnChecker(): ZxcvbnFactory {\n if (!zxcvbnChecker) {\n zxcvbnChecker = new ZxcvbnFactory({\n translations: zxcvbnEn.translations,\n graphs: zxcvbnCommon.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommon.dictionary,\n ...zxcvbnEn.dictionary,\n },\n });\n }\n return zxcvbnChecker;\n}\n\nexport interface PasscodeStrengthResult {\n score: 0 | 1 | 2 | 3 | 4;\n label: PasscodeStrengthLabel;\n blocked: boolean;\n blockReason?: \"denylist\" | \"too_weak\" | \"numeric_short\";\n}\n\nfunction scoreToLabel(score: 0 | 1 | 2 | 3 | 4): PasscodeStrengthLabel {\n if (score <= 0) {\n return \"weak\";\n }\n if (score === 1) {\n return \"fair\";\n }\n if (score === 2) {\n return \"good\";\n }\n return \"strong\";\n}\n\nexport function hasMixedCharacterClasses(passcode: string): boolean {\n let classes = 0;\n if (/[a-z]/.test(passcode)) {\n classes++;\n }\n if (/[A-Z]/.test(passcode)) {\n classes++;\n }\n if (/[0-9]/.test(passcode)) {\n classes++;\n }\n if (/[^a-zA-Z0-9]/.test(passcode)) {\n classes++;\n }\n return classes >= 2;\n}\n\nfunction isAllDigits(passcode: string): boolean {\n return /^[0-9]+$/.test(passcode);\n}\n\n/** Score passcode strength for creation UI (denylist + zxcvbn). */\nexport function evaluatePasscodeStrength(passcode: string): PasscodeStrengthResult {\n assertValidPasscode(passcode);\n const normalized = normalizePasscode(passcode);\n\n if (isPasscodeDenylisted(normalized)) {\n return {\n score: 0,\n label: \"weak\",\n blocked: true,\n blockReason: \"denylist\",\n };\n }\n\n if (isAllDigits(normalized) && normalized.length < 12) {\n return {\n score: 0,\n label: \"weak\",\n blocked: true,\n blockReason: \"numeric_short\",\n };\n }\n\n const result = getZxcvbnChecker().check(normalized);\n const score = result.score as 0 | 1 | 2 | 3 | 4;\n const label = scoreToLabel(score);\n\n if (score === 0 && !(normalized.length >= 14 && hasMixedCharacterClasses(normalized))) {\n return {\n score,\n label,\n blocked: true,\n blockReason: \"too_weak\",\n };\n }\n\n return {\n score,\n label,\n blocked: false,\n };\n}\n\n/** Hard reject weak or common passcodes at wallet creation / recovery. */\nexport function assertPasscodeAllowedForCreation(passcode: string): void {\n const strength = evaluatePasscodeStrength(passcode);\n if (strength.blocked) {\n throw new EmbeddedWalletWeakPasscodeError(strength.blockReason ?? \"too_weak\");\n }\n}\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\n\nimport { exportEncryptedBackup, parseEncryptedBackup, serializeBackupFile } from \"./backup\";\nimport {\n assertVaultPermitsTransaction,\n createPasskeyMaterialFromAssertion,\n createPbkdf2Salt,\n decryptWalletPayload,\n deriveKekFromPbkdf2,\n deriveKekFromPrf,\n encryptWalletPayload,\n markVaultBackupAcknowledged,\n} from \"./crypto\";\nimport {\n assertPasscodeUnlockAllowed,\n recordPasscodeUnlockFailure,\n recordPasscodeUnlockSuccess,\n} from \"./lockout\";\nimport {\n createHdDerivedPlaintext,\n detectRecoveryMnemonicKeyType,\n plaintextFromRecoveryMnemonic,\n recoveryMnemonicAddress,\n recoveryMnemonicFromPlaintext,\n resolvePlaintextKeyType,\n} from \"./mnemonic\";\nimport { assertPasscodeAllowedForCreation } from \"./passcode-strength\";\nimport {\n deriveKekFromPasscode,\n EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n} from \"./pin\";\nimport { detectWebAuthnPrfCapabilities, selectEmbeddedWalletKdf } from \"./prf\";\nimport { defaultEmbeddedHdPath, embeddedPlaintextToSigner } from \"./signer\";\nimport {\n clearVaultFromIndexedDb,\n loadVaultFromIndexedDb,\n saveVaultToIndexedDb,\n} from \"./storage\";\nimport {\n EMBEDDED_WALLET_KDF_PBKDF2,\n EMBEDDED_WALLET_KDF_PIN,\n EMBEDDED_WALLET_KDF_PRF,\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_KEY_HD_DERIVED,\n EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING,\n EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING,\n type EmbeddedWalletBackupFileV1,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n type EmbeddedWalletRecoveryPhraseReveal,\n type EmbeddedWalletVaultV1,\n EmbeddedWalletDecryptError,\n EmbeddedWalletVaultError,\n} from \"./types\";\nimport { assertPasskey, decodeCredentialId, registerPasskey } from \"./webauthn\";\n\nexport interface EmbeddedWalletScopeOptions {\n /** Supabase user id or other account key — scopes IndexedDB vault storage per account. */\n scopeId?: string;\n}\n\nexport interface CreateEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n passcode: string;\n}\n\nexport interface UnlockEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n passcode?: string;\n}\n\nexport interface RevealEmbeddedRecoveryPhraseOptions extends EmbeddedWalletScopeOptions {\n passcode?: string;\n}\n\nexport interface RecoverEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n passcode: string;\n mnemonic: string;\n /** When omitted, inferred from expectedAddress or defaults to hd-derived. */\n keyType?: EmbeddedWalletKeyType;\n /** Used to auto-detect legacy direct-entropy vs standard HD phrases. */\n expectedAddress?: string;\n hdPath?: string;\n /** When true, replaces an existing vault on this device (e.g. after device loss). */\n replaceExisting?: boolean;\n}\n\nexport interface EnableEmbeddedPasskeyUnlockOptions extends EmbeddedWalletScopeOptions {\n passcode: string;\n userId: Uint8Array;\n userName: string;\n displayName: string;\n rpId?: string;\n}\n\nexport interface MigrateLegacyEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n scopeId: string;\n passcode?: string;\n}\n\nexport interface ImportEmbeddedBackupOptions extends EmbeddedWalletScopeOptions {\n /** When true, replaces an existing vault on this device (e.g. intentional restore). */\n replaceExisting?: boolean;\n}\n\nexport interface ClearEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {}\n\nexport interface AcknowledgeEmbeddedBackupOptions extends EmbeddedWalletScopeOptions {}\n\nexport interface EmbeddedWalletSession {\n address: string;\n vault: EmbeddedWalletVaultV1;\n signer: OfflineDirectSigner;\n}\n\nlet activeSession: EmbeddedWalletSession | null = null;\nlet activeScopeId: string | undefined;\n\nfunction resolveScopeId(scopeId?: string): string | undefined {\n const trimmed = scopeId?.trim();\n return trimmed || undefined;\n}\n\nfunction scopeFromOptions(options?: EmbeddedWalletScopeOptions): string | undefined {\n return resolveScopeId(options?.scopeId);\n}\n\nasync function loadVaultForScope(scopeId?: string): Promise<EmbeddedWalletVaultV1 | null> {\n return loadVaultFromIndexedDb({ scopeId });\n}\n\nexport function vaultUsesPasskeyUnlock(vault: EmbeddedWalletVaultV1): boolean {\n return vault.kdf === EMBEDDED_WALLET_KDF_PRF || vault.kdf === EMBEDDED_WALLET_KDF_PBKDF2;\n}\n\nexport function vaultUsesPasscodeUnlock(vault: EmbeddedWalletVaultV1): boolean {\n return vault.kdf === EMBEDDED_WALLET_KDF_PIN;\n}\n\nfunction isPasscodeDecryptFailure(err: unknown): boolean {\n return err instanceof EmbeddedWalletDecryptError;\n}\n\nasync function decryptVaultWithPasscodeProtected(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n): Promise<EmbeddedWalletPlaintext> {\n if (!vaultUsesPasscodeUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Vault does not use passcode unlock\");\n }\n if (!passcode) {\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\n }\n\n await assertPasscodeUnlockAllowed(vault.publicAddress);\n\n try {\n const plaintext = await decryptVaultWithUnlockMaterial(vault, passcode);\n await recordPasscodeUnlockSuccess(vault.publicAddress);\n return plaintext;\n } catch (err) {\n if (isPasscodeDecryptFailure(err)) {\n await recordPasscodeUnlockFailure(vault.publicAddress);\n }\n throw err;\n }\n}\n\nasync function deriveKekFromPasskeyMaterial(\n vault: EmbeddedWalletVaultV1,\n prfOutput: Uint8Array | null,\n authenticatorData: Uint8Array,\n clientDataJSON: Uint8Array,\n): Promise<Uint8Array> {\n const caps = detectWebAuthnPrfCapabilities();\n const kdf = selectEmbeddedWalletKdf(caps, prfOutput);\n\n if (kdf === EMBEDDED_WALLET_KDF_PRF && prfOutput) {\n return deriveKekFromPrf(prfOutput);\n }\n\n if (vault.kdf !== EMBEDDED_WALLET_KDF_PBKDF2 || !vault.kdfSalt) {\n throw new EmbeddedWalletVaultError(\"Vault expects PBKDF2 but passkey material unavailable\");\n }\n\n const salt = decodeCredentialId(vault.kdfSalt);\n const material = createPasskeyMaterialFromAssertion(authenticatorData, clientDataJSON);\n return deriveKekFromPbkdf2(material, salt, vault.kdfIterations || undefined);\n}\n\nasync function deriveKekForVault(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n passkeyMaterial?: {\n prfOutput: Uint8Array | null;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n },\n): Promise<Uint8Array> {\n if (vaultUsesPasscodeUnlock(vault)) {\n if (!passcode) {\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\n }\n if (!vault.kdfSalt) {\n throw new EmbeddedWalletVaultError(\"PIN vault is missing kdfSalt\");\n }\n const salt = decodeCredentialId(vault.kdfSalt);\n return deriveKekFromPasscode(passcode, salt, vault.kdfIterations || undefined);\n }\n\n if (!passkeyMaterial) {\n throw new EmbeddedWalletVaultError(\"Passkey authentication is required to unlock this wallet\");\n }\n\n return deriveKekFromPasskeyMaterial(\n vault,\n passkeyMaterial.prfOutput,\n passkeyMaterial.authenticatorData,\n passkeyMaterial.clientDataJSON,\n );\n}\n\nasync function decryptVaultWithUnlockMaterial(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n passkeyMaterial?: {\n prfOutput: Uint8Array | null;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n },\n): Promise<EmbeddedWalletPlaintext> {\n const kek = await deriveKekForVault(vault, passcode, passkeyMaterial);\n return decryptWalletPayload(vault, kek);\n}\n\nasync function encryptPlaintextWithPasscode(\n plaintext: EmbeddedWalletPlaintext,\n passcode: string,\n backupAcknowledged = false,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n assertPasscodeAllowedForCreation(passcode);\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\n const [account] = await previewSigner.getAccounts();\n\n const salt = createPbkdf2Salt();\n const kek = await deriveKekFromPasscode(passcode, salt);\n\n const vault = await encryptWalletPayload(plaintext, {\n kdf: EMBEDDED_WALLET_KDF_PIN,\n credentialId: new Uint8Array(0),\n publicAddress: account.address,\n kek,\n kdfSalt: salt,\n kdfIterations: EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n backupAcknowledged,\n });\n\n return { address: account.address, vault };\n}\n\nasync function encryptPlaintextWithPasskeyRegistration(\n plaintext: EmbeddedWalletPlaintext,\n registration: Awaited<ReturnType<typeof registerPasskey>>,\n backupAcknowledged = false,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\n const [account] = await previewSigner.getAccounts();\n\n const caps = detectWebAuthnPrfCapabilities();\n const kdf = selectEmbeddedWalletKdf(caps, registration.prfOutput);\n let kek: Uint8Array;\n let kdfSalt: Uint8Array | undefined;\n let prfSalt: Uint8Array | undefined;\n\n if (kdf === EMBEDDED_WALLET_KDF_PRF && registration.prfOutput) {\n kek = await deriveKekFromPrf(registration.prfOutput);\n prfSalt = registration.prfSalt;\n } else {\n kdfSalt = createPbkdf2Salt();\n const material = createPasskeyMaterialFromAssertion(\n registration.authenticatorData,\n registration.clientDataJSON,\n );\n kek = await deriveKekFromPbkdf2(material, kdfSalt);\n }\n\n const vault = await encryptWalletPayload(plaintext, {\n kdf,\n credentialId: registration.credentialId,\n publicAddress: account.address,\n kek,\n kdfSalt,\n prfSalt,\n backupAcknowledged,\n });\n\n return { address: account.address, vault };\n}\n\nasync function unlockVaultToSession(\n vault: EmbeddedWalletVaultV1,\n options: UnlockEmbeddedWalletOptions = {},\n): Promise<EmbeddedWalletSession> {\n if (vaultUsesPasscodeUnlock(vault)) {\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\n activeSession = session;\n activeScopeId = scopeFromOptions(options);\n return session;\n }\n\n const credentialId = decodeCredentialId(vault.credentialId);\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\n const plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\n activeSession = session;\n activeScopeId = scopeFromOptions(options);\n return session;\n}\n\n/** Returns true if an encrypted vault exists under the given scope (not the legacy key). */\nexport async function hasEmbeddedWallet(options: EmbeddedWalletScopeOptions = {}): Promise<boolean> {\n const vault = await loadVaultForScope(scopeFromOptions(options));\n return vault != null;\n}\n\n/** Returns true if an unscoped legacy vault still exists under the \"primary\" key. */\nexport async function hasLegacyEmbeddedWallet(): Promise<boolean> {\n const vault = await loadVaultFromIndexedDb();\n return vault != null;\n}\n\n/**\n * Verify ownership of a legacy \"primary\" vault, copy it to a scoped key, and remove the legacy entry.\n * Does not run automatically — callers must confirm with the user first.\n */\nexport async function migrateLegacyEmbeddedWallet(\n options: MigrateLegacyEmbeddedWalletOptions,\n): Promise<EmbeddedWalletSession> {\n const scopeId = resolveScopeId(options.scopeId);\n if (!scopeId) {\n throw new EmbeddedWalletVaultError(\"scopeId is required to migrate a legacy wallet\");\n }\n\n const scopedVault = await loadVaultForScope(scopeId);\n if (scopedVault) {\n throw new EmbeddedWalletVaultError(\"A scoped wallet already exists for this account\");\n }\n\n const legacyVault = await loadVaultFromIndexedDb();\n if (!legacyVault) {\n throw new EmbeddedWalletVaultError(\"No legacy embedded wallet found on this device\");\n }\n\n const session = await unlockVaultToSession(legacyVault, { passcode: options.passcode });\n await saveVaultToIndexedDb(legacyVault, { scopeId });\n await clearVaultFromIndexedDb();\n activeScopeId = scopeId;\n return session;\n}\n\n/** Create passcode-protected encrypted vault; does not unlock signer until backup is acknowledged. */\nexport async function createEmbeddedWallet(\n options: CreateEmbeddedWalletOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const createdAt = new Date().toISOString();\n const plaintext = await createHdDerivedPlaintext(createdAt);\n const { address, vault } = await encryptPlaintextWithPasscode(plaintext, options.passcode);\n\n const scopeId = scopeFromOptions(options);\n await saveVaultToIndexedDb(vault, { scopeId });\n lockEmbeddedWallet();\n activeScopeId = scopeId;\n return { address, vault };\n}\n\n/**\n * Re-authenticate and return the recovery phrase plus UI warnings.\n * Call only after showing {@link EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING} (and the\n * direct-entropy portability warning when applicable).\n */\nexport async function revealEmbeddedRecoveryPhrase(\n options: RevealEmbeddedRecoveryPhraseOptions = {},\n): Promise<EmbeddedWalletRecoveryPhraseReveal> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n\n let plaintext: EmbeddedWalletPlaintext;\n if (vaultUsesPasscodeUnlock(vault)) {\n plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n } else {\n const credentialId = decodeCredentialId(vault.credentialId);\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\n plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\n }\n\n const keyType = resolvePlaintextKeyType(plaintext);\n const mnemonic = recoveryMnemonicFromPlaintext(plaintext);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n\n const warnings = [EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING];\n if (keyType === EMBEDDED_WALLET_KEY_DIRECT_ENTROPY) {\n warnings.push(EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING);\n }\n\n return {\n mnemonic,\n keyType,\n address: account.address,\n warnings,\n };\n}\n\n/**\n * Restore an embedded wallet on a new device from a recovery phrase.\n * Sets a new passcode and stores an encrypted vault in IndexedDB.\n */\nexport async function recoverEmbeddedWalletFromMnemonic(\n options: RecoverEmbeddedWalletOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1; keyType: EmbeddedWalletKeyType }> {\n const scopeId = scopeFromOptions(options);\n const existing = await loadVaultForScope(scopeId);\n if (existing && !options.replaceExisting) {\n throw new EmbeddedWalletVaultError(\n \"An embedded wallet already exists on this device; pass replaceExisting to recover over it\",\n );\n }\n\n const hdPath = options.hdPath ?? defaultEmbeddedHdPath();\n let keyType = options.keyType;\n if (!keyType && options.expectedAddress) {\n keyType = await detectRecoveryMnemonicKeyType(\n options.mnemonic,\n options.expectedAddress,\n hdPath,\n );\n }\n if (!keyType) {\n keyType = EMBEDDED_WALLET_KEY_HD_DERIVED;\n }\n\n const createdAt = new Date().toISOString();\n const plaintext = await plaintextFromRecoveryMnemonic(\n options.mnemonic,\n keyType,\n createdAt,\n hdPath,\n );\n const address = await recoveryMnemonicAddress(options.mnemonic, keyType, hdPath);\n\n if (options.expectedAddress && address !== options.expectedAddress) {\n throw new EmbeddedWalletVaultError(\n \"Recovered wallet address does not match expectedAddress\",\n );\n }\n\n const result = await encryptPlaintextWithPasscode(plaintext, options.passcode);\n if (result.address !== address) {\n throw new EmbeddedWalletVaultError(\"Internal error: recovered address mismatch\");\n }\n\n await saveVaultToIndexedDb(result.vault, { scopeId });\n lockEmbeddedWallet();\n activeScopeId = scopeId;\n return { address: result.address, vault: result.vault, keyType };\n}\n\n/**\n * Opt-in upgrade: re-wrap an existing passcode vault with passkey unlock.\n * Does not change the underlying private key or address.\n */\nexport async function enableEmbeddedPasskeyUnlock(\n options: EnableEmbeddedPasskeyUnlockOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n if (vaultUsesPasskeyUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Passkey unlock is already enabled for this wallet\");\n }\n if (!vaultUsesPasscodeUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Unsupported vault unlock method for passkey upgrade\");\n }\n\n const addressBefore = vault.publicAddress;\n const backupAcknowledged = vault.backupAcknowledged;\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n\n const registration = await registerPasskey({\n userId: options.userId,\n userName: options.userName,\n displayName: options.displayName,\n rpId: options.rpId,\n });\n\n const result = await encryptPlaintextWithPasskeyRegistration(\n plaintext,\n registration,\n backupAcknowledged,\n );\n\n if (result.address !== addressBefore) {\n throw new EmbeddedWalletVaultError(\"Passkey upgrade must not change wallet address\");\n }\n\n await saveVaultToIndexedDb(result.vault, { scopeId });\n if (activeSession) {\n activeSession = { ...activeSession, vault: result.vault };\n }\n lockEmbeddedWallet();\n return result;\n}\n\n/** Unlock existing vault with passcode (default) or passkey (opt-in upgrade path). */\nexport async function unlockEmbeddedWallet(\n options: UnlockEmbeddedWalletOptions = {},\n): Promise<EmbeddedWalletSession> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n return unlockVaultToSession(vault, options);\n}\n\n/** Clear in-memory signer. */\nexport function lockEmbeddedWallet(): void {\n activeSession = null;\n activeScopeId = undefined;\n}\n\nexport function getEmbeddedWalletSession(): EmbeddedWalletSession | null {\n return activeSession;\n}\n\n/** Offline signer for CosmJS; enforces backup gate before signing. */\nexport function getEmbeddedOfflineSigner(): OfflineDirectSigner {\n if (!activeSession) {\n throw new EmbeddedWalletVaultError(\"Embedded wallet is locked\");\n }\n assertVaultPermitsTransaction(activeSession.vault);\n\n const inner = activeSession.signer;\n return {\n getAccounts: () => inner.getAccounts(),\n signDirect: (signerAddress, signDoc) => inner.signDirect(signerAddress, signDoc),\n };\n}\n\n/** Mark backup downloaded/acknowledged and persist. Returns backup file payload. */\nexport async function acknowledgeEmbeddedBackup(\n options: AcknowledgeEmbeddedBackupOptions = {},\n): Promise<EmbeddedWalletBackupFileV1> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n const updated = markVaultBackupAcknowledged(vault);\n await saveVaultToIndexedDb(updated, { scopeId });\n if (activeSession) {\n activeSession = { ...activeSession, vault: updated };\n }\n return exportEncryptedBackup(updated);\n}\n\nexport function downloadEmbeddedBackupFile(backup: EmbeddedWalletBackupFileV1, filename?: string): void {\n const blob = new Blob([serializeBackupFile(backup)], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename ?? `kingdom-os-wallet-backup-${backup.vault.publicAddress}.json`;\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\n/** Restore vault from user-held backup file (requires passcode or passkey to decrypt). */\nexport async function importEmbeddedBackup(\n json: string,\n options: ImportEmbeddedBackupOptions = {},\n): Promise<EmbeddedWalletVaultV1> {\n const scopeId = scopeFromOptions(options);\n const existing = await loadVaultForScope(scopeId);\n if (existing && !options.replaceExisting) {\n throw new EmbeddedWalletVaultError(\n \"An embedded wallet already exists on this device; pass replaceExisting to import over it\",\n );\n }\n\n const backup = parseEncryptedBackup(json);\n await saveVaultToIndexedDb(backup.vault, { scopeId });\n lockEmbeddedWallet();\n activeScopeId = scopeId;\n return backup.vault;\n}\n\nexport async function clearEmbeddedWallet(options: ClearEmbeddedWalletOptions = {}): Promise<void> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n lockEmbeddedWallet();\n await clearVaultFromIndexedDb({ scopeId });\n}\n","import type { EncodeObject } from \"@cosmjs/proto-signing\";\n\nimport {\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\n attestationSignPayload,\n providerSeedFromHex,\n signAttestationPayload,\n type AttestationPayloadInput,\n} from \"./attestation\";\nimport { MsgSubmitApplication } from \"./registry\";\n\nexport interface SubmitApplicationParams {\n applicantWallet: string;\n applicationId: string;\n chainId: string;\n providerId: string;\n policyVersion: string;\n providerSeedHex: string;\n nonce: string;\n uniquenessReference: string;\n issuedAt: Date;\n expiresAt: Date;\n providerKeyVersion?: bigint;\n}\n\nexport function buildSubmitApplicationMsg(\n applicantWallet: string,\n applicationId: string,\n attestationInput: AttestationPayloadInput,\n signature: string,\n): EncodeObject {\n return {\n typeUrl: \"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\",\n value: MsgSubmitApplication.fromPartial({\n applicant_wallet: applicantWallet,\n application_id: applicationId,\n provider_id: attestationInput.providerId,\n provider_key_version: attestationInput.providerKeyVersion,\n chain_id: attestationInput.chainId,\n case_id: attestationInput.caseId,\n policy_version: attestationInput.policyVersion,\n nonce: attestationInput.nonce,\n uniqueness_reference: attestationInput.uniquenessReference,\n issued_at: attestationInput.issuedAt,\n expires_at: attestationInput.expiresAt,\n signature,\n }),\n };\n}\n\nexport async function signCitizenshipAttestation(\n params: SubmitApplicationParams,\n): Promise<{ signature: string; input: AttestationPayloadInput }> {\n const input: AttestationPayloadInput = {\n attestationType: ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\n chainId: params.chainId,\n intendedWallet: params.applicantWallet,\n caseId: params.applicationId,\n policyVersion: params.policyVersion,\n nonce: params.nonce,\n uniquenessReference: params.uniquenessReference,\n issuedAt: params.issuedAt,\n expiresAt: params.expiresAt,\n providerId: params.providerId,\n providerKeyVersion: params.providerKeyVersion ?? 1n,\n };\n const payload = attestationSignPayload(input);\n const providerSeed = providerSeedFromHex(params.providerSeedHex);\n const signature = await signAttestationPayload(providerSeed, payload);\n return { signature, input };\n}\n","import { UKDR_DECIMALS, UKDR_MINIMAL_DENOM } from \"./chainConstants\";\n\n/** Parse a human KDR amount (e.g. \"2\" or \"2.5\") into ukdr base units string. */\nexport function parseKdrToUkdr(amountKdr: string): string {\n const trimmed = amountKdr.trim();\n if (!trimmed) {\n throw new Error(\"Amount is required\");\n }\n if (!/^\\d+(\\.\\d+)?$/.test(trimmed)) {\n throw new Error(\"Amount must be a positive number\");\n }\n const [whole, frac = \"\"] = trimmed.split(\".\");\n if (frac.length > UKDR_DECIMALS) {\n throw new Error(`Amount supports at most ${UKDR_DECIMALS} decimal places`);\n }\n const paddedFrac = frac.padEnd(UKDR_DECIMALS, \"0\");\n const ukdr = BigInt(whole + paddedFrac);\n if (ukdr <= 0n) {\n throw new Error(\"Amount must be greater than zero\");\n }\n return ukdr.toString();\n}\n\n/** Format ukdr base units as KDR with up to 6 decimal places (trailing zeros trimmed). */\nexport function formatUkdrAsKdr(amountUkdr: string | bigint): string {\n const raw = typeof amountUkdr === \"bigint\" ? amountUkdr : BigInt(amountUkdr || \"0\");\n const negative = raw < 0n;\n const abs = negative ? -raw : raw;\n const whole = abs / 1_000_000n;\n const frac = abs % 1_000_000n;\n let fracStr = frac.toString().padStart(UKDR_DECIMALS, \"0\").replace(/0+$/, \"\");\n const formatted = fracStr ? `${whole}.${fracStr}` : whole.toString();\n return negative ? `-${formatted}` : formatted;\n}\n\nexport function ukdrCoin(amountUkdr: string | bigint) {\n return {\n denom: UKDR_MINIMAL_DENOM,\n amount: typeof amountUkdr === \"bigint\" ? amountUkdr.toString() : amountUkdr,\n };\n}\n","import type { FinalizedReward } from \"./generated/isatheword/kingdomchain/citizenrewards/v1/citizenrewards\";\nimport { UKDR_MINIMAL_DENOM } from \"./chainConstants\";\n\nexport class RestQueryError extends Error {\n constructor(\n message: string,\n public readonly status?: number,\n cause?: unknown,\n ) {\n super(message, { cause });\n this.name = \"RestQueryError\";\n }\n}\n\nasync function restGet<T>(restUrl: string, path: string): Promise<T> {\n const base = restUrl.replace(/\\/$/, \"\");\n const res = await fetch(`${base}${path}`);\n if (!res.ok) {\n const body = await res.text().catch(() => \"\");\n throw new RestQueryError(\n body ? `LCD request failed (${res.status}): ${body}` : `LCD request failed (${res.status})`,\n res.status,\n );\n }\n return (await res.json()) as T;\n}\n\nexport interface BankBalanceResponse {\n balances: Array<{ denom: string; amount: string }>;\n}\n\n/** Fetch ukdr balance for an address via LCD bank query. */\nexport async function fetchUkdrBalance(restUrl: string, address: string): Promise<string> {\n const data = await restGet<BankBalanceResponse>(\n restUrl,\n `/cosmos/bank/v1beta1/balances/${encodeURIComponent(address)}`,\n );\n const coin = data.balances.find((b) => b.denom === UKDR_MINIMAL_DENOM);\n return coin?.amount ?? \"0\";\n}\n\nexport interface UnclaimedRewardsResponse {\n rewards: FinalizedReward[];\n}\n\n/** List finalized, unexpired, unclaimed rewards for a citizen wallet. */\nexport async function fetchUnclaimedFinalizedRewards(\n restUrl: string,\n address: string,\n): Promise<FinalizedReward[]> {\n const data = await restGet<UnclaimedRewardsResponse>(\n restUrl,\n `/isatheword/kingdomchain/citizenrewards/v1/unclaimed_finalized_rewards/${encodeURIComponent(address)}`,\n );\n return data.rewards ?? [];\n}\n\nexport interface FeeGrantAllowancesResponse {\n allowances: Array<{\n granter: string;\n grantee: string;\n allowance?: unknown;\n }>;\n}\n\n/**\n * Returns the first active feegrant granter for grantee, if any.\n * Kingdom OS should grant claim gas via DEC-010 hot wallet before first claim.\n */\nexport async function fetchFeeGrantGranter(restUrl: string, grantee: string): Promise<string | null> {\n try {\n const data = await restGet<FeeGrantAllowancesResponse>(\n restUrl,\n `/cosmos/feegrant/v1beta1/allowances/${encodeURIComponent(grantee)}`,\n );\n const first = data.allowances?.[0];\n return first?.granter?.trim() || null;\n } catch (err) {\n if (err instanceof RestQueryError && err.status === 404) {\n return null;\n }\n throw err;\n }\n}\n","import type { EncodeObject } from \"@cosmjs/proto-signing\";\nimport type { DeliverTxResponse, IndexedTx, SigningStargateClient, StdFee } from \"@cosmjs/stargate\";\nimport { coins } from \"@cosmjs/stargate\";\n\nimport { parseKdrToUkdr, ukdrCoin } from \"./amount\";\nimport { UKDR_MINIMAL_DENOM } from \"./chainConstants\";\nimport { MsgClaimReward } from \"./generated/isatheword/kingdomchain/citizenrewards/v1/tx\";\n\nexport class CitizenTxError extends Error {\n constructor(\n message: string,\n public readonly code: CitizenTxErrorCode,\n cause?: unknown,\n ) {\n super(message, { cause });\n this.name = \"CitizenTxError\";\n }\n}\n\nexport type CitizenTxErrorCode =\n | \"INSUFFICIENT_FEE\"\n | \"INSUFFICIENT_BALANCE\"\n | \"SEQUENCE_MISMATCH\"\n | \"TX_FAILED\"\n | \"TIMEOUT\"\n | \"INVALID_INPUT\";\n\nexport interface BroadcastConfirmOptions {\n /** Poll interval while waiting for inclusion (default 1500ms). */\n pollIntervalMs?: number;\n /** Max wait after broadcast before TIMEOUT (default 90s). */\n timeoutMs?: number;\n}\n\nexport interface BroadcastConfirmResult {\n hash: string;\n height: number;\n code: number;\n rawLog: string;\n /** Tx result after broadcast (DeliverTxResponse) or re-indexed confirmation (IndexedTx). */\n deliverTx: DeliverTxResponse | IndexedTx;\n}\n\nconst DEFAULT_GAS = \"200000\";\nconst DEFAULT_FEE_UKDR = \"5000\";\n\nexport function buildSendUkdrMsg(fromAddress: string, toAddress: string, amountKdr: string): EncodeObject {\n if (!fromAddress.trim() || !toAddress.trim()) {\n throw new CitizenTxError(\"Sender and recipient are required\", \"INVALID_INPUT\");\n }\n const amountUkdr = parseKdrToUkdr(amountKdr);\n return {\n typeUrl: \"/cosmos.bank.v1beta1.MsgSend\",\n value: {\n fromAddress,\n toAddress,\n amount: [ukdrCoin(amountUkdr)],\n },\n };\n}\n\nexport function buildClaimRewardMsg(claimer: string, dayId: bigint | number): EncodeObject {\n if (!claimer.trim()) {\n throw new CitizenTxError(\"Claimer address is required\", \"INVALID_INPUT\");\n }\n const day = typeof dayId === \"bigint\" ? dayId : BigInt(dayId);\n if (day <= 0n) {\n throw new CitizenTxError(\"Reward day is required\", \"INVALID_INPUT\");\n }\n return {\n typeUrl: \"/isatheword.kingdomchain.citizenrewards.v1.MsgClaimReward\",\n value: MsgClaimReward.fromPartial({\n claimer,\n day_id: day,\n }),\n };\n}\n\nexport function defaultUkdrTxFee(feeUkdr = DEFAULT_FEE_UKDR, feeGranter?: string): StdFee {\n return {\n amount: coins(feeUkdr, UKDR_MINIMAL_DENOM),\n gas: DEFAULT_GAS,\n ...(feeGranter ? { granter: feeGranter } : {}),\n };\n}\n\nfunction classifyBroadcastFailure(rawLog: string, code: number): CitizenTxErrorCode {\n const log = rawLog.toLowerCase();\n if (log.includes(\"insufficient funds\") || log.includes(\"insufficient fee\")) {\n return log.includes(\"fee\") ? \"INSUFFICIENT_FEE\" : \"INSUFFICIENT_BALANCE\";\n }\n if (log.includes(\"account sequence mismatch\") || log.includes(\"wrong sequence\")) {\n return \"SEQUENCE_MISMATCH\";\n }\n if (code !== 0) {\n return \"TX_FAILED\";\n }\n return \"TX_FAILED\";\n}\n\nexport function citizenTxErrorMessage(code: CitizenTxErrorCode): string {\n switch (code) {\n case \"INSUFFICIENT_FEE\":\n return \"This transaction needs a little more KDR for network fees. If you have not claimed yet, ask support to enable sponsored claim fees.\";\n case \"INSUFFICIENT_BALANCE\":\n return \"You do not have enough KDR for this transfer.\";\n case \"SEQUENCE_MISMATCH\":\n return \"Your wallet is out of sync. Refresh the page and try again.\";\n case \"TIMEOUT\":\n return \"The network is taking longer than usual. Your transaction may still confirm — check again in a moment.\";\n case \"INVALID_INPUT\":\n return \"Please check the amount and address and try again.\";\n case \"TX_FAILED\":\n default:\n return \"The transaction could not be completed. Please try again.\";\n }\n}\n\n/** Broadcast a signed tx and wait until it is indexed with a definitive result code. */\nexport async function broadcastAndConfirmTx(\n client: SigningStargateClient,\n signerAddress: string,\n messages: readonly EncodeObject[],\n fee: StdFee | \"auto\" | number,\n memo = \"\",\n options: BroadcastConfirmOptions = {},\n): Promise<BroadcastConfirmResult> {\n const pollIntervalMs = options.pollIntervalMs ?? 1500;\n const timeoutMs = options.timeoutMs ?? 90_000;\n\n let deliverTx: DeliverTxResponse;\n try {\n deliverTx = await client.signAndBroadcast(signerAddress, messages, fee, memo);\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n if (message.toLowerCase().includes(\"insufficient\")) {\n throw new CitizenTxError(citizenTxErrorMessage(\"INSUFFICIENT_FEE\"), \"INSUFFICIENT_FEE\", err);\n }\n throw new CitizenTxError(citizenTxErrorMessage(\"TX_FAILED\"), \"TX_FAILED\", err);\n }\n\n if (deliverTx.code !== 0) {\n const code = classifyBroadcastFailure(deliverTx.rawLog ?? \"\", deliverTx.code);\n throw new CitizenTxError(citizenTxErrorMessage(code), code);\n }\n\n const hash = deliverTx.transactionHash;\n const deadline = Date.now() + timeoutMs;\n\n while (Date.now() < deadline) {\n const indexed = await client.getTx(hash);\n if (indexed) {\n if (indexed.code !== 0) {\n const code = classifyBroadcastFailure(indexed.rawLog ?? \"\", indexed.code);\n throw new CitizenTxError(citizenTxErrorMessage(code), code);\n }\n return {\n hash,\n height: indexed.height,\n code: indexed.code,\n rawLog: indexed.rawLog ?? \"\",\n deliverTx: indexed,\n };\n }\n await sleep(pollIntervalMs);\n }\n\n throw new CitizenTxError(citizenTxErrorMessage(\"TIMEOUT\"), \"TIMEOUT\");\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"]}
1
+ {"version":3,"sources":["../src/attestation.ts","../src/generated/google/protobuf/timestamp.ts","../src/generated/isatheword/kingdomchain/citizen/v1/tx.ts","../src/generated/isatheword/kingdomchain/citizenrewards/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/tx.ts","../src/generated/isatheword/kingdomchain/compliance/v1/compliance.ts","../src/registry.ts","../src/chainConstants.ts","../src/browserSigner.ts","../src/walletConnectSigner.ts","../src/embeddedWallet/types.ts","../src/embeddedWallet/signer.ts","../src/embeddedWallet/mnemonic.ts","../src/embeddedWallet/pin.ts","../src/embeddedWallet/crypto.ts","../src/embeddedWallet/prf.ts","../src/embeddedWallet/backup.ts","../src/embeddedWallet/webauthn.ts","../src/embeddedWallet/storage.ts","../src/embeddedWallet/lockout.ts","../src/embeddedWallet/passcode-denylist.json","../src/embeddedWallet/passcode-denylist.ts","../src/embeddedWallet/passcode-strength.ts","../src/embeddedWallet/wallet.ts","../src/submitApplication.ts","../src/amount.ts","../src/restQuery.ts","../src/citizenTx.ts"],"names":["BinaryWriter","BinaryReader","toTimestamp","fromTimestamp","ApplicationStatus","RecoveryAttestationStatus","englishWordlist","DirectSecp256k1Wallet","privateKey","toBase64","fromBase64","plaintext","signer","account","session"],"mappings":"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","file":"index.js","sourcesContent":["import { fromHex, toHex } from \"@cosmjs/encoding\";\nimport { sha256 } from \"@noble/hashes/sha256\";\nimport * as ed from \"@noble/ed25519\";\n\n/** Must match x/compliance/types/keys.go AttestationTypeCitizenshipApplication */\nexport const ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = \"citizenship_application\";\n\n/** Must match x/compliance/types/keys.go AttestationTypeRecovery */\nexport const ATTESTATION_TYPE_RECOVERY = \"recovery\";\n\nexport interface AttestationPayloadInput {\n attestationType: string;\n chainId: string;\n intendedWallet: string;\n caseId: string;\n policyVersion: string;\n nonce: string;\n uniquenessReference: string;\n issuedAt: Date;\n expiresAt: Date;\n providerId: string;\n providerKeyVersion: bigint;\n citizenId?: bigint;\n oldWallet?: string;\n newWallet?: string;\n}\n\nfunction hashField(value: string): Uint8Array {\n return sha256(new TextEncoder().encode(value));\n}\n\n/** Format uint64 the same way Go strconv.FormatUint(v, 10) does. Rejects out-of-range values. */\nfunction formatUint64(value: bigint, fieldName: string): string {\n if (value < 0n) {\n throw new Error(`${fieldName} must be non-negative, got ${value}`);\n }\n if (value > 0xffff_ffff_ffff_ffffn) {\n throw new Error(`${fieldName} exceeds uint64 max, got ${value}`);\n }\n return value.toString(10);\n}\n\n/** Unix seconds truncated toward zero — matches Go time.Time.Unix(). */\nfunction unixSeconds(date: Date): number {\n return Math.trunc(date.getTime() / 1000);\n}\n\nfunction combineHashes(hashes: Uint8Array[]): string {\n const totalLen = hashes.reduce((acc, h) => acc + h.length, 0);\n const preimage = new Uint8Array(totalLen);\n let offset = 0;\n for (const h of hashes) {\n preimage.set(h, offset);\n offset += h.length;\n }\n return toHex(sha256(preimage));\n}\n\n/**\n * Canonical attestation payload — must match Go types.AttestationSignPayload bit-for-bit.\n */\nexport function attestationSignPayload(input: AttestationPayloadInput): string {\n const hashes = [\n hashField(input.attestationType),\n hashField(input.chainId),\n hashField(input.intendedWallet),\n hashField(input.caseId),\n hashField(input.policyVersion),\n hashField(input.nonce),\n hashField(input.uniquenessReference),\n hashField(String(unixSeconds(input.issuedAt))),\n hashField(String(unixSeconds(input.expiresAt))),\n hashField(input.providerId),\n hashField(formatUint64(input.providerKeyVersion, \"providerKeyVersion\")),\n ];\n if (input.attestationType === ATTESTATION_TYPE_RECOVERY) {\n hashes.push(\n hashField(formatUint64(input.citizenId ?? 0n, \"citizenId\")),\n hashField(input.oldWallet ?? \"\"),\n hashField(input.newWallet ?? \"\"),\n );\n }\n return combineHashes(hashes);\n}\n\nexport async function signAttestationPayload(privateKeySeed: Uint8Array, payload: string): Promise<string> {\n if (privateKeySeed.length !== 32) {\n throw new Error(\"invalid ed25519 seed size\");\n }\n const sig = await ed.signAsync(new TextEncoder().encode(payload), privateKeySeed);\n return toHex(sig);\n}\n\nexport async function publicKeyFromPrivateSeed(privateKeySeed: Uint8Array): Promise<string> {\n if (privateKeySeed.length !== 32) {\n throw new Error(\"invalid ed25519 seed size\");\n }\n const pub = await ed.getPublicKeyAsync(privateKeySeed);\n return toHex(pub);\n}\n\nexport function providerSeedFromHex(hex: string): Uint8Array {\n const seed = fromHex(hex);\n if (seed.length !== 32) {\n throw new Error(\"provider seed hex must decode to 32 bytes\");\n }\n return new Uint8Array(seed);\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: google/protobuf/timestamp.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\n/**\n * A Timestamp represents a point in time independent of any time zone or local\n * calendar, encoded as a count of seconds and fractions of seconds at\n * nanosecond resolution. The count is relative to an epoch at UTC midnight on\n * January 1, 1970, in the proleptic Gregorian calendar which extends the\n * Gregorian calendar backwards to year one.\n *\n * All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n * second table is needed for interpretation, using a [24-hour linear\n * smear](https://developers.google.com/time/smear).\n *\n * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n * restricting to that range, we ensure that we can convert to and from [RFC\n * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n *\n * # Examples\n *\n * Example 1: Compute Timestamp from POSIX `time()`.\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(time(NULL));\n * timestamp.set_nanos(0);\n *\n * Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n *\n * struct timeval tv;\n * gettimeofday(&tv, NULL);\n *\n * Timestamp timestamp;\n * timestamp.set_seconds(tv.tv_sec);\n * timestamp.set_nanos(tv.tv_usec * 1000);\n *\n * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n *\n * FILETIME ft;\n * GetSystemTimeAsFileTime(&ft);\n * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n *\n * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n * Timestamp timestamp;\n * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n *\n * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n *\n * long millis = System.currentTimeMillis();\n *\n * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n * .setNanos((int) ((millis % 1000) * 1000000)).build();\n *\n * Example 5: Compute Timestamp from Java `Instant.now()`.\n *\n * Instant now = Instant.now();\n *\n * Timestamp timestamp =\n * Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n * .setNanos(now.getNano()).build();\n *\n * Example 6: Compute Timestamp from current time in Python.\n *\n * timestamp = Timestamp()\n * timestamp.GetCurrentTime()\n *\n * # JSON Mapping\n *\n * In JSON format, the Timestamp type is encoded as a string in the\n * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n * format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n * where {year} is always expressed using four digits while {month}, {day},\n * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n * are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n * is required. A proto3 JSON serializer should always use UTC (as indicated by\n * \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n * able to accept both UTC and other timezones (as indicated by an offset).\n *\n * For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n * 01:30 UTC on January 15, 2017.\n *\n * In JavaScript, one can convert a Date object to this format using the\n * standard\n * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n * method. In Python, a standard `datetime.datetime` object can be converted\n * to this format using\n * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n * the Joda Time's [`ISODateTimeFormat.dateTime()`](\n * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n * ) to obtain a formatter capable of generating timestamps in this format.\n */\nexport interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n seconds: bigint;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n nanos: number;\n}\n\nfunction createBaseTimestamp(): Timestamp {\n return { seconds: 0n, nanos: 0 };\n}\n\nexport const Timestamp: MessageFns<Timestamp> = {\n encode(message: Timestamp, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.seconds !== 0n) {\n if (BigInt.asIntN(64, message.seconds) !== message.seconds) {\n throw new globalThis.Error(\"value provided for field message.seconds of type int64 too large\");\n }\n writer.uint32(8).int64(message.seconds);\n }\n if (message.nanos !== 0) {\n writer.uint32(16).int32(message.nanos);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Timestamp {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimestamp();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.seconds = reader.int64() as bigint;\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.nanos = reader.int32();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Timestamp>): Timestamp {\n return Timestamp.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Timestamp>): Timestamp {\n const message = createBaseTimestamp();\n message.seconds = (object.seconds !== undefined && object.seconds !== null) ? BigInt(object.seconds) : 0n;\n message.nanos = object.nanos ?? 0;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/citizen/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport interface MsgIssueKCP {\n authority: string;\n application_id: string;\n wallet_address: string;\n uniqueness_commitment: string;\n decision_id: string;\n}\n\nexport interface MsgIssueKCPResponse {\n citizen_id: bigint;\n}\n\nexport interface MsgSuspendKCP {\n authority: string;\n citizen_id: bigint;\n reason_code: string;\n expires_at?: Date | undefined;\n}\n\nexport interface MsgSuspendKCPResponse {\n}\n\nexport interface MsgReactivateKCP {\n authority: string;\n citizen_id: bigint;\n}\n\nexport interface MsgReactivateKCPResponse {\n}\n\nexport interface MsgRevokeKCP {\n authority: string;\n citizen_id: bigint;\n reason_code: string;\n evidence_ref: string;\n}\n\nexport interface MsgRevokeKCPResponse {\n}\n\nexport interface MsgInitiateRecovery {\n authority: string;\n citizen_id: bigint;\n new_wallet: string;\n recovery_case_id: string;\n cooling_off_ends_at?: Date | undefined;\n}\n\nexport interface MsgInitiateRecoveryResponse {\n}\n\nexport interface MsgApproveRecovery {\n authority: string;\n recovery_case_id: string;\n}\n\nexport interface MsgApproveRecoveryResponse {\n}\n\nexport interface MsgFinalizeRecovery {\n authority: string;\n recovery_case_id: string;\n decision_id: string;\n}\n\nexport interface MsgFinalizeRecoveryResponse {\n}\n\nexport interface MsgCancelRecovery {\n authority: string;\n recovery_case_id: string;\n reason_code: string;\n}\n\nexport interface MsgCancelRecoveryResponse {\n}\n\nfunction createBaseMsgIssueKCP(): MsgIssueKCP {\n return { authority: \"\", application_id: \"\", wallet_address: \"\", uniqueness_commitment: \"\", decision_id: \"\" };\n}\n\nexport const MsgIssueKCP: MessageFns<MsgIssueKCP> = {\n encode(message: MsgIssueKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.wallet_address !== \"\") {\n writer.uint32(26).string(message.wallet_address);\n }\n if (message.uniqueness_commitment !== \"\") {\n writer.uint32(34).string(message.uniqueness_commitment);\n }\n if (message.decision_id !== \"\") {\n writer.uint32(42).string(message.decision_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIssueKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.wallet_address = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.uniqueness_commitment = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.decision_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\n return MsgIssueKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgIssueKCP>): MsgIssueKCP {\n const message = createBaseMsgIssueKCP();\n message.authority = object.authority ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.wallet_address = object.wallet_address ?? \"\";\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\n message.decision_id = object.decision_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgIssueKCPResponse(): MsgIssueKCPResponse {\n return { citizen_id: 0n };\n}\n\nexport const MsgIssueKCPResponse: MessageFns<MsgIssueKCPResponse> = {\n encode(message: MsgIssueKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(8).uint64(message.citizen_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIssueKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIssueKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\n return MsgIssueKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgIssueKCPResponse>): MsgIssueKCPResponse {\n const message = createBaseMsgIssueKCPResponse();\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgSuspendKCP(): MsgSuspendKCP {\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", expires_at: undefined };\n}\n\nexport const MsgSuspendKCP: MessageFns<MsgSuspendKCP> = {\n encode(message: MsgSuspendKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\n return MsgSuspendKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSuspendKCP>): MsgSuspendKCP {\n const message = createBaseMsgSuspendKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.reason_code = object.reason_code ?? \"\";\n message.expires_at = object.expires_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgSuspendKCPResponse(): MsgSuspendKCPResponse {\n return {};\n}\n\nexport const MsgSuspendKCPResponse: MessageFns<MsgSuspendKCPResponse> = {\n encode(_: MsgSuspendKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\n return MsgSuspendKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSuspendKCPResponse>): MsgSuspendKCPResponse {\n const message = createBaseMsgSuspendKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgReactivateKCP(): MsgReactivateKCP {\n return { authority: \"\", citizen_id: 0n };\n}\n\nexport const MsgReactivateKCP: MessageFns<MsgReactivateKCP> = {\n encode(message: MsgReactivateKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgReactivateKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\n return MsgReactivateKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgReactivateKCP>): MsgReactivateKCP {\n const message = createBaseMsgReactivateKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgReactivateKCPResponse(): MsgReactivateKCPResponse {\n return {};\n}\n\nexport const MsgReactivateKCPResponse: MessageFns<MsgReactivateKCPResponse> = {\n encode(_: MsgReactivateKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgReactivateKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgReactivateKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\n return MsgReactivateKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgReactivateKCPResponse>): MsgReactivateKCPResponse {\n const message = createBaseMsgReactivateKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRevokeKCP(): MsgRevokeKCP {\n return { authority: \"\", citizen_id: 0n, reason_code: \"\", evidence_ref: \"\" };\n}\n\nexport const MsgRevokeKCP: MessageFns<MsgRevokeKCP> = {\n encode(message: MsgRevokeKCP, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n if (message.evidence_ref !== \"\") {\n writer.uint32(34).string(message.evidence_ref);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCP {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRevokeKCP();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.evidence_ref = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\n return MsgRevokeKCP.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgRevokeKCP>): MsgRevokeKCP {\n const message = createBaseMsgRevokeKCP();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.reason_code = object.reason_code ?? \"\";\n message.evidence_ref = object.evidence_ref ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRevokeKCPResponse(): MsgRevokeKCPResponse {\n return {};\n}\n\nexport const MsgRevokeKCPResponse: MessageFns<MsgRevokeKCPResponse> = {\n encode(_: MsgRevokeKCPResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRevokeKCPResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRevokeKCPResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\n return MsgRevokeKCPResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgRevokeKCPResponse>): MsgRevokeKCPResponse {\n const message = createBaseMsgRevokeKCPResponse();\n return message;\n },\n};\n\nfunction createBaseMsgInitiateRecovery(): MsgInitiateRecovery {\n return { authority: \"\", citizen_id: 0n, new_wallet: \"\", recovery_case_id: \"\", cooling_off_ends_at: undefined };\n}\n\nexport const MsgInitiateRecovery: MessageFns<MsgInitiateRecovery> = {\n encode(message: MsgInitiateRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.citizen_id);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(26).string(message.new_wallet);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(34).string(message.recovery_case_id);\n }\n if (message.cooling_off_ends_at !== undefined) {\n Timestamp.encode(toTimestamp(message.cooling_off_ends_at), writer.uint32(42).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgInitiateRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.cooling_off_ends_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\n return MsgInitiateRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgInitiateRecovery>): MsgInitiateRecovery {\n const message = createBaseMsgInitiateRecovery();\n message.authority = object.authority ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.new_wallet = object.new_wallet ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.cooling_off_ends_at = object.cooling_off_ends_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgInitiateRecoveryResponse(): MsgInitiateRecoveryResponse {\n return {};\n}\n\nexport const MsgInitiateRecoveryResponse: MessageFns<MsgInitiateRecoveryResponse> = {\n encode(_: MsgInitiateRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgInitiateRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgInitiateRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\n return MsgInitiateRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgInitiateRecoveryResponse>): MsgInitiateRecoveryResponse {\n const message = createBaseMsgInitiateRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgApproveRecovery(): MsgApproveRecovery {\n return { authority: \"\", recovery_case_id: \"\" };\n}\n\nexport const MsgApproveRecovery: MessageFns<MsgApproveRecovery> = {\n encode(message: MsgApproveRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgApproveRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\n return MsgApproveRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgApproveRecovery>): MsgApproveRecovery {\n const message = createBaseMsgApproveRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgApproveRecoveryResponse(): MsgApproveRecoveryResponse {\n return {};\n}\n\nexport const MsgApproveRecoveryResponse: MessageFns<MsgApproveRecoveryResponse> = {\n encode(_: MsgApproveRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgApproveRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgApproveRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\n return MsgApproveRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgApproveRecoveryResponse>): MsgApproveRecoveryResponse {\n const message = createBaseMsgApproveRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgFinalizeRecovery(): MsgFinalizeRecovery {\n return { authority: \"\", recovery_case_id: \"\", decision_id: \"\" };\n}\n\nexport const MsgFinalizeRecovery: MessageFns<MsgFinalizeRecovery> = {\n encode(message: MsgFinalizeRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.decision_id !== \"\") {\n writer.uint32(26).string(message.decision_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgFinalizeRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.decision_id = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\n return MsgFinalizeRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgFinalizeRecovery>): MsgFinalizeRecovery {\n const message = createBaseMsgFinalizeRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.decision_id = object.decision_id ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgFinalizeRecoveryResponse(): MsgFinalizeRecoveryResponse {\n return {};\n}\n\nexport const MsgFinalizeRecoveryResponse: MessageFns<MsgFinalizeRecoveryResponse> = {\n encode(_: MsgFinalizeRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgFinalizeRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgFinalizeRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\n return MsgFinalizeRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgFinalizeRecoveryResponse>): MsgFinalizeRecoveryResponse {\n const message = createBaseMsgFinalizeRecoveryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgCancelRecovery(): MsgCancelRecovery {\n return { authority: \"\", recovery_case_id: \"\", reason_code: \"\" };\n}\n\nexport const MsgCancelRecovery: MessageFns<MsgCancelRecovery> = {\n encode(message: MsgCancelRecovery, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecovery {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCancelRecovery();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\n return MsgCancelRecovery.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgCancelRecovery>): MsgCancelRecovery {\n const message = createBaseMsgCancelRecovery();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgCancelRecoveryResponse(): MsgCancelRecoveryResponse {\n return {};\n}\n\nexport const MsgCancelRecoveryResponse: MessageFns<MsgCancelRecoveryResponse> = {\n encode(_: MsgCancelRecoveryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCancelRecoveryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCancelRecoveryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\n return MsgCancelRecoveryResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgCancelRecoveryResponse>): MsgCancelRecoveryResponse {\n const message = createBaseMsgCancelRecoveryResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.citizen.v1.Msg\",\n methods: {\n issueKCP: {\n name: \"IssueKCP\",\n requestType: MsgIssueKCP as typeof MsgIssueKCP,\n requestStream: false,\n responseType: MsgIssueKCPResponse as typeof MsgIssueKCPResponse,\n responseStream: false,\n options: {},\n },\n suspendKCP: {\n name: \"SuspendKCP\",\n requestType: MsgSuspendKCP as typeof MsgSuspendKCP,\n requestStream: false,\n responseType: MsgSuspendKCPResponse as typeof MsgSuspendKCPResponse,\n responseStream: false,\n options: {},\n },\n reactivateKCP: {\n name: \"ReactivateKCP\",\n requestType: MsgReactivateKCP as typeof MsgReactivateKCP,\n requestStream: false,\n responseType: MsgReactivateKCPResponse as typeof MsgReactivateKCPResponse,\n responseStream: false,\n options: {},\n },\n revokeKCP: {\n name: \"RevokeKCP\",\n requestType: MsgRevokeKCP as typeof MsgRevokeKCP,\n requestStream: false,\n responseType: MsgRevokeKCPResponse as typeof MsgRevokeKCPResponse,\n responseStream: false,\n options: {},\n },\n initiateRecovery: {\n name: \"InitiateRecovery\",\n requestType: MsgInitiateRecovery as typeof MsgInitiateRecovery,\n requestStream: false,\n responseType: MsgInitiateRecoveryResponse as typeof MsgInitiateRecoveryResponse,\n responseStream: false,\n options: {},\n },\n approveRecovery: {\n name: \"ApproveRecovery\",\n requestType: MsgApproveRecovery as typeof MsgApproveRecovery,\n requestStream: false,\n responseType: MsgApproveRecoveryResponse as typeof MsgApproveRecoveryResponse,\n responseStream: false,\n options: {},\n },\n finalizeRecovery: {\n name: \"FinalizeRecovery\",\n requestType: MsgFinalizeRecovery as typeof MsgFinalizeRecovery,\n requestStream: false,\n responseType: MsgFinalizeRecoveryResponse as typeof MsgFinalizeRecoveryResponse,\n responseStream: false,\n options: {},\n },\n cancelRecovery: {\n name: \"CancelRecovery\",\n requestType: MsgCancelRecovery as typeof MsgCancelRecovery,\n requestStream: false,\n responseType: MsgCancelRecoveryResponse as typeof MsgCancelRecoveryResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/citizenrewards/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Params } from \"./citizenrewards\";\n\n/** MsgClaimReward claims a finalized reward for the given reward day. */\nexport interface MsgClaimReward {\n claimer: string;\n day_id: bigint;\n}\n\nexport interface MsgClaimRewardResponse {\n day_id: bigint;\n amount_ukdr: string;\n}\n\nexport interface MsgUpdateParams {\n authority: string;\n params?: Params | undefined;\n}\n\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgClaimReward(): MsgClaimReward {\n return { claimer: \"\", day_id: 0n };\n}\n\nexport const MsgClaimReward: MessageFns<MsgClaimReward> = {\n encode(message: MsgClaimReward, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.claimer !== \"\") {\n writer.uint32(10).string(message.claimer);\n }\n if (message.day_id !== 0n) {\n if (BigInt.asUintN(64, message.day_id) !== message.day_id) {\n throw new globalThis.Error(\"value provided for field message.day_id of type uint64 too large\");\n }\n writer.uint32(16).uint64(message.day_id);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgClaimReward {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgClaimReward();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.claimer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.day_id = reader.uint64() as bigint;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgClaimReward>): MsgClaimReward {\n return MsgClaimReward.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgClaimReward>): MsgClaimReward {\n const message = createBaseMsgClaimReward();\n message.claimer = object.claimer ?? \"\";\n message.day_id = (object.day_id !== undefined && object.day_id !== null) ? BigInt(object.day_id) : 0n;\n return message;\n },\n};\n\nfunction createBaseMsgClaimRewardResponse(): MsgClaimRewardResponse {\n return { day_id: 0n, amount_ukdr: \"\" };\n}\n\nexport const MsgClaimRewardResponse: MessageFns<MsgClaimRewardResponse> = {\n encode(message: MsgClaimRewardResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.day_id !== 0n) {\n if (BigInt.asUintN(64, message.day_id) !== message.day_id) {\n throw new globalThis.Error(\"value provided for field message.day_id of type uint64 too large\");\n }\n writer.uint32(8).uint64(message.day_id);\n }\n if (message.amount_ukdr !== \"\") {\n writer.uint32(18).string(message.amount_ukdr);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgClaimRewardResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgClaimRewardResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.day_id = reader.uint64() as bigint;\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.amount_ukdr = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgClaimRewardResponse>): MsgClaimRewardResponse {\n return MsgClaimRewardResponse.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgClaimRewardResponse>): MsgClaimRewardResponse {\n const message = createBaseMsgClaimRewardResponse();\n message.day_id = (object.day_id !== undefined && object.day_id !== null) ? BigInt(object.day_id) : 0n;\n message.amount_ukdr = object.amount_ukdr ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { authority: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams> = {\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n return MsgUpdateParams.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.authority = object.authority ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<MsgUpdateParamsResponse> = {\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n return MsgUpdateParamsResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.citizenrewards.v1.Msg\",\n methods: {\n claimReward: {\n name: \"ClaimReward\",\n requestType: MsgClaimReward as typeof MsgClaimReward,\n requestStream: false,\n responseType: MsgClaimRewardResponse as typeof MsgClaimRewardResponse,\n responseStream: false,\n options: {},\n },\n updateParams: {\n name: \"UpdateParams\",\n requestType: MsgUpdateParams as typeof MsgUpdateParams,\n requestStream: false,\n responseType: MsgUpdateParamsResponse as typeof MsgUpdateParamsResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/compliance/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport interface MsgRegisterProvider {\n authority: string;\n provider_id: string;\n public_key: string;\n key_version: bigint;\n supported_assurance_levels: string[];\n supported_jurisdictions: string[];\n active_from?: Date | undefined;\n active_until?: Date | undefined;\n}\n\nexport interface MsgRegisterProviderResponse {\n}\n\nexport interface MsgSuspendProvider {\n authority: string;\n provider_id: string;\n reason_code: string;\n}\n\nexport interface MsgSuspendProviderResponse {\n}\n\nexport interface MsgSubmitApplication {\n applicant_wallet: string;\n application_id: string;\n provider_id: string;\n provider_key_version: bigint;\n chain_id: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n signature: string;\n}\n\nexport interface MsgSubmitApplicationResponse {\n}\n\nexport interface MsgSubmitRecoveryAttestation {\n applicant_wallet: string;\n recovery_case_id: string;\n provider_id: string;\n provider_key_version: bigint;\n chain_id: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n signature: string;\n}\n\nexport interface MsgSubmitRecoveryAttestationResponse {\n}\n\nexport interface MsgDecideApplication {\n authority: string;\n application_id: string;\n approved: boolean;\n reason_code: string;\n}\n\nexport interface MsgDecideApplicationResponse {\n}\n\nexport interface MsgDecideRecoveryAttestation {\n authority: string;\n recovery_case_id: string;\n approved: boolean;\n reason_code: string;\n}\n\nexport interface MsgDecideRecoveryAttestationResponse {\n}\n\nfunction createBaseMsgRegisterProvider(): MsgRegisterProvider {\n return {\n authority: \"\",\n provider_id: \"\",\n public_key: \"\",\n key_version: 0n,\n supported_assurance_levels: [],\n supported_jurisdictions: [],\n active_from: undefined,\n active_until: undefined,\n };\n}\n\nexport const MsgRegisterProvider: MessageFns<MsgRegisterProvider> = {\n encode(message: MsgRegisterProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.public_key !== \"\") {\n writer.uint32(26).string(message.public_key);\n }\n if (message.key_version !== 0n) {\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.key_version);\n }\n for (const v of message.supported_assurance_levels) {\n writer.uint32(42).string(v!);\n }\n for (const v of message.supported_jurisdictions) {\n writer.uint32(50).string(v!);\n }\n if (message.active_from !== undefined) {\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(58).fork()).join();\n }\n if (message.active_until !== undefined) {\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(66).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProvider {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterProvider();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.public_key = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.supported_assurance_levels.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.supported_jurisdictions.push(reader.string());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\n return MsgRegisterProvider.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgRegisterProvider>): MsgRegisterProvider {\n const message = createBaseMsgRegisterProvider();\n message.authority = object.authority ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.public_key = object.public_key ?? \"\";\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\n ? BigInt(object.key_version)\n : 0n;\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\n message.active_from = object.active_from ?? undefined;\n message.active_until = object.active_until ?? undefined;\n return message;\n },\n};\n\nfunction createBaseMsgRegisterProviderResponse(): MsgRegisterProviderResponse {\n return {};\n}\n\nexport const MsgRegisterProviderResponse: MessageFns<MsgRegisterProviderResponse> = {\n encode(_: MsgRegisterProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterProviderResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterProviderResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\n return MsgRegisterProviderResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgRegisterProviderResponse>): MsgRegisterProviderResponse {\n const message = createBaseMsgRegisterProviderResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSuspendProvider(): MsgSuspendProvider {\n return { authority: \"\", provider_id: \"\", reason_code: \"\" };\n}\n\nexport const MsgSuspendProvider: MessageFns<MsgSuspendProvider> = {\n encode(message: MsgSuspendProvider, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(26).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProvider {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendProvider();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\n return MsgSuspendProvider.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSuspendProvider>): MsgSuspendProvider {\n const message = createBaseMsgSuspendProvider();\n message.authority = object.authority ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSuspendProviderResponse(): MsgSuspendProviderResponse {\n return {};\n}\n\nexport const MsgSuspendProviderResponse: MessageFns<MsgSuspendProviderResponse> = {\n encode(_: MsgSuspendProviderResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSuspendProviderResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSuspendProviderResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\n return MsgSuspendProviderResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSuspendProviderResponse>): MsgSuspendProviderResponse {\n const message = createBaseMsgSuspendProviderResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitApplication(): MsgSubmitApplication {\n return {\n applicant_wallet: \"\",\n application_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n chain_id: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n issued_at: undefined,\n expires_at: undefined,\n signature: \"\",\n };\n}\n\nexport const MsgSubmitApplication: MessageFns<MsgSubmitApplication> = {\n encode(message: MsgSubmitApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.applicant_wallet !== \"\") {\n writer.uint32(10).string(message.applicant_wallet);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(26).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.provider_key_version);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.case_id !== \"\") {\n writer.uint32(50).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(58).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(66).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(74).string(message.uniqueness_reference);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(82).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(90).fork()).join();\n }\n if (message.signature !== \"\") {\n writer.uint32(98).string(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplication {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\n return MsgSubmitApplication.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSubmitApplication>): MsgSubmitApplication {\n const message = createBaseMsgSubmitApplication();\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.chain_id = object.chain_id ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitApplicationResponse(): MsgSubmitApplicationResponse {\n return {};\n}\n\nexport const MsgSubmitApplicationResponse: MessageFns<MsgSubmitApplicationResponse> = {\n encode(_: MsgSubmitApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitApplicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitApplicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\n return MsgSubmitApplicationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSubmitApplicationResponse>): MsgSubmitApplicationResponse {\n const message = createBaseMsgSubmitApplicationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitRecoveryAttestation(): MsgSubmitRecoveryAttestation {\n return {\n applicant_wallet: \"\",\n recovery_case_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n chain_id: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n issued_at: undefined,\n expires_at: undefined,\n signature: \"\",\n };\n}\n\nexport const MsgSubmitRecoveryAttestation: MessageFns<MsgSubmitRecoveryAttestation> = {\n encode(message: MsgSubmitRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.applicant_wallet !== \"\") {\n writer.uint32(10).string(message.applicant_wallet);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(26).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(32).uint64(message.provider_key_version);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.case_id !== \"\") {\n writer.uint32(50).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(58).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(66).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(74).string(message.uniqueness_reference);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(80).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(90).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(98).string(message.new_wallet);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(106).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(114).fork()).join();\n }\n if (message.signature !== \"\") {\n writer.uint32(122).string(message.signature);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitRecoveryAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 80) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 14: {\n if (tag !== 114) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 15: {\n if (tag !== 122) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\n return MsgSubmitRecoveryAttestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgSubmitRecoveryAttestation>): MsgSubmitRecoveryAttestation {\n const message = createBaseMsgSubmitRecoveryAttestation();\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.chain_id = object.chain_id ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitRecoveryAttestationResponse(): MsgSubmitRecoveryAttestationResponse {\n return {};\n}\n\nexport const MsgSubmitRecoveryAttestationResponse: MessageFns<MsgSubmitRecoveryAttestationResponse> = {\n encode(_: MsgSubmitRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitRecoveryAttestationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\n return MsgSubmitRecoveryAttestationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgSubmitRecoveryAttestationResponse>): MsgSubmitRecoveryAttestationResponse {\n const message = createBaseMsgSubmitRecoveryAttestationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDecideApplication(): MsgDecideApplication {\n return { authority: \"\", application_id: \"\", approved: false, reason_code: \"\" };\n}\n\nexport const MsgDecideApplication: MessageFns<MsgDecideApplication> = {\n encode(message: MsgDecideApplication, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.application_id !== \"\") {\n writer.uint32(18).string(message.application_id);\n }\n if (message.approved !== false) {\n writer.uint32(24).bool(message.approved);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(34).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplication {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.approved = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\n return MsgDecideApplication.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgDecideApplication>): MsgDecideApplication {\n const message = createBaseMsgDecideApplication();\n message.authority = object.authority ?? \"\";\n message.application_id = object.application_id ?? \"\";\n message.approved = object.approved ?? false;\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDecideApplicationResponse(): MsgDecideApplicationResponse {\n return {};\n}\n\nexport const MsgDecideApplicationResponse: MessageFns<MsgDecideApplicationResponse> = {\n encode(_: MsgDecideApplicationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideApplicationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideApplicationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\n return MsgDecideApplicationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgDecideApplicationResponse>): MsgDecideApplicationResponse {\n const message = createBaseMsgDecideApplicationResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDecideRecoveryAttestation(): MsgDecideRecoveryAttestation {\n return { authority: \"\", recovery_case_id: \"\", approved: false, reason_code: \"\" };\n}\n\nexport const MsgDecideRecoveryAttestation: MessageFns<MsgDecideRecoveryAttestation> = {\n encode(message: MsgDecideRecoveryAttestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.authority !== \"\") {\n writer.uint32(10).string(message.authority);\n }\n if (message.recovery_case_id !== \"\") {\n writer.uint32(18).string(message.recovery_case_id);\n }\n if (message.approved !== false) {\n writer.uint32(24).bool(message.approved);\n }\n if (message.reason_code !== \"\") {\n writer.uint32(34).string(message.reason_code);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideRecoveryAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.authority = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.approved = reader.bool();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.reason_code = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\n return MsgDecideRecoveryAttestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<MsgDecideRecoveryAttestation>): MsgDecideRecoveryAttestation {\n const message = createBaseMsgDecideRecoveryAttestation();\n message.authority = object.authority ?? \"\";\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.approved = object.approved ?? false;\n message.reason_code = object.reason_code ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDecideRecoveryAttestationResponse(): MsgDecideRecoveryAttestationResponse {\n return {};\n}\n\nexport const MsgDecideRecoveryAttestationResponse: MessageFns<MsgDecideRecoveryAttestationResponse> = {\n encode(_: MsgDecideRecoveryAttestationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDecideRecoveryAttestationResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDecideRecoveryAttestationResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\n return MsgDecideRecoveryAttestationResponse.fromPartial(base ?? {});\n },\n fromPartial(_: DeepPartial<MsgDecideRecoveryAttestationResponse>): MsgDecideRecoveryAttestationResponse {\n const message = createBaseMsgDecideRecoveryAttestationResponse();\n return message;\n },\n};\n\nexport type MsgDefinition = typeof MsgDefinition;\nexport const MsgDefinition = {\n name: \"Msg\",\n fullName: \"isatheword.kingdomchain.compliance.v1.Msg\",\n methods: {\n registerProvider: {\n name: \"RegisterProvider\",\n requestType: MsgRegisterProvider as typeof MsgRegisterProvider,\n requestStream: false,\n responseType: MsgRegisterProviderResponse as typeof MsgRegisterProviderResponse,\n responseStream: false,\n options: {},\n },\n suspendProvider: {\n name: \"SuspendProvider\",\n requestType: MsgSuspendProvider as typeof MsgSuspendProvider,\n requestStream: false,\n responseType: MsgSuspendProviderResponse as typeof MsgSuspendProviderResponse,\n responseStream: false,\n options: {},\n },\n submitApplication: {\n name: \"SubmitApplication\",\n requestType: MsgSubmitApplication as typeof MsgSubmitApplication,\n requestStream: false,\n responseType: MsgSubmitApplicationResponse as typeof MsgSubmitApplicationResponse,\n responseStream: false,\n options: {},\n },\n submitRecoveryAttestation: {\n name: \"SubmitRecoveryAttestation\",\n requestType: MsgSubmitRecoveryAttestation as typeof MsgSubmitRecoveryAttestation,\n requestStream: false,\n responseType: MsgSubmitRecoveryAttestationResponse as typeof MsgSubmitRecoveryAttestationResponse,\n responseStream: false,\n options: {},\n },\n decideApplication: {\n name: \"DecideApplication\",\n requestType: MsgDecideApplication as typeof MsgDecideApplication,\n requestStream: false,\n responseType: MsgDecideApplicationResponse as typeof MsgDecideApplicationResponse,\n responseStream: false,\n options: {},\n },\n decideRecoveryAttestation: {\n name: \"DecideRecoveryAttestation\",\n requestType: MsgDecideRecoveryAttestation as typeof MsgDecideRecoveryAttestation,\n requestStream: false,\n responseType: MsgDecideRecoveryAttestationResponse as typeof MsgDecideRecoveryAttestationResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.12.0\n// protoc unknown\n// source: isatheword/kingdomchain/compliance/v1/compliance.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp\";\n\nexport enum ProviderStatus {\n PROVIDER_STATUS_UNSPECIFIED = 0,\n PROVIDER_STATUS_ACTIVE = 1,\n PROVIDER_STATUS_SUSPENDED = 2,\n PROVIDER_STATUS_REVOKED = 3,\n UNRECOGNIZED = -1,\n}\n\nexport enum AttestationType {\n ATTESTATION_TYPE_UNSPECIFIED = 0,\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION = 1,\n ATTESTATION_TYPE_RECOVERY = 2,\n UNRECOGNIZED = -1,\n}\n\nexport enum ApplicationStatus {\n APPLICATION_STATUS_UNSPECIFIED = 0,\n APPLICATION_STATUS_SUBMITTED = 1,\n APPLICATION_STATUS_PENDING_REVIEW = 2,\n APPLICATION_STATUS_APPROVED = 3,\n APPLICATION_STATUS_REJECTED = 4,\n UNRECOGNIZED = -1,\n}\n\nexport enum RecoveryAttestationStatus {\n RECOVERY_ATTESTATION_STATUS_UNSPECIFIED = 0,\n RECOVERY_ATTESTATION_STATUS_SUBMITTED = 1,\n RECOVERY_ATTESTATION_STATUS_PENDING_REVIEW = 2,\n RECOVERY_ATTESTATION_STATUS_APPROVED = 3,\n RECOVERY_ATTESTATION_STATUS_REJECTED = 4,\n UNRECOGNIZED = -1,\n}\n\nexport interface ProviderRecord {\n provider_id: string;\n public_key: string;\n key_version: bigint;\n supported_assurance_levels: string[];\n supported_jurisdictions: string[];\n active_from?: Date | undefined;\n active_until?: Date | undefined;\n status: ProviderStatus;\n}\n\nexport interface Attestation {\n attestation_id: string;\n provider_id: string;\n provider_key_version: bigint;\n attestation_type: AttestationType;\n chain_id: string;\n intended_wallet: string;\n case_id: string;\n policy_version: string;\n nonce: string;\n uniqueness_reference: string;\n issued_at?: Date | undefined;\n expires_at?: Date | undefined;\n consumed: boolean;\n signature: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n}\n\nexport interface Application {\n application_id: string;\n applicant_wallet: string;\n status: ApplicationStatus;\n attestation_id: string;\n uniqueness_commitment: string;\n policy_version: string;\n decision_reason_code: string;\n submitted_at?: Date | undefined;\n decided_at?: Date | undefined;\n}\n\nexport interface RecoveryAttestationCase {\n recovery_case_id: string;\n applicant_wallet: string;\n status: RecoveryAttestationStatus;\n attestation_id: string;\n citizen_id: bigint;\n old_wallet: string;\n new_wallet: string;\n policy_version: string;\n decision_reason_code: string;\n submitted_at?: Date | undefined;\n decided_at?: Date | undefined;\n}\n\nfunction createBaseProviderRecord(): ProviderRecord {\n return {\n provider_id: \"\",\n public_key: \"\",\n key_version: 0n,\n supported_assurance_levels: [],\n supported_jurisdictions: [],\n active_from: undefined,\n active_until: undefined,\n status: 0,\n };\n}\n\nexport const ProviderRecord: MessageFns<ProviderRecord> = {\n encode(message: ProviderRecord, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.provider_id !== \"\") {\n writer.uint32(10).string(message.provider_id);\n }\n if (message.public_key !== \"\") {\n writer.uint32(18).string(message.public_key);\n }\n if (message.key_version !== 0n) {\n if (BigInt.asUintN(64, message.key_version) !== message.key_version) {\n throw new globalThis.Error(\"value provided for field message.key_version of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.key_version);\n }\n for (const v of message.supported_assurance_levels) {\n writer.uint32(34).string(v!);\n }\n for (const v of message.supported_jurisdictions) {\n writer.uint32(42).string(v!);\n }\n if (message.active_from !== undefined) {\n Timestamp.encode(toTimestamp(message.active_from), writer.uint32(50).fork()).join();\n }\n if (message.active_until !== undefined) {\n Timestamp.encode(toTimestamp(message.active_until), writer.uint32(58).fork()).join();\n }\n if (message.status !== 0) {\n writer.uint32(64).int32(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ProviderRecord {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseProviderRecord();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.public_key = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.key_version = reader.uint64() as bigint;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.supported_assurance_levels.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.supported_jurisdictions.push(reader.string());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.active_from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.active_until = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 64) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<ProviderRecord>): ProviderRecord {\n return ProviderRecord.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<ProviderRecord>): ProviderRecord {\n const message = createBaseProviderRecord();\n message.provider_id = object.provider_id ?? \"\";\n message.public_key = object.public_key ?? \"\";\n message.key_version = (object.key_version !== undefined && object.key_version !== null)\n ? BigInt(object.key_version)\n : 0n;\n message.supported_assurance_levels = object.supported_assurance_levels?.map((e) => e) || [];\n message.supported_jurisdictions = object.supported_jurisdictions?.map((e) => e) || [];\n message.active_from = object.active_from ?? undefined;\n message.active_until = object.active_until ?? undefined;\n message.status = object.status ?? 0;\n return message;\n },\n};\n\nfunction createBaseAttestation(): Attestation {\n return {\n attestation_id: \"\",\n provider_id: \"\",\n provider_key_version: 0n,\n attestation_type: 0,\n chain_id: \"\",\n intended_wallet: \"\",\n case_id: \"\",\n policy_version: \"\",\n nonce: \"\",\n uniqueness_reference: \"\",\n issued_at: undefined,\n expires_at: undefined,\n consumed: false,\n signature: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n };\n}\n\nexport const Attestation: MessageFns<Attestation> = {\n encode(message: Attestation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.attestation_id !== \"\") {\n writer.uint32(10).string(message.attestation_id);\n }\n if (message.provider_id !== \"\") {\n writer.uint32(18).string(message.provider_id);\n }\n if (message.provider_key_version !== 0n) {\n if (BigInt.asUintN(64, message.provider_key_version) !== message.provider_key_version) {\n throw new globalThis.Error(\"value provided for field message.provider_key_version of type uint64 too large\");\n }\n writer.uint32(24).uint64(message.provider_key_version);\n }\n if (message.attestation_type !== 0) {\n writer.uint32(32).int32(message.attestation_type);\n }\n if (message.chain_id !== \"\") {\n writer.uint32(42).string(message.chain_id);\n }\n if (message.intended_wallet !== \"\") {\n writer.uint32(50).string(message.intended_wallet);\n }\n if (message.case_id !== \"\") {\n writer.uint32(58).string(message.case_id);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(66).string(message.policy_version);\n }\n if (message.nonce !== \"\") {\n writer.uint32(74).string(message.nonce);\n }\n if (message.uniqueness_reference !== \"\") {\n writer.uint32(82).string(message.uniqueness_reference);\n }\n if (message.issued_at !== undefined) {\n Timestamp.encode(toTimestamp(message.issued_at), writer.uint32(90).fork()).join();\n }\n if (message.expires_at !== undefined) {\n Timestamp.encode(toTimestamp(message.expires_at), writer.uint32(98).fork()).join();\n }\n if (message.consumed !== false) {\n writer.uint32(104).bool(message.consumed);\n }\n if (message.signature !== \"\") {\n writer.uint32(114).string(message.signature);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(120).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(130).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(138).string(message.new_wallet);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Attestation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAttestation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.provider_id = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.provider_key_version = reader.uint64() as bigint;\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.attestation_type = reader.int32() as any;\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.chain_id = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.intended_wallet = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.case_id = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.nonce = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.uniqueness_reference = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.issued_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.expires_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 13: {\n if (tag !== 104) {\n break;\n }\n\n message.consumed = reader.bool();\n continue;\n }\n case 14: {\n if (tag !== 114) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n case 15: {\n if (tag !== 120) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 16: {\n if (tag !== 130) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 17: {\n if (tag !== 138) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Attestation>): Attestation {\n return Attestation.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Attestation>): Attestation {\n const message = createBaseAttestation();\n message.attestation_id = object.attestation_id ?? \"\";\n message.provider_id = object.provider_id ?? \"\";\n message.provider_key_version = (object.provider_key_version !== undefined && object.provider_key_version !== null)\n ? BigInt(object.provider_key_version)\n : 0n;\n message.attestation_type = object.attestation_type ?? 0;\n message.chain_id = object.chain_id ?? \"\";\n message.intended_wallet = object.intended_wallet ?? \"\";\n message.case_id = object.case_id ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.nonce = object.nonce ?? \"\";\n message.uniqueness_reference = object.uniqueness_reference ?? \"\";\n message.issued_at = object.issued_at ?? undefined;\n message.expires_at = object.expires_at ?? undefined;\n message.consumed = object.consumed ?? false;\n message.signature = object.signature ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n return message;\n },\n};\n\nfunction createBaseApplication(): Application {\n return {\n application_id: \"\",\n applicant_wallet: \"\",\n status: 0,\n attestation_id: \"\",\n uniqueness_commitment: \"\",\n policy_version: \"\",\n decision_reason_code: \"\",\n submitted_at: undefined,\n decided_at: undefined,\n };\n}\n\nexport const Application: MessageFns<Application> = {\n encode(message: Application, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.application_id !== \"\") {\n writer.uint32(10).string(message.application_id);\n }\n if (message.applicant_wallet !== \"\") {\n writer.uint32(18).string(message.applicant_wallet);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n if (message.attestation_id !== \"\") {\n writer.uint32(34).string(message.attestation_id);\n }\n if (message.uniqueness_commitment !== \"\") {\n writer.uint32(42).string(message.uniqueness_commitment);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(50).string(message.policy_version);\n }\n if (message.decision_reason_code !== \"\") {\n writer.uint32(58).string(message.decision_reason_code);\n }\n if (message.submitted_at !== undefined) {\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(66).fork()).join();\n }\n if (message.decided_at !== undefined) {\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(74).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Application {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseApplication();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.application_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.uniqueness_commitment = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.decision_reason_code = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<Application>): Application {\n return Application.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<Application>): Application {\n const message = createBaseApplication();\n message.application_id = object.application_id ?? \"\";\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.status = object.status ?? 0;\n message.attestation_id = object.attestation_id ?? \"\";\n message.uniqueness_commitment = object.uniqueness_commitment ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.decision_reason_code = object.decision_reason_code ?? \"\";\n message.submitted_at = object.submitted_at ?? undefined;\n message.decided_at = object.decided_at ?? undefined;\n return message;\n },\n};\n\nfunction createBaseRecoveryAttestationCase(): RecoveryAttestationCase {\n return {\n recovery_case_id: \"\",\n applicant_wallet: \"\",\n status: 0,\n attestation_id: \"\",\n citizen_id: 0n,\n old_wallet: \"\",\n new_wallet: \"\",\n policy_version: \"\",\n decision_reason_code: \"\",\n submitted_at: undefined,\n decided_at: undefined,\n };\n}\n\nexport const RecoveryAttestationCase: MessageFns<RecoveryAttestationCase> = {\n encode(message: RecoveryAttestationCase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.recovery_case_id !== \"\") {\n writer.uint32(10).string(message.recovery_case_id);\n }\n if (message.applicant_wallet !== \"\") {\n writer.uint32(18).string(message.applicant_wallet);\n }\n if (message.status !== 0) {\n writer.uint32(24).int32(message.status);\n }\n if (message.attestation_id !== \"\") {\n writer.uint32(34).string(message.attestation_id);\n }\n if (message.citizen_id !== 0n) {\n if (BigInt.asUintN(64, message.citizen_id) !== message.citizen_id) {\n throw new globalThis.Error(\"value provided for field message.citizen_id of type uint64 too large\");\n }\n writer.uint32(40).uint64(message.citizen_id);\n }\n if (message.old_wallet !== \"\") {\n writer.uint32(50).string(message.old_wallet);\n }\n if (message.new_wallet !== \"\") {\n writer.uint32(58).string(message.new_wallet);\n }\n if (message.policy_version !== \"\") {\n writer.uint32(66).string(message.policy_version);\n }\n if (message.decision_reason_code !== \"\") {\n writer.uint32(74).string(message.decision_reason_code);\n }\n if (message.submitted_at !== undefined) {\n Timestamp.encode(toTimestamp(message.submitted_at), writer.uint32(82).fork()).join();\n }\n if (message.decided_at !== undefined) {\n Timestamp.encode(toTimestamp(message.decided_at), writer.uint32(90).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RecoveryAttestationCase {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRecoveryAttestationCase();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.recovery_case_id = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.applicant_wallet = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.status = reader.int32() as any;\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.attestation_id = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.citizen_id = reader.uint64() as bigint;\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.old_wallet = reader.string();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.new_wallet = reader.string();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.policy_version = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.decision_reason_code = reader.string();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.submitted_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.decided_at = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\n return RecoveryAttestationCase.fromPartial(base ?? {});\n },\n fromPartial(object: DeepPartial<RecoveryAttestationCase>): RecoveryAttestationCase {\n const message = createBaseRecoveryAttestationCase();\n message.recovery_case_id = object.recovery_case_id ?? \"\";\n message.applicant_wallet = object.applicant_wallet ?? \"\";\n message.status = object.status ?? 0;\n message.attestation_id = object.attestation_id ?? \"\";\n message.citizen_id = (object.citizen_id !== undefined && object.citizen_id !== null)\n ? BigInt(object.citizen_id)\n : 0n;\n message.old_wallet = object.old_wallet ?? \"\";\n message.new_wallet = object.new_wallet ?? \"\";\n message.policy_version = object.policy_version ?? \"\";\n message.decision_reason_code = object.decision_reason_code ?? \"\";\n message.submitted_at = object.submitted_at ?? undefined;\n message.decided_at = object.decided_at ?? undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;\n\ntype DeepPartial<T> = T extends bigint ? string | number | bigint\n : T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction toTimestamp(date: Date): Timestamp {\n const seconds = BigInt(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction fromTimestamp(t: Timestamp): Date {\n let millis = (globalThis.Number(t.seconds.toString()) || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n","import { GeneratedType, Registry } from \"@cosmjs/proto-signing\";\nimport { defaultRegistryTypes } from \"@cosmjs/stargate\";\nimport { BinaryWriter } from \"@bufbuild/protobuf/wire\";\n\nimport {\n MsgApproveRecovery,\n MsgCancelRecovery,\n MsgFinalizeRecovery,\n MsgInitiateRecovery,\n MsgIssueKCP,\n MsgReactivateKCP,\n MsgRevokeKCP,\n MsgSuspendKCP,\n} from \"./generated/isatheword/kingdomchain/citizen/v1/tx\";\nimport { MsgClaimReward } from \"./generated/isatheword/kingdomchain/citizenrewards/v1/tx\";\nimport {\n MsgDecideApplication,\n MsgDecideRecoveryAttestation,\n MsgRegisterProvider,\n MsgSubmitApplication,\n MsgSubmitRecoveryAttestation,\n MsgSuspendProvider,\n} from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\n\ninterface MessageFns<T> {\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: Uint8Array): T;\n fromPartial(object: Partial<T>): T;\n}\n\n/** Adapt ts-proto @bufbuild MessageFns to CosmJS Registry (encode().finish()). */\nfunction wrapMsgFns<T>(msgFns: MessageFns<T>): GeneratedType {\n return {\n encode: (message: T) => msgFns.encode(message) as any,\n decode: (input: Uint8Array) => msgFns.decode(input),\n fromPartial: (object: Partial<T>) => msgFns.fromPartial(object),\n };\n}\n\nconst COMPLIANCE_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.compliance.v1.MsgRegisterProvider\", wrapMsgFns(MsgRegisterProvider)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSuspendProvider\", wrapMsgFns(MsgSuspendProvider)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\", wrapMsgFns(MsgSubmitApplication)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgSubmitRecoveryAttestation\", wrapMsgFns(MsgSubmitRecoveryAttestation)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideApplication\", wrapMsgFns(MsgDecideApplication)],\n [\"/isatheword.kingdomchain.compliance.v1.MsgDecideRecoveryAttestation\", wrapMsgFns(MsgDecideRecoveryAttestation)],\n];\n\nconst CITIZEN_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.citizen.v1.MsgIssueKCP\", wrapMsgFns(MsgIssueKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgSuspendKCP\", wrapMsgFns(MsgSuspendKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgReactivateKCP\", wrapMsgFns(MsgReactivateKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgRevokeKCP\", wrapMsgFns(MsgRevokeKCP)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgInitiateRecovery\", wrapMsgFns(MsgInitiateRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgApproveRecovery\", wrapMsgFns(MsgApproveRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgFinalizeRecovery\", wrapMsgFns(MsgFinalizeRecovery)],\n [\"/isatheword.kingdomchain.citizen.v1.MsgCancelRecovery\", wrapMsgFns(MsgCancelRecovery)],\n];\n\nconst CITIZEN_REWARDS_MSG_TYPES: ReadonlyArray<[string, GeneratedType]> = [\n [\"/isatheword.kingdomchain.citizenrewards.v1.MsgClaimReward\", wrapMsgFns(MsgClaimReward)],\n];\n\n/** CosmJS registry: standard Cosmos SDK types + Kingdom Chain citizen/compliance/rewards messages. */\nexport function createKingdomChainRegistry(): Registry {\n return new Registry([\n ...defaultRegistryTypes,\n ...COMPLIANCE_MSG_TYPES,\n ...CITIZEN_MSG_TYPES,\n ...CITIZEN_REWARDS_MSG_TYPES,\n ]);\n}\n\nexport { MsgSubmitApplication, MsgSubmitRecoveryAttestation } from \"./generated/isatheword/kingdomchain/compliance/v1/tx\";\nexport { ApplicationStatus, RecoveryAttestationStatus } from \"./generated/isatheword/kingdomchain/compliance/v1/compliance\";\n","/**\n * Kingdom Chain on-chain denom and display metadata.\n *\n * Sources:\n * - x/supply/types/constants.go (UkdrDenom = \"ukdr\")\n * - TOKENOMICS_COSMOS_SPEC.md (1 KDR = 1,000,000 ukdr)\n * - app/app.go + app/config.go (bech32 prefix, coin type)\n */\n\n/** Base (minimal) denom registered in x/supply. */\nexport const UKDR_MINIMAL_DENOM = \"ukdr\";\n\n/** Human-readable display symbol. */\nexport const UKDR_DISPLAY_DENOM = \"KDR\";\n\n/** ukdr is a micro-unit: 10^6 ukdr = 1 KDR. */\nexport const UKDR_DECIMALS = 6;\n\n/** Account / validator bech32 prefix (AccountAddressPrefix in app/app.go). */\nexport const BECH32_PREFIX = \"king\";\n\n/** SLIP-0044 coin type (ChainCoinType in app/app.go). */\nexport const CHAIN_COIN_TYPE = 118;\n\n/** Devnet default chain ID (override via env when a permanent node exists). */\nexport const DEFAULT_CHAIN_ID = \"kingdomchain-e2e\";\n\nexport const DEFAULT_RPC_URL = \"http://127.0.0.1:26657\";\nexport const DEFAULT_REST_URL = \"http://127.0.0.1:1317\";\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\nimport { SigningStargateClient } from \"@cosmjs/stargate\";\n\nimport {\n BECH32_PREFIX,\n CHAIN_COIN_TYPE,\n UKDR_DECIMALS,\n UKDR_DISPLAY_DENOM,\n UKDR_MINIMAL_DENOM,\n} from \"./chainConstants\";\nimport { createKingdomChainRegistry } from \"./registry\";\n\n/** Keplr/Leap-compatible currency entry. */\nexport interface ChainCurrency {\n coinDenom: string;\n coinMinimalDenom: string;\n coinDecimals: number;\n gasPriceStep?: { low: number; average: number; high: number };\n}\n\n/** Keplr/Leap-compatible ChainInfo for experimentalSuggestChain. */\nexport interface ChainInfo {\n chainId: string;\n chainName: string;\n rpc: string;\n rest: string;\n bip44: { coinType: number };\n bech32Config: {\n bech32PrefixAccAddr: string;\n bech32PrefixAccPub: string;\n bech32PrefixValAddr: string;\n bech32PrefixValPub: string;\n bech32PrefixConsAddr: string;\n bech32PrefixConsPub: string;\n };\n currencies: ChainCurrency[];\n feeCurrencies: ChainCurrency[];\n stakeCurrency: ChainCurrency;\n}\n\n/** Subset of Keplr/Leap window API used for chain connect. */\nexport interface BrowserWalletApi {\n experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>;\n enable(chainId: string): Promise<void>;\n getOfflineSigner(chainId: string): OfflineDirectSigner;\n}\n\nexport class WalletNotInstalledError extends Error {\n constructor(public readonly walletName: string) {\n super(`${walletName} extension is not installed. Install it and refresh the page.`);\n this.name = \"WalletNotInstalledError\";\n }\n}\n\nexport class WalletConnectionError extends Error {\n constructor(\n public readonly walletName: string,\n public readonly step: \"suggestChain\" | \"enable\" | \"getOfflineSigner\",\n cause?: unknown,\n ) {\n const stepLabel =\n step === \"suggestChain\"\n ? \"chain suggestion\"\n : step === \"enable\"\n ? \"connection request\"\n : \"offline signer retrieval\";\n super(`${walletName} failed during ${stepLabel}.`, { cause });\n this.name = \"WalletConnectionError\";\n }\n}\n\n/** @deprecated Use WalletConnectionError — kept for backward compatibility in tests/demo. */\nexport class WalletConnectionRejectedError extends WalletConnectionError {\n constructor(walletName: string, step: \"suggestChain\" | \"enable\", cause?: unknown) {\n super(walletName, step, cause);\n this.name = \"WalletConnectionRejectedError\";\n }\n}\n\nexport class WalletAccountError extends Error {\n constructor(public readonly walletName: string) {\n super(`${walletName} returned no usable accounts. Reconnect the wallet and try again.`);\n this.name = \"WalletAccountError\";\n }\n}\n\nexport class InvalidChainConfigError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"InvalidChainConfigError\";\n }\n}\n\nexport class RpcConnectionError extends Error {\n constructor(\n public readonly rpcUrl: string,\n cause?: unknown,\n ) {\n super(`Failed to connect to RPC endpoint ${rpcUrl}. Is the node running and reachable?`, { cause });\n this.name = \"RpcConnectionError\";\n }\n}\n\n/** Cosmostation exposes a Keplr-compatible provider at providers.keplr. */\nexport interface CosmostationWindowApi {\n providers?: {\n keplr?: BrowserWalletApi;\n };\n}\n\ndeclare global {\n interface Window {\n keplr?: BrowserWalletApi;\n leap?: BrowserWalletApi;\n cosmostation?: CosmostationWindowApi;\n }\n}\n\nconst UKDR_CURRENCY: ChainCurrency = {\n coinDenom: UKDR_DISPLAY_DENOM,\n coinMinimalDenom: UKDR_MINIMAL_DENOM,\n coinDecimals: UKDR_DECIMALS,\n};\n\n/** E2E devnet uses minimum-gas-prices = \"0ukdr\" (scripts/citizen-compliance-e2e/run.sh). */\nconst UKDR_FEE_CURRENCY: ChainCurrency = {\n ...UKDR_CURRENCY,\n gasPriceStep: { low: 0, average: 0, high: 0.025 },\n};\n\nfunction isWalletApiPresent(api: unknown): api is BrowserWalletApi {\n if (api == null || typeof api !== \"object\") {\n return false;\n }\n const candidate = api as BrowserWalletApi;\n return (\n typeof candidate.experimentalSuggestChain === \"function\" &&\n typeof candidate.enable === \"function\" &&\n typeof candidate.getOfflineSigner === \"function\"\n );\n}\n\n/** Validate chain endpoint inputs before passing to Keplr/Leap. */\nexport function validateChainConfig(chainId: string, rpcUrl: string, restUrl: string): void {\n if (!chainId.trim()) {\n throw new InvalidChainConfigError(\"chainId is required\");\n }\n if (!rpcUrl.trim()) {\n throw new InvalidChainConfigError(\"rpcUrl is required\");\n }\n if (!restUrl.trim()) {\n throw new InvalidChainConfigError(\"restUrl is required\");\n }\n}\n\nexport function isKeplrAvailable(): boolean {\n return typeof window !== \"undefined\" && isWalletApiPresent(window.keplr);\n}\n\nexport function isLeapAvailable(): boolean {\n return typeof window !== \"undefined\" && isWalletApiPresent(window.leap);\n}\n\n/** Keplr-compatible API injected by the Cosmostation extension. */\nexport function getCosmostationKeplrApi(): BrowserWalletApi | undefined {\n if (typeof window === \"undefined\") {\n return undefined;\n }\n const api = window.cosmostation?.providers?.keplr;\n return isWalletApiPresent(api) ? api : undefined;\n}\n\nexport function isCosmostationAvailable(): boolean {\n return getCosmostationKeplrApi() != null;\n}\n\n/** Build ChainInfo for Keplr/Leap experimentalSuggestChain. */\nexport function buildKingdomChainInfo(\n chainId: string,\n rpcUrl: string,\n restUrl: string,\n chainName = \"Kingdom Chain\",\n): ChainInfo {\n validateChainConfig(chainId, rpcUrl, restUrl);\n\n const accPub = `${BECH32_PREFIX}pub`;\n const valAddr = `${BECH32_PREFIX}valoper`;\n const valPub = `${BECH32_PREFIX}valoperpub`;\n const consAddr = `${BECH32_PREFIX}valcons`;\n const consPub = `${BECH32_PREFIX}valconspub`;\n\n return {\n chainId,\n chainName,\n rpc: rpcUrl,\n rest: restUrl,\n bip44: { coinType: CHAIN_COIN_TYPE },\n bech32Config: {\n bech32PrefixAccAddr: BECH32_PREFIX,\n bech32PrefixAccPub: accPub,\n bech32PrefixValAddr: valAddr,\n bech32PrefixValPub: valPub,\n bech32PrefixConsAddr: consAddr,\n bech32PrefixConsPub: consPub,\n },\n currencies: [UKDR_CURRENCY],\n feeCurrencies: [UKDR_FEE_CURRENCY],\n stakeCurrency: UKDR_CURRENCY,\n };\n}\n\nasync function assertSignerHasAccount(signer: OfflineDirectSigner, walletName: string): Promise<void> {\n let accounts;\n try {\n accounts = await signer.getAccounts();\n } catch (err) {\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\n }\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\n throw new WalletAccountError(walletName);\n }\n}\n\n/** Suggest chain, request access, return CosmJS OfflineDirectSigner. */\nexport async function suggestAndConnect(\n walletApi: BrowserWalletApi,\n chainInfo: ChainInfo,\n walletName = \"Wallet\",\n): Promise<OfflineDirectSigner> {\n try {\n await walletApi.experimentalSuggestChain(chainInfo);\n } catch (err) {\n throw new WalletConnectionRejectedError(walletName, \"suggestChain\", err);\n }\n\n try {\n await walletApi.enable(chainInfo.chainId);\n } catch (err) {\n throw new WalletConnectionRejectedError(walletName, \"enable\", err);\n }\n\n let signer: OfflineDirectSigner;\n try {\n signer = walletApi.getOfflineSigner(chainInfo.chainId);\n } catch (err) {\n throw new WalletConnectionError(walletName, \"getOfflineSigner\", err);\n }\n\n await assertSignerHasAccount(signer, walletName);\n return signer;\n}\n\nfunction resolveWalletApi(\n getter: () => BrowserWalletApi | undefined,\n walletName: string,\n): BrowserWalletApi {\n if (!isWalletApiPresent(getter())) {\n throw new WalletNotInstalledError(walletName);\n }\n const api = getter();\n if (!isWalletApiPresent(api)) {\n throw new WalletNotInstalledError(walletName);\n }\n return api;\n}\n\nexport async function connectKeplr(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(() => window.keplr, \"Keplr\");\n return suggestAndConnect(api, chainInfo, \"Keplr\");\n}\n\nexport async function connectLeap(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(() => window.leap, \"Leap\");\n return suggestAndConnect(api, chainInfo, \"Leap\");\n}\n\nexport async function connectCosmostation(chainInfo: ChainInfo): Promise<OfflineDirectSigner> {\n const api = resolveWalletApi(getCosmostationKeplrApi, \"Cosmostation\");\n return suggestAndConnect(api, chainInfo, \"Cosmostation\");\n}\n\n/** SigningStargateClient wired with Kingdom Chain custom message registry. */\nexport async function createBrowserSigningClient(\n rpcUrl: string,\n signer: OfflineDirectSigner,\n): Promise<SigningStargateClient> {\n if (!rpcUrl.trim()) {\n throw new InvalidChainConfigError(\"rpcUrl is required\");\n }\n try {\n return await SigningStargateClient.connectWithSigner(rpcUrl, signer, {\n registry: createKingdomChainRegistry(),\n });\n } catch (err) {\n throw new RpcConnectionError(rpcUrl, err);\n }\n}\n","import SignClient from \"@walletconnect/sign-client\";\nimport type { ProposalTypes, SessionTypes } from \"@walletconnect/types\";\nimport type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\nimport type { AccountData, DirectSignResponse } from \"@cosmjs/proto-signing\";\nimport type { SignDoc } from \"cosmjs-types/cosmos/tx/v1beta1/tx\";\nimport { fromBase64, toBase64 } from \"@cosmjs/encoding\";\n\nexport const WALLETCONNECT_COSMOS_NAMESPACE = \"cosmos\";\n\nexport const WALLETCONNECT_COSMOS_METHODS = [\n \"cosmos_getAccounts\",\n \"cosmos_signDirect\",\n \"cosmos_signAmino\",\n] as const;\n\nexport interface WalletConnectMetadata {\n name: string;\n description: string;\n url: string;\n icons: string[];\n}\n\nexport interface WalletConnectChainConfig {\n chainId: string;\n projectId: string;\n metadata: WalletConnectMetadata;\n relayUrl?: string;\n}\n\nexport interface WalletConnectConnectResult {\n uri: string;\n session: SessionTypes.Struct;\n signer: OfflineDirectSigner;\n}\n\nexport class WalletConnectNotInitializedError extends Error {\n constructor() {\n super(\"WalletConnect Sign Client is not initialized.\");\n this.name = \"WalletConnectNotInitializedError\";\n }\n}\n\nexport class WalletConnectSessionError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"WalletConnectSessionError\";\n }\n}\n\nexport class WalletConnectSigningError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"WalletConnectSigningError\";\n }\n}\n\n/** WalletConnect chain id: `cosmos:{chainId}`. */\nexport function toWalletConnectCosmosChainId(chainId: string): string {\n return `${WALLETCONNECT_COSMOS_NAMESPACE}:${chainId}`;\n}\n\nexport function parseWalletConnectAccount(\n account: string,\n): { namespace: string; chainId: string; address: string } {\n const parts = account.split(\":\");\n if (parts.length !== 3) {\n throw new WalletConnectSessionError(`Invalid WalletConnect account id: ${account}`);\n }\n const [namespace, chainId, address] = parts;\n return { namespace, chainId, address };\n}\n\nexport function buildRequiredCosmosNamespaces(chainId: string): ProposalTypes.RequiredNamespaces {\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n return {\n [WALLETCONNECT_COSMOS_NAMESPACE]: {\n methods: [...WALLETCONNECT_COSMOS_METHODS],\n chains: [wcChainId],\n events: [],\n },\n };\n}\n\nexport async function initWalletConnectClient(\n config: WalletConnectChainConfig,\n): Promise<SignClient> {\n if (!config.projectId.trim()) {\n throw new WalletConnectSessionError(\"WalletConnect projectId is required\");\n }\n if (!config.chainId.trim()) {\n throw new WalletConnectSessionError(\"chainId is required\");\n }\n\n return SignClient.init({\n projectId: config.projectId,\n metadata: config.metadata,\n relayUrl: config.relayUrl,\n });\n}\n\nexport function createWalletConnectOfflineSigner(\n client: SignClient,\n session: SessionTypes.Struct,\n chainId: string,\n): OfflineDirectSigner {\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n const accounts = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.accounts ?? [];\n const chainAccounts = accounts\n .map(parseWalletConnectAccount)\n .filter((entry) => entry.chainId === chainId);\n\n if (chainAccounts.length === 0) {\n throw new WalletConnectSessionError(\n `WalletConnect session has no accounts for chain ${chainId}`,\n );\n }\n\n const primaryAddress = chainAccounts[0].address;\n\n return {\n getAccounts: async (): Promise<AccountData[]> => {\n try {\n const response = (await client.request({\n topic: session.topic,\n chainId: wcChainId,\n request: {\n method: \"cosmos_getAccounts\",\n params: {},\n },\n })) as { address: string; algo: string; pubkey: string }[];\n\n if (Array.isArray(response) && response.length > 0) {\n return response.map((account) => ({\n address: account.address,\n algo: account.algo as AccountData[\"algo\"],\n pubkey: fromBase64(account.pubkey),\n }));\n }\n } catch {\n // Some wallets omit cosmos_getAccounts; fall back to session account list.\n }\n\n return chainAccounts.map((account) => ({\n address: account.address,\n algo: \"secp256k1\",\n pubkey: new Uint8Array(0),\n }));\n },\n\n signDirect: async (signerAddress: string, signDoc: SignDoc): Promise<DirectSignResponse> => {\n if (signerAddress !== primaryAddress) {\n throw new WalletConnectSigningError(\n `WalletConnect signer address mismatch: expected ${primaryAddress}, got ${signerAddress}`,\n );\n }\n\n try {\n const result = (await client.request({\n topic: session.topic,\n chainId: wcChainId,\n request: {\n method: \"cosmos_signDirect\",\n params: {\n signerAddress,\n signDoc: {\n chainId: signDoc.chainId,\n accountNumber: signDoc.accountNumber.toString(),\n authInfoBytes: toBase64(signDoc.authInfoBytes),\n bodyBytes: toBase64(signDoc.bodyBytes),\n },\n },\n },\n })) as {\n signature: { pub_key: { type: string; value: string }; signature: string };\n signed?: {\n chainId: string;\n accountNumber: string;\n authInfoBytes: string;\n bodyBytes: string;\n };\n };\n\n return {\n signed: {\n chainId: result.signed?.chainId ?? signDoc.chainId,\n accountNumber: BigInt(result.signed?.accountNumber ?? signDoc.accountNumber),\n authInfoBytes: result.signed?.authInfoBytes\n ? fromBase64(result.signed.authInfoBytes)\n : signDoc.authInfoBytes,\n bodyBytes: result.signed?.bodyBytes\n ? fromBase64(result.signed.bodyBytes)\n : signDoc.bodyBytes,\n },\n signature: {\n pub_key: {\n type: result.signature.pub_key.type,\n value: result.signature.pub_key.value,\n },\n signature: result.signature.signature,\n },\n };\n } catch (err) {\n throw new WalletConnectSigningError(\"WalletConnect cosmos_signDirect failed.\", err);\n }\n },\n };\n}\n\n/** Pair with a mobile wallet; returns WC URI (for QR) and approval promise. */\nexport async function connectWalletConnect(\n client: SignClient,\n chainId: string,\n options?: { pairingTopic?: string },\n): Promise<WalletConnectConnectResult> {\n const { uri, approval } = await client.connect({\n pairingTopic: options?.pairingTopic,\n requiredNamespaces: buildRequiredCosmosNamespaces(chainId),\n });\n\n if (!uri) {\n throw new WalletConnectSessionError(\"WalletConnect did not return a pairing URI\");\n }\n\n const session = await approval();\n const signer = createWalletConnectOfflineSigner(client, session, chainId);\n const accounts = await signer.getAccounts();\n if (accounts.length === 0 || !accounts[0]?.address?.trim()) {\n throw new WalletConnectSessionError(\"WalletConnect session returned no usable accounts\");\n }\n\n return { uri, session, signer };\n}\n\nexport async function disconnectWalletConnect(\n client: SignClient,\n session: SessionTypes.Struct,\n reason = \"User disconnected\",\n): Promise<void> {\n await client.disconnect({\n topic: session.topic,\n reason: { code: 6000, message: reason },\n });\n}\n\nexport async function restoreWalletConnectSession(\n client: SignClient,\n chainId: string,\n): Promise<{ session: SessionTypes.Struct; signer: OfflineDirectSigner } | null> {\n const sessions = client.session.getAll();\n const wcChainId = toWalletConnectCosmosChainId(chainId);\n const active = sessions.find((session) => {\n const chains = session.namespaces[WALLETCONNECT_COSMOS_NAMESPACE]?.chains ?? [];\n return chains.includes(wcChainId);\n });\n\n if (!active) {\n return null;\n }\n\n const signer = createWalletConnectOfflineSigner(client, active, chainId);\n return { session: active, signer };\n}\n","/** Embedded wallet vault format version. */\nexport const EMBEDDED_WALLET_VAULT_VERSION = 1;\n\nexport const EMBEDDED_WALLET_KDF_PRF = \"webauthn-prf\" as const;\nexport const EMBEDDED_WALLET_KDF_PBKDF2 = \"pbkdf2-passkey\" as const;\nexport const EMBEDDED_WALLET_KDF_PIN = \"pbkdf2-pin\" as const;\n\nexport type EmbeddedWalletKdf =\n | typeof EMBEDDED_WALLET_KDF_PRF\n | typeof EMBEDDED_WALLET_KDF_PBKDF2\n | typeof EMBEDDED_WALLET_KDF_PIN;\n\n/** How the wallet key relates to its recovery phrase. */\nexport const EMBEDDED_WALLET_KEY_HD_DERIVED = \"hd-derived\" as const;\nexport const EMBEDDED_WALLET_KEY_DIRECT_ENTROPY = \"direct-entropy\" as const;\n\nexport type EmbeddedWalletKeyType =\n | typeof EMBEDDED_WALLET_KEY_HD_DERIVED\n | typeof EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n\n/** Plaintext wallet payload — never persisted unencrypted. */\nexport interface EmbeddedWalletPlaintext {\n privateKey: Uint8Array;\n hdPath: string;\n createdAt: string;\n /** Omitted in pre-phase-3 vaults; treated as direct-entropy when absent. */\n keyType?: EmbeddedWalletKeyType;\n /** Stored for hd-derived wallets so the phrase can be revealed later. */\n mnemonic?: string;\n}\n\n/** Warnings shown before revealing a recovery phrase. */\nexport interface EmbeddedWalletRecoveryPhraseWarning {\n id: \"general\" | \"direct-entropy-portability\";\n title: string;\n body: string;\n}\n\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING: EmbeddedWalletRecoveryPhraseWarning =\n {\n id: \"general\",\n title: \"Protect your recovery phrase\",\n body:\n \"Anyone with these words can access your funds. Never share them, never enter them on any other website, and Kingdom OS will never ask you for them.\",\n };\n\nexport const EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING: EmbeddedWalletRecoveryPhraseWarning =\n {\n id: \"direct-entropy-portability\",\n title: \"Kingdom OS recovery phrase only\",\n body:\n \"This phrase restores this wallet in Kingdom OS only. It will not import into Keplr, Exodus, or other standard Cosmos wallets.\",\n };\n\nexport interface EmbeddedWalletRecoveryPhraseReveal {\n mnemonic: string;\n keyType: EmbeddedWalletKeyType;\n address: string;\n warnings: EmbeddedWalletRecoveryPhraseWarning[];\n}\n\n/** Encrypted vault stored in IndexedDB and exported backup files. */\nexport interface EmbeddedWalletVaultV1 {\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\n kdf: EmbeddedWalletKdf;\n credentialId: string;\n publicAddress: string;\n iv: string;\n ciphertext: string;\n /** PBKDF2 salt (base64). Empty when kdf=webauthn-prf. */\n kdfSalt: string;\n /** PBKDF2 iterations. Zero when kdf=webauthn-prf. */\n kdfIterations: number;\n /** PRF eval salt (base64). Empty when kdf=pbkdf2-passkey. */\n prfSalt: string;\n /** Hard gate: must be true before any transaction is permitted. */\n backupAcknowledged: boolean;\n backupAcknowledgedAt?: string;\n createdAt: string;\n}\n\nexport interface EmbeddedWalletBackupFileV1 {\n format: \"kingdom-os-embedded-wallet-backup\";\n version: typeof EMBEDDED_WALLET_VAULT_VERSION;\n vault: EmbeddedWalletVaultV1;\n exportedAt: string;\n}\n\nexport class EmbeddedWalletBackupRequiredError extends Error {\n constructor() {\n super(\n \"Encrypted backup must be downloaded and acknowledged before the first transaction.\",\n );\n this.name = \"EmbeddedWalletBackupRequiredError\";\n }\n}\n\nexport class EmbeddedWalletVaultError extends Error {\n constructor(message: string, cause?: unknown) {\n super(message, { cause });\n this.name = \"EmbeddedWalletVaultError\";\n }\n}\n\n/** Thrown when AES-GCM decryption fails (wrong KEK or tampered ciphertext). */\nexport class EmbeddedWalletDecryptError extends EmbeddedWalletVaultError {\n readonly code = \"decrypt_failed\" as const;\n\n constructor(cause?: unknown) {\n super(\"Failed to decrypt wallet vault (wrong key or corrupted data)\", cause);\n this.name = \"EmbeddedWalletDecryptError\";\n }\n}\n\nexport type PasscodeStrengthLabel = \"weak\" | \"fair\" | \"good\" | \"strong\";\n\nexport type PasscodeBlockReason = \"denylist\" | \"too_weak\" | \"numeric_short\";\n\n/** Thrown when too many failed passcode unlock attempts trigger a timed lockout. */\nexport class EmbeddedWalletLockoutError extends Error {\n readonly retryAfterMs: number;\n\n constructor(retryAfterMs: number) {\n super(`Passcode unlock temporarily locked; retry in ${Math.ceil(retryAfterMs / 1000)} seconds`);\n this.name = \"EmbeddedWalletLockoutError\";\n this.retryAfterMs = retryAfterMs;\n }\n}\n\n/** Thrown when a passcode is too weak or on the common-password denylist. */\nexport class EmbeddedWalletWeakPasscodeError extends Error {\n readonly reason: PasscodeBlockReason;\n\n constructor(reason: PasscodeBlockReason) {\n const messages: Record<PasscodeBlockReason, string> = {\n denylist: \"Passcode is too common; choose something less predictable\",\n too_weak: \"Passcode is too weak; use a longer or more varied passcode\",\n numeric_short: \"Numeric-only passcodes must be at least 12 digits\",\n };\n super(messages[reason]);\n this.name = \"EmbeddedWalletWeakPasscodeError\";\n this.reason = reason;\n }\n}\n","import { DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\n\nimport { BECH32_PREFIX } from \"../chainConstants\";\nimport type { EmbeddedWalletPlaintext } from \"./types\";\nimport { EmbeddedWalletVaultError } from \"./types\";\n\nconst DEFAULT_HD_PATH = \"m/44'/118'/0'/0/0\";\n\n/** Build a CosmJS offline signer from decrypted vault plaintext. */\nexport async function embeddedPlaintextToSigner(\n plaintext: EmbeddedWalletPlaintext,\n prefix = BECH32_PREFIX,\n): Promise<DirectSecp256k1Wallet> {\n if (plaintext.privateKey.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Invalid secp256k1 private key length: ${plaintext.privateKey.length}`,\n );\n }\n return DirectSecp256k1Wallet.fromKey(plaintext.privateKey, prefix);\n}\n\nexport function defaultEmbeddedHdPath(): string {\n return DEFAULT_HD_PATH;\n}\n","import { Bip39, EnglishMnemonic, Slip10, Slip10Curve, stringToPath } from \"@cosmjs/crypto\";\nimport { DirectSecp256k1HdWallet, DirectSecp256k1Wallet } from \"@cosmjs/proto-signing\";\nimport { entropyToMnemonic, mnemonicToEntropy, validateMnemonic } from \"@scure/bip39\";\nimport { wordlist as englishWordlist } from \"@scure/bip39/wordlists/english\";\n\nimport { BECH32_PREFIX } from \"../chainConstants\";\nimport { defaultEmbeddedHdPath } from \"./signer\";\nimport {\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_KEY_HD_DERIVED,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n EmbeddedWalletVaultError,\n} from \"./types\";\n\nconst MNEMONIC_WORD_COUNT = 24;\n\n/** Normalize user input: trim, lowercase, collapse whitespace. */\nexport function normalizeRecoveryMnemonic(mnemonic: string): string {\n return mnemonic.trim().toLowerCase().replace(/\\s+/g, \" \");\n}\n\nexport function assertValidRecoveryMnemonic(mnemonic: string): void {\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n if (!validateMnemonic(normalized, englishWordlist)) {\n throw new EmbeddedWalletVaultError(\"Recovery phrase is not a valid BIP-39 mnemonic\");\n }\n const words = normalized.split(\" \");\n if (words.length !== MNEMONIC_WORD_COUNT) {\n throw new EmbeddedWalletVaultError(\n `Recovery phrase must be ${MNEMONIC_WORD_COUNT} words, got ${words.length}`,\n );\n }\n}\n\nexport function resolvePlaintextKeyType(plaintext: EmbeddedWalletPlaintext): EmbeddedWalletKeyType {\n return plaintext.keyType ?? EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n}\n\n/** Encode a legacy raw 32-byte key as a 24-word BIP-39 mnemonic (entropy encoding, no HD). */\nexport function encodeDirectEntropyMnemonic(privateKey: Uint8Array): string {\n if (privateKey.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Direct-entropy mnemonic requires a 32-byte key, got ${privateKey.length}`,\n );\n }\n return entropyToMnemonic(privateKey, englishWordlist);\n}\n\n/** Decode a direct-entropy mnemonic back to the original 32-byte key. */\nexport function decodeDirectEntropyMnemonic(mnemonic: string): Uint8Array {\n assertValidRecoveryMnemonic(mnemonic);\n const entropy = mnemonicToEntropy(normalizeRecoveryMnemonic(mnemonic), englishWordlist);\n if (entropy.length !== 32) {\n throw new EmbeddedWalletVaultError(\n `Direct-entropy mnemonic must decode to 32 bytes, got ${entropy.length}`,\n );\n }\n return entropy;\n}\n\nexport async function derivePrivateKeyFromHdMnemonic(\n mnemonic: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<Uint8Array> {\n assertValidRecoveryMnemonic(mnemonic);\n const seed = await Bip39.mnemonicToSeed(new EnglishMnemonic(normalizeRecoveryMnemonic(mnemonic)));\n const { privkey } = Slip10.derivePath(Slip10Curve.Secp256k1, seed, stringToPath(hdPath));\n return privkey;\n}\n\nexport async function addressFromPrivateKey(\n privateKey: Uint8Array,\n prefix = BECH32_PREFIX,\n): Promise<string> {\n const wallet = await DirectSecp256k1Wallet.fromKey(privateKey, prefix);\n const [account] = await wallet.getAccounts();\n return account.address;\n}\n\nexport async function addressFromHdMnemonic(\n mnemonic: string,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<string> {\n const wallet = await DirectSecp256k1HdWallet.fromMnemonic(normalizeRecoveryMnemonic(mnemonic), {\n prefix,\n hdPaths: [stringToPath(hdPath)],\n });\n const [account] = await wallet.getAccounts();\n return account.address;\n}\n\nexport async function createHdDerivedPlaintext(\n createdAt: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<EmbeddedWalletPlaintext> {\n const hdWallet = await DirectSecp256k1HdWallet.generate(MNEMONIC_WORD_COUNT, {\n prefix: BECH32_PREFIX,\n hdPaths: [stringToPath(hdPath)],\n });\n const mnemonic = hdWallet.mnemonic;\n const privateKey = await derivePrivateKeyFromHdMnemonic(mnemonic, hdPath);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\n mnemonic,\n };\n}\n\nexport async function plaintextFromRecoveryMnemonic(\n mnemonic: string,\n keyType: EmbeddedWalletKeyType,\n createdAt: string,\n hdPath = defaultEmbeddedHdPath(),\n): Promise<EmbeddedWalletPlaintext> {\n assertValidRecoveryMnemonic(mnemonic);\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n const privateKey = await derivePrivateKeyFromHdMnemonic(normalized, hdPath);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_HD_DERIVED,\n mnemonic: normalized,\n };\n }\n\n const privateKey = decodeDirectEntropyMnemonic(normalized);\n return {\n privateKey,\n hdPath,\n createdAt,\n keyType: EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n };\n}\n\n/** Infer key type by matching an expected on-chain address, or default to hd-derived. */\nexport async function detectRecoveryMnemonicKeyType(\n mnemonic: string,\n expectedAddress: string,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<EmbeddedWalletKeyType> {\n assertValidRecoveryMnemonic(mnemonic);\n const normalized = normalizeRecoveryMnemonic(mnemonic);\n\n const hdAddress = await addressFromHdMnemonic(normalized, hdPath, prefix);\n if (hdAddress === expectedAddress) {\n return EMBEDDED_WALLET_KEY_HD_DERIVED;\n }\n\n const directKey = decodeDirectEntropyMnemonic(normalized);\n const directAddress = await addressFromPrivateKey(directKey, prefix);\n if (directAddress === expectedAddress) {\n return EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n }\n\n throw new EmbeddedWalletVaultError(\n \"Recovery phrase does not match the expected wallet address for either HD or direct-entropy decoding\",\n );\n}\n\nexport async function recoveryMnemonicAddress(\n mnemonic: string,\n keyType: EmbeddedWalletKeyType,\n hdPath = defaultEmbeddedHdPath(),\n prefix = BECH32_PREFIX,\n): Promise<string> {\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n return addressFromHdMnemonic(mnemonic, hdPath, prefix);\n }\n const privateKey = decodeDirectEntropyMnemonic(mnemonic);\n return addressFromPrivateKey(privateKey, prefix);\n}\n\n/** Build the recovery phrase for an unlocked plaintext payload. */\nexport function recoveryMnemonicFromPlaintext(plaintext: EmbeddedWalletPlaintext): string {\n const keyType = resolvePlaintextKeyType(plaintext);\n if (keyType === EMBEDDED_WALLET_KEY_HD_DERIVED) {\n if (!plaintext.mnemonic) {\n throw new EmbeddedWalletVaultError(\n \"HD-derived wallet is missing stored mnemonic; cannot reveal recovery phrase\",\n );\n }\n return normalizeRecoveryMnemonic(plaintext.mnemonic);\n }\n return encodeDirectEntropyMnemonic(plaintext.privateKey);\n}\n","import { deriveKekFromPbkdf2 } from \"./crypto\";\nimport { EmbeddedWalletVaultError } from \"./types\";\n\n/** Minimum passcode length — alphanumeric passcode, not a 4–6 digit PIN. */\nexport const EMBEDDED_WALLET_PASSCODE_MIN_LENGTH = 8;\n\n/** Maximum passcode length (DoS guard for PBKDF2 input). */\nexport const EMBEDDED_WALLET_PASSCODE_MAX_LENGTH = 128;\n\n/**\n * OWASP-recommended PBKDF2-SHA256 iteration count (2023 guidance).\n * Uses native Web Crypto — no WASM bundle required.\n */\nexport const EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS = 600_000;\n\n/** Passkey PBKDF2 fallback iteration count (matches PIN path; OWASP 2023 guidance). */\nexport const EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS = 600_000;\n\nexport function normalizePasscode(passcode: string): string {\n return passcode.normalize(\"NFKC\");\n}\n\n/** Validate citizen-chosen passcode before KDF. */\nexport function assertValidPasscode(passcode: string): void {\n const normalized = normalizePasscode(passcode);\n if (normalized.length < EMBEDDED_WALLET_PASSCODE_MIN_LENGTH) {\n throw new EmbeddedWalletVaultError(\n `Passcode must be at least ${EMBEDDED_WALLET_PASSCODE_MIN_LENGTH} characters`,\n );\n }\n if (normalized.length > EMBEDDED_WALLET_PASSCODE_MAX_LENGTH) {\n throw new EmbeddedWalletVaultError(\n `Passcode must be at most ${EMBEDDED_WALLET_PASSCODE_MAX_LENGTH} characters`,\n );\n }\n}\n\nexport async function deriveKekFromPasscode(\n passcode: string,\n salt: Uint8Array,\n iterations = EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n): Promise<Uint8Array> {\n assertValidPasscode(passcode);\n const material = new TextEncoder().encode(normalizePasscode(passcode));\n return deriveKekFromPbkdf2(material, salt, iterations);\n}\n","import { toBase64, fromBase64 } from \"@cosmjs/encoding\";\n\nimport {\n EMBEDDED_WALLET_KDF_PBKDF2,\n EMBEDDED_WALLET_KDF_PIN,\n EMBEDDED_WALLET_KDF_PRF,\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_VAULT_VERSION,\n EmbeddedWalletBackupRequiredError,\n type EmbeddedWalletKdf,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n type EmbeddedWalletVaultV1,\n EmbeddedWalletDecryptError,\n EmbeddedWalletVaultError,\n} from \"./types\";\nimport { resolvePlaintextKeyType } from \"./mnemonic\";\nimport { EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS } from \"./pin\";\nconst AES_GCM_IV_BYTES = 12;\n\nexport interface EncryptWalletOptions {\n kdf: EmbeddedWalletKdf;\n credentialId: Uint8Array;\n publicAddress: string;\n kek: Uint8Array;\n /** Required when kdf=pbkdf2-passkey or kdf=pbkdf2-pin */\n kdfSalt?: Uint8Array;\n /** Required when kdf=webauthn-prf */\n prfSalt?: Uint8Array;\n /** Override PBKDF2 iterations (defaults vary by kdf type). */\n kdfIterations?: number;\n backupAcknowledged?: boolean;\n}\n\nfunction pbkdf2IterationsForKdf(kdf: EmbeddedWalletKdf, override?: number): number {\n if (kdf === EMBEDDED_WALLET_KDF_PRF) {\n return 0;\n }\n if (override != null) {\n return override;\n }\n if (kdf === EMBEDDED_WALLET_KDF_PIN) {\n throw new EmbeddedWalletVaultError(\"PIN vault encryption requires explicit kdfIterations\");\n }\n return EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS;\n}\n\nfunction assertKekLength(kek: Uint8Array): void {\n if (kek.length !== 32) {\n throw new EmbeddedWalletVaultError(`KEK must be 32 bytes, got ${kek.length}`);\n }\n}\n\nfunction serializePlaintext(payload: EmbeddedWalletPlaintext): Uint8Array {\n const keyType = resolvePlaintextKeyType(payload);\n const json: Record<string, string> = {\n privateKey: toBase64(payload.privateKey),\n hdPath: payload.hdPath,\n createdAt: payload.createdAt,\n keyType,\n };\n if (payload.mnemonic) {\n json.mnemonic = payload.mnemonic;\n }\n return new TextEncoder().encode(JSON.stringify(json));\n}\n\nfunction deserializePlaintext(bytes: Uint8Array): EmbeddedWalletPlaintext {\n let parsed: unknown;\n try {\n parsed = JSON.parse(new TextDecoder().decode(bytes));\n } catch (err) {\n throw new EmbeddedWalletVaultError(\"Failed to parse decrypted wallet payload\", err);\n }\n\n if (\n typeof parsed !== \"object\" ||\n parsed == null ||\n typeof (parsed as EmbeddedWalletPlaintext).hdPath !== \"string\" ||\n typeof (parsed as EmbeddedWalletPlaintext).createdAt !== \"string\" ||\n typeof (parsed as { privateKey?: unknown }).privateKey !== \"string\"\n ) {\n throw new EmbeddedWalletVaultError(\"Decrypted wallet payload has invalid shape\");\n }\n\n const record = parsed as {\n privateKey: string;\n hdPath: string;\n createdAt: string;\n keyType?: EmbeddedWalletKeyType;\n mnemonic?: string;\n };\n\n const plaintext: EmbeddedWalletPlaintext = {\n privateKey: fromBase64(record.privateKey),\n hdPath: record.hdPath,\n createdAt: record.createdAt,\n };\n\n if (record.keyType) {\n plaintext.keyType = record.keyType;\n } else {\n plaintext.keyType = EMBEDDED_WALLET_KEY_DIRECT_ENTROPY;\n }\n\n if (typeof record.mnemonic === \"string\" && record.mnemonic.length > 0) {\n plaintext.mnemonic = record.mnemonic;\n }\n\n return plaintext;\n}\n\nexport async function deriveKekFromPrf(prfOutput: Uint8Array): Promise<Uint8Array> {\n if (prfOutput.length < 32) {\n throw new EmbeddedWalletVaultError(`PRF output must be at least 32 bytes, got ${prfOutput.length}`);\n }\n return prfOutput.slice(0, 32);\n}\n\n/** PBKDF2-SHA256 fallback when WebAuthn PRF is unavailable (Safari cross-device QR, etc.). */\nexport async function deriveKekFromPbkdf2(\n passkeyMaterial: Uint8Array,\n salt: Uint8Array,\n iterations = EMBEDDED_WALLET_PASSKEY_PBKDF2_ITERATIONS,\n): Promise<Uint8Array> {\n if (salt.length < 16) {\n throw new EmbeddedWalletVaultError(\"PBKDF2 salt must be at least 16 bytes\");\n }\n\n const keyMaterial = await crypto.subtle.importKey(\n \"raw\",\n new Uint8Array(passkeyMaterial),\n \"PBKDF2\",\n false,\n [\"deriveBits\"],\n );\n const derived = await crypto.subtle.deriveBits(\n { name: \"PBKDF2\", salt: new Uint8Array(salt), iterations, hash: \"SHA-256\" },\n keyMaterial,\n 256,\n );\n return new Uint8Array(derived);\n}\n\nexport function createPbkdf2Salt(): Uint8Array {\n const salt = new Uint8Array(32);\n crypto.getRandomValues(salt);\n return salt;\n}\n\nexport function createPasskeyMaterialFromAssertion(\n authenticatorData: Uint8Array,\n clientDataJSON: Uint8Array,\n): Uint8Array {\n const combined = new Uint8Array(authenticatorData.length + clientDataJSON.length);\n combined.set(authenticatorData, 0);\n combined.set(clientDataJSON, authenticatorData.length);\n return combined;\n}\n\nasync function importAesKey(kek: Uint8Array): Promise<CryptoKey> {\n assertKekLength(kek);\n const raw = new Uint8Array(kek);\n return crypto.subtle.importKey(\"raw\", raw, \"AES-GCM\", false, [\"encrypt\", \"decrypt\"]);\n}\n\nexport async function encryptWalletPayload(\n payload: EmbeddedWalletPlaintext,\n options: EncryptWalletOptions,\n): Promise<EmbeddedWalletVaultV1> {\n const iv = crypto.getRandomValues(new Uint8Array(AES_GCM_IV_BYTES));\n const aesKey = await importAesKey(options.kek);\n const plaintext = serializePlaintext(payload);\n const ciphertext = await crypto.subtle.encrypt(\n { name: \"AES-GCM\", iv },\n aesKey,\n new Uint8Array(plaintext),\n );\n\n if (\n (options.kdf === EMBEDDED_WALLET_KDF_PBKDF2 || options.kdf === EMBEDDED_WALLET_KDF_PIN) &&\n !options.kdfSalt\n ) {\n throw new EmbeddedWalletVaultError(\"PBKDF2 encryption requires kdfSalt\");\n }\n\n const iterations = pbkdf2IterationsForKdf(options.kdf, options.kdfIterations);\n\n return {\n version: EMBEDDED_WALLET_VAULT_VERSION,\n kdf: options.kdf,\n credentialId: toBase64(options.credentialId),\n publicAddress: options.publicAddress,\n iv: toBase64(iv),\n ciphertext: toBase64(new Uint8Array(ciphertext)),\n kdfSalt: options.kdfSalt ? toBase64(options.kdfSalt) : \"\",\n kdfIterations: iterations,\n prfSalt: options.prfSalt ? toBase64(options.prfSalt) : \"\",\n backupAcknowledged: options.backupAcknowledged ?? false,\n backupAcknowledgedAt: options.backupAcknowledged ? new Date().toISOString() : undefined,\n createdAt: payload.createdAt,\n };\n}\n\nexport async function decryptWalletPayload(\n vault: EmbeddedWalletVaultV1,\n kek: Uint8Array,\n): Promise<EmbeddedWalletPlaintext> {\n if (vault.version !== EMBEDDED_WALLET_VAULT_VERSION) {\n throw new EmbeddedWalletVaultError(`Unsupported vault version: ${vault.version}`);\n }\n\n const aesKey = await importAesKey(kek);\n const iv = fromBase64(vault.iv);\n const ciphertext = fromBase64(vault.ciphertext);\n\n let plaintextBytes: ArrayBuffer;\n try {\n plaintextBytes = await crypto.subtle.decrypt(\n { name: \"AES-GCM\", iv: new Uint8Array(iv) },\n aesKey,\n new Uint8Array(ciphertext),\n );\n } catch (err) {\n throw new EmbeddedWalletDecryptError(err);\n }\n\n return deserializePlaintext(new Uint8Array(plaintextBytes));\n}\n\nexport function markVaultBackupAcknowledged(vault: EmbeddedWalletVaultV1): EmbeddedWalletVaultV1 {\n const now = new Date().toISOString();\n return {\n ...vault,\n backupAcknowledged: true,\n backupAcknowledgedAt: now,\n };\n}\n\nexport function assertVaultPermitsTransaction(vault: EmbeddedWalletVaultV1): void {\n if (!vault.backupAcknowledged) {\n throw new EmbeddedWalletBackupRequiredError();\n }\n}\n","/**\n * WebAuthn PRF capability detection for embedded wallet KEK derivation.\n *\n * Safari does not expose PRF during cross-device QR-code WebAuthn flows — only\n * direct iCloud-synced passkeys. Callers must fall back to PBKDF2 in that case.\n */\n\nexport interface WebAuthnPrfCapabilities {\n /** Browser exposes PublicKeyCredential. */\n webAuthnAvailable: boolean;\n /** PRF extension likely usable on this device/browser combo. */\n prfLikelySupported: boolean;\n /** Human-readable reason when prfLikelySupported is false. */\n prfFallbackReason?: string;\n}\n\n/** Best-effort PRF support probe — PBKDF2 fallback remains mandatory. */\nexport function detectWebAuthnPrfCapabilities(): WebAuthnPrfCapabilities {\n if (typeof globalThis.PublicKeyCredential === \"undefined\") {\n return {\n webAuthnAvailable: false,\n prfLikelySupported: false,\n prfFallbackReason: \"WebAuthn is not available in this environment\",\n };\n }\n\n const ua = typeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n const isSafari = /Safari/i.test(ua) && !/Chrome|Chromium|CriOS|FxiOS/i.test(ua);\n\n // Safari cross-device QR WebAuthn cannot use PRF today — PBKDF2 is load-bearing.\n if (isSafari) {\n return {\n webAuthnAvailable: true,\n prfLikelySupported: false,\n prfFallbackReason:\n \"Safari does not support WebAuthn PRF for cross-device QR flows; use PBKDF2 fallback\",\n };\n }\n\n const getCaps = (\n PublicKeyCredential as unknown as {\n getClientCapabilities?: () => Promise<Record<string, boolean>>;\n }\n ).getClientCapabilities;\n\n if (typeof getCaps !== \"function\") {\n return {\n webAuthnAvailable: true,\n prfLikelySupported: true,\n };\n }\n\n return {\n webAuthnAvailable: true,\n prfLikelySupported: true,\n prfFallbackReason: undefined,\n };\n}\n\n/** Extract 32-byte PRF output from assertion clientExtensionResults. */\nexport function readPrfOutput(\n clientExtensionResults: AuthenticationExtensionsClientOutputs | undefined,\n): Uint8Array | null {\n const prf = clientExtensionResults?.prf as\n | { results?: Record<string, ArrayBuffer> }\n | undefined;\n const first = prf?.results?.first ?? (prf?.results ? Object.values(prf.results)[0] : undefined);\n if (!first || first.byteLength < 32) {\n return null;\n }\n return new Uint8Array(first).slice(0, 32);\n}\n\nexport function selectEmbeddedWalletKdf(\n caps: WebAuthnPrfCapabilities,\n prfOutput: Uint8Array | null,\n): \"webauthn-prf\" | \"pbkdf2-passkey\" {\n if (caps.prfLikelySupported && prfOutput && prfOutput.length >= 32) {\n return \"webauthn-prf\";\n }\n return \"pbkdf2-passkey\";\n}\n","import type { EmbeddedWalletBackupFileV1, EmbeddedWalletVaultV1 } from \"./types\";\nimport { EMBEDDED_WALLET_VAULT_VERSION } from \"./types\";\n\nexport function exportEncryptedBackup(vault: EmbeddedWalletVaultV1): EmbeddedWalletBackupFileV1 {\n return {\n format: \"kingdom-os-embedded-wallet-backup\",\n version: EMBEDDED_WALLET_VAULT_VERSION,\n vault: structuredClone(vault),\n exportedAt: new Date().toISOString(),\n };\n}\n\nexport function parseEncryptedBackup(json: string): EmbeddedWalletBackupFileV1 {\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch (err) {\n throw new Error(\"Backup file is not valid JSON\", { cause: err });\n }\n\n if (\n typeof parsed !== \"object\" ||\n parsed == null ||\n (parsed as EmbeddedWalletBackupFileV1).format !== \"kingdom-os-embedded-wallet-backup\" ||\n (parsed as EmbeddedWalletBackupFileV1).version !== EMBEDDED_WALLET_VAULT_VERSION ||\n typeof (parsed as EmbeddedWalletBackupFileV1).vault !== \"object\"\n ) {\n throw new Error(\"Unrecognized embedded wallet backup format\");\n }\n\n return parsed as EmbeddedWalletBackupFileV1;\n}\n\nexport function serializeBackupFile(backup: EmbeddedWalletBackupFileV1): string {\n return JSON.stringify(backup, null, 2);\n}\n","import { fromBase64, toBase64 } from \"@cosmjs/encoding\";\n\nimport { EmbeddedWalletVaultError } from \"./types\";\n\nexport const WEBAUTHN_RP_NAME = \"Kingdom OS\";\n\nexport interface PasskeyRegistrationResult {\n credentialId: Uint8Array;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n prfOutput: Uint8Array | null;\n prfSalt: Uint8Array;\n}\n\nexport interface PasskeyAssertionResult {\n credentialId: Uint8Array;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n prfOutput: Uint8Array | null;\n}\n\nexport class WebAuthnUnavailableError extends Error {\n constructor(message = \"WebAuthn is not available in this browser\") {\n super(message);\n this.name = \"WebAuthnUnavailableError\";\n }\n}\n\nexport class WebAuthnUserCancelledError extends Error {\n constructor(message = \"Passkey request was cancelled\") {\n super(message);\n this.name = \"WebAuthnUserCancelledError\";\n }\n}\n\nfunction randomChallenge(): BufferSource {\n return toBufferSource(crypto.getRandomValues(new Uint8Array(32)));\n}\n\n/** Copy bytes into a plain ArrayBuffer-backed Uint8Array for WebAuthn BufferSource typing. */\nfunction toBufferSource(bytes: Uint8Array): BufferSource {\n return Uint8Array.from(bytes);\n}\n\nfunction resolveRpId(explicit?: string): string {\n if (explicit?.trim()) {\n return explicit.trim();\n }\n if (typeof window !== \"undefined\" && window.location.hostname) {\n return window.location.hostname;\n }\n throw new EmbeddedWalletVaultError(\"rpId is required when window.location is unavailable\");\n}\n\nfunction mapWebAuthnError(err: unknown): Error {\n if (err instanceof DOMException) {\n if (err.name === \"NotAllowedError\") {\n return new WebAuthnUserCancelledError();\n }\n return new EmbeddedWalletVaultError(`WebAuthn failed: ${err.name}`, err);\n }\n return err instanceof Error ? err : new EmbeddedWalletVaultError(String(err));\n}\n\n/** Register a platform passkey; attempts PRF extension when supported. */\nexport async function registerPasskey(options: {\n userId: Uint8Array;\n userName: string;\n displayName: string;\n rpId?: string;\n prfSalt?: Uint8Array;\n}): Promise<PasskeyRegistrationResult> {\n if (typeof navigator === \"undefined\" || !navigator.credentials?.create) {\n throw new WebAuthnUnavailableError();\n }\n\n const rpId = resolveRpId(options.rpId);\n const prfSalt = options.prfSalt ?? crypto.getRandomValues(new Uint8Array(32));\n\n try {\n const credential = (await navigator.credentials.create({\n publicKey: {\n challenge: randomChallenge(),\n rp: { name: WEBAUTHN_RP_NAME, id: rpId },\n user: {\n id: toBufferSource(options.userId),\n name: options.userName,\n displayName: options.displayName,\n },\n pubKeyCredParams: [{ alg: -7, type: \"public-key\" }],\n authenticatorSelection: {\n residentKey: \"preferred\",\n userVerification: \"required\",\n },\n extensions: {\n prf: { eval: { first: toBufferSource(prfSalt) } },\n } as AuthenticationExtensionsClientInputs,\n },\n })) as PublicKeyCredential | null;\n\n if (!credential || !(credential.response instanceof AuthenticatorAttestationResponse)) {\n throw new EmbeddedWalletVaultError(\"Passkey registration returned no credential\");\n }\n\n const prfOutput = readPrfFromExtensions(credential.getClientExtensionResults());\n\n return {\n credentialId: new Uint8Array(credential.rawId),\n authenticatorData: new Uint8Array(credential.response.getAuthenticatorData()),\n clientDataJSON: new Uint8Array(credential.response.clientDataJSON),\n prfOutput,\n prfSalt,\n };\n } catch (err) {\n throw mapWebAuthnError(err);\n }\n}\n\n/** Assert an existing passkey; re-derives PRF output when extension succeeds. */\nexport async function assertPasskey(options: {\n credentialId: Uint8Array;\n rpId?: string;\n prfSalt?: Uint8Array;\n}): Promise<PasskeyAssertionResult> {\n if (typeof navigator === \"undefined\" || !navigator.credentials?.get) {\n throw new WebAuthnUnavailableError();\n }\n\n const rpId = resolveRpId(options.rpId);\n const extensions: AuthenticationExtensionsClientInputs = {};\n if (options.prfSalt) {\n extensions.prf = { eval: { first: toBufferSource(options.prfSalt) } };\n }\n\n try {\n const assertion = (await navigator.credentials.get({\n publicKey: {\n challenge: randomChallenge(),\n rpId,\n allowCredentials: [{ id: toBufferSource(options.credentialId), type: \"public-key\" }],\n userVerification: \"required\",\n extensions,\n },\n })) as PublicKeyCredential | null;\n\n if (!assertion || !(assertion.response instanceof AuthenticatorAssertionResponse)) {\n throw new EmbeddedWalletVaultError(\"Passkey assertion returned no credential\");\n }\n\n return {\n credentialId: new Uint8Array(assertion.rawId),\n authenticatorData: new Uint8Array(assertion.response.authenticatorData),\n clientDataJSON: new Uint8Array(assertion.response.clientDataJSON),\n prfOutput: readPrfFromExtensions(assertion.getClientExtensionResults()),\n };\n } catch (err) {\n throw mapWebAuthnError(err);\n }\n}\n\nfunction readPrfFromExtensions(\n results: AuthenticationExtensionsClientOutputs,\n): Uint8Array | null {\n const prf = results?.prf as { results?: { first?: ArrayBuffer } } | undefined;\n const first = prf?.results?.first;\n if (!first || first.byteLength < 32) {\n return null;\n }\n return new Uint8Array(first).slice(0, 32);\n}\n\nexport function encodeCredentialId(id: Uint8Array): string {\n return toBase64(id);\n}\n\nexport function decodeCredentialId(encoded: string): Uint8Array {\n return fromBase64(encoded);\n}\n","import type { EmbeddedWalletVaultV1 } from \"./types\";\n\nconst DB_NAME = \"kingdom-os-wallet\";\nconst DB_VERSION = 2;\nconst VAULT_STORE_NAME = \"vault\";\nconst LOCKOUT_STORE_NAME = \"passcode-lockout\";\n\n/** Legacy unscoped vault key used before per-account scoping shipped. */\nexport const VAULT_LEGACY_KEY = \"primary\";\n\nexport interface VaultStorageOptions {\n /** When set, vault is stored under this account-scoped key instead of {@link VAULT_LEGACY_KEY}. */\n scopeId?: string;\n}\n\nexport interface PasscodeLockoutRecord {\n failedAttempts: number;\n lockoutTier: number;\n lockedUntil: string | null;\n}\n\nexport function resolveVaultStorageKey(scopeId?: string): string {\n const trimmed = scopeId?.trim();\n return trimmed ? trimmed : VAULT_LEGACY_KEY;\n}\n\nfunction openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB open failed\"));\n request.onupgradeneeded = () => {\n const db = request.result;\n if (!db.objectStoreNames.contains(VAULT_STORE_NAME)) {\n db.createObjectStore(VAULT_STORE_NAME);\n }\n if (!db.objectStoreNames.contains(LOCKOUT_STORE_NAME)) {\n db.createObjectStore(LOCKOUT_STORE_NAME);\n }\n };\n request.onsuccess = () => resolve(request.result);\n });\n}\n\nexport async function saveVaultToIndexedDb(\n vault: EmbeddedWalletVaultV1,\n options: VaultStorageOptions = {},\n): Promise<void> {\n const key = resolveVaultStorageKey(options.scopeId);\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(VAULT_STORE_NAME, \"readwrite\");\n tx.objectStore(VAULT_STORE_NAME).put(vault, key);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\n });\n db.close();\n}\n\nexport async function loadVaultFromIndexedDb(\n options: VaultStorageOptions = {},\n): Promise<EmbeddedWalletVaultV1 | null> {\n const key = resolveVaultStorageKey(options.scopeId);\n const db = await openDb();\n const vault = await new Promise<EmbeddedWalletVaultV1 | null>((resolve, reject) => {\n const tx = db.transaction(VAULT_STORE_NAME, \"readonly\");\n const request = tx.objectStore(VAULT_STORE_NAME).get(key);\n request.onsuccess = () => resolve((request.result as EmbeddedWalletVaultV1 | undefined) ?? null);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\n });\n db.close();\n return vault;\n}\n\nexport async function clearVaultFromIndexedDb(options: VaultStorageOptions = {}): Promise<void> {\n const key = resolveVaultStorageKey(options.scopeId);\n const vault = await loadVaultFromIndexedDb(options);\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const storeNames = vault ? [VAULT_STORE_NAME, LOCKOUT_STORE_NAME] : [VAULT_STORE_NAME];\n const tx = db.transaction(storeNames, \"readwrite\");\n tx.objectStore(VAULT_STORE_NAME).delete(key);\n if (vault) {\n tx.objectStore(LOCKOUT_STORE_NAME).delete(vault.publicAddress);\n }\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\n });\n db.close();\n}\n\nexport async function loadPasscodeLockoutRecord(\n publicAddress: string,\n): Promise<PasscodeLockoutRecord | null> {\n const db = await openDb();\n const record = await new Promise<PasscodeLockoutRecord | null>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readonly\");\n const request = tx.objectStore(LOCKOUT_STORE_NAME).get(publicAddress);\n request.onsuccess = () =>\n resolve((request.result as PasscodeLockoutRecord | undefined) ?? null);\n request.onerror = () => reject(request.error ?? new Error(\"IndexedDB read failed\"));\n });\n db.close();\n return record;\n}\n\nexport async function savePasscodeLockoutRecord(\n publicAddress: string,\n record: PasscodeLockoutRecord,\n): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\n tx.objectStore(LOCKOUT_STORE_NAME).put(record, publicAddress);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB write failed\"));\n });\n db.close();\n}\n\nexport async function clearPasscodeLockoutRecord(publicAddress: string): Promise<void> {\n const db = await openDb();\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(LOCKOUT_STORE_NAME, \"readwrite\");\n tx.objectStore(LOCKOUT_STORE_NAME).delete(publicAddress);\n tx.oncomplete = () => resolve();\n tx.onerror = () => reject(tx.error ?? new Error(\"IndexedDB delete failed\"));\n });\n db.close();\n}\n","import {\n clearPasscodeLockoutRecord,\n loadPasscodeLockoutRecord,\n savePasscodeLockoutRecord,\n type PasscodeLockoutRecord,\n} from \"./storage\";\nimport { EmbeddedWalletLockoutError } from \"./types\";\n\n/** Consecutive wrong passcodes before lockout triggers. */\nexport const PASSCODE_LOCKOUT_FAILURE_THRESHOLD = 5;\n\n/** First lockout duration (milliseconds). */\nexport const PASSCODE_LOCKOUT_INITIAL_MS = 30_000;\n\n/** Maximum lockout duration (15 minutes). */\nexport const PASSCODE_LOCKOUT_MAX_MS = 900_000;\n\n/** Pure lockout duration for a tier (exported for property tests). */\nexport function computePasscodeLockoutDurationMs(tier: number): number {\n const duration = PASSCODE_LOCKOUT_INITIAL_MS * 2 ** tier;\n return Math.min(duration, PASSCODE_LOCKOUT_MAX_MS);\n}\n\nfunction emptyRecord(): PasscodeLockoutRecord {\n return {\n failedAttempts: 0,\n lockoutTier: 0,\n lockedUntil: null,\n };\n}\n\nfunction computeRetryAfterMs(lockedUntil: string | null): number {\n if (!lockedUntil) {\n return 0;\n }\n const until = Date.parse(lockedUntil);\n if (Number.isNaN(until)) {\n return 0;\n }\n return Math.max(0, until - Date.now());\n}\n\n/** Throws when the vault is temporarily locked after too many failed unlock attempts. */\nexport async function assertPasscodeUnlockAllowed(publicAddress: string): Promise<void> {\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n const retryAfterMs = computeRetryAfterMs(record.lockedUntil);\n if (retryAfterMs > 0) {\n throw new EmbeddedWalletLockoutError(retryAfterMs);\n }\n}\n\n/** Record a failed passcode unlock attempt; triggers lockout at threshold. */\nexport async function recordPasscodeUnlockFailure(publicAddress: string): Promise<void> {\n const existing = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n\n const retryAfterMs = computeRetryAfterMs(existing.lockedUntil);\n if (retryAfterMs > 0) {\n return;\n }\n\n const failedAttempts = existing.failedAttempts + 1;\n if (failedAttempts < PASSCODE_LOCKOUT_FAILURE_THRESHOLD) {\n await savePasscodeLockoutRecord(publicAddress, {\n ...existing,\n failedAttempts,\n });\n return;\n }\n\n const durationMs = computePasscodeLockoutDurationMs(existing.lockoutTier);\n const lockedUntil = new Date(Date.now() + durationMs).toISOString();\n await savePasscodeLockoutRecord(publicAddress, {\n failedAttempts: 0,\n lockoutTier: existing.lockoutTier + 1,\n lockedUntil,\n });\n}\n\n/** Clear lockout state after a successful passcode unlock. */\nexport async function recordPasscodeUnlockSuccess(publicAddress: string): Promise<void> {\n await clearPasscodeLockoutRecord(publicAddress);\n}\n\nexport async function getPasscodeLockoutState(\n publicAddress: string,\n): Promise<PasscodeLockoutRecord & { retryAfterMs: number }> {\n const record = (await loadPasscodeLockoutRecord(publicAddress)) ?? emptyRecord();\n return {\n ...record,\n retryAfterMs: computeRetryAfterMs(record.lockedUntil),\n };\n}\n","[\"password\",\"123456\",\"12345678\",\"1234\",\"qwerty\",\"12345\",\"dragon\",\"pussy\",\"baseball\",\"football\",\"letmein\",\"monkey\",\"696969\",\"abc123\",\"mustang\",\"michael\",\"shadow\",\"master\",\"jennifer\",\"111111\",\"2000\",\"jordan\",\"superman\",\"harley\",\"1234567\",\"fuckme\",\"hunter\",\"fuckyou\",\"trustno1\",\"ranger\",\"buster\",\"thomas\",\"tigger\",\"robert\",\"soccer\",\"fuck\",\"batman\",\"test\",\"pass\",\"killer\",\"hockey\",\"george\",\"charlie\",\"andrew\",\"michelle\",\"love\",\"sunshine\",\"jessica\",\"asshole\",\"6969\",\"pepper\",\"daniel\",\"access\",\"123456789\",\"654321\",\"joshua\",\"maggie\",\"starwars\",\"silver\",\"william\",\"dallas\",\"yankees\",\"123123\",\"ashley\",\"666666\",\"hello\",\"amanda\",\"orange\",\"biteme\",\"freedom\",\"computer\",\"sexy\",\"thunder\",\"nicole\",\"ginger\",\"heather\",\"hammer\",\"summer\",\"corvette\",\"taylor\",\"fucker\",\"austin\",\"1111\",\"merlin\",\"matthew\",\"121212\",\"golfer\",\"cheese\",\"princess\",\"martin\",\"chelsea\",\"patrick\",\"richard\",\"diamond\",\"yellow\",\"bigdog\",\"secret\",\"asdfgh\",\"sparky\",\"cowboy\",\"camaro\",\"anthony\",\"matrix\",\"falcon\",\"iloveyou\",\"bailey\",\"guitar\",\"jackson\",\"purple\",\"scooter\",\"phoenix\",\"aaaaaa\",\"morgan\",\"tigers\",\"porsche\",\"mickey\",\"maverick\",\"cookie\",\"nascar\",\"peanut\",\"justin\",\"131313\",\"money\",\"horny\",\"samantha\",\"panties\",\"steelers\",\"joseph\",\"snoopy\",\"boomer\",\"whatever\",\"iceman\",\"smokey\",\"gateway\",\"dakota\",\"cowboys\",\"eagles\",\"chicken\",\"dick\",\"black\",\"zxcvbn\",\"please\",\"andrea\",\"ferrari\",\"knight\",\"hardcore\",\"melissa\",\"compaq\",\"coffee\",\"booboo\",\"bitch\",\"johnny\",\"bulldog\",\"xxxxxx\",\"welcome\",\"james\",\"player\",\"ncc1701\",\"wizard\",\"scooby\",\"charles\",\"junior\",\"internet\",\"bigdick\",\"mike\",\"brandy\",\"tennis\",\"blowjob\",\"banana\",\"monster\",\"spider\",\"lakers\",\"miller\",\"rabbit\",\"enter\",\"mercedes\",\"brandon\",\"steven\",\"fender\",\"john\",\"yamaha\",\"diablo\",\"chris\",\"boston\",\"tiger\",\"marine\",\"chicago\",\"rangers\",\"gandalf\",\"winter\",\"bigtits\",\"barney\",\"edward\",\"raiders\",\"porn\",\"badboy\",\"blowme\",\"spanky\",\"bigdaddy\",\"johnson\",\"chester\",\"london\",\"midnight\",\"blue\",\"fishing\",\"000000\",\"hannah\",\"slayer\",\"11111111\",\"rachel\",\"sexsex\",\"redsox\",\"thx1138\",\"asdf\",\"marlboro\",\"panther\",\"zxcvbnm\",\"arsenal\",\"oliver\",\"qazwsx\",\"mother\",\"victoria\",\"7777777\",\"jasper\",\"angel\",\"david\",\"winner\",\"crystal\",\"golden\",\"butthead\",\"viking\",\"jack\",\"iwantu\",\"shannon\",\"murphy\",\"angels\",\"prince\",\"cameron\",\"girls\",\"madison\",\"wilson\",\"carlos\",\"hooters\",\"willie\",\"startrek\",\"captain\",\"maddog\",\"jasmine\",\"butter\",\"booger\",\"angela\",\"golf\",\"lauren\",\"rocket\",\"tiffany\",\"theman\",\"dennis\",\"liverpoo\",\"flower\",\"forever\",\"green\",\"jackie\",\"muffin\",\"turtle\",\"sophie\",\"danielle\",\"redskins\",\"toyota\",\"jason\",\"sierra\",\"winston\",\"debbie\",\"giants\",\"packers\",\"newyork\",\"jeremy\",\"casper\",\"bubba\",\"112233\",\"sandra\",\"lovers\",\"mountain\",\"united\",\"cooper\",\"driver\",\"tucker\",\"helpme\",\"fucking\",\"pookie\",\"lucky\",\"maxwell\",\"8675309\",\"bear\",\"suckit\",\"gators\",\"5150\",\"222222\",\"shithead\",\"fuckoff\",\"jaguar\",\"monica\",\"fred\",\"happy\",\"hotdog\",\"tits\",\"gemini\",\"lover\",\"xxxxxxxx\",\"777777\",\"canada\",\"nathan\",\"victor\",\"florida\",\"88888888\",\"nicholas\",\"rosebud\",\"metallic\",\"doctor\",\"trouble\",\"success\",\"stupid\",\"tomcat\",\"warrior\",\"peaches\",\"apples\",\"fish\",\"qwertyui\",\"magic\",\"buddy\",\"dolphins\",\"rainbow\",\"gunner\",\"987654\",\"freddy\",\"alexis\",\"braves\",\"cock\",\"2112\",\"1212\",\"cocacola\",\"xavier\",\"dolphin\",\"testing\",\"bond007\",\"member\",\"calvin\",\"voodoo\",\"7777\",\"samson\",\"alex\",\"apollo\",\"fire\",\"tester\",\"walter\",\"beavis\",\"voyager\",\"peter\",\"porno\",\"bonnie\",\"rush2112\",\"beer\",\"apple\",\"scorpio\",\"jonathan\",\"skippy\",\"sydney\",\"scott\",\"red123\",\"power\",\"gordon\",\"travis\",\"beaver\",\"star\",\"jackass\",\"flyers\",\"boobs\",\"232323\",\"zzzzzz\",\"steve\",\"rebecca\",\"scorpion\",\"doggie\",\"legend\",\"ou812\",\"yankee\",\"blazer\",\"bill\",\"runner\",\"birdie\",\"bitches\",\"555555\",\"parker\",\"topgun\",\"asdfasdf\",\"heaven\",\"viper\",\"animal\",\"2222\",\"bigboy\",\"4444\",\"arthur\",\"baby\",\"private\",\"godzilla\",\"donald\",\"williams\",\"lifehack\",\"phantom\",\"dave\",\"rock\",\"august\",\"sammy\",\"cool\",\"brian\",\"platinum\",\"jake\",\"bronco\",\"paul\",\"mark\",\"frank\",\"heka6w2\",\"copper\",\"billy\",\"cumshot\",\"garfield\",\"willow\",\"cunt\",\"little\",\"carter\",\"slut\",\"albert\",\"69696969\",\"kitten\",\"super\",\"jordan23\",\"eagle1\",\"shelby\",\"america\",\"11111\",\"jessie\",\"house\",\"free\",\"123321\",\"chevy\",\"bullshit\",\"white\",\"broncos\",\"horney\",\"surfer\",\"nissan\",\"999999\",\"saturn\",\"airborne\",\"elephant\",\"marvin\",\"shit\",\"action\",\"adidas\",\"qwert\",\"kevin\",\"1313\",\"explorer\",\"walker\",\"police\",\"christin\",\"december\",\"benjamin\",\"wolf\",\"sweet\",\"therock\",\"king\",\"online\",\"dickhead\",\"brooklyn\",\"teresa\",\"cricket\",\"sharon\",\"dexter\",\"racing\",\"penis\",\"gregory\",\"0000\",\"teens\",\"redwings\",\"dreams\",\"michigan\",\"hentai\",\"magnum\",\"87654321\",\"nothing\",\"donkey\",\"trinity\",\"digital\",\"333333\",\"stella\",\"cartman\",\"guinness\",\"123abc\",\"speedy\",\"buffalo\",\"kitty\",\"pimpin\",\"eagle\",\"einstein\",\"kelly\",\"nelson\",\"nirvana\",\"vampire\",\"xxxx\",\"playboy\",\"louise\",\"pumpkin\",\"snowball\",\"test123\",\"girl\",\"sucker\",\"mexico\",\"beatles\",\"fantasy\",\"ford\",\"gibson\",\"celtic\",\"marcus\",\"cherry\",\"cassie\",\"888888\",\"natasha\",\"sniper\",\"chance\",\"genesis\",\"hotrod\",\"reddog\",\"alexande\",\"college\",\"jester\",\"passw0rd\",\"bigcock\",\"smith\",\"lasvegas\",\"carmen\",\"slipknot\",\"3333\",\"death\",\"kimberly\",\"1q2w3e\",\"eclipse\",\"1q2w3e4r\",\"stanley\",\"samuel\",\"drummer\",\"homer\",\"montana\",\"music\",\"aaaa\",\"spencer\",\"jimmy\",\"carolina\",\"colorado\",\"creative\",\"hello1\",\"rocky\",\"goober\",\"friday\",\"bollocks\",\"scotty\",\"abcdef\",\"bubbles\",\"hawaii\",\"fluffy\",\"mine\",\"stephen\",\"horses\",\"thumper\",\"5555\",\"pussies\",\"darkness\",\"asdfghjk\",\"pamela\",\"boobies\",\"buddha\",\"vanessa\",\"sandman\",\"naughty\",\"douglas\",\"honda\",\"matt\",\"azerty\",\"6666\",\"shorty\",\"money1\",\"beach\",\"loveme\",\"4321\",\"simple\",\"poohbear\",\"444444\",\"badass\",\"destiny\",\"sarah\",\"denise\",\"vikings\",\"lizard\",\"melanie\",\"assman\",\"sabrina\",\"nintendo\",\"water\",\"good\",\"howard\",\"time\",\"123qwe\",\"november\",\"xxxxx\",\"october\",\"leather\",\"bastard\",\"young\",\"101010\",\"extreme\",\"hard\",\"password1\",\"vincent\",\"pussy1\",\"lacrosse\",\"hotmail\",\"spooky\",\"amateur\",\"alaska\",\"badger\",\"paradise\",\"maryjane\",\"poop\",\"crazy\",\"mozart\",\"video\",\"russell\",\"vagina\",\"spitfire\",\"anderson\",\"norman\",\"eric\",\"cherokee\",\"cougar\",\"barbara\",\"long\",\"420420\",\"family\",\"horse\",\"enigma\",\"allison\",\"raider\",\"brazil\",\"blonde\",\"jones\",\"55555\",\"dude\",\"drowssap\",\"jeff\",\"school\",\"marshall\",\"lovely\",\"1qaz2wsx\",\"jeffrey\",\"caroline\",\"franklin\",\"booty\",\"molly\",\"snickers\",\"leslie\",\"nipples\",\"courtney\",\"diesel\",\"rocks\",\"eminem\",\"westside\",\"suzuki\",\"daddy\",\"passion\",\"hummer\",\"ladies\",\"zachary\",\"frankie\",\"elvis\",\"reggie\",\"alpha\",\"suckme\",\"simpson\",\"patricia\",\"147147\",\"pirate\",\"tommy\",\"semperfi\",\"jupiter\",\"redrum\",\"freeuser\",\"wanker\",\"stinky\",\"ducati\",\"paris\",\"natalie\",\"babygirl\",\"bishop\",\"windows\",\"spirit\",\"pantera\",\"monday\",\"patches\",\"brutus\",\"houston\",\"smooth\",\"penguin\",\"marley\",\"forest\",\"cream\",\"212121\",\"flash\",\"maximus\",\"nipple\",\"bobby\",\"bradley\",\"vision\",\"pokemon\",\"champion\",\"fireman\",\"indian\",\"softball\",\"picard\",\"system\",\"clinton\",\"cobra\",\"enjoy\",\"lucky1\",\"claire\",\"claudia\",\"boogie\",\"timothy\",\"marines\",\"security\",\"dirty\",\"admin\",\"wildcats\",\"pimp\",\"dancer\",\"hardon\",\"veronica\",\"fucked\",\"abcd1234\",\"abcdefg\",\"ironman\",\"wolverin\",\"remember\",\"great\",\"freepass\",\"bigred\",\"squirt\",\"justice\",\"francis\",\"hobbes\",\"kermit\",\"pearljam\",\"mercury\",\"domino\",\"9999\",\"denver\",\"brooke\",\"rascal\",\"hitman\",\"mistress\",\"simon\",\"tony\",\"bbbbbb\",\"friend\",\"peekaboo\",\"naked\",\"budlight\",\"electric\",\"sluts\",\"stargate\",\"saints\",\"bondage\",\"brittany\",\"bigman\",\"zombie\",\"swimming\",\"duke\",\"qwerty1\",\"babes\",\"scotland\",\"disney\",\"rooster\",\"brenda\",\"mookie\",\"swordfis\",\"candy\",\"duncan\",\"olivia\",\"hunting\",\"blink182\",\"alicia\",\"8888\",\"samsung\",\"bubba1\",\"whore\",\"virginia\",\"general\",\"passport\",\"aaaaaaaa\",\"erotic\",\"liberty\",\"arizona\",\"jesus\",\"abcd\",\"newport\",\"skipper\",\"rolltide\",\"balls\",\"happy1\",\"galore\",\"christ\",\"weasel\",\"242424\",\"wombat\",\"digger\",\"classic\",\"bulldogs\",\"poopoo\",\"accord\",\"popcorn\",\"turkey\",\"jenny\",\"amber\",\"bunny\",\"mouse\",\"007007\",\"titanic\",\"liverpool\",\"dreamer\",\"everton\",\"friends\",\"chevelle\",\"carrie\",\"gabriel\",\"psycho\",\"nemesis\",\"burton\",\"pontiac\",\"connor\",\"eatme\",\"lickme\",\"roland\",\"cumming\",\"mitchell\",\"ireland\",\"lincoln\",\"arnold\",\"spiderma\",\"patriots\",\"goblue\",\"devils\",\"eugene\",\"empire\",\"asdfg\",\"cardinal\",\"brown\",\"shaggy\",\"froggy\",\"qwer\",\"kawasaki\",\"kodiak\",\"people\",\"phpbb\",\"light\",\"54321\",\"kramer\",\"chopper\",\"hooker\",\"honey\",\"whynot\",\"lesbian\",\"lisa\",\"baxter\",\"adam\",\"snake\",\"teen\",\"ncc1701d\",\"qqqqqq\",\"airplane\",\"britney\",\"avalon\",\"sandy\",\"sugar\",\"sublime\",\"stewart\",\"wildcat\",\"raven\",\"scarface\",\"elizabet\",\"123654\",\"trucks\",\"wolfpack\",\"pervert\",\"lawrence\",\"raymond\",\"redhead\",\"american\",\"alyssa\",\"bambam\",\"movie\",\"woody\",\"shaved\",\"snowman\",\"tiger1\",\"chicks\",\"raptor\",\"1969\",\"stingray\",\"shooter\",\"france\",\"stars\",\"madmax\",\"kristen\",\"sports\",\"jerry\",\"789456\",\"garcia\",\"simpsons\",\"lights\",\"ryan\",\"looking\",\"chronic\",\"alison\",\"hahaha\",\"packard\",\"hendrix\",\"perfect\",\"service\",\"spring\",\"srinivas\",\"spike\",\"katie\",\"252525\",\"oscar\",\"brother\",\"bigmac\",\"suck\",\"single\",\"cannon\",\"georgia\",\"popeye\",\"tattoo\",\"texas\",\"party\",\"bullet\",\"taurus\",\"sailor\",\"wolves\",\"panthers\",\"japan\",\"strike\",\"flowers\",\"pussycat\",\"chris1\",\"loverboy\",\"berlin\",\"sticky\",\"marina\",\"tarheels\",\"fisher\",\"russia\",\"connie\",\"wolfgang\",\"testtest\",\"mature\",\"bass\",\"catch22\",\"juice\",\"michael1\",\"nigger\",\"159753\",\"women\",\"alpha1\",\"trooper\",\"hawkeye\",\"head\",\"freaky\",\"dodgers\",\"pakistan\",\"machine\",\"pyramid\",\"vegeta\",\"katana\",\"moose\",\"tinker\",\"coyote\",\"infinity\",\"inside\",\"pepsi\",\"letmein1\",\"bang\",\"control\",\"hercules\",\"morris\",\"james1\",\"tickle\",\"outlaw\",\"browns\",\"billybob\",\"pickle\",\"test1\",\"michele\",\"antonio\",\"sucks\",\"pavilion\",\"changeme\",\"caesar\",\"prelude\",\"tanner\",\"adrian\",\"darkside\",\"bowling\",\"wutang\",\"sunset\",\"robbie\",\"alabama\",\"danger\",\"zeppelin\",\"juan\",\"rusty\",\"pppppp\",\"nick\",\"2001\",\"ping\",\"darkstar\",\"madonna\",\"qwe123\",\"bigone\",\"casino\",\"cheryl\",\"charlie1\",\"mmmmmm\",\"integra\",\"wrangler\",\"apache\",\"tweety\",\"qwerty12\",\"bobafett\",\"simone\",\"none\",\"business\",\"sterling\",\"trevor\",\"transam\",\"dustin\",\"harvey\",\"england\",\"2323\",\"seattle\",\"ssssss\",\"rose\",\"harry\",\"openup\",\"pandora\",\"pussys\",\"trucker\",\"wallace\",\"indigo\",\"storm\",\"malibu\",\"weed\",\"review\",\"babydoll\",\"doggy\",\"dilbert\",\"pegasus\",\"joker\",\"catfish\",\"flipper\",\"valerie\",\"herman\",\"fuckit\",\"detroit\",\"kenneth\",\"cheyenne\",\"bruins\",\"stacey\",\"smoke\",\"joey\",\"seven\",\"marino\",\"fetish\",\"xfiles\",\"wonder\",\"stinger\",\"pizza\",\"babe\",\"pretty\",\"stealth\",\"manutd\",\"gracie\",\"gundam\",\"cessna\",\"longhorn\",\"presario\",\"mnbvcxz\",\"wicked\",\"mustang1\",\"victory\",\"21122112\",\"shelly\",\"awesome\",\"athena\",\"q1w2e3r4\",\"help\",\"holiday\",\"knicks\",\"street\",\"redneck\",\"12341234\",\"casey\",\"gizmo\",\"scully\",\"dragon1\",\"devildog\",\"triumph\",\"eddie\",\"bluebird\",\"shotgun\",\"peewee\",\"ronnie\",\"angel1\",\"daisy\",\"special\",\"metallica\",\"madman\",\"country\",\"impala\",\"lennon\",\"roscoe\",\"omega\",\"access14\",\"enterpri\",\"miranda\",\"search\",\"smitty\",\"blizzard\",\"unicorn\",\"tight\",\"rick\",\"ronald\",\"asdf1234\",\"harrison\",\"trigger\",\"truck\",\"danny\",\"home\",\"winnie\",\"beauty\",\"thailand\",\"1234567890\",\"cadillac\",\"castle\",\"tyler\",\"bobcat\",\"buddy1\",\"sunny\",\"stones\",\"asian\",\"freddie\",\"chuck\",\"butt\",\"loveyou\",\"norton\",\"hellfire\",\"hotsex\",\"indiana\",\"short\",\"panzer\",\"lonewolf\",\"trumpet\",\"colors\",\"blaster\",\"12121212\",\"fireball\",\"logan\",\"precious\",\"aaron\",\"elaine\",\"jungle\",\"atlanta\",\"gold\",\"corona\",\"curtis\",\"nikki\",\"polaris\",\"timber\",\"theone\",\"baller\",\"chipper\",\"orlando\",\"island\",\"skyline\",\"dragons\",\"dogs\",\"benson\",\"licker\",\"goldie\",\"engineer\",\"kong\",\"pencil\",\"basketba\",\"open\",\"hornet\",\"world\",\"linda\",\"barbie\",\"chan\",\"farmer\",\"valentin\",\"wetpussy\",\"indians\",\"larry\",\"redman\",\"foobar\",\"travel\",\"morpheus\",\"bernie\",\"target\",\"141414\",\"hotstuff\",\"photos\",\"laura\",\"savage\",\"holly\",\"rocky1\",\"fuck_inside\",\"dollar\",\"turbo\",\"design\",\"newton\",\"hottie\",\"moon\",\"202020\",\"blondes\",\"4128\",\"lestat\",\"avatar\",\"future\",\"goforit\",\"random\",\"abgrtyu\",\"jjjjjj\",\"cancer\",\"q1w2e3\",\"smiley\",\"goldberg\",\"express\",\"virgin\",\"zipper\",\"wrinkle1\",\"stone\",\"andy\",\"babylon\",\"dong\",\"powers\",\"consumer\",\"dudley\",\"monkey1\",\"serenity\",\"samurai\",\"99999999\",\"bigboobs\",\"skeeter\",\"lindsay\",\"joejoe\",\"master1\",\"aaaaa\",\"chocolat\",\"christia\",\"birthday\",\"stephani\",\"tang\",\"1234qwer\",\"alfred\",\"ball\",\"98765432\",\"maria\",\"sexual\",\"maxima\",\"77777777\",\"sampson\",\"buckeye\",\"highland\",\"kristin\",\"seminole\",\"reaper\",\"bassman\",\"nugget\",\"lucifer\",\"airforce\",\"nasty\",\"watson\",\"warlock\",\"2121\",\"philip\",\"always\",\"dodge\",\"chrissy\",\"burger\",\"bird\",\"snatch\",\"missy\",\"pink\",\"gang\",\"maddie\",\"holmes\",\"huskers\",\"piglet\",\"photo\",\"joanne\",\"hamilton\",\"dodger\",\"paladin\",\"christy\",\"chubby\",\"buckeyes\",\"hamlet\",\"abcdefgh\",\"bigfoot\",\"sunday\",\"manson\",\"goldfish\",\"garden\",\"deftones\",\"icecream\",\"blondie\",\"spartan\",\"julie\",\"harold\",\"charger\",\"brandi\",\"stormy\",\"sherry\",\"pleasure\",\"juventus\",\"rodney\",\"galaxy\",\"holland\",\"escort\",\"zxcvb\",\"planet\",\"jerome\",\"wesley\",\"blues\",\"song\",\"peace\",\"david1\",\"ncc1701e\",\"1966\",\"51505150\",\"cavalier\",\"gambit\",\"karen\",\"sidney\",\"ripper\",\"oicu812\",\"jamie\",\"sister\",\"marie\",\"martha\",\"nylons\",\"aardvark\",\"nadine\",\"minnie\",\"whiskey\",\"bing\",\"plastic\",\"anal\",\"babylon5\",\"chang\",\"savannah\",\"loser\",\"racecar\",\"insane\",\"yankees1\",\"mememe\",\"hansolo\",\"chiefs\",\"fredfred\",\"freak\",\"frog\",\"salmon\",\"concrete\",\"yvonne\",\"zxcv\",\"shamrock\",\"atlantis\",\"warren\",\"wordpass\",\"julian\",\"mariah\",\"rommel\",\"1010\",\"harris\",\"predator\",\"sylvia\",\"massive\",\"cats\",\"sammy1\",\"mister\",\"stud\",\"marathon\",\"rubber\",\"ding\",\"trunks\",\"desire\",\"montreal\",\"justme\",\"faster\",\"kathleen\",\"irish\",\"1999\",\"bertha\",\"jessica1\",\"alpine\",\"sammie\",\"diamonds\",\"tristan\",\"00000\",\"swinger\",\"shan\",\"stallion\",\"pitbull\",\"letmein2\",\"roberto\",\"ready\",\"april\",\"palmer\",\"ming\",\"shadow1\",\"audrey\",\"chong\",\"clitoris\",\"wang\",\"shirley\",\"fuckers\",\"jackoff\",\"bluesky\",\"sundance\",\"renegade\",\"hollywoo\",\"151515\",\"bernard\",\"wolfman\",\"soldier\",\"picture\",\"pierre\",\"ling\",\"goddess\",\"manager\",\"nikita\",\"sweety\",\"titans\",\"hang\",\"fang\",\"ficken\",\"niners\",\"bottom\",\"bubble\",\"hello123\",\"ibanez\",\"webster\",\"sweetpea\",\"stocking\",\"323232\",\"tornado\",\"lindsey\",\"content\",\"bruce\",\"buck\",\"aragorn\",\"griffin\",\"chen\",\"campbell\",\"trojan\",\"christop\",\"newman\",\"wayne\",\"tina\",\"rockstar\",\"father\",\"geronimo\",\"pascal\",\"crimson\",\"brooks\",\"hector\",\"penny\",\"anna\",\"google\",\"camera\",\"chandler\",\"fatcat\",\"lovelove\",\"cody\",\"cunts\",\"waters\",\"stimpy\",\"finger\",\"cindy\",\"wheels\",\"viper1\",\"latin\",\"robin\",\"greenday\",\"987654321\",\"creampie\",\"brendan\",\"hiphop\",\"willy\",\"snapper\",\"funtime\",\"duck\",\"trombone\",\"adult\",\"cotton\",\"cookies\",\"kaiser\",\"mulder\",\"westham\",\"latino\",\"jeep\",\"ravens\",\"aurora\",\"drizzt\",\"madness\",\"energy\",\"kinky\",\"314159\",\"sophia\",\"stefan\",\"slick\",\"rocker\",\"55555555\",\"freeman\",\"french\",\"mongoose\",\"speed\",\"dddddd\",\"hong\",\"henry\",\"hungry\",\"yang\",\"catdog\",\"cheng\",\"ghost\",\"gogogo\",\"randy\",\"tottenha\",\"curious\",\"butterfl\",\"mission\",\"january\",\"singer\",\"sherman\",\"shark\",\"techno\",\"lancer\",\"lalala\",\"autumn\",\"chichi\",\"orion\",\"trixie\",\"clifford\",\"delta\",\"bobbob\",\"bomber\",\"holden\",\"kang\",\"kiss\",\"1968\",\"spunky\",\"liquid\",\"mary\",\"beagle\",\"granny\",\"network\",\"bond\",\"kkkkkk\",\"millie\",\"1973\",\"biggie\",\"beetle\",\"teacher\",\"susan\",\"toronto\",\"anakin\",\"genius\",\"dream\",\"cocks\",\"dang\",\"bush\",\"karate\",\"snakes\",\"bangkok\",\"callie\",\"fuckyou2\",\"pacific\",\"daytona\",\"kelsey\",\"infantry\",\"skywalke\",\"foster\",\"felix\",\"sailing\",\"raistlin\",\"vanhalen\",\"huang\",\"herbert\",\"jacob\",\"blackie\",\"tarzan\",\"strider\",\"sherlock\",\"lang\",\"gong\",\"sang\",\"dietcoke\",\"ultimate\",\"tree\",\"shai\",\"sprite\",\"ting\",\"artist\",\"chai\",\"chao\",\"devil\",\"python\",\"ninja\",\"misty\",\"ytrewq\",\"sweetie\",\"superfly\",\"456789\",\"tian\",\"jing\",\"jesus1\",\"freedom1\",\"dian\",\"drpepper\",\"potter\",\"chou\",\"darren\",\"hobbit\",\"violet\",\"yong\",\"shen\",\"phillip\",\"maurice\",\"gloria\",\"nolimit\",\"mylove\",\"biscuit\",\"yahoo\",\"shasta\",\"sex4me\",\"smoker\",\"smile\",\"pebbles\",\"pics\",\"philly\",\"tong\",\"tintin\",\"lesbians\",\"marlin\",\"cactus\",\"frank1\",\"tttttt\",\"chun\",\"danni\",\"emerald\",\"showme\",\"pirates\",\"lian\",\"dogg\",\"colleen\",\"xiao\",\"xian\",\"tazman\",\"tanker\",\"patton\",\"toshiba\",\"richie\",\"alberto\",\"gotcha\",\"graham\",\"dillon\",\"rang\",\"emily\",\"keng\",\"jazz\",\"bigguy\",\"yuan\",\"woman\",\"tomtom\",\"marion\",\"greg\",\"chaos\",\"fossil\",\"flight\",\"racerx\",\"tuan\",\"creamy\",\"boss\",\"bobo\",\"musicman\",\"warcraft\",\"window\",\"blade\",\"shuang\",\"sheila\",\"shun\",\"lick\",\"jian\",\"microsoft\",\"rong\",\"allen\",\"feng\",\"getsome\",\"sally\",\"quality\",\"kennedy\",\"morrison\",\"1977\",\"beng\",\"wwwwww\",\"yoyoyo\",\"zhang\",\"seng\",\"teddy\",\"joanna\",\"andreas\",\"harder\",\"luke\",\"qazxsw\",\"qian\",\"cong\",\"chuan\",\"deng\",\"nang\",\"boeing\",\"keeper\",\"western\",\"isabelle\",\"1963\",\"subaru\",\"sheng\",\"thuglife\",\"teng\",\"jiong\",\"miao\",\"martina\",\"mang\",\"maniac\",\"pussie\",\"tracey\",\"a1b2c3\",\"clayton\",\"zhou\",\"zhuang\",\"xing\",\"stonecol\",\"snow\",\"spyder\",\"liang\",\"jiang\",\"memphis\",\"regina\",\"ceng\",\"magic1\",\"logitech\",\"chuang\",\"dark\",\"million\",\"blow\",\"sesame\",\"shao\",\"poison\",\"titty\",\"terry\",\"kuan\",\"kuai\",\"kyle\",\"mian\",\"guan\",\"hamster\",\"guai\",\"ferret\",\"florence\",\"geng\",\"duan\",\"pang\",\"maiden\",\"quan\",\"velvet\",\"nong\",\"neng\",\"nookie\",\"buttons\",\"bian\",\"bingo\",\"biao\",\"zhong\",\"zeng\",\"xiong\",\"zhun\",\"ying\",\"zong\",\"xuan\",\"zang\",\"0.0.000\",\"suan\",\"shei\",\"shui\",\"sharks\",\"shang\",\"shua\",\"small\",\"peng\",\"pian\",\"piao\",\"liao\",\"meng\",\"miami\",\"reng\",\"guang\",\"cang\",\"change\",\"ruan\",\"diao\",\"luan\",\"lucas\",\"qing\",\"chui\",\"chuo\",\"cuan\",\"nuan\",\"ning\",\"heng\",\"huan\",\"kansas\",\"muscle\",\"monroe\",\"weng\",\"whitney\",\"1passwor\",\"bluemoon\",\"zhui\",\"zhua\",\"xiang\",\"zheng\",\"zhen\",\"zhei\",\"zhao\",\"zhan\",\"yomama\",\"zhai\",\"zhuo\",\"zuan\",\"tarheel\",\"shou\",\"shuo\",\"tiao\",\"lady\",\"leonard\",\"leng\",\"kuang\",\"jiao\",\"13579\",\"basket\",\"qiao\",\"qiong\",\"qiang\",\"chuai\",\"nian\",\"niao\",\"niang\",\"huai\",\"22222222\",\"bianca\",\"zhuan\",\"zhuai\",\"shuan\",\"shuai\",\"stardust\",\"jumper\",\"margaret\",\"archie\",\"66666666\",\"charlott\",\"forget\",\"qwertz\",\"bones\",\"history\",\"milton\",\"waterloo\",\"2002\",\"stuff\",\"11223344\",\"office\",\"oldman\",\"preston\",\"trains\",\"murray\",\"vertigo\",\"246810\",\"black1\",\"swallow\",\"smiles\",\"standard\",\"alexandr\",\"parrot\",\"luther\",\"user\",\"nicolas\",\"1976\",\"surfing\",\"pioneer\",\"pete\",\"masters\",\"apple1\",\"asdasd\",\"auburn\",\"hannibal\",\"frontier\",\"panama\",\"lucy\",\"buffy\",\"brianna\",\"welcome1\",\"vette\",\"blue22\",\"shemale\",\"111222\",\"baggins\",\"groovy\",\"global\",\"turner\",\"181818\",\"1979\",\"blades\",\"spanking\",\"life\",\"byteme\",\"lobster\",\"collins\",\"dawg\",\"hilton\",\"japanese\",\"1970\",\"1964\",\"2424\",\"polo\",\"markus\",\"coco\",\"deedee\",\"mikey\",\"1972\",\"171717\",\"1701\",\"strip\",\"jersey\",\"green1\",\"capital\",\"sasha\",\"sadie\",\"putter\",\"vader\",\"seven7\",\"lester\",\"marcel\",\"banshee\",\"grendel\",\"gilbert\",\"dicks\",\"dead\",\"hidden\",\"iloveu\",\"1980\",\"sound\",\"ledzep\",\"michel\",\"147258\",\"female\",\"bugger\",\"buffett\",\"bryan\",\"hell\",\"kristina\",\"molson\",\"2020\",\"wookie\",\"sprint\",\"thanks\",\"jericho\",\"102030\",\"grace\",\"fuckin\",\"mandy\",\"ranger1\",\"trebor\",\"deepthroat\",\"bonehead\",\"molly1\",\"mirage\",\"models\",\"1984\",\"2468\",\"stuart\",\"showtime\",\"squirrel\",\"pentium\",\"mario\",\"anime\",\"gator\",\"powder\",\"twister\",\"connect\",\"neptune\",\"bruno\",\"butts\",\"engine\",\"eatshit\",\"mustangs\",\"woody1\",\"shogun\",\"septembe\",\"pooh\",\"jimbo\",\"roger\",\"annie\",\"bacon\",\"center\",\"russian\",\"sabine\",\"damien\",\"mollie\",\"voyeur\",\"2525\",\"363636\",\"leonardo\",\"camel\",\"chair\",\"germany\",\"giant\",\"qqqq\",\"nudist\",\"bone\",\"sleepy\",\"tequila\",\"megan\",\"fighter\",\"garrett\",\"dominic\",\"obiwan\",\"makaveli\",\"vacation\",\"walnut\",\"1974\",\"ladybug\",\"cantona\",\"ccbill\",\"satan\",\"rusty1\",\"passwor1\",\"columbia\",\"napoleon\",\"dusty\",\"kissme\",\"motorola\",\"william1\",\"1967\",\"zzzz\",\"skater\",\"smut\",\"play\",\"matthew1\",\"robinson\",\"valley\",\"coolio\",\"dagger\",\"boner\",\"bull\",\"horndog\",\"jason1\",\"blake\",\"penguins\",\"rescue\",\"griffey\",\"8j4ye3uz\",\"californ\",\"champs\",\"qwertyuiop\",\"portland\",\"queen\",\"colt45\",\"boat\",\"xxxxxxx\",\"xanadu\",\"tacoma\",\"mason\",\"carpet\",\"gggggg\",\"safety\",\"palace\",\"italia\",\"stevie\",\"picturs\",\"picasso\",\"thongs\",\"tempest\",\"ricardo\",\"roberts\",\"asd123\",\"hairy\",\"foxtrot\",\"gary\",\"nimrod\",\"hotboy\",\"343434\",\"1111111\",\"asdfghjkl\",\"goose\",\"overlord\",\"blood\",\"wood\",\"stranger\",\"454545\",\"shaolin\",\"sooners\",\"socrates\",\"spiderman\",\"peanuts\",\"maxine\",\"rogers\",\"13131313\",\"andrew1\",\"filthy\",\"donnie\",\"ohyeah\",\"africa\",\"national\",\"kenny\",\"keith\",\"monique\",\"intrepid\",\"jasmin\",\"pickles\",\"assass\",\"fright\",\"potato\",\"darwin\",\"hhhhhh\",\"kingdom\",\"weezer\",\"424242\",\"pepsi1\",\"throat\",\"romeo\",\"gerard\",\"looker\",\"puppy\",\"butch\",\"monika\",\"suzanne\",\"sweets\",\"temple\",\"laurie\",\"josh\",\"megadeth\",\"analsex\",\"nymets\",\"ddddddd\",\"bigballs\",\"support\",\"stick\",\"today\",\"down\",\"oakland\",\"oooooo\",\"qweasd\",\"chucky\",\"bridge\",\"carrot\",\"chargers\",\"discover\",\"dookie\",\"condor\",\"night\",\"butler\",\"hoover\",\"horny1\",\"isabella\",\"sunrise\",\"sinner\",\"jojo\",\"megapass\",\"martini\",\"assfuck\",\"grateful\",\"ffffff\",\"abigail\",\"esther\",\"mushroom\",\"janice\",\"jamaica\",\"wright\",\"sims\",\"space\",\"there\",\"timmy\",\"7654321\",\"77777\",\"cccccc\",\"gizmodo\",\"roxanne\",\"ralph\",\"tractor\",\"cristina\",\"dance\",\"mypass\",\"hongkong\",\"helena\",\"1975\",\"blue123\",\"pissing\",\"thomas1\",\"redred\",\"rich\",\"basketball\",\"attack\",\"cash\",\"satan666\",\"drunk\",\"dixie\",\"dublin\",\"bollox\",\"kingkong\",\"katrina\",\"miles\",\"1971\",\"22222\",\"272727\",\"sexx\",\"penelope\",\"thompson\",\"anything\",\"bbbb\",\"battle\",\"grizzly\",\"passat\",\"porter\",\"tracy\",\"defiant\",\"bowler\",\"knickers\",\"monitor\",\"wisdom\",\"wild\",\"slappy\",\"thor\",\"letsgo\",\"robert1\",\"feet\",\"rush\",\"brownie\",\"hudson\",\"098765\",\"playing\",\"playtime\",\"lightnin\",\"melvin\",\"atomic\",\"bart\",\"hawk\",\"goku\",\"glory\",\"llllll\",\"qwaszx\",\"cosmos\",\"bosco\",\"knights\",\"bentley\",\"beast\",\"slapshot\",\"lewis\",\"assword\",\"frosty\",\"gillian\",\"sara\",\"dumbass\",\"mallard\",\"dddd\",\"deanna\",\"elwood\",\"wally\",\"159357\",\"titleist\",\"angelo\",\"aussie\",\"guest\",\"golfing\",\"doobie\",\"loveit\",\"chloe\",\"elliott\",\"werewolf\",\"vipers\",\"janine\",\"1965\",\"blabla\",\"surf\",\"sucking\",\"tardis\",\"serena\",\"shelley\",\"thegame\",\"legion\",\"rebels\",\"fernando\",\"fast\",\"gerald\",\"sarah1\",\"double\",\"onelove\",\"loulou\",\"toto\",\"crash\",\"blackcat\",\"0007\",\"tacobell\",\"soccer1\",\"jedi\",\"manuel\",\"method\",\"river\",\"chase\",\"ludwig\",\"poopie\",\"derrick\",\"boob\",\"breast\",\"kittycat\",\"isabel\",\"belly\",\"pikachu\",\"thunder1\",\"thankyou\",\"jose\",\"celeste\",\"celtics\",\"frances\",\"frogger\",\"scoobydo\",\"sabbath\",\"coltrane\",\"budman\",\"willis\",\"jackal\",\"bigger\",\"zzzzz\",\"silvia\",\"sooner\",\"licking\",\"gopher\",\"geheim\",\"lonestar\",\"primus\",\"pooper\",\"newpass\",\"brasil\",\"heather1\",\"husker\",\"element\",\"moomoo\",\"beefcake\",\"zzzzzzzz\",\"tammy\",\"shitty\",\"smokin\",\"personal\",\"jjjj\",\"anthony1\",\"anubis\",\"backup\",\"gorilla\",\"fuckface\",\"painter\",\"lowrider\",\"punkrock\",\"traffic\",\"claude\",\"daniela\",\"dale\",\"delta1\",\"nancy\",\"boys\",\"easy\",\"kissing\",\"kelley\",\"wendy\",\"theresa\",\"amazon\",\"alan\",\"fatass\",\"dodgeram\",\"dingdong\",\"malcolm\",\"qqqqqqqq\",\"breasts\",\"boots\",\"honda1\",\"spidey\",\"poker\",\"temp\",\"johnjohn\",\"miguel\",\"147852\",\"archer\",\"asshole1\",\"dogdog\",\"tricky\",\"crusader\",\"weather\",\"syracuse\",\"spankme\",\"speaker\",\"meridian\",\"amadeus\",\"back\",\"harley1\",\"falcons\",\"dorothy\",\"turkey50\",\"kenwood\",\"keyboard\",\"ilovesex\",\"1978\",\"blackman\",\"shazam\",\"shalom\",\"lickit\",\"jimbob\",\"richmond\",\"roller\",\"carson\",\"check\",\"fatman\",\"funny\",\"garbage\",\"sandiego\",\"loving\",\"magnus\",\"cooldude\",\"clover\",\"mobile\",\"bell\",\"payton\",\"plumber\",\"texas1\",\"tool\",\"topper\",\"jenna\",\"mariners\",\"rebel\",\"harmony\",\"caliente\",\"celica\",\"fletcher\",\"german\",\"diana\",\"oxford\",\"osiris\",\"orgasm\",\"punkin\",\"porsche9\",\"tuesday\",\"close\",\"breeze\",\"bossman\",\"kangaroo\",\"billie\",\"latinas\",\"judith\",\"astros\",\"scruffy\",\"donna\",\"qwertyu\",\"davis\",\"hearts\",\"kathy\",\"jammer\",\"java\",\"springer\",\"rhonda\",\"ricky\",\"1122\",\"goodtime\",\"chelsea1\",\"freckles\",\"flyboy\",\"doodle\",\"city\",\"nebraska\",\"bootie\",\"kicker\",\"webmaster\",\"vulcan\",\"iverson\",\"191919\",\"blueeyes\",\"stoner\",\"321321\",\"farside\",\"rugby\",\"director\",\"pussy69\",\"power1\",\"bobbie\",\"hershey\",\"hermes\",\"monopoly\",\"west\",\"birdman\",\"blessed\",\"blackjac\",\"southern\",\"peterpan\",\"thumbs\",\"lawyer\",\"melinda\",\"fingers\",\"fuckyou1\",\"rrrrrr\",\"a1b2c3d4\",\"coke\",\"nicola\",\"bohica\",\"heart\",\"elvis1\",\"kids\",\"blacky\",\"stories\",\"sentinel\",\"snake1\",\"phoebe\",\"jesse\",\"richard1\",\"1234abcd\",\"guardian\",\"candyman\",\"fisting\",\"scarlet\",\"dildo\",\"pancho\",\"mandingo\",\"lucky7\",\"condom\",\"munchkin\",\"billyboy\",\"summer1\",\"student\",\"sword\",\"skiing\",\"sergio\",\"site\",\"sony\",\"thong\",\"rootbeer\",\"assassin\",\"cassidy\",\"frederic\",\"fffff\",\"fitness\",\"giovanni\",\"scarlett\",\"durango\",\"postal\",\"achilles\",\"dawn\",\"dylan\",\"kisses\",\"warriors\",\"imagine\",\"plymouth\",\"topdog\",\"asterix\",\"hallo\",\"cameltoe\",\"fuckfuck\",\"bridget\",\"eeeeee\",\"mouth\",\"weird\",\"will\",\"sithlord\",\"sommer\",\"toby\",\"theking\",\"juliet\",\"avenger\",\"backdoor\",\"goodbye\",\"chevrole\",\"faith\",\"lorraine\",\"trance\",\"cosworth\",\"brad\",\"houses\",\"homers\",\"eternity\",\"kingpin\",\"verbatim\",\"incubus\",\"1961\",\"blond\",\"zaphod\",\"shiloh\",\"spurs\",\"station\",\"jennie\",\"maynard\",\"mighty\",\"aliens\",\"hank\",\"charly\",\"running\",\"dogman\",\"omega1\",\"printer\",\"aggies\",\"chocolate\",\"deadhead\",\"hope\",\"javier\",\"bitch1\",\"stone55\",\"pineappl\",\"thekid\",\"lizzie\",\"rockets\",\"ashton\",\"camels\",\"formula\",\"forrest\",\"rosemary\",\"oracle\",\"rain\",\"pussey\",\"porkchop\",\"abcde\",\"clancy\",\"nellie\",\"mystic\",\"inferno\",\"blackdog\",\"steve1\",\"pauline\",\"alexander\",\"alice\",\"alfa\",\"grumpy\",\"flames\",\"scream\",\"lonely\",\"puffy\",\"proxy\",\"valhalla\",\"unreal\",\"cynthia\",\"herbie\",\"engage\",\"yyyyyy\",\"010101\",\"solomon\",\"pistol\",\"melody\",\"celeb\",\"flying\",\"gggg\",\"santiago\",\"scottie\",\"oakley\",\"portugal\",\"a12345\",\"newbie\",\"mmmm\",\"venus\",\"1qazxsw2\",\"beverly\",\"zorro\",\"work\",\"writer\",\"stripper\",\"sebastia\",\"spread\",\"phil\",\"tobias\",\"links\",\"members\",\"metal\",\"1221\",\"andre\",\"565656\",\"funfun\",\"trojans\",\"again\",\"cyber\",\"hurrican\",\"moneys\",\"1x2zkg8w\",\"zeus\",\"thing\",\"tomato\",\"lion\",\"atlantic\",\"celine\",\"usa123\",\"trans\",\"account\",\"aaaaaaa\",\"homerun\",\"hyperion\",\"kevin1\",\"blacks\",\"44444444\",\"skittles\",\"sean\",\"hastings\",\"fart\",\"gangbang\",\"fubar\",\"sailboat\",\"older\",\"oilers\",\"craig\",\"conrad\",\"church\",\"damian\",\"dean\",\"broken\",\"buster1\",\"hithere\",\"immortal\",\"sticks\",\"pilot\",\"peters\",\"lexmark\",\"jerkoff\",\"maryland\",\"anders\",\"cheers\",\"possum\",\"columbus\",\"cutter\",\"muppet\",\"beautiful\",\"stolen\",\"swordfish\",\"sport\",\"sonic\",\"peter1\",\"jethro\",\"rockon\",\"asdfghj\",\"pass123\",\"paper\",\"pornos\",\"ncc1701a\",\"bootys\",\"buttman\",\"bonjour\",\"escape\",\"1960\",\"becky\",\"bears\",\"362436\",\"spartans\",\"tinman\",\"threesom\",\"lemons\",\"maxmax\",\"1414\",\"bbbbb\",\"camelot\",\"chad\",\"chewie\",\"gogo\",\"fusion\",\"saint\",\"dilligaf\",\"nopass\",\"myself\",\"hustler\",\"hunter1\",\"whitey\",\"beast1\",\"yesyes\",\"spank\",\"smudge\",\"pinkfloy\",\"patriot\",\"lespaul\",\"annette\",\"hammers\",\"catalina\",\"finish\",\"formula1\",\"sausage\",\"scooter1\",\"orioles\",\"oscar1\",\"over\",\"colombia\",\"cramps\",\"natural\",\"eating\",\"exotic\",\"iguana\",\"bella\",\"suckers\",\"strong\",\"sheena\",\"start\",\"slave\",\"pearl\",\"topcat\",\"lancelot\",\"angelica\",\"magelan\",\"racer\",\"ramona\",\"crunch\",\"british\",\"button\",\"eileen\",\"steph\",\"456123\",\"skinny\",\"seeking\",\"rockhard\",\"chief\",\"filter\",\"first\",\"freaks\",\"sakura\",\"pacman\",\"poontang\",\"dalton\",\"newlife\",\"homer1\",\"klingon\",\"watcher\",\"walleye\",\"tasha\",\"tasty\",\"sinatra\",\"starship\",\"steel\",\"starbuck\",\"poncho\",\"amber1\",\"gonzo\",\"grover\",\"catherin\",\"carol\",\"candle\",\"firefly\",\"goblin\",\"scotch\",\"diver\",\"usmc\",\"huskies\",\"eleven\",\"kentucky\",\"kitkat\",\"israel\",\"beckham\",\"bicycle\",\"yourmom\",\"studio\",\"tara\",\"33333333\",\"shane\",\"splash\",\"jimmy1\",\"reality\",\"12344321\",\"caitlin\",\"focus\",\"sapphire\",\"mailman\",\"raiders1\",\"clark\",\"ddddd\",\"hopper\",\"excalibu\",\"more\",\"wilbur\",\"illini\",\"imperial\",\"phillips\",\"lansing\",\"maxx\",\"gothic\",\"golfball\",\"carlton\",\"camille\",\"facial\",\"front242\",\"macdaddy\",\"qwer1234\",\"vectra\",\"cowboys1\",\"crazy1\",\"dannyboy\",\"jane\",\"betty\",\"benny\",\"bennett\",\"leader\",\"martinez\",\"aquarius\",\"barkley\",\"hayden\",\"caught\",\"franky\",\"ffff\",\"floyd\",\"sassy\",\"pppp\",\"pppppppp\",\"prodigy\",\"clarence\",\"noodle\",\"eatpussy\",\"vortex\",\"wanking\",\"beatrice\",\"billy1\",\"siemens\",\"pedro\",\"phillies\",\"research\",\"groups\",\"carolyn\",\"chevy1\",\"cccc\",\"fritz\",\"gggggggg\",\"doughboy\",\"dracula\",\"nurses\",\"loco\",\"madrid\",\"lollipop\",\"trout\",\"utopia\",\"chrono\",\"cooler\",\"conner\",\"nevada\",\"wibble\",\"werner\",\"summit\",\"marco\",\"marilyn\",\"1225\",\"babies\",\"capone\",\"fugazi\",\"panda\",\"mama\",\"qazwsxed\",\"puppies\",\"triton\",\"9876\",\"command\",\"nnnnnn\",\"ernest\",\"momoney\",\"iforgot\",\"wolfie\",\"studly\",\"shawn\",\"renee\",\"alien\",\"hamburg\",\"81fukkc\",\"741852\",\"catman\",\"china\",\"forgot\",\"gagging\",\"scott1\",\"drew\",\"oregon\",\"qweqwe\",\"train\",\"crazybab\",\"daniel1\",\"cutlass\",\"brothers\",\"holes\",\"heidi\",\"mothers\",\"music1\",\"what\",\"walrus\",\"1957\",\"bigtime\",\"bike\",\"xtreme\",\"simba\",\"ssss\",\"rookie\",\"angie\",\"bathing\",\"fresh\",\"sanchez\",\"rotten\",\"maestro\",\"luis\",\"look\",\"turbo1\",\"99999\",\"butthole\",\"hhhh\",\"elijah\",\"monty\",\"bender\",\"yoda\",\"shania\",\"shock\",\"phish\",\"thecat\",\"rightnow\",\"reagan\",\"baddog\",\"asia\",\"greatone\",\"gateway1\",\"randall\",\"abstr\",\"napster\",\"brian1\",\"bogart\",\"high\",\"hitler\",\"emma\",\"kill\",\"weaver\",\"wildfire\",\"jackson1\",\"isaiah\",\"1981\",\"belinda\",\"beaner\",\"yoyo\",\"0.0.0.000\",\"super1\",\"select\",\"snuggles\",\"slutty\",\"some\",\"phoenix1\",\"technics\",\"toon\",\"raven1\",\"rayray\",\"123789\",\"1066\",\"albion\",\"greens\",\"fashion\",\"gesperrt\",\"santana\",\"paint\",\"powell\",\"credit\",\"darling\",\"mystery\",\"bowser\",\"bottle\",\"brucelee\",\"hehehe\",\"kelly1\",\"mojo\",\"1998\",\"bikini\",\"woofwoof\",\"yyyy\",\"strap\",\"sites\",\"spears\",\"theodore\",\"julius\",\"richards\",\"amelia\",\"central\",\"f**k\",\"nyjets\",\"punisher\",\"username\",\"vanilla\",\"twisted\",\"bryant\",\"brent\",\"bunghole\",\"here\",\"elizabeth\",\"erica\",\"kimber\",\"viagra\",\"veritas\",\"pony\",\"pool\",\"titts\",\"labtec\",\"lifetime\",\"jenny1\",\"masterbate\",\"mayhem\",\"redbull\",\"govols\",\"gremlin\",\"505050\",\"gmoney\",\"rupert\",\"rovers\",\"diamond1\",\"lorenzo\",\"trident\",\"abnormal\",\"davidson\",\"deskjet\",\"cuddles\",\"nice\",\"bristol\",\"karina\",\"milano\",\"vh5150\",\"jarhead\",\"1982\",\"bigbird\",\"bizkit\",\"sixers\",\"slider\",\"star69\",\"starfish\",\"penetration\",\"tommy1\",\"john316\",\"meghan\",\"michaela\",\"market\",\"grant\",\"caligula\",\"carl\",\"flicks\",\"films\",\"madden\",\"railroad\",\"cosmo\",\"cthulhu\",\"bradford\",\"br0d3r\",\"military\",\"bearbear\",\"swedish\",\"spawn\",\"patrick1\",\"polly\",\"these\",\"todd\",\"reds\",\"anarchy\",\"groove\",\"franco\",\"fuckher\",\"oooo\",\"tyrone\",\"vegas\",\"airbus\",\"cobra1\",\"christine\",\"clips\",\"delete\",\"duster\",\"kitty1\",\"mouse1\",\"monkeys\",\"jazzman\",\"1919\",\"262626\",\"swinging\",\"stroke\",\"stocks\",\"sting\",\"pippen\",\"labrador\",\"jordan1\",\"justdoit\",\"meatball\",\"females\",\"saturday\",\"park\",\"vector\",\"cooter\",\"defender\",\"desert\",\"demon\",\"nike\",\"bubbas\",\"bonkers\",\"english\",\"kahuna\",\"wildman\",\"4121\",\"sirius\",\"static\",\"piercing\",\"terror\",\"teenage\",\"leelee\",\"marissa\",\"microsof\",\"mechanic\",\"robotech\",\"rated\",\"hailey\",\"chaser\",\"sanders\",\"salsero\",\"nuts\",\"macross\",\"quantum\",\"rachael\",\"tsunami\",\"universe\",\"daddy1\",\"cruise\",\"nguyen\",\"newpass6\",\"nudes\",\"hellyeah\",\"vernon\",\"1959\",\"zaq12wsx\",\"striker\",\"sixty\",\"steele\",\"spice\",\"spectrum\",\"smegma\",\"thumb\",\"jjjjjjjj\",\"mellow\",\"astrid\",\"cancun\",\"cartoon\",\"sabres\",\"samiam\",\"pants\",\"oranges\",\"oklahoma\",\"lust\",\"coleman\",\"denali\",\"nude\",\"noodles\",\"buzz\",\"brest\",\"hooter\",\"mmmmmmmm\",\"warthog\",\"bloody\",\"blueblue\",\"zappa\",\"wolverine\",\"sniffing\",\"lance\",\"jean\",\"jjjjj\",\"harper\",\"calico\",\"freee\",\"rover\",\"door\",\"pooter\",\"closeup\",\"bonsai\",\"evelyn\",\"emily1\",\"kathryn\",\"keystone\",\"iiii\",\"1955\",\"yzerman\",\"theboss\",\"tolkien\",\"jill\",\"megaman\",\"rasta\",\"bbbbbbbb\",\"bean\",\"handsome\",\"hal9000\",\"goofy\",\"gringo\",\"gofish\",\"gizmo1\",\"samsam\",\"scuba\",\"onlyme\",\"tttttttt\",\"corrado\",\"clown\",\"clapton\",\"deborah\",\"boris\",\"bulls\",\"vivian\",\"jayhawk\",\"bethany\",\"wwww\",\"sharky\",\"seeker\",\"ssssssss\",\"somethin\",\"pillow\",\"thesims\",\"lighter\",\"lkjhgf\",\"melissa1\",\"marcius2\",\"barry\",\"guiness\",\"gymnast\",\"casey1\",\"goalie\",\"godsmack\",\"doug\",\"lolo\",\"rangers1\",\"poppy\",\"abby\",\"clemson\",\"clipper\",\"deeznuts\",\"nobody\",\"holly1\",\"elliot\",\"eeee\",\"kingston\",\"miriam\",\"belle\",\"yosemite\",\"sucked\",\"sex123\",\"sexy69\",\"pic\\\\'s\",\"tommyboy\",\"lamont\",\"meat\",\"masterbating\",\"marianne\",\"marc\",\"gretzky\",\"happyday\",\"frisco\",\"scratch\",\"orchid\",\"orange1\",\"manchest\",\"quincy\",\"unbelievable\",\"aberdeen\",\"dawson\",\"nathalie\",\"ne1469\",\"boxing\",\"hill\",\"korn\",\"intercourse\",\"161616\",\"1985\",\"ziggy\",\"supersta\",\"stoney\",\"senior\",\"amature\",\"barber\",\"babyboy\",\"bcfields\",\"goliath\",\"hack\",\"hardrock\",\"children\",\"frodo\",\"scout\",\"scrappy\",\"rosie\",\"qazqaz\",\"tracker\",\"active\",\"craving\",\"commando\",\"cohiba\",\"deep\",\"cyclone\",\"dana\",\"bubba69\",\"katie1\",\"mpegs\",\"vsegda\",\"jade\",\"irish1\",\"better\",\"sexy1\",\"sinclair\",\"smelly\",\"squerting\",\"lions\",\"jokers\",\"jeanette\",\"julia\",\"jojojo\",\"meathead\",\"ashley1\",\"groucho\",\"cheetah\",\"champ\",\"firefox\",\"gandalf1\",\"packer\",\"magnolia\",\"love69\",\"tyler1\",\"typhoon\",\"tundra\",\"bobby1\",\"kenworth\",\"village\",\"volley\",\"beth\",\"wolf359\",\"0420\",\"000007\",\"swimmer\",\"skydive\",\"smokes\",\"patty\",\"peugeot\",\"pompey\",\"legolas\",\"kristy\",\"redhot\",\"rodman\",\"redalert\",\"having\",\"grapes\",\"4runner\",\"carrera\",\"floppy\",\"dollars\",\"ou8122\",\"quattro\",\"adams\",\"cloud9\",\"davids\",\"nofear\",\"busty\",\"homemade\",\"mmmmm\",\"whisper\",\"vermont\",\"webmaste\",\"wives\",\"insertion\",\"jayjay\",\"philips\",\"phone\",\"topher\",\"tongue\",\"temptress\",\"midget\",\"ripken\",\"havefun\",\"gretchen\",\"canon\",\"celebrity\",\"five\",\"getting\",\"ghetto\",\"direct\",\"otto\",\"ragnarok\",\"trinidad\",\"usnavy\",\"conover\",\"cruiser\",\"dalshe\",\"nicole1\",\"buzzard\",\"hottest\",\"kingfish\",\"misfit\",\"moore\",\"milfnew\",\"warlord\",\"wassup\",\"bigsexy\",\"blackhaw\",\"zippy\",\"shearer\",\"tights\",\"thursday\",\"kungfu\",\"labia\",\"journey\",\"meatloaf\",\"marlene\",\"rider\",\"area51\",\"batman1\",\"bananas\",\"636363\",\"cancel\",\"ggggg\",\"paradox\",\"mack\",\"lynn\",\"queens\",\"adults\",\"aikido\",\"cigars\",\"nova\",\"hoosier\",\"eeyore\",\"moose1\",\"warez\",\"interacial\",\"streaming\",\"313131\",\"pertinant\",\"pool6123\",\"mayday\",\"rivers\",\"revenge\",\"animated\",\"banker\",\"baddest\",\"gordon24\",\"ccccc\",\"fortune\",\"fantasies\",\"touching\",\"aisan\",\"deadman\",\"homepage\",\"ejaculation\",\"whocares\",\"iscool\",\"jamesbon\",\"1956\",\"1pussy\",\"womam\",\"sweden\",\"skidoo\",\"spock\",\"sssss\",\"petra\",\"pepper1\",\"pinhead\",\"micron\",\"allsop\",\"amsterda\",\"army\",\"aside\",\"gunnar\",\"666999\",\"chip\",\"foot\",\"fowler\",\"february\",\"face\",\"fletch\",\"george1\",\"sapper\",\"science\",\"sasha1\",\"luckydog\",\"lover1\",\"magick\",\"popopo\",\"public\",\"ultima\",\"derek\",\"cypress\",\"booker\",\"businessbabe\",\"brandon1\",\"edwards\",\"experience\",\"vulva\",\"vvvv\",\"jabroni\",\"bigbear\",\"yummy\",\"010203\",\"searay\",\"secret1\",\"showing\",\"sinbad\",\"sexxxx\",\"soleil\",\"software\",\"piccolo\",\"thirteen\",\"leopard\",\"legacy\",\"jensen\",\"justine\",\"memorex\",\"marisa\",\"mathew\",\"redwing\",\"rasputin\",\"134679\",\"anfield\",\"greenbay\",\"gore\",\"catcat\",\"feather\",\"scanner\",\"pa55word\",\"contortionist\",\"danzig\",\"daisy1\",\"hores\",\"erik\",\"exodus\",\"vinnie\",\"iiiiii\",\"zero\",\"1001\",\"subway\",\"tank\",\"second\",\"snapple\",\"sneakers\",\"sonyfuck\",\"picks\",\"poodle\",\"test1234\",\"their\",\"llll\",\"junebug\",\"june\",\"marker\",\"mellon\",\"ronaldo\",\"roadkill\",\"amanda1\",\"asdfjkl\",\"beaches\",\"greene\",\"great1\",\"cheerleaers\",\"force\",\"doitnow\",\"ozzy\",\"madeline\",\"radio\",\"tyson\",\"christian\",\"daphne\",\"boxster\",\"brighton\",\"housewifes\",\"emmanuel\",\"emerson\",\"kkkk\",\"mnbvcx\",\"moocow\",\"vides\",\"wagner\",\"janet\",\"1717\",\"bigmoney\",\"blonds\",\"1000\",\"storys\",\"stereo\",\"4545\",\"420247\",\"seductive\",\"sexygirl\",\"lesbean\",\"live\",\"justin1\",\"124578\",\"animals\",\"balance\",\"hansen\",\"cabbage\",\"canadian\",\"gangbanged\",\"dodge1\",\"dimas\",\"lori\",\"loud\",\"malaka\",\"puss\",\"probes\",\"adriana\",\"coolman\",\"crawford\",\"dante\",\"nacked\",\"hotpussy\",\"erotica\",\"kool\",\"mirror\",\"wearing\",\"implants\",\"intruder\",\"bigass\",\"zenith\",\"woohoo\",\"womans\",\"tanya\",\"tango\",\"stacy\",\"pisces\",\"laguna\",\"krystal\",\"maxell\",\"andyod22\",\"barcelon\",\"chainsaw\",\"chickens\",\"flash1\",\"downtown\",\"orgasms\",\"magicman\",\"profit\",\"pusyy\",\"pothead\",\"coconut\",\"chuckie\",\"contact\",\"clevelan\",\"designer\",\"builder\",\"budweise\",\"hotshot\",\"horizon\",\"hole\",\"experienced\",\"mondeo\",\"wifes\",\"1962\",\"strange\",\"stumpy\",\"smiths\",\"sparks\",\"slacker\",\"piper\",\"pitchers\",\"passwords\",\"laptop\",\"jeremiah\",\"allmine\",\"alliance\",\"bbbbbbb\",\"asscock\",\"halflife\",\"grandma\",\"hayley\",\"88888\",\"cecilia\",\"chacha\",\"saratoga\",\"sandy1\",\"santos\",\"doogie\",\"number\",\"positive\",\"qwert40\",\"transexual\",\"crow\",\"close-up\",\"darrell\",\"bonita\",\"ib6ub9\",\"volvo\",\"jacob1\",\"iiiii\",\"beastie\",\"sunnyday\",\"stoned\",\"sonics\",\"starfire\",\"snapon\",\"pictuers\",\"pepe\",\"testing1\",\"tiberius\",\"lisalisa\",\"lesbain\",\"litle\",\"retard\",\"ripple\",\"austin1\",\"badgirl\",\"golfgolf\",\"flounder\",\"garage\",\"royals\",\"dragoon\",\"dickie\",\"passwor\",\"ocean\",\"majestic\",\"poppop\",\"trailers\",\"dammit\",\"nokia\",\"bobobo\",\"br549\",\"emmitt\",\"knock\",\"minime\",\"mikemike\",\"whitesox\",\"1954\",\"3232\",\"353535\",\"seamus\",\"solo\",\"sparkle\",\"sluttey\",\"pictere\",\"titten\",\"lback\",\"1024\",\"angelina\",\"goodluck\",\"charlton\",\"fingerig\",\"gallaries\",\"goat\",\"ruby\",\"passme\",\"oasis\",\"lockerroom\",\"logan1\",\"rainman\",\"twins\",\"treasure\",\"absolutely\",\"club\",\"custom\",\"cyclops\",\"nipper\",\"bucket\",\"homepage-\",\"hhhhh\",\"momsuck\",\"indain\",\"2345\",\"beerbeer\",\"bimmer\",\"susanne\",\"stunner\",\"stevens\",\"456456\",\"shell\",\"sheba\",\"tootsie\",\"tiny\",\"testerer\",\"reefer\",\"really\",\"1012\",\"harcore\",\"gollum\",\"545454\",\"chico\",\"caveman\",\"carole\",\"fordf150\",\"fishes\",\"gaymen\",\"saleen\",\"doodoo\",\"pa55w0rd\",\"looney\",\"presto\",\"qqqqq\",\"cigar\",\"bogey\",\"brewer\",\"helloo\",\"dutch\",\"kamikaze\",\"monte\",\"wasser\",\"vietnam\",\"visa\",\"japanees\",\"0123\",\"swords\",\"slapper\",\"peach\",\"jump\",\"marvel\",\"masterbaiting\",\"march\",\"redwood\",\"rolling\",\"1005\",\"ametuer\",\"chiks\",\"cathy\",\"callaway\",\"fucing\",\"sadie1\",\"panasoni\",\"mamas\",\"race\",\"rambo\",\"unknown\",\"absolut\",\"deacon\",\"dallas1\",\"housewife\",\"kristi\",\"keywest\",\"kirsten\",\"kipper\",\"morning\",\"wings\",\"idiot\",\"18436572\",\"1515\",\"beating\",\"zxczxc\",\"sullivan\",\"303030\",\"shaman\",\"sparrow\",\"terrapin\",\"jeffery\",\"masturbation\",\"mick\",\"redfish\",\"1492\",\"angus\",\"barrett\",\"goirish\",\"hardcock\",\"felicia\",\"forfun\",\"galary\",\"freeporn\",\"duchess\",\"olivier\",\"lotus\",\"pornographic\",\"ramses\",\"purdue\",\"traveler\",\"crave\",\"brando\",\"enter1\",\"killme\",\"moneyman\",\"welder\",\"windsor\",\"wifey\",\"indon\",\"yyyyy\",\"stretch\",\"taylor1\",\"4417\",\"shopping\",\"picher\",\"pickup\",\"thumbnils\",\"johnboy\",\"jets\",\"jess\",\"maureen\",\"anne\",\"ameteur\",\"amateurs\",\"apollo13\",\"hambone\",\"goldwing\",\"5050\",\"charley\",\"sally1\",\"doghouse\",\"padres\",\"pounding\",\"quest\",\"truelove\",\"underdog\",\"trader\",\"crack\",\"climber\",\"bolitas\",\"bravo\",\"hohoho\",\"model\",\"italian\",\"beanie\",\"beretta\",\"wrestlin\",\"stroker\",\"tabitha\",\"sherwood\",\"sexyman\",\"jewels\",\"johannes\",\"mets\",\"marcos\",\"rhino\",\"bdsm\",\"balloons\",\"goodman\",\"grils\",\"happy123\",\"flamingo\",\"games\",\"route66\",\"devo\",\"dino\",\"outkast\",\"paintbal\",\"magpie\",\"llllllll\",\"twilight\",\"critter\",\"christie\",\"cupcake\",\"nickel\",\"bullseye\",\"krista\",\"knickerless\",\"mimi\",\"murder\",\"videoes\",\"binladen\",\"xerxes\",\"slim\",\"slinky\",\"pinky\",\"peterson\",\"thanatos\",\"meister\",\"menace\",\"ripley\",\"retired\",\"albatros\",\"balloon\",\"bank\",\"goten\",\"5551212\",\"getsdown\",\"donuts\",\"divorce\",\"nwo4life\",\"lord\",\"lost\",\"underwear\",\"tttt\",\"comet\",\"deer\",\"damnit\",\"dddddddd\",\"deeznutz\",\"nasty1\",\"nonono\",\"nina\",\"enterprise\",\"eeeee\",\"misfit99\",\"milkman\",\"vvvvvv\",\"isaac\",\"1818\",\"blueboy\",\"beans\",\"bigbutt\",\"wyatt\",\"tech\",\"solution\",\"poetry\",\"toolman\",\"laurel\",\"juggalo\",\"jetski\",\"meredith\",\"barefoot\",\"50spanks\",\"gobears\",\"scandinavian\",\"original\",\"truman\",\"cubbies\",\"nitram\",\"briana\",\"ebony\",\"kings\",\"warner\",\"bilbo\",\"yumyum\",\"zzzzzzz\",\"stylus\",\"321654\",\"shannon1\",\"server\",\"secure\",\"silly\",\"squash\",\"starman\",\"steeler\",\"staples\",\"phrases\",\"techniques\",\"laser\",\"135790\",\"allan\",\"barker\",\"athens\",\"cbr600\",\"chemical\",\"fester\",\"gangsta\",\"fucku2\",\"freeze\",\"game\",\"salvador\",\"droopy\",\"objects\",\"passwd\",\"lllll\",\"loaded\",\"louis\",\"manchester\",\"losers\",\"vedder\",\"clit\",\"chunky\",\"darkman\",\"damage\",\"buckshot\",\"buddah\",\"boobed\",\"henti\",\"hillary\",\"webber\",\"winter1\",\"ingrid\",\"bigmike\",\"beta\",\"zidane\",\"talon\",\"slave1\",\"pissoff\",\"person\",\"thegreat\",\"living\",\"lexus\",\"matador\",\"readers\",\"riley\",\"roberta\",\"armani\",\"ashlee\",\"goldstar\",\"5656\",\"cards\",\"fmale\",\"ferris\",\"fuking\",\"gaston\",\"fucku\",\"ggggggg\",\"sauron\",\"diggler\",\"pacers\",\"looser\",\"pounded\",\"premier\",\"pulled\",\"town\",\"trisha\",\"triangle\",\"cornell\",\"collin\",\"cosmic\",\"deeper\",\"depeche\",\"norway\",\"bright\",\"helmet\",\"kristine\",\"kendall\",\"mustard\",\"misty1\",\"watch\",\"jagger\",\"bertie\",\"berger\",\"word\",\"3x7pxr\",\"silver1\",\"smoking\",\"snowboar\",\"sonny\",\"paula\",\"penetrating\",\"photoes\",\"lesbens\",\"lambert\",\"lindros\",\"lillian\",\"roadking\",\"rockford\",\"1357\",\"143143\",\"asasas\",\"goodboy\",\"898989\",\"chicago1\",\"card\",\"ferrari1\",\"galeries\",\"godfathe\",\"gawker\",\"gargoyle\",\"gangster\",\"rubble\",\"rrrr\",\"onetime\",\"pussyman\",\"pooppoop\",\"trapper\",\"twenty\",\"abraham\",\"cinder\",\"company\",\"newcastl\",\"boricua\",\"bunny1\",\"boxer\",\"hotred\",\"hockey1\",\"hooper\",\"edward1\",\"evan\",\"kris\",\"misery\",\"moscow\",\"milk\",\"mortgage\",\"bigtit\",\"show\",\"snoopdog\",\"three\",\"lionel\",\"leanne\",\"joshua1\",\"july\",\"1230\",\"assholes\",\"cedric\",\"fallen\",\"farley\",\"gene\",\"frisky\",\"sanity\",\"script\",\"divine\",\"dharma\",\"lucky13\",\"property\",\"tricia\",\"akira\",\"desiree\",\"broadway\",\"butterfly\",\"hunt\",\"hotbox\",\"hootie\",\"heat\",\"howdy\",\"earthlink\",\"karma\",\"kiteboy\",\"motley\",\"westwood\",\"1988\",\"bert\",\"blackbir\",\"biggles\",\"wrench\",\"working\",\"wrestle\",\"slippery\",\"pheonix\",\"penny1\",\"pianoman\",\"tomorrow\",\"thedude\",\"jenn\",\"jonjon\",\"jones1\",\"mattie\",\"memory\",\"micheal\",\"roadrunn\",\"arrow\",\"attitude\",\"azzer\",\"seahawks\",\"diehard\",\"dotcom\",\"lola\",\"tunafish\",\"chivas\",\"cinnamon\",\"clouds\",\"deluxe\",\"northern\",\"nuclear\",\"north\",\"boom\",\"boobie\",\"hurley\",\"krishna\",\"momomo\",\"modles\",\"volume\",\"23232323\",\"bluedog\",\"wwwwwww\",\"zerocool\",\"yousuck\",\"pluto\",\"limewire\",\"link\",\"joung\",\"marcia\",\"awnyce\",\"gonavy\",\"haha\",\"films+pic+galeries\",\"fabian\",\"francois\",\"girsl\",\"fuckthis\",\"girfriend\",\"rufus\",\"drive\",\"uncencored\",\"a123456\",\"airport\",\"clay\",\"chrisbln\",\"combat\",\"cygnus\",\"cupoi\",\"never\",\"netscape\",\"brett\",\"hhhhhhhh\",\"eagles1\",\"elite\",\"knockers\",\"kendra\",\"mommy\",\"1958\",\"tazmania\",\"shonuf\",\"piano\",\"pharmacy\",\"thedog\",\"lips\",\"jillian\",\"jenkins\",\"midway\",\"arsenal1\",\"anaconda\",\"australi\",\"gromit\",\"gotohell\",\"787878\",\"66666\",\"carmex2\",\"camber\",\"gator1\",\"ginger1\",\"fuzzy\",\"seadoo\",\"dorian\",\"lovesex\",\"rancid\",\"uuuuuu\",\"911911\",\"nature\",\"bulldog1\",\"helen\",\"health\",\"heater\",\"higgins\",\"kirk\",\"monalisa\",\"mmmmmmm\",\"whiteout\",\"virtual\",\"ventura\",\"jamie1\",\"japanes\",\"james007\",\"2727\",\"2469\",\"blam\",\"bitchass\",\"believe\",\"zephyr\",\"stiffy\",\"sweet1\",\"silent\",\"southpar\",\"spectre\",\"tigger1\",\"tekken\",\"lenny\",\"lakota\",\"lionking\",\"jjjjjjj\",\"medical\",\"megatron\",\"1369\",\"hawaiian\",\"gymnastic\",\"golfer1\",\"gunners\",\"7779311\",\"515151\",\"famous\",\"glass\",\"screen\",\"rudy\",\"royal\",\"sanfran\",\"drake\",\"optimus\",\"panther1\",\"love1\",\"mail\",\"maggie1\",\"pudding\",\"venice\",\"aaron1\",\"delphi\",\"niceass\",\"bounce\",\"busted\",\"house1\",\"killer1\",\"miracle\",\"momo\",\"musashi\",\"jammin\",\"2003\",\"234567\",\"wp2003wp\",\"submit\",\"silence\",\"sssssss\",\"state\",\"spikes\",\"sleeper\",\"passwort\",\"toledo\",\"kume\",\"media\",\"meme\",\"medusa\",\"mantis\",\"remote\",\"reading\",\"reebok\",\"1017\",\"artemis\",\"hampton\",\"harry1\",\"cafc91\",\"fettish\",\"friendly\",\"oceans\",\"oooooooo\",\"mango\",\"ppppp\",\"trainer\",\"troy\",\"uuuu\",\"909090\",\"cross\",\"death1\",\"news\",\"bullfrog\",\"hokies\",\"holyshit\",\"eeeeeee\",\"mitch\",\"jasmine1\",\"&amp\",\"&amp;\",\"sergeant\",\"spinner\",\"leon\",\"jockey\",\"records\",\"right\",\"babyblue\",\"hans\",\"gooner\",\"474747\",\"cheeks\",\"cars\",\"candice\",\"fight\",\"glow\",\"pass1234\",\"parola\",\"okokok\",\"pablo\",\"magical\",\"major\",\"ramsey\",\"poseidon\",\"989898\",\"confused\",\"circle\",\"crusher\",\"cubswin\",\"nnnn\",\"hollywood\",\"erin\",\"kotaku\",\"milo\",\"mittens\",\"whatsup\",\"vvvvv\",\"iomega\",\"insertions\",\"bengals\",\"bermuda\",\"biit\",\"yellow1\",\"012345\",\"spike1\",\"south\",\"sowhat\",\"pitures\",\"peacock\",\"pecker\",\"theend\",\"juliette\",\"jimmie\",\"romance\",\"augusta\",\"hayabusa\",\"hawkeyes\",\"castro\",\"florian\",\"geoffrey\",\"dolly\",\"lulu\",\"qaz123\",\"usarmy\",\"twinkle\",\"cloud\",\"chuckles\",\"cold\",\"hounddog\",\"hover\",\"hothot\",\"europa\",\"ernie\",\"kenshin\",\"kojak\",\"mikey1\",\"water1\",\"196969\",\"because\",\"wraith\",\"zebra\",\"wwwww\",\"33333\",\"simon1\",\"spider1\",\"snuffy\",\"philippe\",\"thunderb\",\"teddy1\",\"lesley\",\"marino13\",\"maria1\",\"redline\",\"renault\",\"aloha\",\"antoine\",\"handyman\",\"cerberus\",\"gamecock\",\"gobucks\",\"freesex\",\"duffman\",\"ooooo\",\"papa\",\"nuggets\",\"magician\",\"longbow\",\"preacher\",\"porno1\",\"county\",\"chrysler\",\"contains\",\"dalejr\",\"darius\",\"darlene\",\"dell\",\"navy\",\"buffy1\",\"hedgehog\",\"hoosiers\",\"honey1\",\"hott\",\"heyhey\",\"europe\",\"dutchess\",\"everest\",\"wareagle\",\"ihateyou\",\"sunflowe\",\"3434\",\"senators\",\"shag\",\"spoon\",\"sonoma\",\"stalker\",\"poochie\",\"terminal\",\"terefon\",\"laurence\",\"maradona\",\"maryann\",\"marty\",\"roman\",\"1007\",\"142536\",\"alibaba\",\"america1\",\"bartman\",\"astro\",\"goth\",\"century\",\"chicken1\",\"cheater\",\"four\",\"ghost1\",\"passpass\",\"oral\",\"r2d2c3po\",\"civic\",\"cicero\",\"myxworld\",\"kkkkk\",\"missouri\",\"wishbone\",\"infiniti\",\"jameson\",\"1a2b3c\",\"1qwerty\",\"wonderboy\",\"skip\",\"shojou\",\"stanford\",\"sparky1\",\"smeghead\",\"poiuy\",\"titanium\",\"torres\",\"lantern\",\"jelly\",\"jeanne\",\"meier\",\"1213\",\"bayern\",\"basset\",\"gsxr750\",\"cattle\",\"charlene\",\"fishing1\",\"fullmoon\",\"gilles\",\"dima\",\"obelix\",\"popo\",\"prissy\",\"ramrod\",\"unique\",\"absolute\",\"bummer\",\"hotone\",\"dynasty\",\"entry\",\"konyor\",\"missy1\",\"moses\",\"282828\",\"yeah\",\"xyz123\",\"stop\",\"426hemi\",\"404040\",\"seinfeld\",\"simmons\",\"pingpong\",\"lazarus\",\"matthews\",\"marine1\",\"manning\",\"recovery\",\"12345a\",\"beamer\",\"babyface\",\"greece\",\"gustav\",\"7007\",\"charity\",\"camilla\",\"ccccccc\",\"faggot\",\"foxy\",\"frozen\",\"gladiato\",\"duckie\",\"dogfood\",\"paranoid\",\"packers1\",\"longjohn\",\"radical\",\"tuna\",\"clarinet\",\"claudio\",\"circus\",\"danny1\",\"novell\",\"nights\",\"bonbon\",\"kashmir\",\"kiki\",\"mortimer\",\"modelsne\",\"moondog\",\"monaco\",\"vladimir\",\"insert\",\"1953\",\"zxc123\",\"supreme\",\"3131\",\"sexxx\",\"selena\",\"softail\",\"poipoi\",\"pong\",\"together\",\"mars\",\"martin1\",\"rogue\",\"alone\",\"avalanch\",\"audia4\",\"55bgates\",\"cccccccc\",\"chick\",\"came11\",\"figaro\",\"geneva\",\"dogboy\",\"dnsadm\",\"dipshit\",\"paradigm\",\"othello\",\"operator\",\"officer\",\"malone\",\"post\",\"rafael\",\"valencia\",\"tripod\",\"choice\",\"chopin\",\"coucou\",\"coach\",\"cocksuck\",\"common\",\"creature\",\"borussia\",\"book\",\"browning\",\"heritage\",\"hiziad\",\"homerj\",\"eight\",\"earth\",\"millions\",\"mullet\",\"whisky\",\"jacques\",\"store\",\"4242\",\"speedo\",\"starcraf\",\"skylar\",\"spaceman\",\"piggy\",\"pierce\",\"tiger2\",\"legos\",\"lala\",\"jezebel\",\"judy\",\"joker1\",\"mazda\",\"barton\",\"baker\",\"727272\",\"chester1\",\"fishman\",\"food\",\"rrrrrrrr\",\"sandwich\",\"dundee\",\"lumber\",\"magazine\",\"radar\",\"ppppppp\",\"tranny\",\"aaliyah\",\"admiral\",\"comics\",\"cleo\",\"delight\",\"buttfuck\",\"homeboy\",\"eternal\",\"kilroy\",\"kellie\",\"khan\",\"violin\",\"wingman\",\"walmart\",\"bigblue\",\"blaze\",\"beemer\",\"beowulf\",\"bigfish\",\"yyyyyyy\",\"woodie\",\"yeahbaby\",\"0123456\",\"tbone\",\"style\",\"syzygy\",\"starter\",\"lemon\",\"linda1\",\"merlot\",\"mexican\",\"11235813\",\"anita\",\"banner\",\"bangbang\",\"badman\",\"barfly\",\"grease\",\"carla\",\"charles1\",\"ffffffff\",\"screw\",\"doberman\",\"diane\",\"dogshit\",\"overkill\",\"counter\",\"coolguy\",\"claymore\",\"demons\",\"demo\",\"nomore\",\"normal\",\"brewster\",\"hhhhhhh\",\"hondas\",\"iamgod\",\"enterme\",\"everett\",\"electron\",\"eastside\",\"kayla\",\"minimoni\",\"mybaby\",\"wildbill\",\"wildcard\",\"ipswich\",\"200000\",\"bearcat\",\"zigzag\",\"yyyyyyyy\",\"xander\",\"sweetnes\",\"369369\",\"skyler\",\"skywalker\",\"pigeon\",\"peyton\",\"tipper\",\"lilly\",\"asdf123\",\"alphabet\",\"asdzxc\",\"babybaby\",\"banane\",\"barnes\",\"guyver\",\"graphics\",\"grand\",\"chinook\",\"florida1\",\"flexible\",\"fuckinside\",\"otis\",\"ursitesux\",\"tototo\",\"trust\",\"tower\",\"adam12\",\"christma\",\"corey\",\"chrome\",\"buddie\",\"bombers\",\"bunker\",\"hippie\",\"keegan\",\"misfits\",\"vickie\",\"292929\",\"woofer\",\"wwwwwwww\",\"stubby\",\"sheep\",\"secrets\",\"sparta\",\"stang\",\"spud\",\"sporty\",\"pinball\",\"jorge\",\"just4fun\",\"johanna\",\"maxxxx\",\"rebecca1\",\"gunther\",\"fatima\",\"fffffff\",\"freeway\",\"garion\",\"score\",\"rrrrr\",\"sancho\",\"outback\",\"maggot\",\"puddin\",\"trial\",\"adrienne\",\"987456\",\"colton\",\"clyde\",\"brain\",\"brains\",\"hoops\",\"eleanor\",\"dwayne\",\"kirby\",\"mydick\",\"villa\",\"19691969\",\"bigcat\",\"becker\",\"shiner\",\"silverad\",\"spanish\",\"templar\",\"lamer\",\"juicy\",\"marsha\",\"mike1\",\"maximum\",\"rhiannon\",\"real\",\"1223\",\"10101010\",\"arrows\",\"andres\",\"alucard\",\"baldwin\",\"baron\",\"avenue\",\"ashleigh\",\"haggis\",\"channel\",\"cheech\",\"safari\",\"ross\",\"dog123\",\"orion1\",\"paloma\",\"qwerasdf\",\"presiden\",\"vegitto\",\"trees\",\"969696\",\"adonis\",\"colonel\",\"cookie1\",\"newyork1\",\"brigitte\",\"buddyboy\",\"hellos\",\"heineken\",\"dwight\",\"eraser\",\"kerstin\",\"motion\",\"moritz\",\"millwall\",\"visual\",\"jaybird\",\"1983\",\"beautifu\",\"bitter\",\"yvette\",\"zodiac\",\"steven1\",\"sinister\",\"slammer\",\"smashing\",\"slick1\",\"sponge\",\"teddybea\",\"theater\",\"this\",\"ticklish\",\"lipstick\",\"jonny\",\"massage\",\"mann\",\"reynolds\",\"ring\",\"1211\",\"amazing\",\"aptiva\",\"applepie\",\"bailey1\",\"guitar1\",\"chanel\",\"canyon\",\"gagged\",\"fuckme1\",\"rough\",\"digital1\",\"dinosaur\",\"punk\",\"98765\",\"90210\",\"clowns\",\"cubs\",\"daniels\",\"deejay\",\"nigga\",\"naruto\",\"boxcar\",\"icehouse\",\"hotties\",\"electra\",\"kent\",\"widget\",\"india\",\"insanity\",\"1986\",\"2004\",\"best\",\"bluefish\",\"bingo1\",\"*****\",\"stratus\",\"strength\",\"sultan\",\"storm1\",\"44444\",\"4200\",\"sentnece\",\"season\",\"sexyboy\",\"sigma\",\"smokie\",\"spam\",\"point\",\"pippo\",\"ticket\",\"temppass\",\"joel\",\"manman\",\"medicine\",\"1022\",\"anton\",\"almond\",\"bacchus\",\"aztnm\",\"axio\",\"awful\",\"bamboo\",\"hakr\",\"gregor\",\"hahahaha\",\"5678\",\"casanova\",\"caprice\",\"camero1\",\"fellow\",\"fountain\",\"dupont\",\"dolphin1\",\"dianne\",\"paddle\",\"magnet\",\"qwert1\",\"pyon\",\"porsche1\",\"tripper\",\"vampires\",\"coming\",\"noway\",\"burrito\",\"bozo\",\"highheel\",\"hughes\",\"hookem\",\"eddie1\",\"ellie\",\"entropy\",\"kkkkkkkk\",\"kkkkkkk\",\"illinois\",\"jacobs\",\"1945\",\"1951\",\"24680\",\"21212121\",\"100000\",\"stonecold\",\"taco\",\"subzero\",\"sharp\",\"sexxxy\",\"skolko\",\"shanna\",\"skyhawk\",\"spurs1\",\"sputnik\",\"piazza\",\"testpass\",\"letter\",\"lane\",\"kurt\",\"jiggaman\",\"matilda\",\"1224\",\"harvard\",\"hannah1\",\"525252\",\"4ever\",\"carbon\",\"chef\",\"federico\",\"ghosts\",\"gina\",\"scorpio1\",\"rt6ytere\",\"madison1\",\"loki\",\"raquel\",\"promise\",\"coolness\",\"christina\",\"coldbeer\",\"citadel\",\"brittney\",\"highway\",\"evil\",\"monarch\",\"morgan1\",\"washingt\",\"1997\",\"bella1\",\"berry\",\"yaya\",\"yolanda\",\"superb\",\"taxman\",\"studman\",\"stephanie\",\"3636\",\"sherri\",\"sheriff\",\"shepherd\",\"poland\",\"pizzas\",\"tiffany1\",\"toilet\",\"latina\",\"lassie\",\"larry1\",\"joseph1\",\"mephisto\",\"meagan\",\"marian\",\"reptile\",\"rico\",\"razor\",\"1013\",\"barron\",\"hammer1\",\"gypsy\",\"grande\",\"carroll\",\"camper\",\"chippy\",\"cat123\",\"call\",\"chimera\",\"fiesta\",\"glock\",\"glenn\",\"domain\",\"dieter\",\"dragonba\",\"onetwo\",\"nygiants\",\"odessa\",\"password2\",\"louie\",\"quartz\",\"prowler\",\"prophet\",\"towers\",\"ultra\",\"cocker\",\"corleone\",\"dakota1\",\"cumm\",\"nnnnnnn\",\"natalia\",\"boxers\",\"hugo\",\"heynow\",\"hollow\",\"iceberg\",\"elvira\",\"kittykat\",\"kate\",\"kitchen\",\"wasabi\",\"vikings1\",\"impact\",\"beerman\",\"string\",\"sleep\",\"splinter\",\"snoopy1\",\"pipeline\",\"pocket\",\"legs\",\"maple\",\"mickey1\",\"manuela\",\"mermaid\",\"micro\",\"meowmeow\",\"redbird\",\"alisha\",\"baura\",\"battery\",\"grass\",\"chevys\",\"chestnut\",\"caravan\",\"carina\",\"charmed\",\"fraser\",\"frogman\",\"diving\",\"dogger\",\"draven\",\"drifter\",\"oatmeal\",\"paris1\",\"longdong\",\"quant4307s\",\"rachel1\",\"vegitta\",\"cole\",\"cobras\",\"corsair\",\"dadada\",\"noelle\",\"mylife\",\"nine\",\"bowwow\",\"body\",\"hotrats\",\"eastwood\",\"moonligh\",\"modena\",\"wave\",\"illusion\",\"iiiiiii\",\"jayhawks\",\"birgit\",\"zone\",\"sutton\",\"susana\",\"swingers\",\"shocker\",\"shrimp\",\"sexgod\",\"squall\",\"stefanie\",\"squeeze\",\"soul\",\"patrice\",\"poiu\",\"players\",\"tigers1\",\"toejam\",\"tickler\",\"line\",\"julie1\",\"jimbo1\",\"jefferso\",\"juanita\",\"michael2\",\"rodeo\",\"robot\",\"1023\",\"annie1\",\"bball\",\"guess\",\"happy2\",\"charter\",\"farm\",\"flasher\",\"falcon1\",\"fiction\",\"fastball\",\"gadget\",\"scrabble\",\"diaper\",\"dirtbike\",\"dinner\",\"oliver1\",\"partner\",\"paco\",\"lucille\",\"macman\",\"poopy\",\"popper\",\"postman\",\"ttttttt\",\"ursula\",\"acura\",\"cowboy1\",\"conan\",\"daewoo\",\"cyrus\",\"customer\",\"nation\",\"nemrac58\",\"nnnnn\",\"nextel\",\"bolton\",\"bobdylan\",\"hopeless\",\"eureka\",\"extra\",\"kimmie\",\"kcj9wx5n\",\"killbill\",\"musica\",\"volkswag\",\"wage\",\"windmill\",\"wert\",\"vintage\",\"iloveyou1\",\"itsme\",\"bessie\",\"zippo\",\"311311\",\"starligh\",\"smokey1\",\"spot\",\"snappy\",\"soulmate\",\"plasma\",\"thelma\",\"tonight\",\"krusty\",\"just4me\",\"mcdonald\",\"marius\",\"rochelle\",\"rebel1\",\"1123\",\"alfredo\",\"aubrey\",\"audi\",\"chantal\",\"fick\",\"goaway\",\"roses\",\"sales\",\"rusty2\",\"dirt\",\"dogbone\",\"doofus\",\"ooooooo\",\"oblivion\",\"mankind\",\"luck\",\"mahler\",\"lllllll\",\"pumper\",\"puck\",\"pulsar\",\"valkyrie\",\"tupac\",\"compass\",\"concorde\",\"costello\",\"cougars\",\"delaware\",\"niceguy\",\"nocturne\",\"bob123\",\"boating\",\"bronze\",\"hopkins\",\"herewego\",\"hewlett\",\"houhou\",\"hubert\",\"earnhard\",\"eeeeeeee\",\"keller\",\"mingus\",\"mobydick\",\"venture\",\"verizon\",\"imation\",\"1950\",\"1948\",\"1949\",\"223344\",\"bigbig\",\"blossom\",\"zack\",\"wowwow\",\"sissy\",\"skinner\",\"spiker\",\"square\",\"snooker\",\"sluggo\",\"player1\",\"junk\",\"jeannie\",\"jsbach\",\"jumbo\",\"jewel\",\"medic\",\"robins\",\"reddevil\",\"reckless\",\"123456a\",\"1125\",\"1031\",\"beacon\",\"astra\",\"gumby\",\"hammond\",\"hassan\",\"757575\",\"585858\",\"chillin\",\"fuck1\",\"sander\",\"lowell\",\"radiohea\",\"upyours\",\"trek\",\"courage\",\"coolcool\",\"classics\",\"choochoo\",\"darryl\",\"nikki1\",\"nitro\",\"bugs\",\"boytoy\",\"ellen\",\"excite\",\"kirsty\",\"kane\",\"wingnut\",\"wireless\",\"icu812\",\"1master\",\"beatle\",\"bigblock\",\"blanca\",\"wolfen\",\"summer99\",\"sugar1\",\"tartar\",\"sexysexy\",\"senna\",\"sexman\",\"sick\",\"someone\",\"soprano\",\"pippin\",\"platypus\",\"pixies\",\"telephon\",\"land\",\"laura1\",\"laurent\",\"rimmer\",\"road\",\"report\",\"1020\",\"12qwaszx\",\"arturo\",\"around\",\"hamish\",\"halifax\",\"fishhead\",\"forum\",\"dododo\",\"doit\",\"outside\",\"paramedi\",\"lonesome\",\"mandy1\",\"twist\",\"uuuuu\",\"uranus\",\"ttttt\",\"butcher\",\"bruce1\",\"helper\",\"hopeful\",\"eduard\",\"dusty1\",\"kathy1\",\"katherin\",\"moonbeam\",\"muscles\",\"monster1\",\"monkeybo\",\"morton\",\"windsurf\",\"vvvvvvv\",\"vivid\",\"install\",\"1947\",\"187187\",\"1941\",\"1952\",\"tatiana\",\"susan1\",\"31415926\",\"sinned\",\"sexxy\",\"senator\",\"sebastian\",\"shadows\",\"smoothie\",\"snowflak\",\"playstat\",\"playa\",\"playboy1\",\"toaster\",\"jerry1\",\"marie1\",\"mason1\",\"merlin1\",\"roger1\",\"roadster\",\"112358\",\"1121\",\"andrea1\",\"bacardi\",\"auto\",\"hardware\",\"hardy\",\"789789\",\"5555555\",\"captain1\",\"flores\",\"fergus\",\"sascha\",\"rrrrrrr\",\"dome\",\"onion\",\"nutter\",\"lololo\",\"qqqqqqq\",\"quick\",\"undertak\",\"uuuuuuuu\",\"uuuuuuu\",\"criminal\",\"cobain\",\"cindy1\",\"coors\",\"dani\",\"descent\",\"nimbus\",\"nomad\",\"nanook\",\"norwich\",\"bomb\",\"bombay\",\"broker\",\"hookup\",\"kiwi\",\"winners\",\"jackpot\",\"1a2b3c4d\",\"1776\",\"beardog\",\"bighead\",\"blast\",\"bird33\",\"0987\",\"stress\",\"shot\",\"spooge\",\"pelican\",\"peepee\",\"perry\",\"pointer\",\"titan\",\"thedoors\",\"jeremy1\",\"annabell\",\"altima\",\"baba\",\"hallie\",\"hate\",\"hardone\",\"5454\",\"candace\",\"catwoman\",\"flip\",\"faithful\",\"finance\",\"farmboy\",\"farscape\",\"genesis1\",\"salomon\",\"destroy\",\"papers\",\"option\",\"page\",\"loser1\",\"lopez\",\"r2d2\",\"pumpkins\",\"training\",\"chriss\",\"cumcum\",\"ninjas\",\"ninja1\",\"hung\",\"erika\",\"eduardo\",\"killers\",\"miller1\",\"islander\",\"jamesbond\",\"intel\",\"jarvis\",\"19841984\",\"2626\",\"bizzare\",\"blue12\",\"biker\",\"yoyoma\",\"sushi\",\"styles\",\"shitface\",\"series\",\"shanti\",\"spanker\",\"steffi\",\"smart\",\"sphinx\",\"please1\",\"paulie\",\"pistons\",\"tiburon\",\"limited\",\"maxwell1\",\"mdogg\",\"rockies\",\"armstron\",\"alexia\",\"arlene\",\"alejandr\",\"arctic\",\"banger\",\"audio\",\"asimov\",\"augustus\",\"grandpa\",\"753951\",\"4you\",\"chilly\",\"care1839\",\"chapman\",\"flyfish\",\"fantasia\",\"freefall\",\"santa\",\"sandrine\",\"oreo\",\"ohshit\",\"macbeth\",\"madcat\",\"loveya\",\"mallory\",\"rage\",\"quentin\",\"qwerqwer\",\"project\",\"ramirez\",\"colnago\",\"citizen\",\"chocha\",\"cobalt\",\"crystal1\",\"dabears\",\"nevets\",\"nineinch\",\"broncos1\",\"helene\",\"huge\",\"edgar\",\"epsilon\",\"easter\",\"kestrel\",\"moron\",\"virgil\",\"winston1\",\"warrior1\",\"iiiiiiii\",\"iloveyou2\",\"1616\",\"beat\",\"bettina\",\"woowoo\",\"zander\",\"straight\",\"shower\",\"sloppy\",\"specialk\",\"tinkerbe\",\"jellybea\",\"reader\",\"romero\",\"redsox1\",\"ride\",\"1215\",\"1112\",\"annika\",\"arcadia\",\"answer\",\"baggio\",\"base\",\"guido\",\"555666\",\"carmel\",\"cayman\",\"cbr900rr\",\"chips\",\"gabriell\",\"gertrude\",\"glennwei\",\"roxy\",\"sausages\",\"disco\",\"pass1\",\"luna\",\"lovebug\",\"macmac\",\"queenie\",\"puffin\",\"vanguard\",\"trip\",\"trinitro\",\"airwolf\",\"abbott\",\"aaa111\",\"cocaine\",\"cisco\",\"cottage\",\"dayton\",\"deadly\",\"datsun\",\"bricks\",\"bumper\",\"eldorado\",\"kidrock\",\"wizard1\",\"whiskers\",\"wind\",\"wildwood\",\"istheman\",\"interest\",\"italy\",\"25802580\",\"benoit\",\"bigones\",\"woodland\",\"wolfpac\",\"strawber\",\"suicide\",\"3030\",\"sheba1\",\"sixpack\",\"peace1\",\"physics\",\"pearson\",\"tigger2\",\"toad\",\"megan1\",\"meow\",\"ringo\",\"roll\",\"amsterdam\",\"717171\",\"686868\",\"5424\",\"catherine\",\"canuck\",\"football1\",\"footjob\",\"fulham\",\"seagull\",\"orgy\",\"lobo\",\"mancity\",\"truth\",\"trace\",\"vancouve\",\"vauxhall\",\"acidburn\",\"derf\",\"myspace1\",\"boozer\",\"buttercu\",\"howell\",\"hola\",\"easton\",\"minemine\",\"munch\",\"jared\",\"1dragon\",\"biology\",\"bestbuy\",\"bigpoppa\",\"blackout\",\"blowfish\",\"bmw325\",\"bigbob\",\"stream\",\"talisman\",\"tazz\",\"sundevil\",\"3333333\",\"skate\",\"shutup\",\"shanghai\",\"shop\",\"spencer1\",\"slowhand\",\"polish\",\"pinky1\",\"tootie\",\"thecrow\",\"leroy\",\"jonathon\",\"jubilee\",\"jingle\",\"martine\",\"matrix1\",\"manowar\",\"michaels\",\"messiah\",\"mclaren\",\"resident\",\"reilly\",\"redbaron\",\"rollins\",\"romans\",\"return\",\"rivera\",\"andromed\",\"athlon\",\"beach1\",\"badgers\",\"guitars\",\"harald\",\"harddick\",\"gotribe\",\"6996\",\"7grout\",\"5wr2i7h8\",\"635241\",\"chase1\",\"carver\",\"charlotte\",\"fallout\",\"fiddle\",\"fredrick\",\"fenris\",\"francesc\",\"fortuna\",\"ferguson\",\"fairlane\",\"felipe\",\"felix1\",\"forward\",\"gasman\",\"frost\",\"fucks\",\"sahara\",\"sassy1\",\"dogpound\",\"dogbert\",\"divx1\",\"manila\",\"loretta\",\"priest\",\"pornporn\",\"quasar\",\"venom\",\"987987\",\"access1\",\"clippers\",\"daylight\",\"decker\",\"daman\",\"data\",\"dentist\",\"crusty\",\"nathan1\",\"nnnnnnnn\",\"bruno1\",\"bucks\",\"brodie\",\"budapest\",\"kittens\",\"kerouac\",\"mother1\",\"waldo1\",\"wedding\",\"whistler\",\"whatwhat\",\"wanderer\",\"idontkno\",\"1942\",\"1946\",\"bigdawg\",\"bigpimp\",\"zaqwsx\",\"414141\",\"3000gt\",\"434343\",\"shoes\",\"serpent\",\"starr\",\"smurf\",\"pasword\",\"tommie\",\"thisisit\",\"lake\",\"john1\",\"robotics\",\"redeye\",\"rebelz\",\"1011\",\"alatam\",\"asses\",\"asians\",\"bama\",\"banzai\",\"harvest\",\"gonzalez\",\"hair\",\"hanson\",\"575757\",\"5329\",\"cascade\",\"chinese\",\"fatty\",\"fender1\",\"flower2\",\"funky\",\"sambo\",\"drummer1\",\"dogcat\",\"dottie\",\"oedipus\",\"osama\",\"macleod\",\"prozac\",\"private1\",\"rampage\",\"punch\",\"presley\",\"concord\",\"cook\",\"cinema\",\"cornwall\",\"cleaner\",\"christopher\",\"ciccio\",\"corinne\",\"clutch\",\"corvet07\",\"daemon\",\"bruiser\",\"boiler\",\"hjkl\",\"eyes\",\"egghead\",\"expert\",\"ethan\",\"kasper\",\"mordor\",\"wasted\",\"jamess\",\"iverson3\",\"bluesman\",\"zouzou\",\"090909\",\"1002\",\"switch\",\"stone1\",\"4040\",\"sisters\",\"sexo\",\"shawna\",\"smith1\",\"sperma\",\"sneaky\",\"polska\",\"thewho\",\"terminat\",\"krypton\",\"lawson\",\"library\",\"lekker\",\"jules\",\"johnson1\",\"johann\",\"justus\",\"rockie\",\"romano\",\"aspire\",\"bastards\",\"goodie\",\"cheese1\",\"fenway\",\"fishon\",\"fishin\",\"fuckoff1\",\"girls1\",\"sawyer\",\"dolores\",\"desmond\",\"duane\",\"doomsday\",\"pornking\",\"ramones\",\"rabbits\",\"transit\",\"aaaaa1\",\"clock\",\"delilah\",\"noel\",\"boyz\",\"bookworm\",\"bongo\",\"bunnies\",\"brady\",\"buceta\",\"highbury\",\"henry1\",\"heels\",\"eastern\",\"krissy\",\"mischief\",\"mopar\",\"ministry\",\"vienna\",\"weston\",\"wildone\",\"vodka\",\"jayson\",\"bigbooty\",\"beavis1\",\"betsy\",\"xxxxxx1\",\"yogibear\",\"000001\",\"0815\",\"zulu\",\"420000\",\"september\",\"sigmar\",\"sprout\",\"stalin\",\"peggy\",\"patch\",\"lkjhgfds\",\"lagnaf\",\"rolex\",\"redfox\",\"referee\",\"123123123\",\"1231\",\"angus1\",\"ariana\",\"ballin\",\"attila\",\"hall\",\"greedy\",\"grunt\",\"747474\",\"carpedie\",\"cecile\",\"caramel\",\"foxylady\",\"field\",\"gatorade\",\"gidget\",\"futbol\",\"frosch\",\"saiyan\",\"schmidt\",\"drums\",\"donner\",\"doggy1\",\"drum\",\"doudou\",\"pack\",\"pain\",\"nutmeg\",\"quebec\",\"valdepen\",\"trash\",\"triple\",\"tosser\",\"tuscl\",\"track\",\"comfort\",\"choke\",\"comein\",\"cola\",\"deputy\",\"deadpool\",\"bremen\",\"borders\",\"bronson\",\"break\",\"hotass\",\"hotmail1\",\"eskimo\",\"eggman\",\"koko\",\"kieran\",\"katrin\",\"kordell1\",\"komodo\",\"mone\",\"munich\",\"vvvvvvvv\",\"winger\",\"jaeger\",\"ivan\",\"jackson5\",\"2222222\",\"bergkamp\",\"bennie\",\"bigben\",\"zanzibar\",\"worm\",\"xxx123\",\"sunny1\",\"373737\",\"services\",\"sheridan\",\"slater\",\"slayer1\",\"snoop\",\"stacie\",\"peachy\",\"thecure\",\"times\",\"little1\",\"jennaj\",\"marquis\",\"middle\",\"rasta69\",\"1114\",\"aries\",\"havana\",\"gratis\",\"calgary\",\"checkers\",\"flanker\",\"salope\",\"dirty1\",\"draco\",\"dogface\",\"luv2epus\",\"rainbow6\",\"qwerty123\",\"umpire\",\"turnip\",\"vbnm\",\"tucson\",\"troll\",\"aileen\",\"codered\",\"commande\",\"damon\",\"nana\",\"neon\",\"nico\",\"nightwin\",\"neil\",\"boomer1\",\"bushido\",\"hotmail0\",\"horace\",\"enternow\",\"kaitlyn\",\"keepout\",\"karen1\",\"mindy\",\"mnbv\",\"viewsoni\",\"volcom\",\"wizards\",\"wine\",\"1995\",\"berkeley\",\"bite\",\"zach\",\"woodstoc\",\"tarpon\",\"shinobi\",\"starstar\",\"phat\",\"patience\",\"patrol\",\"toolbox\",\"julien\",\"johnny1\",\"joebob\",\"marble\",\"riders\",\"reflex\",\"120676\",\"1235\",\"angelus\",\"anthrax\",\"atlas\",\"hawks\",\"grandam\",\"harlem\",\"hawaii50\",\"gorgeous\",\"655321\",\"cabron\",\"challeng\",\"callisto\",\"firewall\",\"firefire\",\"fischer\",\"flyer\",\"flower1\",\"factory\",\"federal\",\"gambler\",\"frodo1\",\"funk\",\"sand\",\"sam123\",\"scania\",\"dingo\",\"papito\",\"passmast\",\"olive\",\"palermo\",\"ou8123\",\"lock\",\"ranch\",\"pride\",\"randy1\",\"twiggy\",\"travis1\",\"transfer\",\"treetop\",\"addict\",\"admin1\",\"963852\",\"aceace\",\"clarissa\",\"cliff\",\"cirrus\",\"clifton\",\"colin\",\"bobdole\",\"bonner\",\"bogus\",\"bonjovi\",\"bootsy\",\"boater\",\"elway7\",\"edison\",\"kelvin\",\"kenny1\",\"moonshin\",\"montag\",\"moreno\",\"wayne1\",\"white1\",\"jazzy\",\"jakejake\",\"1994\",\"1991\",\"2828\",\"blunt\",\"bluejays\",\"beau\",\"belmont\",\"worthy\",\"systems\",\"sensei\",\"southpark\",\"stan\",\"peeper\",\"pharao\",\"pigpen\",\"tomahawk\",\"teensex\",\"leedsutd\",\"larkin\",\"jermaine\",\"jeepster\",\"jimjim\",\"josephin\",\"melons\",\"marlon\",\"matthias\",\"marriage\",\"robocop\",\"1003\",\"1027\",\"antelope\",\"azsxdc\",\"gordo\",\"hazard\",\"granada\",\"8989\",\"7894\",\"ceasar\",\"cabernet\",\"cheshire\",\"california\",\"chelle\",\"candy1\",\"fergie\",\"fanny\",\"fidelio\",\"giorgio\",\"fuckhead\",\"ruth\",\"sanford\",\"diego\",\"dominion\",\"devon\",\"panic\",\"longer\",\"mackie\",\"qawsed\",\"trucking\",\"twelve\",\"chloe1\",\"coral\",\"daddyo\",\"nostromo\",\"boyboy\",\"booster\",\"bucky\",\"honolulu\",\"esquire\",\"dynamite\",\"motor\",\"mollydog\",\"wilder\",\"windows1\",\"waffle\",\"wallet\",\"warning\",\"virus\",\"washburn\",\"wealth\",\"vincent1\",\"jabber\",\"jaguars\",\"javelin\",\"irishman\",\"idefix\",\"bigdog1\",\"blue42\",\"blanked\",\"blue32\",\"biteme1\",\"bearcats\",\"blaine\",\"yessir\",\"sylveste\",\"team\",\"stephan\",\"sunfire\",\"tbird\",\"stryker\",\"3ip76k2\",\"sevens\",\"sheldon\",\"pilgrim\",\"tenchi\",\"titman\",\"leeds\",\"lithium\",\"lander\",\"linkin\",\"landon\",\"marijuan\",\"mariner\",\"markie\",\"midnite\",\"reddwarf\",\"1129\",\"123asd\",\"12312312\",\"allstar\",\"albany\",\"asdf12\",\"antonia\",\"aspen\",\"hardball\",\"goldfing\",\"7734\",\"49ers\",\"carlo\",\"chambers\",\"cable\",\"carnage\",\"callum\",\"carlos1\",\"fitter\",\"fandango\",\"festival\",\"flame\",\"gofast\",\"gamma\",\"fucmy69\",\"scrapper\",\"dogwood\",\"django\",\"magneto\",\"loose\",\"premium\",\"addison\",\"9999999\",\"abc1234\",\"cromwell\",\"newyear\",\"nichole\",\"bookie\",\"burns\",\"bounty\",\"brown1\",\"bologna\",\"earl\",\"entrance\",\"elway\",\"killjoy\",\"kerry\",\"keenan\",\"kick\",\"klondike\",\"mini\",\"mouser\",\"mohammed\",\"wayer\",\"impreza\",\"irene\",\"insomnia\",\"24682468\",\"2580\",\"24242424\",\"billbill\",\"bellaco\",\"blessing\",\"blues1\",\"bedford\",\"blanco\",\"blunts\",\"stinks\",\"teaser\",\"streets\",\"sf49ers\",\"shovel\",\"solitude\",\"spikey\",\"sonia\",\"pimpdadd\",\"timeout\",\"toffee\",\"lefty\",\"johndoe\",\"johndeer\",\"mega\",\"manolo\",\"mentor\",\"margie\",\"ratman\",\"ridge\",\"record\",\"rhodes\",\"robin1\",\"1124\",\"1210\",\"1028\",\"1226\",\"another\",\"babylove\",\"barbados\",\"harbor\",\"gramma\",\"646464\",\"carpente\",\"chaos1\",\"fishbone\",\"fireblad\",\"glasgow\",\"frogs\",\"scissors\",\"screamer\",\"salem\",\"scuba1\",\"ducks\",\"driven\",\"doggies\",\"dicky\",\"donovan\",\"obsidian\",\"rams\",\"progress\",\"tottenham\",\"aikman\",\"comanche\",\"corolla\",\"clarke\",\"conway\",\"cumslut\",\"cyborg\",\"dancing\",\"boston1\",\"bong\",\"houdini\",\"helmut\",\"elvisp\",\"edge\",\"keksa12\",\"misha\",\"monty1\",\"monsters\",\"wetter\",\"watford\",\"wiseguy\",\"veronika\",\"visitor\",\"janelle\",\"1989\",\"1987\",\"20202020\",\"biatch\",\"beezer\",\"bigguns\",\"blueball\",\"bitchy\",\"wyoming\",\"yankees2\",\"wrestler\",\"stupid1\",\"sealteam\",\"sidekick\",\"simple1\",\"smackdow\",\"sporting\",\"spiral\",\"smeller\",\"sperm\",\"plato\",\"tophat\",\"test2\",\"theatre\",\"thick\",\"toomuch\",\"leigh\",\"jello\",\"jewish\",\"junkie\",\"maxim\",\"maxime\",\"meadow\",\"remingto\",\"roofer\",\"124038\",\"1018\",\"1269\",\"1227\",\"123457\",\"arkansas\",\"alberta\",\"aramis\",\"andersen\",\"beaker\",\"barcelona\",\"baltimor\",\"googoo\",\"goochi\",\"852456\",\"4711\",\"catcher\",\"carman\",\"champ1\",\"chess\",\"fortress\",\"fishfish\",\"firefigh\",\"geezer\",\"rsalinas\",\"samuel1\",\"saigon\",\"scooby1\",\"doors\",\"dick1\",\"devin\",\"doom\",\"dirk\",\"doris\",\"dontknow\",\"load\",\"magpies\",\"manfred\",\"raleigh\",\"vader1\",\"universa\",\"tulips\",\"defense\",\"mygirl\",\"burn\",\"bowtie\",\"bowman\",\"holycow\",\"heinrich\",\"honeys\",\"enforcer\",\"katherine\",\"minerva\",\"wheeler\",\"witch\",\"waterboy\",\"jaime\",\"irving\",\"1992\",\"23skidoo\",\"bimbo\",\"blue11\",\"birddog\",\"woodman\",\"womble\",\"zildjian\",\"030303\",\"stinker\",\"stoppedby\",\"sexybabe\",\"speakers\",\"slugger\",\"spotty\",\"smoke1\",\"polopolo\",\"perfect1\",\"things\",\"torpedo\",\"tender\",\"thrasher\",\"lakeside\",\"lilith\",\"jimmys\",\"jerk\",\"junior1\",\"marsh\",\"masamune\",\"rice\",\"root\",\"1214\",\"april1\",\"allgood\",\"bambi\",\"grinch\",\"767676\",\"5252\",\"cherries\",\"chipmunk\",\"cezer121\",\"carnival\",\"capecod\",\"finder\",\"flint\",\"fearless\",\"goats\",\"funstuff\",\"gideon\",\"savior\",\"seabee\",\"sandro\",\"schalke\",\"salasana\",\"disney1\",\"duckman\",\"options\",\"pancake\",\"pantera1\",\"malice\",\"lookin\",\"love123\",\"lloyd\",\"qwert123\",\"puppet\",\"prayers\",\"union\",\"tracer\",\"crap\",\"creation\",\"cwoui\",\"nascar24\",\"hookers\",\"hollie\",\"hewitt\",\"estrella\",\"erection\",\"ernesto\",\"ericsson\",\"edthom\",\"kaylee\",\"kokoko\",\"kokomo\",\"kimball\",\"morales\",\"mooses\",\"monk\",\"walton\",\"weekend\",\"inter\",\"internal\",\"1michael\",\"1993\",\"19781978\",\"25252525\",\"worker\",\"summers\",\"surgery\",\"shibby\",\"shamus\",\"skibum\",\"sheepdog\",\"sex69\",\"spliff\",\"slipper\",\"spoons\",\"spanner\",\"snowbird\",\"slow\",\"toriamos\",\"temp123\",\"tennesse\",\"lakers1\",\"jomama\",\"julio\",\"mazdarx7\",\"rosario\",\"recon\",\"riddle\",\"room\",\"revolver\",\"1025\",\"1101\",\"barney1\",\"babycake\",\"baylor\",\"gotham\",\"gravity\",\"hallowee\",\"hancock\",\"616161\",\"515000\",\"caca\",\"cannabis\",\"castor\",\"chilli\",\"fdsa\",\"getout\",\"fuck69\",\"gators1\",\"sail\",\"sable\",\"rumble\",\"dolemite\",\"dork\",\"dickens\",\"duffer\",\"dodgers1\",\"painting\",\"onions\",\"logger\",\"lorena\",\"lookout\",\"magic32\",\"port\",\"poon\",\"prime\",\"twat\",\"coventry\",\"citroen\",\"christmas\",\"civicsi\",\"cocksucker\",\"coochie\",\"compaq1\",\"nancy1\",\"buzzer\",\"boulder\",\"butkus\",\"bungle\",\"hogtied\",\"honor\",\"hero\",\"hotgirls\",\"hilary\",\"heidi1\",\"eggplant\",\"mustang6\",\"mortal\",\"monkey12\",\"wapapapa\",\"wendy1\",\"volleyba\",\"vibrate\",\"vicky\",\"bledsoe\",\"blink\",\"birthday4\",\"woof\",\"xxxxx1\",\"talk\",\"stephen1\",\"suburban\",\"stock\",\"tabatha\",\"sheeba\",\"start1\",\"soccer10\",\"something\",\"starcraft\",\"soccer12\",\"peanut1\",\"plastics\",\"penthous\",\"peterbil\",\"tools\",\"tetsuo\",\"torino\",\"tennis1\",\"termite\",\"ladder\",\"last\",\"lemmein\",\"lakewood\",\"jughead\",\"melrose\",\"megane\",\"reginald\",\"redone\",\"request\",\"angela1\",\"alive\",\"alissa\",\"goodgirl\",\"gonzo1\",\"golden1\",\"gotyoass\",\"656565\",\"626262\",\"capricor\",\"chains\",\"calvin1\",\"foolish\",\"fallon\",\"getmoney\",\"godfather\",\"gabber\",\"gilligan\",\"runaway\",\"salami\",\"dummy\",\"dungeon\",\"dudedude\",\"dumb\",\"dope\",\"opus\",\"paragon\",\"oxygen\",\"panhead\",\"pasadena\",\"opendoor\",\"odyssey\",\"magellan\",\"lottie\",\"printing\",\"pressure\",\"prince1\",\"trustme\",\"christa\",\"court\",\"davies\",\"neville\",\"nono\",\"bread\",\"buffet\",\"hound\",\"kajak\",\"killkill\",\"mona\",\"moto\",\"mildred\",\"winner1\",\"vixen\",\"whiteboy\",\"versace\",\"winona\",\"voyager1\",\"instant\",\"indy\",\"jackjack\",\"bigal\",\"beech\",\"biggun\",\"blake1\",\"blue99\",\"big1\",\"woods\",\"synergy\",\"success1\",\"336699\",\"sixty9\",\"shark1\",\"skin\",\"simba1\",\"sharpe\",\"sebring\",\"spongebo\",\"spunk\",\"springs\",\"sliver\",\"phialpha\",\"password9\",\"pizza1\",\"plane\",\"perkins\",\"pookey\",\"tickling\",\"lexingky\",\"lawman\",\"joe123\",\"jolly\",\"mike123\",\"romeo1\",\"redheads\",\"reserve\",\"apple123\",\"alanis\",\"ariane\",\"antony\",\"backbone\",\"aviation\",\"band\",\"hand\",\"green123\",\"haley\",\"carlitos\",\"byebye\",\"cartman1\",\"camden\",\"chewy\",\"camaross\",\"favorite6\",\"forumwp\",\"franks\",\"ginscoot\",\"fruity\",\"sabrina1\",\"devil666\",\"doughnut\",\"pantie\",\"oldone\",\"paintball\",\"lumina\",\"rainbow1\",\"prosper\",\"total\",\"true\",\"umbrella\",\"ajax\",\"951753\",\"achtung\",\"abc12345\",\"compact\",\"color\",\"corn\",\"complete\",\"christi\",\"closer\",\"corndog\",\"deerhunt\",\"darklord\",\"dank\",\"nimitz\",\"brandy1\",\"bowl\",\"breanna\",\"holidays\",\"hetfield\",\"holein1\",\"hillbill\",\"hugetits\",\"east\",\"evolutio\",\"kenobi\",\"whiplash\",\"waldo\",\"wg8e3wjf\",\"wing\",\"istanbul\",\"invis\",\"1996\",\"benton\",\"bigjohn\",\"bluebell\",\"beef\",\"beater\",\"benji\",\"bluejay\",\"xyzzy\",\"wrestling\",\"storage\",\"superior\",\"suckdick\",\"taichi\",\"stellar\",\"stephane\",\"shaker\",\"skirt\",\"seymour\",\"semper\",\"splurge\",\"squeak\",\"pearls\",\"playball\",\"pitch\",\"phyllis\",\"pooky\",\"piss\",\"tomas\",\"titfuck\",\"joemama\",\"johnny5\",\"marcello\",\"marjorie\",\"married\",\"maxi\",\"rhubarb\",\"rockwell\",\"ratboy\",\"reload\",\"rooney\",\"redd\",\"1029\",\"1030\",\"1220\",\"anchor\",\"bbking\",\"baritone\",\"gryphon\",\"gone\",\"57chevy\",\"494949\",\"celeron\",\"fishy\",\"gladiator\",\"fucker1\",\"roswell\",\"dougie\",\"downer\",\"dicker\",\"diva\",\"domingo\",\"donjuan\",\"nympho\",\"omar\",\"praise\",\"racers\",\"trick\",\"trauma\",\"truck1\",\"trample\",\"acer\",\"corwin\",\"cricket1\",\"clemente\",\"climax\",\"denmark\",\"cuervo\",\"notnow\",\"nittany\",\"neutron\",\"native\",\"bosco1\",\"buffa\",\"breaker\",\"hello2\",\"hydro\",\"estelle\",\"exchange\",\"explore\",\"kisskiss\",\"kittys\",\"kristian\",\"montecar\",\"modem\",\"mississi\",\"mooney\",\"weiner\",\"washington\",\"20012001\",\"bigdick1\",\"bibi\",\"benfica\",\"yahoo1\",\"striper\",\"tabasco\",\"supra\",\"383838\",\"456654\",\"seneca\",\"serious\",\"shuttle\",\"socks\",\"stanton\",\"penguin1\",\"pathfind\",\"testibil\",\"thethe\",\"listen\",\"lightning\",\"lighting\",\"jeter2\",\"marma\",\"mark1\",\"metoo\",\"republic\",\"rollin\",\"redleg\",\"redbone\",\"redskin\",\"rocco\",\"1245\",\"armand\",\"anthony7\",\"altoids\",\"andrews\",\"barley\",\"away\",\"asswipe\",\"bauhaus\",\"bbbbbb1\",\"gohome\",\"harrier\",\"golfpro\",\"goldeney\",\"818181\",\"6666666\",\"5000\",\"5rxypn\",\"cameron1\",\"calling\",\"checker\",\"calibra\",\"fields\",\"freefree\",\"faith1\",\"fist\",\"fdm7ed\",\"finally\",\"giraffe\",\"glasses\",\"giggles\",\"fringe\",\"gate\",\"georgie\",\"scamper\",\"rrpass1\",\"screwyou\",\"duffy\",\"deville\",\"dimples\",\"pacino\",\"ontario\",\"passthie\",\"oberon\",\"quest1\",\"postov1000\",\"puppydog\",\"puffer\",\"raining\",\"protect\",\"qwerty7\",\"trey\",\"tribe\",\"ulysses\",\"tribal\",\"adam25\",\"a1234567\",\"compton\",\"collie\",\"cleopatr\",\"contract\",\"davide\",\"norris\",\"namaste\",\"myrtle\",\"buffalo1\",\"bonovox\",\"buckley\",\"bukkake\",\"burning\",\"burner\",\"bordeaux\",\"burly\",\"hun999\",\"emilie\",\"elmo\",\"enters\",\"enrique\",\"keisha\",\"mohawk\",\"willard\",\"vgirl\",\"whale\",\"vince\",\"jayden\",\"jarrett\",\"1812\",\"1943\",\"222333\",\"bigjim\",\"bigd\",\"zoom\",\"wordup\",\"ziggy1\",\"yahooo\",\"workout\",\"young1\",\"written\",\"xmas\",\"zzzzzz1\",\"surfer1\",\"strife\",\"sunlight\",\"tasha1\",\"skunk\",\"shauna\",\"seth\",\"soft\",\"sprinter\",\"peaches1\",\"planes\",\"pinetree\",\"plum\",\"pimping\",\"theforce\",\"thedon\",\"toocool\",\"leeann\",\"laddie\",\"list\",\"lkjh\",\"lara\",\"joke\",\"jupiter1\",\"mckenzie\",\"matty\",\"rene\",\"redrose\",\"1200\",\"102938\",\"annmarie\",\"alexa\",\"antares\",\"austin31\",\"ground\",\"goose1\",\"737373\",\"78945612\",\"789987\",\"6464\",\"calimero\",\"caster\",\"casper1\",\"cement\",\"chevrolet\",\"chessie\",\"caddy\",\"chill\",\"child\",\"canucks\",\"feeling\",\"favorite\",\"fellatio\",\"f00tball\",\"francine\",\"gateway2\",\"gigi\",\"gamecube\",\"giovanna\",\"rugby1\",\"scheisse\",\"dshade\",\"dudes\",\"dixie1\",\"owen\",\"offshore\",\"olympia\",\"lucas1\",\"macaroni\",\"manga\",\"pringles\",\"puff\",\"tribble\",\"trouble1\",\"ussy\",\"core\",\"clint\",\"coolhand\",\"colonial\",\"colt\",\"debra\",\"darthvad\",\"dealer\",\"cygnusx1\",\"natalie1\",\"newark\",\"husband\",\"hiking\",\"errors\",\"eighteen\",\"elcamino\",\"emmett\",\"emilia\",\"koolaid\",\"knight1\",\"murphy1\",\"volcano\",\"idunno\",\"2005\",\"2233\",\"block\",\"benito\",\"blueberr\",\"biguns\",\"yamahar1\",\"zapper\",\"zorro1\",\"0911\",\"3006\",\"sixsix\",\"shopper\",\"siobhan\",\"sextoy\",\"stafford\",\"snowboard\",\"speedway\",\"sounds\",\"pokey\",\"peabody\",\"playboy2\",\"titi\",\"think\",\"toast\",\"toonarmy\",\"lister\",\"lambda\",\"joecool\",\"jonas\",\"joyce\",\"juniper\",\"mercer\",\"max123\",\"manny\",\"massimo\",\"mariposa\",\"met2002\",\"reggae\",\"ricky1\",\"1236\",\"1228\",\"1016\",\"all4one\",\"arianna\",\"baberuth\",\"asgard\",\"gonzales\",\"484848\",\"5683\",\"6669\",\"catnip\",\"chiquita\",\"charisma\",\"capslock\",\"cashmone\",\"chat\",\"figure\",\"galant\",\"frenchy\",\"gizmodo1\",\"girlies\",\"gabby\",\"garner\",\"screwy\",\"doubled\",\"divers\",\"dte4uw\",\"done\",\"dragonfl\",\"maker\",\"locks\",\"rachelle\",\"treble\",\"twinkie\",\"trailer\",\"tropical\",\"acid\",\"crescent\",\"cooking\",\"cococo\",\"cory\",\"dabomb\",\"daffy\",\"dandfa\",\"cyrano\",\"nathanie\",\"briggs\",\"boners\",\"helium\",\"horton\",\"hoffman\",\"hellas\",\"espresso\",\"emperor\",\"killa\",\"kikimora\",\"wanda\",\"w4g8at\",\"verona\",\"ilikeit\",\"iforget\",\"1944\",\"20002000\",\"birthday1\",\"beatles1\",\"blue1\",\"bigdicks\",\"beethove\",\"blacklab\",\"blazers\",\"benny1\",\"woodwork\",\"0069\",\"0101\",\"taffy\",\"susie\",\"survivor\",\"swim\",\"stokes\",\"4567\",\"shodan\",\"spoiled\",\"steffen\",\"pissed\",\"pavlov\",\"pinnacle\",\"place\",\"petunia\",\"terrell\",\"thirty\",\"toni\",\"tito\",\"teenie\",\"lemonade\",\"lily\",\"lillie\",\"lalakers\",\"lebowski\",\"lalalala\",\"ladyboy\",\"jeeper\",\"joyjoy\",\"mercury1\",\"mantle\",\"mannn\",\"rocknrol\",\"riversid\",\"reeves\",\"123aaa\",\"11112222\",\"121314\",\"1021\",\"1004\",\"1120\",\"allen1\",\"ambers\",\"amstel\",\"ambrose\",\"alice1\",\"alleycat\",\"allegro\",\"ambrosia\",\"alley\",\"australia\",\"hatred\",\"gspot\",\"graves\",\"goodsex\",\"hattrick\",\"harpoon\",\"878787\",\"8inches\",\"4wwvte\",\"cassandr\",\"charlie123\",\"case\",\"chavez\",\"fighting\",\"gabriela\",\"gatsby\",\"fudge\",\"gerry\",\"generic\",\"gareth\",\"fuckme2\",\"samm\",\"sage\",\"seadog\",\"satchmo\",\"scxakv\",\"santafe\",\"dipper\",\"dingle\",\"dizzy\",\"outoutout\",\"madmad\",\"london1\",\"qbg26i\",\"pussy123\",\"randolph\",\"vaughn\",\"tzpvaw\",\"vamp\",\"comedy\",\"comp\",\"cowgirl\",\"coldplay\",\"dawgs\",\"delaney\",\"nt5d27\",\"novifarm\",\"needles\",\"notredam\",\"newness\",\"mykids\",\"bryan1\",\"bouncer\",\"hihihi\",\"honeybee\",\"iceman1\",\"herring\",\"horn\",\"hook\",\"hotlips\",\"dynamo\",\"klaus\",\"kittie\",\"kappa\",\"kahlua\",\"muffy\",\"mizzou\",\"mohamed\",\"musical\",\"wannabe\",\"wednesda\",\"whatup\",\"weller\",\"waterfal\",\"willy1\",\"invest\",\"blanche\",\"bear1\",\"billabon\",\"youknow\",\"zelda\",\"yyyyyy1\",\"zachary1\",\"01234567\",\"070462\",\"zurich\",\"superstar\",\"storms\",\"tail\",\"stiletto\",\"strat\",\"427900\",\"sigmachi\",\"shelter\",\"shells\",\"sexy123\",\"smile1\",\"sophie1\",\"stefano\",\"stayout\",\"somerset\",\"smithers\",\"playmate\",\"pinkfloyd\",\"phish1\",\"payday\",\"thebear\",\"telefon\",\"laetitia\",\"kswbdu\",\"larson\",\"jetta\",\"jerky\",\"melina\",\"metro\",\"revoluti\",\"retire\",\"respect\",\"1216\",\"1201\",\"1204\",\"1222\",\"1115\",\"archange\",\"barry1\",\"handball\",\"676767\",\"chandra\",\"chewbacc\",\"flesh\",\"furball\",\"gocubs\",\"fruit\",\"fullback\",\"gman\",\"gentle\",\"dunbar\",\"dewalt\",\"dominiqu\",\"diver1\",\"dhip6a\",\"olemiss\",\"ollie\",\"mandrake\",\"mangos\",\"pretzel\",\"pusssy\",\"tripleh\",\"valdez\",\"vagabond\",\"clean\",\"comment\",\"crew\",\"clovis\",\"deaths\",\"dandan\",\"csfbr5yy\",\"deadspin\",\"darrel\",\"ninguna\",\"noah\",\"ncc74656\",\"bootsie\",\"bp2002\",\"bourbon\",\"brennan\",\"bumble\",\"books\",\"hose\",\"heyyou\",\"houston1\",\"hemlock\",\"hippo\",\"hornets\",\"hurricane\",\"horseman\",\"hogan\",\"excess\",\"extensa\",\"muffin1\",\"virginie\",\"werdna\",\"idontknow\",\"info\",\"iron\",\"jack1\",\"1bitch\",\"151nxjmt\",\"bendover\",\"bmwbmw\",\"bills\",\"zaq123\",\"wxcvbn\",\"surprise\",\"supernov\",\"tahoe\",\"talbot\",\"simona\",\"shakur\",\"sexyone\",\"seviyi\",\"sonja\",\"smart1\",\"speed1\",\"pepito\",\"phantom1\",\"playoffs\",\"terry1\",\"terrier\",\"laser1\",\"lite\",\"lancia\",\"johngalt\",\"jenjen\",\"jolene\",\"midori\",\"message\",\"maserati\",\"matteo\",\"mental\",\"miami1\",\"riffraff\",\"ronald1\",\"reason\",\"rhythm\",\"1218\",\"1026\",\"123987\",\"1015\",\"1103\",\"armada\",\"architec\",\"austria\",\"gotmilk\",\"hawkins\",\"gray\",\"camila\",\"camp\",\"cambridg\",\"charge\",\"camero\",\"flex\",\"foreplay\",\"getoff\",\"glacier\",\"glotest\",\"froggie\",\"gerbil\",\"rugger\",\"sanity72\",\"salesman\",\"donna1\",\"dreaming\",\"deutsch\",\"orchard\",\"oyster\",\"palmtree\",\"ophelia\",\"pajero\",\"m5wkqf\",\"magenta\",\"luckyone\",\"treefrog\",\"vantage\",\"usmarine\",\"tyvugq\",\"uptown\",\"abacab\",\"aaaaaa1\",\"advance\",\"chuck1\",\"delmar\",\"darkange\",\"cyclones\",\"nate\",\"navajo\",\"nope\",\"border\",\"bubba123\",\"building\",\"iawgk2\",\"hrfzlz\",\"dylan1\",\"enrico\",\"encore\",\"emilio\",\"eclipse1\",\"killian\",\"kayleigh\",\"mutant\",\"mizuno\",\"mustang2\",\"video1\",\"viewer\",\"weed420\",\"whales\",\"jaguar1\",\"insight\",\"1990\",\"159159\",\"1love\",\"bliss\",\"bears1\",\"bigtruck\",\"binder\",\"bigboss\",\"blitz\",\"xqgann\",\"yeahyeah\",\"zeke\",\"zardoz\",\"stickman\",\"table\",\"3825\",\"signal\",\"sentra\",\"side\",\"shiva\",\"skipper1\",\"singapor\",\"southpaw\",\"sonora\",\"squid\",\"slamdunk\",\"slimjim\",\"placid\",\"photon\",\"placebo\",\"pearl1\",\"test12\",\"therock1\",\"tiger123\",\"leinad\",\"legman\",\"jeepers\",\"joeblow\",\"mccarthy\",\"mike23\",\"redcar\",\"rhinos\",\"rjw7x4\",\"1102\",\"13576479\",\"112211\",\"alcohol\",\"gwju3g\",\"greywolf\",\"7bgiqk\",\"7878\",\"535353\",\"4snz9g\",\"candyass\",\"cccccc1\",\"carola\",\"catfight\",\"cali\",\"fister\",\"fosters\",\"finland\",\"frankie1\",\"gizzmo\",\"fuller\",\"royalty\",\"rugrat\",\"sandie\",\"rudolf\",\"dooley\",\"dive\",\"doreen\",\"dodo\",\"drop\",\"oemdlg\",\"out3xf\",\"paddy\",\"opennow\",\"puppy1\",\"qazwsxedc\",\"pregnant\",\"quinn\",\"ramjet\",\"under\",\"uncle\",\"abraxas\",\"corner\",\"creed\",\"cocoa\",\"crown\",\"cows\",\"cn42qj\",\"dancer1\",\"death666\",\"damned\",\"nudity\",\"negative\",\"nimda2k\",\"buick\",\"bobb\",\"braves1\",\"brook\",\"henrik\",\"higher\",\"hooligan\",\"dust\",\"everlast\",\"karachi\",\"mortis\",\"mulligan\",\"monies\",\"motocros\",\"wally1\",\"weapon\",\"waterman\",\"view\",\"willie1\",\"vicki\",\"inspiron\",\"1test\",\"2929\",\"bigblack\",\"xytfu7\",\"yackwin\",\"zaq1xsw2\",\"yy5rbfsc\",\"100100\",\"0660\",\"tahiti\",\"takehana\",\"talks\",\"332211\",\"3535\",\"sedona\",\"seawolf\",\"skydiver\",\"shine\",\"spleen\",\"slash\",\"spjfet\",\"special1\",\"spooner\",\"slimshad\",\"sopranos\",\"spock1\",\"penis1\",\"patches1\",\"terri\",\"thierry\",\"thething\",\"toohot\",\"large\",\"limpone\",\"johnnie\",\"mash4077\",\"matchbox\",\"masterp\",\"maxdog\",\"ribbit\",\"reed\",\"rita\",\"rockin\",\"redhat\",\"rising\",\"1113\",\"14789632\",\"1331\",\"allday\",\"aladin\",\"andrey\",\"amethyst\",\"ariel\",\"anytime\",\"baseball1\",\"athome\",\"basil\",\"goofy1\",\"greenman\",\"gustavo\",\"goofball\",\"ha8fyp\",\"goodday\",\"778899\",\"charon\",\"chappy\",\"castillo\",\"caracas\",\"cardiff\",\"capitals\",\"canada1\",\"cajun\",\"catter\",\"freddy1\",\"favorite2\",\"frazier\",\"forme\",\"follow\",\"forsaken\",\"feelgood\",\"gavin\",\"gfxqx686\",\"garlic\",\"sarge\",\"saskia\",\"sanjose\",\"russ\",\"salsa\",\"dilbert1\",\"dukeduke\",\"downhill\",\"longhair\",\"loop\",\"locutus\",\"lockdown\",\"malachi\",\"mamacita\",\"lolipop\",\"rainyday\",\"pumpkin1\",\"punker\",\"prospect\",\"rambo1\",\"rainbows\",\"quake\",\"twin\",\"trinity1\",\"trooper1\",\"aimee\",\"citation\",\"coolcat\",\"crappy\",\"default\",\"dental\",\"deniro\",\"d9ungl\",\"daddys\",\"napoli\",\"nautica\",\"nermal\",\"bukowski\",\"brick\",\"bubbles1\",\"bogota\",\"board\",\"branch\",\"breath\",\"buds\",\"hulk\",\"humphrey\",\"hitachi\",\"evans\",\"ender\",\"export\",\"kikiki\",\"kcchiefs\",\"kram\",\"morticia\",\"montrose\",\"mongo\",\"waqw3p\",\"wizzard\",\"visited\",\"whdbtp\",\"whkzyc\",\"image\",\"154ugeiu\",\"1fuck\",\"binky\",\"blind\",\"bigred1\",\"blubber\",\"benz\",\"becky1\",\"year2005\",\"wonderfu\",\"wooden\",\"xrated\",\"0001\",\"tampabay\",\"survey\",\"tammy1\",\"stuffer\",\"3mpz4r\",\"3000\",\"3some\",\"selina\",\"sierra1\",\"shampoo\",\"silk\",\"shyshy\",\"slapnuts\",\"standby\",\"spartan1\",\"sprocket\",\"sometime\",\"stanley1\",\"poker1\",\"plus\",\"thought\",\"theshit\",\"torture\",\"thinking\",\"lavalamp\",\"light1\",\"laserjet\",\"jediknig\",\"jjjjj1\",\"jocelyn\",\"mazda626\",\"menthol\",\"maximo\",\"margaux\",\"medic1\",\"release\",\"richter\",\"rhino1\",\"roach\",\"renate\",\"repair\",\"reveal\",\"1209\",\"1234321\",\"amigos\",\"apricot\",\"alexandra\",\"asdfgh1\",\"hairball\",\"hatter\",\"graduate\",\"grimace\",\"7xm5rq\",\"6789\",\"cartoons\",\"capcom\",\"cheesy\",\"cashflow\",\"carrots\",\"camping\",\"fanatic\",\"fool\",\"format\",\"fleming\",\"girlie\",\"glover\",\"gilmore\",\"gardner\",\"safeway\",\"ruthie\",\"dogfart\",\"dondon\",\"diapers\",\"outsider\",\"odin\",\"opiate\",\"lollol\",\"love12\",\"loomis\",\"mallrats\",\"prague\",\"primetime21\",\"pugsley\",\"program\",\"r29hqq\",\"touch\",\"valleywa\",\"airman\",\"abcdefg1\",\"darkone\",\"cummer\",\"dempsey\",\"damn\",\"nadia\",\"natedogg\",\"nineball\",\"ndeyl5\",\"natchez\",\"newone\",\"normandy\",\"nicetits\",\"buddy123\",\"buddys\",\"homely\",\"husky\",\"iceland\",\"hr3ytm\",\"highlife\",\"holla\",\"earthlin\",\"exeter\",\"eatmenow\",\"kimkim\",\"karine\",\"k2trix\",\"kernel\",\"kirkland\",\"money123\",\"moonman\",\"miles1\",\"mufasa\",\"mousey\",\"wilma\",\"wilhelm\",\"whites\",\"warhamme\",\"instinct\",\"jackass1\",\"2277\",\"20spanks\",\"blobby\",\"blair\",\"blinky\",\"bikers\",\"blackjack\",\"becca\",\"blue23\",\"xman\",\"wyvern\",\"085tzzqi\",\"zxzxzx\",\"zsmj2v\",\"suede\",\"t26gn4\",\"sugars\",\"sylvie\",\"tantra\",\"swoosh\",\"swiss\",\"4226\",\"4271\",\"321123\",\"383pdjvl\",\"shoe\",\"shane1\",\"shelby1\",\"spades\",\"spain\",\"smother\",\"soup\",\"sparhawk\",\"pisser\",\"photo1\",\"pebble\",\"phones\",\"peavey\",\"picnic\",\"pavement\",\"terra\",\"thistle\",\"tokyo\",\"therapy\",\"lives\",\"linden\",\"kronos\",\"lilbit\",\"linux\",\"johnston\",\"material\",\"melanie1\",\"marbles\",\"redlight\",\"reno\",\"recall\",\"1208\",\"1138\",\"1008\",\"alchemy\",\"aolsucks\",\"alexalex\",\"atticus\",\"auditt\",\"ballet\",\"b929ezzh\",\"goodyear\",\"hanna\",\"griffith\",\"gubber\",\"863abgsg\",\"7474\",\"797979\",\"464646\",\"543210\",\"4zqauf\",\"4949\",\"ch5nmk\",\"carlito\",\"chewey\",\"carebear\",\"caleb\",\"checkmat\",\"cheddar\",\"chachi\",\"fever\",\"forgetit\",\"fine\",\"forlife\",\"giants1\",\"gates\",\"getit\",\"gamble\",\"gerhard\",\"galileo\",\"g3ujwg\",\"ganja\",\"rufus1\",\"rushmore\",\"scouts\",\"discus\",\"dudeman\",\"olympus\",\"oscars\",\"osprey\",\"madcow\",\"locust\",\"loyola\",\"mammoth\",\"proton\",\"rabbit1\",\"question\",\"ptfe3xxp\",\"pwxd5x\",\"purple1\",\"punkass\",\"prophecy\",\"uyxnyd\",\"tyson1\",\"aircraft\",\"access99\",\"abcabc\",\"cocktail\",\"colts\",\"civilwar\",\"cleveland\",\"claudia1\",\"contour\",\"clement\",\"dddddd1\",\"cypher\",\"denied\",\"dapzu455\",\"dagmar\",\"daisydog\",\"name\",\"noles\",\"butters\",\"buford\",\"hoochie\",\"hotel\",\"hoser\",\"eddy\",\"ellis\",\"eldiablo\",\"kingrich\",\"mudvayne\",\"motown\",\"mp8o6d\",\"wife\",\"vipergts\",\"italiano\",\"innocent\",\"2055\",\"2211\",\"beavers\",\"bloke\",\"blade1\",\"yamato\",\"zooropa\",\"yqlgr667\",\"050505\",\"zxcvbnm1\",\"zw6syj\",\"suckcock\",\"tango1\",\"swing\",\"stern\",\"stephens\",\"swampy\",\"susanna\",\"tammie\",\"445566\",\"333666\",\"380zliki\",\"sexpot\",\"sexylady\",\"sixtynin\",\"sickboy\",\"spiffy\",\"sleeping\",\"skylark\",\"sparkles\",\"slam\",\"pintail\",\"phreak\",\"places\",\"teller\",\"timtim\",\"tires\",\"thighs\",\"left\",\"latex\",\"llamas\",\"letsdoit\",\"lkjhg\",\"landmark\",\"letters\",\"lizzard\",\"marlins\",\"marauder\",\"metal1\",\"manu\",\"register\",\"righton\",\"1127\",\"alain\",\"alcat\",\"amigo\",\"basebal1\",\"azertyui\",\"attract\",\"azrael\",\"hamper\",\"gotenks\",\"golfgti\",\"gutter\",\"hawkwind\",\"h2slca\",\"harman\",\"grace1\",\"6chid8\",\"789654\",\"canine\",\"casio\",\"cazzo\",\"chamber\",\"cbr900\",\"cabrio\",\"calypso\",\"capetown\",\"feline\",\"flathead\",\"fisherma\",\"flipmode\",\"fungus\",\"goal\",\"g9zns4\",\"full\",\"giggle\",\"gabriel1\",\"fuck123\",\"saffron\",\"dogmeat\",\"dreamcas\",\"dirtydog\",\"dunlop\",\"douche\",\"dresden\",\"dickdick\",\"destiny1\",\"pappy\",\"oaktree\",\"lydia\",\"luft4\",\"puta\",\"prayer\",\"ramada\",\"trumpet1\",\"vcradq\",\"tulip\",\"tracy71\",\"tycoon\",\"aaaaaaa1\",\"conquest\",\"click\",\"chitown\",\"corps\",\"creepers\",\"constant\",\"couples\",\"code\",\"cornhole\",\"danman\",\"dada\",\"density\",\"d9ebk7\",\"cummins\",\"darth\",\"cute\",\"nash\",\"nirvana1\",\"nixon\",\"norbert\",\"nestle\",\"brenda1\",\"bonanza\",\"bundy\",\"buddies\",\"hotspur\",\"heavy\",\"horror\",\"hufmqw\",\"electro\",\"erasure\",\"enough\",\"elisabet\",\"etvww4\",\"ewyuza\",\"eric1\",\"kinder\",\"kenken\",\"kismet\",\"klaatu\",\"musician\",\"milamber\",\"willi\",\"waiting\",\"isacs155\",\"igor\",\"1million\",\"1letmein\",\"x35v8l\",\"yogi\",\"ywvxpz\",\"xngwoj\",\"zippy1\",\"020202\",\"****\",\"stonewal\",\"sweeney\",\"story\",\"sentry\",\"sexsexsex\",\"spence\",\"sonysony\",\"smirnoff\",\"star12\",\"solace\",\"sledge\",\"states\",\"snyder\",\"star1\",\"paxton\",\"pentagon\",\"pkxe62\",\"pilot1\",\"pommes\",\"paulpaul\",\"plants\",\"tical\",\"tictac\",\"toes\",\"lighthou\",\"lemans\",\"kubrick\",\"letmein22\",\"letmesee\",\"jys6wz\",\"jonesy\",\"jjjjjj1\",\"jigga\",\"joelle\",\"mate\",\"merchant\",\"redstorm\",\"riley1\",\"rosa\",\"relief\",\"14141414\",\"1126\",\"allison1\",\"badboy1\",\"asthma\",\"auggie\",\"basement\",\"hartley\",\"hartford\",\"hardwood\",\"gumbo\",\"616913\",\"57np39\",\"56qhxs\",\"4mnveh\",\"cake\",\"forbes\",\"fatluvr69\",\"fqkw5m\",\"fidelity\",\"feathers\",\"fresno\",\"godiva\",\"gecko\",\"gladys\",\"gibson1\",\"gogators\",\"fridge\",\"general1\",\"saxman\",\"rowing\",\"sammys\",\"scotts\",\"scout1\",\"sasasa\",\"samoht\",\"dragon69\",\"ducky\",\"dragonball\",\"driller\",\"p3wqaw\",\"nurse\",\"papillon\",\"oneone\",\"openit\",\"optimist\",\"longshot\",\"portia\",\"rapier\",\"pussy2\",\"ralphie\",\"tuxedo\",\"ulrike\",\"undertow\",\"trenton\",\"copenhag\",\"come\",\"delldell\",\"culinary\",\"deltas\",\"mytime\",\"nicky\",\"nickie\",\"noname\",\"noles1\",\"bucker\",\"bopper\",\"bullock\",\"burnout\",\"bryce\",\"hedges\",\"ibilltes\",\"hihje863\",\"hitter\",\"ekim\",\"espana\",\"eatme69\",\"elpaso\",\"envelope\",\"express1\",\"eeeeee1\",\"eatme1\",\"karaoke\",\"kara\",\"mustang5\",\"misses\",\"wellingt\",\"willem\",\"waterski\",\"webcam\",\"jasons\",\"infinite\",\"iloveyou!\",\"jakarta\",\"belair\",\"bigdad\",\"beerme\",\"yoshi\",\"yinyang\",\"zimmer\",\"x24ik3\",\"063dyjuy\",\"0000007\",\"ztmfcq\",\"stopit\",\"stooges\",\"survival\",\"stockton\",\"symow8\",\"strato\",\"2hot4u\",\"ship\",\"simons\",\"skins\",\"shakes\",\"sex1\",\"shield\",\"snacks\",\"softtail\",\"slimed123\",\"pizzaman\",\"pipe\",\"pitt\",\"pathetic\",\"pinto\",\"tigercat\",\"tonton\",\"lager\",\"lizzy\",\"juju\",\"john123\",\"jennings\",\"josiah\",\"jesse1\",\"jordon\",\"jingles\",\"martian\",\"mario1\",\"rootedit\",\"rochard\",\"redwine\",\"requiem\",\"riverrat\",\"rats\",\"1117\",\"1014\",\"1205\",\"althea\",\"allie\",\"amor\",\"amiga\",\"alpina\",\"alert\",\"atreides\",\"banana1\",\"bahamut\",\"hart\",\"golfman\",\"happines\",\"7uftyx\",\"5432\",\"5353\",\"5151\",\"4747\",\"byron\",\"chatham\",\"chadwick\",\"cherie\",\"foxfire\",\"ffvdj474\",\"freaked\",\"foreskin\",\"gayboy\",\"gggggg1\",\"glenda\",\"gameover\",\"glitter\",\"funny1\",\"scoobydoo\",\"scroll\",\"rudolph\",\"saddle\",\"saxophon\",\"dingbat\",\"digimon\",\"omicron\",\"parsons\",\"ohio\",\"panda1\",\"loloxx\",\"macintos\",\"lululu\",\"lollypop\",\"racer1\",\"queen1\",\"qwertzui\",\"prick\",\"upnfmc\",\"tyrant\",\"trout1\",\"9skw5g\",\"aceman\",\"adelaide\",\"acls2h\",\"aaabbb\",\"acapulco\",\"aggie\",\"comcast\",\"craft\",\"crissy\",\"cloudy\",\"cq2kph\",\"custer\",\"d6o8pm\",\"cybersex\",\"davecole\",\"darian\",\"crumbs\",\"daisey\",\"davedave\",\"dasani\",\"needle\",\"mzepab\",\"myporn\",\"narnia\",\"nineteen\",\"booger1\",\"bravo1\",\"budgie\",\"btnjey\",\"highlander\",\"hotel6\",\"humbug\",\"edwin\",\"ewtosi\",\"kristin1\",\"kobe\",\"knuckles\",\"keith1\",\"katarina\",\"muff\",\"muschi\",\"montana1\",\"wingchun\",\"wiggle\",\"whatthe\",\"walking\",\"watching\",\"vette1\",\"vols\",\"virago\",\"intj3a\",\"ishmael\",\"intern\",\"jachin\",\"illmatic\",\"199999\",\"2010\",\"beck\",\"blender\",\"bigpenis\",\"bengal\",\"blue1234\",\"your\",\"zaqxsw\",\"xray\",\"xxxxxxx1\",\"zebras\",\"yanks\",\"worlds\",\"tadpole\",\"stripes\",\"svetlana\",\"3737\",\"4343\",\"3728\",\"4444444\",\"368ejhih\",\"solar\",\"sonne\",\"smalls\",\"sniffer\",\"sonata\",\"squirts\",\"pitcher\",\"playstation\",\"pktmxr\",\"pescator\",\"points\",\"texaco\",\"lesbos\",\"lilian\",\"l8v53x\",\"jo9k2jw2\",\"jimbeam\",\"josie\",\"jimi\",\"jupiter2\",\"jurassic\",\"marines1\",\"maya\",\"rocket1\",\"ringer\",\"14725836\",\"12345679\",\"1219\",\"123098\",\"1233\",\"alessand\",\"althor\",\"angelika\",\"arch\",\"armando\",\"alpha123\",\"basher\",\"barefeet\",\"balboa\",\"bbbbb1\",\"banks\",\"badabing\",\"harriet\",\"gopack\",\"golfnut\",\"gsxr1000\",\"gregory1\",\"766rglqy\",\"8520\",\"753159\",\"8dihc6\",\"69camaro\",\"666777\",\"cheeba\",\"chino\",\"calendar\",\"cheeky\",\"camel1\",\"fishcake\",\"falling\",\"flubber\",\"giuseppe\",\"gianni\",\"gloves\",\"gnasher23\",\"frisbee\",\"fuzzy1\",\"fuzzball\",\"sauce\",\"save13tx\",\"schatz\",\"russell1\",\"sandra1\",\"scrotum\",\"scumbag\",\"sabre\",\"samdog\",\"dripping\",\"dragon12\",\"dragster\",\"paige\",\"orwell\",\"mainland\",\"lunatic\",\"lonnie\",\"lotion\",\"maine\",\"maddux\",\"qn632o\",\"poophead\",\"rapper\",\"porn4life\",\"producer\",\"rapunzel\",\"tracks\",\"velocity\",\"vanessa1\",\"ulrich\",\"trueblue\",\"vampire1\",\"abacus\",\"902100\",\"crispy\",\"corky\",\"crane\",\"chooch\",\"d6wnro\",\"cutie\",\"deal\",\"dabulls\",\"dehpye\",\"navyseal\",\"njqcw4\",\"nownow\",\"nigger1\",\"nightowl\",\"nonenone\",\"nightmar\",\"bustle\",\"buddy2\",\"boingo\",\"bugman\",\"bulletin\",\"bosshog\",\"bowie\",\"hybrid\",\"hillside\",\"hilltop\",\"hotlegs\",\"honesty\",\"hzze929b\",\"hhhhh1\",\"hellohel\",\"eloise\",\"evilone\",\"edgewise\",\"e5pftu\",\"eded\",\"embalmer\",\"excalibur\",\"elefant\",\"kenzie\",\"karl\",\"karin\",\"killah\",\"kleenex\",\"mouses\",\"mounta1n\",\"motors\",\"mutley\",\"muffdive\",\"vivitron\",\"winfield\",\"wednesday\",\"w00t88\",\"iloveit\",\"jarjar\",\"incest\",\"indycar\",\"17171717\",\"1664\",\"17011701\",\"222777\",\"2663\",\"beelch\",\"benben\",\"yitbos\",\"yyyyy1\",\"yasmin\",\"zapata\",\"zzzzz1\",\"stooge\",\"tangerin\",\"taztaz\",\"stewart1\",\"summer69\",\"sweetness\",\"system1\",\"surveyor\",\"stirling\",\"3qvqod\",\"3way\",\"456321\",\"sizzle\",\"simhrq\",\"shrink\",\"shawnee\",\"someday\",\"sparty\",\"ssptx452\",\"sphere\",\"spark\",\"slammed\",\"sober\",\"persian\",\"peppers\",\"ploppy\",\"pn5jvw\",\"poobear\",\"pianos\",\"plaster\",\"testme\",\"tiff\",\"thriller\",\"larissa\",\"lennox\",\"jewell\",\"master12\",\"messier\",\"rockey\",\"1229\",\"1217\",\"1478\",\"1009\",\"anastasi\",\"almighty\",\"amonra\",\"aragon\",\"argentin\",\"albino\",\"azazel\",\"grinder\",\"6uldv8\",\"83y6pv\",\"8888888\",\"4tlved\",\"515051\",\"carsten\",\"changes\",\"flanders\",\"flyers88\",\"ffffff1\",\"firehawk\",\"foreman\",\"firedog\",\"flashman\",\"ggggg1\",\"gerber\",\"godspeed\",\"galway\",\"giveitup\",\"funtimes\",\"gohan\",\"giveme\",\"geryfe\",\"frenchie\",\"sayang\",\"rudeboy\",\"savanna\",\"sandals\",\"devine\",\"dougal\",\"drag0n\",\"dga9la\",\"disaster\",\"desktop\",\"only\",\"onlyone\",\"otter\",\"pandas\",\"mafia\",\"lombard\",\"luckys\",\"lovejoy\",\"lovelife\",\"manders\",\"product\",\"qqh92r\",\"qcmfd454\",\"pork\",\"radar1\",\"punani\",\"ptbdhw\",\"turtles\",\"undertaker\",\"trs8f7\",\"tramp\",\"ugejvp\",\"abba\",\"911turbo\",\"acdc\",\"abcd123\",\"clever\",\"corina\",\"cristian\",\"create\",\"crash1\",\"colony\",\"crosby\",\"delboy\",\"daniele\",\"davinci\",\"daughter\",\"notebook\",\"niki\",\"nitrox\",\"borabora\",\"bonzai\",\"budd\",\"brisbane\",\"hotter\",\"heeled\",\"heroes\",\"hooyah\",\"hotgirl\",\"i62gbq\",\"horse1\",\"hills\",\"hpk2qc\",\"epvjb6\",\"echo\",\"korean\",\"kristie\",\"mnbvc\",\"mohammad\",\"mind\",\"mommy1\",\"munster\",\"wade\",\"wiccan\",\"wanted\",\"jacket\",\"2369\",\"bettyboo\",\"blondy\",\"bismark\",\"beanbag\",\"bjhgfi\",\"blackice\",\"yvtte545\",\"ynot\",\"yess\",\"zlzfrh\",\"wolvie\",\"007bond\",\"******\",\"tailgate\",\"tanya1\",\"sxhq65\",\"stinky1\",\"3234412\",\"3ki42x\",\"seville\",\"shimmer\",\"sheryl\",\"sienna\",\"shitshit\",\"skillet\",\"seaman\",\"sooners1\",\"solaris\",\"smartass\",\"pastor\",\"pasta\",\"pedros\",\"pennywis\",\"pfloyd\",\"tobydog\",\"thetruth\",\"lethal\",\"letme1n\",\"leland\",\"jenifer\",\"mario66\",\"micky\",\"rocky2\",\"rewq\",\"ripped\",\"reindeer\",\"1128\",\"1207\",\"1104\",\"1432\",\"aprilia\",\"allstate\",\"alyson\",\"bagels\",\"basic\",\"baggies\",\"barb\",\"barrage\",\"greatest\",\"gomez\",\"guru\",\"guard\",\"72d5tn\",\"606060\",\"4wcqjn\",\"caldwell\",\"chance1\",\"catalog\",\"faust\",\"film\",\"flange\",\"fran\",\"fartman\",\"geil\",\"gbhcf2\",\"fussball\",\"glen\",\"fuaqz4\",\"gameboy\",\"garnet\",\"geneviev\",\"rotary\",\"seahawk\",\"russel\",\"saab\",\"seal\",\"samadams\",\"devlt4\",\"ditto\",\"drevil\",\"drinker\",\"deuce\",\"dipstick\",\"donut\",\"octopus\",\"ottawa\",\"losangel\",\"loverman\",\"porky\",\"q9umoz\",\"rapture\",\"pump\",\"pussy4me\",\"university\",\"triplex\",\"ue8fpw\",\"trent\",\"trophy\",\"turbos\",\"troubles\",\"agent\",\"aaa340\",\"churchil\",\"crazyman\",\"consult\",\"creepy\",\"craven\",\"class\",\"cutiepie\",\"ddddd1\",\"dejavu\",\"cuxldv\",\"nettie\",\"nbvibt\",\"nikon\",\"niko\",\"norwood\",\"nascar1\",\"nolan\",\"bubba2\",\"boobear\",\"boogers\",\"buff\",\"bullwink\",\"bully\",\"bulldawg\",\"horsemen\",\"escalade\",\"editor\",\"eagle2\",\"dynamic\",\"ella\",\"efyreg\",\"edition\",\"kidney\",\"minnesot\",\"mogwai\",\"morrow\",\"msnxbi\",\"moonlight\",\"mwq6qlzo\",\"wars\",\"werder\",\"verygood\",\"voodoo1\",\"wheel\",\"iiiiii1\",\"159951\",\"1624\",\"1911a1\",\"2244\",\"bellagio\",\"bedlam\",\"belkin\",\"bill1\",\"woodrow\",\"xirt2k\",\"worship\",\"??????\",\"tanaka\",\"swift\",\"susieq\",\"sundown\",\"sukebe\",\"tales\",\"swifty\",\"2fast4u\",\"senate\",\"sexe\",\"sickness\",\"shroom\",\"shaun\",\"seaweed\",\"skeeter1\",\"status\",\"snicker\",\"sorrow\",\"spanky1\",\"spook\",\"patti\",\"phaedrus\",\"pilots\",\"pinch\",\"peddler\",\"theo\",\"thumper1\",\"tessie\",\"tiger7\",\"tmjxn151\",\"thematri\",\"l2g7k3\",\"letmeinn\",\"lazy\",\"jeffjeff\",\"joan\",\"johnmish\",\"mantra\",\"mariana\",\"mike69\",\"marshal\",\"mart\",\"mazda6\",\"riptide\",\"robots\",\"rental\",\"1107\",\"1130\",\"142857\",\"11001001\",\"1134\",\"armored\",\"alvin\",\"alec\",\"allnight\",\"alright\",\"amatuers\",\"bartok\",\"attorney\",\"astral\",\"baboon\",\"bahamas\",\"balls1\",\"bassoon\",\"hcleeb\",\"happyman\",\"granite\",\"graywolf\",\"golf1\",\"gomets\",\"8vjzus\",\"7890\",\"789123\",\"8uiazp\",\"5757\",\"474jdvff\",\"551scasi\",\"50cent\",\"camaro1\",\"cherry1\",\"chemist\",\"final\",\"firenze\",\"fishtank\",\"farrell\",\"freewill\",\"glendale\",\"frogfrog\",\"gerhardt\",\"ganesh\",\"same\",\"scirocco\",\"devilman\",\"doodles\",\"dinger\",\"okinawa\",\"olympic\",\"nursing\",\"orpheus\",\"ohmygod\",\"paisley\",\"pallmall\",\"null\",\"lounge\",\"lunchbox\",\"manhatta\",\"mahalo\",\"mandarin\",\"qwqwqw\",\"qguvyt\",\"pxx3eftp\",\"president\",\"rambler\",\"puzzle\",\"poppy1\",\"turk182\",\"trotter\",\"vdlxuc\",\"trish\",\"tugboat\",\"valiant\",\"tracie\",\"uwrl7c\",\"chris123\",\"coaster\",\"cmfnpu\",\"decimal\",\"debbie1\",\"dandy\",\"daedalus\",\"dede\",\"natasha1\",\"nissan1\",\"nancy123\",\"nevermin\",\"napalm\",\"newcastle\",\"boats\",\"branden\",\"britt\",\"bonghit\",\"hester\",\"ibxnsm\",\"hhhhhh1\",\"holger\",\"durham\",\"edmonton\",\"erwin\",\"equinox\",\"dvader\",\"kimmy\",\"knulla\",\"mustafa\",\"monsoon\",\"mistral\",\"morgana\",\"monica1\",\"mojave\",\"month\",\"monterey\",\"mrbill\",\"vkaxcs\",\"victor1\",\"wacker\",\"wendell\",\"violator\",\"vfdhif\",\"wilson1\",\"wavpzt\",\"verena\",\"wildstar\",\"winter99\",\"iqzzt580\",\"jarrod\",\"imback\",\"1914\",\"19741974\",\"1monkey\",\"1q2w3e4r5t\",\"2500\",\"2255\",\"blank\",\"bigshow\",\"bigbucks\",\"blackcoc\",\"zoomer\",\"wtcacq\",\"wobble\",\"xmen\",\"xjznq5\",\"yesterda\",\"yhwnqc\",\"zzzxxx\",\"streak\",\"393939\",\"2fchbg\",\"skinhead\",\"skilled\",\"shakira\",\"shaft\",\"shadow12\",\"seaside\",\"sigrid\",\"sinful\",\"silicon\",\"smk7366\",\"snapshot\",\"sniper1\",\"soccer11\",\"staff\",\"slap\",\"smutty\",\"peepers\",\"pleasant\",\"plokij\",\"pdiddy\",\"pimpdaddy\",\"thrust\",\"terran\",\"topaz\",\"today1\",\"lionhear\",\"littlema\",\"lauren1\",\"lincoln1\",\"lgnu9d\",\"laughing\",\"juneau\",\"methos\",\"medina\",\"merlyn\",\"rogue1\",\"romulus\",\"redshift\",\"1202\",\"1469\",\"12locked\",\"arizona1\",\"alfarome\",\"al9agd\",\"aol123\",\"altec\",\"apollo1\",\"arse\",\"baker1\",\"bbb747\",\"bach\",\"axeman\",\"astro1\",\"hawthorn\",\"goodfell\",\"hawks1\",\"gstring\",\"hannes\",\"8543852\",\"868686\",\"4ng62t\",\"554uzpad\",\"5401\",\"567890\",\"5232\",\"catfood\",\"frame\",\"flow\",\"fire1\",\"flipflop\",\"fffff1\",\"fozzie\",\"fluff\",\"garrison\",\"fzappa\",\"furious\",\"round\",\"rustydog\",\"sandberg\",\"scarab\",\"satin\",\"ruger\",\"samsung1\",\"destin\",\"diablo2\",\"dreamer1\",\"detectiv\",\"dominick\",\"doqvq3\",\"drywall\",\"paladin1\",\"papabear\",\"offroad\",\"panasonic\",\"nyyankee\",\"luetdi\",\"qcfmtz\",\"pyf8ah\",\"puddles\",\"privacy\",\"rainer\",\"pussyeat\",\"ralph1\",\"princeto\",\"trivia\",\"trewq\",\"tri5a3\",\"advent\",\"9898\",\"agyvorc\",\"clarkie\",\"coach1\",\"courier\",\"contest\",\"christo\",\"corinna\",\"chowder\",\"concept\",\"climbing\",\"cyzkhw\",\"davidb\",\"dad2ownu\",\"days\",\"daredevi\",\"de7mdf\",\"nose\",\"necklace\",\"nazgul\",\"booboo1\",\"broad\",\"bonzo\",\"brenna\",\"boot\",\"butch1\",\"huskers1\",\"hgfdsa\",\"hornyman\",\"elmer\",\"elektra\",\"england1\",\"elodie\",\"kermit1\",\"knife\",\"kaboom\",\"minute\",\"modern\",\"motherfucker\",\"morten\",\"mocha\",\"monday1\",\"morgoth\",\"ward\",\"weewee\",\"weenie\",\"walters\",\"vorlon\",\"website\",\"wahoo\",\"ilovegod\",\"insider\",\"jayman\",\"1911\",\"1dallas\",\"1900\",\"1ranger\",\"201jedlz\",\"2501\",\"1qaz\",\"bertram\",\"bignuts\",\"bigbad\",\"beebee\",\"billows\",\"belize\",\"bebe\",\"wvj5np\",\"wu4etd\",\"yamaha1\",\"wrinkle5\",\"zebra1\",\"yankee1\",\"zoomzoom\",\"09876543\",\"0311\",\"?????\",\"stjabn\",\"tainted\",\"3tmnej\",\"shoot\",\"skooter\",\"skelter\",\"sixteen\",\"starlite\",\"smack\",\"spice1\",\"stacey1\",\"smithy\",\"perrin\",\"pollux\",\"peternorth\",\"pixie\",\"paulina\",\"piston\",\"pick\",\"poets\",\"pine\",\"toons\",\"tooth\",\"topspin\",\"kugm7b\",\"legends\",\"jeepjeep\",\"juliana\",\"joystick\",\"junkmail\",\"jojojojo\",\"jonboy\",\"judge\",\"midland\",\"meteor\",\"mccabe\",\"matter\",\"mayfair\",\"meeting\",\"merrill\",\"raul\",\"riches\",\"reznor\",\"rockrock\",\"reboot\",\"reject\",\"robyn\",\"renee1\",\"roadway\",\"rasta220\",\"1411\",\"1478963\",\"1019\",\"archery\",\"allman\",\"andyandy\",\"barks\",\"bagpuss\",\"auckland\",\"gooseman\",\"hazmat\",\"gucci\",\"guns\",\"grammy\",\"happydog\",\"greek\",\"7kbe9d\",\"7676\",\"6bjvpe\",\"5lyedn\",\"5858\",\"5291\",\"charlie2\",\"chas\",\"c7lrwu\",\"candys\",\"chateau\",\"ccccc1\",\"cardinals\",\"fear\",\"fihdfv\",\"fortune12\",\"gocats\",\"gaelic\",\"fwsadn\",\"godboy\",\"gldmeo\",\"fx3tuo\",\"fubar1\",\"garland\",\"generals\",\"gforce\",\"rxmtkp\",\"rulz\",\"sairam\",\"dunhill\",\"division\",\"dogggg\",\"detect\",\"details\",\"doll\",\"drinks\",\"ozlq6qwm\",\"ov3ajy\",\"lockout\",\"makayla\",\"macgyver\",\"mallorca\",\"loves\",\"prima\",\"pvjegu\",\"qhxbij\",\"raphael\",\"prelude1\",\"totoro\",\"tusymo\",\"trousers\",\"tunnel\",\"valeria\",\"tulane\",\"turtle1\",\"tracy1\",\"aerosmit\",\"abbey1\",\"address\",\"clticic\",\"clueless\",\"cooper1\",\"comets\",\"collect\",\"corbin\",\"delpiero\",\"derick\",\"cyprus\",\"dante1\",\"dave1\",\"nounours\",\"neal\",\"nexus6\",\"nero\",\"nogard\",\"norfolk\",\"brent1\",\"booyah\",\"bootleg\",\"buckaroo\",\"bulls23\",\"bulls1\",\"booper\",\"heretic\",\"icecube\",\"hellno\",\"hounds\",\"honeydew\",\"hooters1\",\"hoes\",\"howie\",\"hevnm4\",\"hugohugo\",\"eighty\",\"epson\",\"evangeli\",\"eeeee1\",\"eyphed\"]","/** SecLists 10k-most-common.txt — NFKC-lowercased at build time. Version pinned in PASSCODE_SECURITY.md */\nimport denylistJson from \"./passcode-denylist.json\";\n\nexport const PASSCODE_DENYLIST_SOURCE =\n \"SecLists/Passwords/Common-Credentials/10k-most-common.txt\";\nexport const PASSCODE_DENYLIST_VERSION = \"2026-08-13\";\n\nconst DENYLIST = new Set<string>(denylistJson as string[]);\n\nexport function isPasscodeDenylisted(passcode: string): boolean {\n const normalized = passcode.normalize(\"NFKC\").toLowerCase();\n return DENYLIST.has(normalized);\n}\n\nexport function passcodeDenylistSize(): number {\n return DENYLIST.size;\n}\n","import { ZxcvbnFactory } from \"@zxcvbn-ts/core\";\nimport * as zxcvbnCommon from \"@zxcvbn-ts/language-common\";\nimport * as zxcvbnEn from \"@zxcvbn-ts/language-en\";\n\nimport { assertValidPasscode, normalizePasscode } from \"./pin\";\nimport { isPasscodeDenylisted } from \"./passcode-denylist\";\nimport { EmbeddedWalletWeakPasscodeError, type PasscodeStrengthLabel } from \"./types\";\n\nlet zxcvbnChecker: ZxcvbnFactory | null = null;\n\nfunction getZxcvbnChecker(): ZxcvbnFactory {\n if (!zxcvbnChecker) {\n zxcvbnChecker = new ZxcvbnFactory({\n translations: zxcvbnEn.translations,\n graphs: zxcvbnCommon.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommon.dictionary,\n ...zxcvbnEn.dictionary,\n },\n });\n }\n return zxcvbnChecker;\n}\n\nexport interface PasscodeStrengthResult {\n score: 0 | 1 | 2 | 3 | 4;\n label: PasscodeStrengthLabel;\n blocked: boolean;\n blockReason?: \"denylist\" | \"too_weak\" | \"numeric_short\";\n}\n\nfunction scoreToLabel(score: 0 | 1 | 2 | 3 | 4): PasscodeStrengthLabel {\n if (score <= 0) {\n return \"weak\";\n }\n if (score === 1) {\n return \"fair\";\n }\n if (score === 2) {\n return \"good\";\n }\n return \"strong\";\n}\n\nexport function hasMixedCharacterClasses(passcode: string): boolean {\n let classes = 0;\n if (/[a-z]/.test(passcode)) {\n classes++;\n }\n if (/[A-Z]/.test(passcode)) {\n classes++;\n }\n if (/[0-9]/.test(passcode)) {\n classes++;\n }\n if (/[^a-zA-Z0-9]/.test(passcode)) {\n classes++;\n }\n return classes >= 2;\n}\n\nfunction isAllDigits(passcode: string): boolean {\n return /^[0-9]+$/.test(passcode);\n}\n\n/** Score passcode strength for creation UI (denylist + zxcvbn). */\nexport function evaluatePasscodeStrength(passcode: string): PasscodeStrengthResult {\n assertValidPasscode(passcode);\n const normalized = normalizePasscode(passcode);\n\n if (isPasscodeDenylisted(normalized)) {\n return {\n score: 0,\n label: \"weak\",\n blocked: true,\n blockReason: \"denylist\",\n };\n }\n\n if (isAllDigits(normalized) && normalized.length < 12) {\n return {\n score: 0,\n label: \"weak\",\n blocked: true,\n blockReason: \"numeric_short\",\n };\n }\n\n const result = getZxcvbnChecker().check(normalized);\n const score = result.score as 0 | 1 | 2 | 3 | 4;\n const label = scoreToLabel(score);\n\n if (score === 0 && !(normalized.length >= 14 && hasMixedCharacterClasses(normalized))) {\n return {\n score,\n label,\n blocked: true,\n blockReason: \"too_weak\",\n };\n }\n\n return {\n score,\n label,\n blocked: false,\n };\n}\n\n/** Hard reject weak or common passcodes at wallet creation / recovery. */\nexport function assertPasscodeAllowedForCreation(passcode: string): void {\n const strength = evaluatePasscodeStrength(passcode);\n if (strength.blocked) {\n throw new EmbeddedWalletWeakPasscodeError(strength.blockReason ?? \"too_weak\");\n }\n}\n","import type { OfflineDirectSigner } from \"@cosmjs/proto-signing\";\n\nimport { exportEncryptedBackup, parseEncryptedBackup, serializeBackupFile } from \"./backup\";\nimport {\n assertVaultPermitsTransaction,\n createPasskeyMaterialFromAssertion,\n createPbkdf2Salt,\n decryptWalletPayload,\n deriveKekFromPbkdf2,\n deriveKekFromPrf,\n encryptWalletPayload,\n markVaultBackupAcknowledged,\n} from \"./crypto\";\nimport {\n assertPasscodeUnlockAllowed,\n recordPasscodeUnlockFailure,\n recordPasscodeUnlockSuccess,\n} from \"./lockout\";\nimport {\n createHdDerivedPlaintext,\n detectRecoveryMnemonicKeyType,\n plaintextFromRecoveryMnemonic,\n recoveryMnemonicAddress,\n recoveryMnemonicFromPlaintext,\n resolvePlaintextKeyType,\n} from \"./mnemonic\";\nimport { assertPasscodeAllowedForCreation } from \"./passcode-strength\";\nimport {\n deriveKekFromPasscode,\n EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n} from \"./pin\";\nimport { detectWebAuthnPrfCapabilities, selectEmbeddedWalletKdf } from \"./prf\";\nimport { defaultEmbeddedHdPath, embeddedPlaintextToSigner } from \"./signer\";\nimport {\n clearVaultFromIndexedDb,\n loadVaultFromIndexedDb,\n saveVaultToIndexedDb,\n} from \"./storage\";\nimport {\n EMBEDDED_WALLET_KDF_PBKDF2,\n EMBEDDED_WALLET_KDF_PIN,\n EMBEDDED_WALLET_KDF_PRF,\n EMBEDDED_WALLET_KEY_DIRECT_ENTROPY,\n EMBEDDED_WALLET_KEY_HD_DERIVED,\n EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING,\n EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING,\n type EmbeddedWalletBackupFileV1,\n type EmbeddedWalletKeyType,\n type EmbeddedWalletPlaintext,\n type EmbeddedWalletRecoveryPhraseReveal,\n type EmbeddedWalletVaultV1,\n EmbeddedWalletDecryptError,\n EmbeddedWalletVaultError,\n} from \"./types\";\nimport { assertPasskey, decodeCredentialId, registerPasskey } from \"./webauthn\";\n\nexport interface EmbeddedWalletScopeOptions {\n /** Supabase user id or other account key — scopes IndexedDB vault storage per account. */\n scopeId?: string;\n}\n\nexport interface CreateEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n passcode: string;\n /** When true, replaces an existing vault on this account (e.g. an intentional reset). */\n replaceExisting?: boolean;\n}\n\nexport interface UnlockEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n passcode?: string;\n}\n\nexport interface RevealEmbeddedRecoveryPhraseOptions extends EmbeddedWalletScopeOptions {\n passcode?: string;\n}\n\nexport interface RecoverEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n passcode: string;\n mnemonic: string;\n /** When omitted, inferred from expectedAddress or defaults to hd-derived. */\n keyType?: EmbeddedWalletKeyType;\n /** Used to auto-detect legacy direct-entropy vs standard HD phrases. */\n expectedAddress?: string;\n hdPath?: string;\n /** When true, replaces an existing vault on this device (e.g. after device loss). */\n replaceExisting?: boolean;\n}\n\nexport interface EnableEmbeddedPasskeyUnlockOptions extends EmbeddedWalletScopeOptions {\n passcode: string;\n userId: Uint8Array;\n userName: string;\n displayName: string;\n rpId?: string;\n}\n\nexport interface MigrateLegacyEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {\n scopeId: string;\n passcode?: string;\n}\n\nexport interface ImportEmbeddedBackupOptions extends EmbeddedWalletScopeOptions {\n /** When true, replaces an existing vault on this device (e.g. intentional restore). */\n replaceExisting?: boolean;\n}\n\nexport interface ClearEmbeddedWalletOptions extends EmbeddedWalletScopeOptions {}\n\nexport interface AcknowledgeEmbeddedBackupOptions extends EmbeddedWalletScopeOptions {}\n\nexport interface EmbeddedWalletSession {\n address: string;\n vault: EmbeddedWalletVaultV1;\n signer: OfflineDirectSigner;\n}\n\nlet activeSession: EmbeddedWalletSession | null = null;\nlet activeScopeId: string | undefined;\n\nfunction resolveScopeId(scopeId?: string): string | undefined {\n const trimmed = scopeId?.trim();\n return trimmed || undefined;\n}\n\nfunction scopeFromOptions(options?: EmbeddedWalletScopeOptions): string | undefined {\n return resolveScopeId(options?.scopeId);\n}\n\nasync function loadVaultForScope(scopeId?: string): Promise<EmbeddedWalletVaultV1 | null> {\n return loadVaultFromIndexedDb({ scopeId });\n}\n\nexport function vaultUsesPasskeyUnlock(vault: EmbeddedWalletVaultV1): boolean {\n return vault.kdf === EMBEDDED_WALLET_KDF_PRF || vault.kdf === EMBEDDED_WALLET_KDF_PBKDF2;\n}\n\nexport function vaultUsesPasscodeUnlock(vault: EmbeddedWalletVaultV1): boolean {\n return vault.kdf === EMBEDDED_WALLET_KDF_PIN;\n}\n\nfunction isPasscodeDecryptFailure(err: unknown): boolean {\n return err instanceof EmbeddedWalletDecryptError;\n}\n\nasync function decryptVaultWithPasscodeProtected(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n): Promise<EmbeddedWalletPlaintext> {\n if (!vaultUsesPasscodeUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Vault does not use passcode unlock\");\n }\n if (!passcode) {\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\n }\n\n await assertPasscodeUnlockAllowed(vault.publicAddress);\n\n try {\n const plaintext = await decryptVaultWithUnlockMaterial(vault, passcode);\n await recordPasscodeUnlockSuccess(vault.publicAddress);\n return plaintext;\n } catch (err) {\n if (isPasscodeDecryptFailure(err)) {\n await recordPasscodeUnlockFailure(vault.publicAddress);\n }\n throw err;\n }\n}\n\nasync function deriveKekFromPasskeyMaterial(\n vault: EmbeddedWalletVaultV1,\n prfOutput: Uint8Array | null,\n authenticatorData: Uint8Array,\n clientDataJSON: Uint8Array,\n): Promise<Uint8Array> {\n const caps = detectWebAuthnPrfCapabilities();\n const kdf = selectEmbeddedWalletKdf(caps, prfOutput);\n\n if (kdf === EMBEDDED_WALLET_KDF_PRF && prfOutput) {\n return deriveKekFromPrf(prfOutput);\n }\n\n if (vault.kdf !== EMBEDDED_WALLET_KDF_PBKDF2 || !vault.kdfSalt) {\n throw new EmbeddedWalletVaultError(\"Vault expects PBKDF2 but passkey material unavailable\");\n }\n\n const salt = decodeCredentialId(vault.kdfSalt);\n const material = createPasskeyMaterialFromAssertion(authenticatorData, clientDataJSON);\n return deriveKekFromPbkdf2(material, salt, vault.kdfIterations || undefined);\n}\n\nasync function deriveKekForVault(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n passkeyMaterial?: {\n prfOutput: Uint8Array | null;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n },\n): Promise<Uint8Array> {\n if (vaultUsesPasscodeUnlock(vault)) {\n if (!passcode) {\n throw new EmbeddedWalletVaultError(\"Passcode is required to unlock this wallet\");\n }\n if (!vault.kdfSalt) {\n throw new EmbeddedWalletVaultError(\"PIN vault is missing kdfSalt\");\n }\n const salt = decodeCredentialId(vault.kdfSalt);\n return deriveKekFromPasscode(passcode, salt, vault.kdfIterations || undefined);\n }\n\n if (!passkeyMaterial) {\n throw new EmbeddedWalletVaultError(\"Passkey authentication is required to unlock this wallet\");\n }\n\n return deriveKekFromPasskeyMaterial(\n vault,\n passkeyMaterial.prfOutput,\n passkeyMaterial.authenticatorData,\n passkeyMaterial.clientDataJSON,\n );\n}\n\nasync function decryptVaultWithUnlockMaterial(\n vault: EmbeddedWalletVaultV1,\n passcode: string | undefined,\n passkeyMaterial?: {\n prfOutput: Uint8Array | null;\n authenticatorData: Uint8Array;\n clientDataJSON: Uint8Array;\n },\n): Promise<EmbeddedWalletPlaintext> {\n const kek = await deriveKekForVault(vault, passcode, passkeyMaterial);\n return decryptWalletPayload(vault, kek);\n}\n\nasync function encryptPlaintextWithPasscode(\n plaintext: EmbeddedWalletPlaintext,\n passcode: string,\n backupAcknowledged = false,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n assertPasscodeAllowedForCreation(passcode);\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\n const [account] = await previewSigner.getAccounts();\n\n const salt = createPbkdf2Salt();\n const kek = await deriveKekFromPasscode(passcode, salt);\n\n const vault = await encryptWalletPayload(plaintext, {\n kdf: EMBEDDED_WALLET_KDF_PIN,\n credentialId: new Uint8Array(0),\n publicAddress: account.address,\n kek,\n kdfSalt: salt,\n kdfIterations: EMBEDDED_WALLET_PIN_PBKDF2_ITERATIONS,\n backupAcknowledged,\n });\n\n return { address: account.address, vault };\n}\n\nasync function encryptPlaintextWithPasskeyRegistration(\n plaintext: EmbeddedWalletPlaintext,\n registration: Awaited<ReturnType<typeof registerPasskey>>,\n backupAcknowledged = false,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const previewSigner = await embeddedPlaintextToSigner(plaintext);\n const [account] = await previewSigner.getAccounts();\n\n const caps = detectWebAuthnPrfCapabilities();\n const kdf = selectEmbeddedWalletKdf(caps, registration.prfOutput);\n let kek: Uint8Array;\n let kdfSalt: Uint8Array | undefined;\n let prfSalt: Uint8Array | undefined;\n\n if (kdf === EMBEDDED_WALLET_KDF_PRF && registration.prfOutput) {\n kek = await deriveKekFromPrf(registration.prfOutput);\n prfSalt = registration.prfSalt;\n } else {\n kdfSalt = createPbkdf2Salt();\n const material = createPasskeyMaterialFromAssertion(\n registration.authenticatorData,\n registration.clientDataJSON,\n );\n kek = await deriveKekFromPbkdf2(material, kdfSalt);\n }\n\n const vault = await encryptWalletPayload(plaintext, {\n kdf,\n credentialId: registration.credentialId,\n publicAddress: account.address,\n kek,\n kdfSalt,\n prfSalt,\n backupAcknowledged,\n });\n\n return { address: account.address, vault };\n}\n\nasync function unlockVaultToSession(\n vault: EmbeddedWalletVaultV1,\n options: UnlockEmbeddedWalletOptions = {},\n): Promise<EmbeddedWalletSession> {\n if (vaultUsesPasscodeUnlock(vault)) {\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\n activeSession = session;\n activeScopeId = scopeFromOptions(options);\n return session;\n }\n\n const credentialId = decodeCredentialId(vault.credentialId);\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\n const plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n const session: EmbeddedWalletSession = { address: account.address, vault, signer };\n activeSession = session;\n activeScopeId = scopeFromOptions(options);\n return session;\n}\n\n/** Returns true if an encrypted vault exists under the given scope (not the legacy key). */\nexport async function hasEmbeddedWallet(options: EmbeddedWalletScopeOptions = {}): Promise<boolean> {\n const vault = await loadVaultForScope(scopeFromOptions(options));\n return vault != null;\n}\n\n/** Returns true if an unscoped legacy vault still exists under the \"primary\" key. */\nexport async function hasLegacyEmbeddedWallet(): Promise<boolean> {\n const vault = await loadVaultFromIndexedDb();\n return vault != null;\n}\n\n/**\n * Verify ownership of a legacy \"primary\" vault, copy it to a scoped key, and remove the legacy entry.\n * Does not run automatically — callers must confirm with the user first.\n */\nexport async function migrateLegacyEmbeddedWallet(\n options: MigrateLegacyEmbeddedWalletOptions,\n): Promise<EmbeddedWalletSession> {\n const scopeId = resolveScopeId(options.scopeId);\n if (!scopeId) {\n throw new EmbeddedWalletVaultError(\"scopeId is required to migrate a legacy wallet\");\n }\n\n const scopedVault = await loadVaultForScope(scopeId);\n if (scopedVault) {\n throw new EmbeddedWalletVaultError(\"A scoped wallet already exists for this account\");\n }\n\n const legacyVault = await loadVaultFromIndexedDb();\n if (!legacyVault) {\n throw new EmbeddedWalletVaultError(\"No legacy embedded wallet found on this device\");\n }\n\n const session = await unlockVaultToSession(legacyVault, { passcode: options.passcode });\n await saveVaultToIndexedDb(legacyVault, { scopeId });\n await clearVaultFromIndexedDb();\n activeScopeId = scopeId;\n return session;\n}\n\n/** Create passcode-protected encrypted vault; does not unlock signer until backup is acknowledged. */\nexport async function createEmbeddedWallet(\n options: CreateEmbeddedWalletOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const scopeId = scopeFromOptions(options);\n const existing = await loadVaultForScope(scopeId);\n if (existing && !options.replaceExisting) {\n throw new EmbeddedWalletVaultError(\n \"An embedded wallet already exists on this account; pass replaceExisting to create over it\",\n );\n }\n\n const createdAt = new Date().toISOString();\n const plaintext = await createHdDerivedPlaintext(createdAt);\n const { address, vault } = await encryptPlaintextWithPasscode(plaintext, options.passcode);\n\n await saveVaultToIndexedDb(vault, { scopeId });\n lockEmbeddedWallet();\n activeScopeId = scopeId;\n return { address, vault };\n}\n\n/**\n * Re-authenticate and return the recovery phrase plus UI warnings.\n * Call only after showing {@link EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING} (and the\n * direct-entropy portability warning when applicable).\n */\nexport async function revealEmbeddedRecoveryPhrase(\n options: RevealEmbeddedRecoveryPhraseOptions = {},\n): Promise<EmbeddedWalletRecoveryPhraseReveal> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n\n let plaintext: EmbeddedWalletPlaintext;\n if (vaultUsesPasscodeUnlock(vault)) {\n plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n } else {\n const credentialId = decodeCredentialId(vault.credentialId);\n const prfSalt = vault.prfSalt ? decodeCredentialId(vault.prfSalt) : undefined;\n const assertion = await assertPasskey({ credentialId, rpId: undefined, prfSalt });\n plaintext = await decryptVaultWithUnlockMaterial(vault, undefined, assertion);\n }\n\n const keyType = resolvePlaintextKeyType(plaintext);\n const mnemonic = recoveryMnemonicFromPlaintext(plaintext);\n const signer = await embeddedPlaintextToSigner(plaintext);\n const [account] = await signer.getAccounts();\n\n const warnings = [EMBEDDED_WALLET_RECOVERY_PHRASE_GENERAL_WARNING];\n if (keyType === EMBEDDED_WALLET_KEY_DIRECT_ENTROPY) {\n warnings.push(EMBEDDED_WALLET_RECOVERY_PHRASE_DIRECT_ENTROPY_WARNING);\n }\n\n return {\n mnemonic,\n keyType,\n address: account.address,\n warnings,\n };\n}\n\n/**\n * Restore an embedded wallet on a new device from a recovery phrase.\n * Sets a new passcode and stores an encrypted vault in IndexedDB.\n */\nexport async function recoverEmbeddedWalletFromMnemonic(\n options: RecoverEmbeddedWalletOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1; keyType: EmbeddedWalletKeyType }> {\n const scopeId = scopeFromOptions(options);\n const existing = await loadVaultForScope(scopeId);\n if (existing && !options.replaceExisting) {\n throw new EmbeddedWalletVaultError(\n \"An embedded wallet already exists on this device; pass replaceExisting to recover over it\",\n );\n }\n\n const hdPath = options.hdPath ?? defaultEmbeddedHdPath();\n let keyType = options.keyType;\n if (!keyType && options.expectedAddress) {\n keyType = await detectRecoveryMnemonicKeyType(\n options.mnemonic,\n options.expectedAddress,\n hdPath,\n );\n }\n if (!keyType) {\n keyType = EMBEDDED_WALLET_KEY_HD_DERIVED;\n }\n\n const createdAt = new Date().toISOString();\n const plaintext = await plaintextFromRecoveryMnemonic(\n options.mnemonic,\n keyType,\n createdAt,\n hdPath,\n );\n const address = await recoveryMnemonicAddress(options.mnemonic, keyType, hdPath);\n\n if (options.expectedAddress && address !== options.expectedAddress) {\n throw new EmbeddedWalletVaultError(\n \"Recovered wallet address does not match expectedAddress\",\n );\n }\n\n const result = await encryptPlaintextWithPasscode(plaintext, options.passcode);\n if (result.address !== address) {\n throw new EmbeddedWalletVaultError(\"Internal error: recovered address mismatch\");\n }\n\n await saveVaultToIndexedDb(result.vault, { scopeId });\n lockEmbeddedWallet();\n activeScopeId = scopeId;\n return { address: result.address, vault: result.vault, keyType };\n}\n\n/**\n * Opt-in upgrade: re-wrap an existing passcode vault with passkey unlock.\n * Does not change the underlying private key or address.\n */\nexport async function enableEmbeddedPasskeyUnlock(\n options: EnableEmbeddedPasskeyUnlockOptions,\n): Promise<{ address: string; vault: EmbeddedWalletVaultV1 }> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n if (vaultUsesPasskeyUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Passkey unlock is already enabled for this wallet\");\n }\n if (!vaultUsesPasscodeUnlock(vault)) {\n throw new EmbeddedWalletVaultError(\"Unsupported vault unlock method for passkey upgrade\");\n }\n\n const addressBefore = vault.publicAddress;\n const backupAcknowledged = vault.backupAcknowledged;\n const plaintext = await decryptVaultWithPasscodeProtected(vault, options.passcode);\n\n const registration = await registerPasskey({\n userId: options.userId,\n userName: options.userName,\n displayName: options.displayName,\n rpId: options.rpId,\n });\n\n const result = await encryptPlaintextWithPasskeyRegistration(\n plaintext,\n registration,\n backupAcknowledged,\n );\n\n if (result.address !== addressBefore) {\n throw new EmbeddedWalletVaultError(\"Passkey upgrade must not change wallet address\");\n }\n\n await saveVaultToIndexedDb(result.vault, { scopeId });\n if (activeSession) {\n activeSession = { ...activeSession, vault: result.vault };\n }\n lockEmbeddedWallet();\n return result;\n}\n\n/** Unlock existing vault with passcode (default) or passkey (opt-in upgrade path). */\nexport async function unlockEmbeddedWallet(\n options: UnlockEmbeddedWalletOptions = {},\n): Promise<EmbeddedWalletSession> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n return unlockVaultToSession(vault, options);\n}\n\n/** Clear in-memory signer. */\nexport function lockEmbeddedWallet(): void {\n activeSession = null;\n activeScopeId = undefined;\n}\n\nexport function getEmbeddedWalletSession(): EmbeddedWalletSession | null {\n return activeSession;\n}\n\n/** Offline signer for CosmJS; enforces backup gate before signing. */\nexport function getEmbeddedOfflineSigner(): OfflineDirectSigner {\n if (!activeSession) {\n throw new EmbeddedWalletVaultError(\"Embedded wallet is locked\");\n }\n assertVaultPermitsTransaction(activeSession.vault);\n\n const inner = activeSession.signer;\n return {\n getAccounts: () => inner.getAccounts(),\n signDirect: (signerAddress, signDoc) => inner.signDirect(signerAddress, signDoc),\n };\n}\n\n/** Mark backup downloaded/acknowledged and persist. Returns backup file payload. */\nexport async function acknowledgeEmbeddedBackup(\n options: AcknowledgeEmbeddedBackupOptions = {},\n): Promise<EmbeddedWalletBackupFileV1> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n const vault = await loadVaultForScope(scopeId);\n if (!vault) {\n throw new EmbeddedWalletVaultError(\"No embedded wallet found on this device\");\n }\n const updated = markVaultBackupAcknowledged(vault);\n await saveVaultToIndexedDb(updated, { scopeId });\n if (activeSession) {\n activeSession = { ...activeSession, vault: updated };\n }\n return exportEncryptedBackup(updated);\n}\n\nexport function downloadEmbeddedBackupFile(backup: EmbeddedWalletBackupFileV1, filename?: string): void {\n const blob = new Blob([serializeBackupFile(backup)], { type: \"application/json\" });\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = filename ?? `kingdom-os-wallet-backup-${backup.vault.publicAddress}.json`;\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\n/** Restore vault from user-held backup file (requires passcode or passkey to decrypt). */\nexport async function importEmbeddedBackup(\n json: string,\n options: ImportEmbeddedBackupOptions = {},\n): Promise<EmbeddedWalletVaultV1> {\n const scopeId = scopeFromOptions(options);\n const existing = await loadVaultForScope(scopeId);\n if (existing && !options.replaceExisting) {\n throw new EmbeddedWalletVaultError(\n \"An embedded wallet already exists on this device; pass replaceExisting to import over it\",\n );\n }\n\n const backup = parseEncryptedBackup(json);\n await saveVaultToIndexedDb(backup.vault, { scopeId });\n lockEmbeddedWallet();\n activeScopeId = scopeId;\n return backup.vault;\n}\n\nexport async function clearEmbeddedWallet(options: ClearEmbeddedWalletOptions = {}): Promise<void> {\n const scopeId = scopeFromOptions(options) ?? activeScopeId;\n lockEmbeddedWallet();\n await clearVaultFromIndexedDb({ scopeId });\n}\n","import type { EncodeObject } from \"@cosmjs/proto-signing\";\n\nimport {\n ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\n attestationSignPayload,\n providerSeedFromHex,\n signAttestationPayload,\n type AttestationPayloadInput,\n} from \"./attestation\";\nimport { MsgSubmitApplication } from \"./registry\";\n\nexport interface SubmitApplicationParams {\n applicantWallet: string;\n applicationId: string;\n chainId: string;\n providerId: string;\n policyVersion: string;\n providerSeedHex: string;\n nonce: string;\n uniquenessReference: string;\n issuedAt: Date;\n expiresAt: Date;\n providerKeyVersion?: bigint;\n}\n\nexport function buildSubmitApplicationMsg(\n applicantWallet: string,\n applicationId: string,\n attestationInput: AttestationPayloadInput,\n signature: string,\n): EncodeObject {\n return {\n typeUrl: \"/isatheword.kingdomchain.compliance.v1.MsgSubmitApplication\",\n value: MsgSubmitApplication.fromPartial({\n applicant_wallet: applicantWallet,\n application_id: applicationId,\n provider_id: attestationInput.providerId,\n provider_key_version: attestationInput.providerKeyVersion,\n chain_id: attestationInput.chainId,\n case_id: attestationInput.caseId,\n policy_version: attestationInput.policyVersion,\n nonce: attestationInput.nonce,\n uniqueness_reference: attestationInput.uniquenessReference,\n issued_at: attestationInput.issuedAt,\n expires_at: attestationInput.expiresAt,\n signature,\n }),\n };\n}\n\nexport async function signCitizenshipAttestation(\n params: SubmitApplicationParams,\n): Promise<{ signature: string; input: AttestationPayloadInput }> {\n const input: AttestationPayloadInput = {\n attestationType: ATTESTATION_TYPE_CITIZENSHIP_APPLICATION,\n chainId: params.chainId,\n intendedWallet: params.applicantWallet,\n caseId: params.applicationId,\n policyVersion: params.policyVersion,\n nonce: params.nonce,\n uniquenessReference: params.uniquenessReference,\n issuedAt: params.issuedAt,\n expiresAt: params.expiresAt,\n providerId: params.providerId,\n providerKeyVersion: params.providerKeyVersion ?? 1n,\n };\n const payload = attestationSignPayload(input);\n const providerSeed = providerSeedFromHex(params.providerSeedHex);\n const signature = await signAttestationPayload(providerSeed, payload);\n return { signature, input };\n}\n","import { UKDR_DECIMALS, UKDR_MINIMAL_DENOM } from \"./chainConstants\";\n\n/** Parse a human KDR amount (e.g. \"2\" or \"2.5\") into ukdr base units string. */\nexport function parseKdrToUkdr(amountKdr: string): string {\n const trimmed = amountKdr.trim();\n if (!trimmed) {\n throw new Error(\"Amount is required\");\n }\n if (!/^\\d+(\\.\\d+)?$/.test(trimmed)) {\n throw new Error(\"Amount must be a positive number\");\n }\n const [whole, frac = \"\"] = trimmed.split(\".\");\n if (frac.length > UKDR_DECIMALS) {\n throw new Error(`Amount supports at most ${UKDR_DECIMALS} decimal places`);\n }\n const paddedFrac = frac.padEnd(UKDR_DECIMALS, \"0\");\n const ukdr = BigInt(whole + paddedFrac);\n if (ukdr <= 0n) {\n throw new Error(\"Amount must be greater than zero\");\n }\n return ukdr.toString();\n}\n\n/** Format ukdr base units as KDR with up to 6 decimal places (trailing zeros trimmed). */\nexport function formatUkdrAsKdr(amountUkdr: string | bigint): string {\n const raw = typeof amountUkdr === \"bigint\" ? amountUkdr : BigInt(amountUkdr || \"0\");\n const negative = raw < 0n;\n const abs = negative ? -raw : raw;\n const whole = abs / 1_000_000n;\n const frac = abs % 1_000_000n;\n let fracStr = frac.toString().padStart(UKDR_DECIMALS, \"0\").replace(/0+$/, \"\");\n const formatted = fracStr ? `${whole}.${fracStr}` : whole.toString();\n return negative ? `-${formatted}` : formatted;\n}\n\nexport function ukdrCoin(amountUkdr: string | bigint) {\n return {\n denom: UKDR_MINIMAL_DENOM,\n amount: typeof amountUkdr === \"bigint\" ? amountUkdr.toString() : amountUkdr,\n };\n}\n","import type { FinalizedReward } from \"./generated/isatheword/kingdomchain/citizenrewards/v1/citizenrewards\";\nimport { UKDR_MINIMAL_DENOM } from \"./chainConstants\";\n\nexport class RestQueryError extends Error {\n constructor(\n message: string,\n public readonly status?: number,\n cause?: unknown,\n ) {\n super(message, { cause });\n this.name = \"RestQueryError\";\n }\n}\n\nasync function restGet<T>(restUrl: string, path: string): Promise<T> {\n const base = restUrl.replace(/\\/$/, \"\");\n const res = await fetch(`${base}${path}`);\n if (!res.ok) {\n const body = await res.text().catch(() => \"\");\n throw new RestQueryError(\n body ? `LCD request failed (${res.status}): ${body}` : `LCD request failed (${res.status})`,\n res.status,\n );\n }\n return (await res.json()) as T;\n}\n\nexport interface BankBalanceResponse {\n balances: Array<{ denom: string; amount: string }>;\n}\n\n/** Fetch ukdr balance for an address via LCD bank query. */\nexport async function fetchUkdrBalance(restUrl: string, address: string): Promise<string> {\n const data = await restGet<BankBalanceResponse>(\n restUrl,\n `/cosmos/bank/v1beta1/balances/${encodeURIComponent(address)}`,\n );\n const coin = data.balances.find((b) => b.denom === UKDR_MINIMAL_DENOM);\n return coin?.amount ?? \"0\";\n}\n\nexport interface UnclaimedRewardsResponse {\n rewards: FinalizedReward[];\n}\n\n/** List finalized, unexpired, unclaimed rewards for a citizen wallet. */\nexport async function fetchUnclaimedFinalizedRewards(\n restUrl: string,\n address: string,\n): Promise<FinalizedReward[]> {\n const data = await restGet<UnclaimedRewardsResponse>(\n restUrl,\n `/isatheword/kingdomchain/citizenrewards/v1/unclaimed_finalized_rewards/${encodeURIComponent(address)}`,\n );\n return data.rewards ?? [];\n}\n\nexport interface FeeGrantAllowancesResponse {\n allowances: Array<{\n granter: string;\n grantee: string;\n allowance?: unknown;\n }>;\n}\n\n/**\n * Returns the first active feegrant granter for grantee, if any.\n * Kingdom OS should grant claim gas via DEC-010 hot wallet before first claim.\n */\nexport async function fetchFeeGrantGranter(restUrl: string, grantee: string): Promise<string | null> {\n try {\n const data = await restGet<FeeGrantAllowancesResponse>(\n restUrl,\n `/cosmos/feegrant/v1beta1/allowances/${encodeURIComponent(grantee)}`,\n );\n const first = data.allowances?.[0];\n return first?.granter?.trim() || null;\n } catch (err) {\n if (err instanceof RestQueryError && err.status === 404) {\n return null;\n }\n throw err;\n }\n}\n","import type { EncodeObject } from \"@cosmjs/proto-signing\";\nimport type { DeliverTxResponse, IndexedTx, SigningStargateClient, StdFee } from \"@cosmjs/stargate\";\nimport { coins } from \"@cosmjs/stargate\";\n\nimport { parseKdrToUkdr, ukdrCoin } from \"./amount\";\nimport { UKDR_MINIMAL_DENOM } from \"./chainConstants\";\nimport { MsgClaimReward } from \"./generated/isatheword/kingdomchain/citizenrewards/v1/tx\";\n\nexport class CitizenTxError extends Error {\n /** Raw on-chain log from a failed DeliverTx/indexed tx, when available. */\n public readonly rawLog?: string;\n\n constructor(\n message: string,\n public readonly code: CitizenTxErrorCode,\n cause?: unknown,\n rawLog?: string,\n ) {\n super(message, { cause });\n this.name = \"CitizenTxError\";\n this.rawLog = rawLog;\n }\n}\n\nexport type CitizenTxErrorCode =\n | \"INSUFFICIENT_FEE\"\n | \"INSUFFICIENT_BALANCE\"\n | \"SEQUENCE_MISMATCH\"\n | \"TX_FAILED\"\n | \"TIMEOUT\"\n | \"INVALID_INPUT\";\n\nexport interface BroadcastConfirmOptions {\n /** Poll interval while waiting for inclusion (default 1500ms). */\n pollIntervalMs?: number;\n /** Max wait after broadcast before TIMEOUT (default 90s). */\n timeoutMs?: number;\n}\n\nexport interface BroadcastConfirmResult {\n hash: string;\n height: number;\n code: number;\n rawLog: string;\n /** Tx result after broadcast (DeliverTxResponse) or re-indexed confirmation (IndexedTx). */\n deliverTx: DeliverTxResponse | IndexedTx;\n}\n\nconst DEFAULT_GAS = \"200000\";\nconst DEFAULT_FEE_UKDR = \"5000\";\n\nexport function buildSendUkdrMsg(fromAddress: string, toAddress: string, amountKdr: string): EncodeObject {\n if (!fromAddress.trim() || !toAddress.trim()) {\n throw new CitizenTxError(\"Sender and recipient are required\", \"INVALID_INPUT\");\n }\n const amountUkdr = parseKdrToUkdr(amountKdr);\n return {\n typeUrl: \"/cosmos.bank.v1beta1.MsgSend\",\n value: {\n fromAddress,\n toAddress,\n amount: [ukdrCoin(amountUkdr)],\n },\n };\n}\n\nexport function buildClaimRewardMsg(claimer: string, dayId: bigint | number): EncodeObject {\n if (!claimer.trim()) {\n throw new CitizenTxError(\"Claimer address is required\", \"INVALID_INPUT\");\n }\n const day = typeof dayId === \"bigint\" ? dayId : BigInt(dayId);\n if (day <= 0n) {\n throw new CitizenTxError(\"Reward day is required\", \"INVALID_INPUT\");\n }\n return {\n typeUrl: \"/isatheword.kingdomchain.citizenrewards.v1.MsgClaimReward\",\n value: MsgClaimReward.fromPartial({\n claimer,\n day_id: day,\n }),\n };\n}\n\nexport function defaultUkdrTxFee(feeUkdr = DEFAULT_FEE_UKDR, feeGranter?: string): StdFee {\n return {\n amount: coins(feeUkdr, UKDR_MINIMAL_DENOM),\n gas: DEFAULT_GAS,\n ...(feeGranter ? { granter: feeGranter } : {}),\n };\n}\n\nfunction classifyBroadcastFailure(rawLog: string, code: number): CitizenTxErrorCode {\n const log = rawLog.toLowerCase();\n if (log.includes(\"insufficient funds\") || log.includes(\"insufficient fee\")) {\n return log.includes(\"fee\") ? \"INSUFFICIENT_FEE\" : \"INSUFFICIENT_BALANCE\";\n }\n if (log.includes(\"account sequence mismatch\") || log.includes(\"wrong sequence\")) {\n return \"SEQUENCE_MISMATCH\";\n }\n if (code !== 0) {\n return \"TX_FAILED\";\n }\n return \"TX_FAILED\";\n}\n\nexport function citizenTxErrorMessage(code: CitizenTxErrorCode): string {\n switch (code) {\n case \"INSUFFICIENT_FEE\":\n return \"This transaction needs a little more KDR for network fees. If you have not claimed yet, ask support to enable sponsored claim fees.\";\n case \"INSUFFICIENT_BALANCE\":\n return \"You do not have enough KDR for this transfer.\";\n case \"SEQUENCE_MISMATCH\":\n return \"Your wallet is out of sync. Refresh the page and try again.\";\n case \"TIMEOUT\":\n return \"The network is taking longer than usual. Your transaction may still confirm — check again in a moment.\";\n case \"INVALID_INPUT\":\n return \"Please check the amount and address and try again.\";\n case \"TX_FAILED\":\n default:\n return \"The transaction could not be completed. Please try again.\";\n }\n}\n\n/** Broadcast a signed tx and wait until it is indexed with a definitive result code. */\nexport async function broadcastAndConfirmTx(\n client: SigningStargateClient,\n signerAddress: string,\n messages: readonly EncodeObject[],\n fee: StdFee | \"auto\" | number,\n memo = \"\",\n options: BroadcastConfirmOptions = {},\n): Promise<BroadcastConfirmResult> {\n const pollIntervalMs = options.pollIntervalMs ?? 1500;\n const timeoutMs = options.timeoutMs ?? 90_000;\n\n let deliverTx: DeliverTxResponse;\n try {\n deliverTx = await client.signAndBroadcast(signerAddress, messages, fee, memo);\n } catch (err) {\n console.error(\"[citizenTx] broadcast threw before inclusion:\", err);\n const message = err instanceof Error ? err.message : String(err);\n if (message.toLowerCase().includes(\"insufficient\")) {\n throw new CitizenTxError(citizenTxErrorMessage(\"INSUFFICIENT_FEE\"), \"INSUFFICIENT_FEE\", err);\n }\n throw new CitizenTxError(citizenTxErrorMessage(\"TX_FAILED\"), \"TX_FAILED\", err);\n }\n\n if (deliverTx.code !== 0) {\n console.error(\"[citizenTx] deliverTx failed:\", {\n code: deliverTx.code,\n rawLog: deliverTx.rawLog,\n });\n const code = classifyBroadcastFailure(deliverTx.rawLog ?? \"\", deliverTx.code);\n throw new CitizenTxError(citizenTxErrorMessage(code), code, undefined, deliverTx.rawLog ?? \"\");\n }\n\n const hash = deliverTx.transactionHash;\n const deadline = Date.now() + timeoutMs;\n\n while (Date.now() < deadline) {\n const indexed = await client.getTx(hash);\n if (indexed) {\n if (indexed.code !== 0) {\n console.error(\"[citizenTx] indexed tx failed:\", {\n code: indexed.code,\n rawLog: indexed.rawLog,\n });\n const code = classifyBroadcastFailure(indexed.rawLog ?? \"\", indexed.code);\n throw new CitizenTxError(citizenTxErrorMessage(code), code, undefined, indexed.rawLog ?? \"\");\n }\n return {\n hash,\n height: indexed.height,\n code: indexed.code,\n rawLog: indexed.rawLog ?? \"\",\n deliverTx: indexed,\n };\n }\n await sleep(pollIntervalMs);\n }\n\n throw new CitizenTxError(citizenTxErrorMessage(\"TIMEOUT\"), \"TIMEOUT\");\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"]}