@customafk/lunas-api-sdk 0.0.89 → 0.0.91

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.d.cts CHANGED
@@ -9967,6 +9967,9 @@ declare const _createClient: () => {
9967
9967
  uuid: string;
9968
9968
  email: string;
9969
9969
  username: string;
9970
+ profile: {
9971
+ fullname: string;
9972
+ };
9970
9973
  } | null;
9971
9974
  orderManifests: {
9972
9975
  uuid: string;
@@ -11108,6 +11111,9 @@ declare const _createClient: () => {
11108
11111
  uuid: string;
11109
11112
  email: string;
11110
11113
  username: string;
11114
+ profile: {
11115
+ fullname: string;
11116
+ };
11111
11117
  } | null;
11112
11118
  orderManifests: {
11113
11119
  uuid: string;
@@ -12254,6 +12260,9 @@ declare const _createClient: () => {
12254
12260
  uuid: string;
12255
12261
  email: string;
12256
12262
  username: string;
12263
+ profile: {
12264
+ fullname: string;
12265
+ };
12257
12266
  } | null;
12258
12267
  }[];
12259
12268
  pagination: {
@@ -12293,6 +12302,7 @@ declare const _createClient: () => {
12293
12302
  page?: number | undefined;
12294
12303
  isGuest?: boolean | undefined;
12295
12304
  customerUuid?: string | undefined;
12305
+ excludeStatus?: "DRAFT" | "PENDING" | "CONFIRMED" | "PROCESSING" | "COMPLETED" | "CANCELLED" | undefined;
12296
12306
  excludeUserUuid?: string | undefined;
12297
12307
  } | undefined;
12298
12308
  } | undefined) => Promise<Treaty.TreatyResponse<{
@@ -17958,6 +17968,85 @@ declare const _createClient: () => {
17958
17968
  }>>) & {
17959
17969
  '~path': string;
17960
17970
  };
17971
+ status: {
17972
+ patch: ((body: {
17973
+ type: 1 | 5 | 4 | 2 | 3;
17974
+ note?: string | undefined;
17975
+ idHandover?: number | undefined;
17976
+ date?: string | undefined;
17977
+ }, options?: {
17978
+ fetch?: RequestInit | undefined;
17979
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
17980
+ headers?: {} | undefined;
17981
+ query?: {} | undefined;
17982
+ } | undefined) => Promise<Treaty.TreatyResponse<{
17983
+ 200: {
17984
+ success: false;
17985
+ statusCode: number;
17986
+ data: null;
17987
+ message: string;
17988
+ error: TResponseError;
17989
+ meta: TResponseMeta;
17990
+ } | {
17991
+ success: true;
17992
+ statusCode: number;
17993
+ data: {
17994
+ order: ViettelPostRaw;
17995
+ };
17996
+ message: null;
17997
+ error: null;
17998
+ meta: TResponseMeta;
17999
+ };
18000
+ 422: {
18001
+ type: "validation";
18002
+ on: string;
18003
+ summary?: string;
18004
+ message?: string;
18005
+ found?: unknown;
18006
+ property?: string;
18007
+ expected?: string;
18008
+ };
18009
+ }>>) & {
18010
+ '~path': string;
18011
+ };
18012
+ } & {
18013
+ '~path': string;
18014
+ };
18015
+ delete: ((body?: {} | undefined, options?: {
18016
+ fetch?: RequestInit | undefined;
18017
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
18018
+ headers?: {} | undefined;
18019
+ query?: {} | undefined;
18020
+ } | undefined) => Promise<Treaty.TreatyResponse<{
18021
+ 200: {
18022
+ success: false;
18023
+ statusCode: number;
18024
+ data: null;
18025
+ message: string;
18026
+ error: TResponseError;
18027
+ meta: TResponseMeta;
18028
+ } | {
18029
+ success: true;
18030
+ statusCode: number;
18031
+ data: {
18032
+ order: ViettelPostRaw;
18033
+ };
18034
+ message: null;
18035
+ error: null;
18036
+ meta: TResponseMeta;
18037
+ };
18038
+ 422: {
18039
+ type: "validation";
18040
+ on: string;
18041
+ summary?: string;
18042
+ message?: string;
18043
+ found?: unknown;
18044
+ property?: string;
18045
+ expected?: string;
18046
+ };
18047
+ }>>) & {
18048
+ '~path': string;
18049
+ };
17961
18050
  '~path': string;
17962
18051
  } & {
17963
18052
  get: ((options?: {
@@ -17995,6 +18084,85 @@ declare const _createClient: () => {
17995
18084
  }>>) & {
17996
18085
  '~path': string;
17997
18086
  };
18087
+ status: {
18088
+ patch: ((body: {
18089
+ type: 1 | 5 | 4 | 2 | 3;
18090
+ note?: string | undefined;
18091
+ idHandover?: number | undefined;
18092
+ date?: string | undefined;
18093
+ }, options?: {
18094
+ fetch?: RequestInit | undefined;
18095
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
18096
+ headers?: {} | undefined;
18097
+ query?: {} | undefined;
18098
+ } | undefined) => Promise<Treaty.TreatyResponse<{
18099
+ 200: {
18100
+ success: false;
18101
+ statusCode: number;
18102
+ data: null;
18103
+ message: string;
18104
+ error: TResponseError;
18105
+ meta: TResponseMeta;
18106
+ } | {
18107
+ success: true;
18108
+ statusCode: number;
18109
+ data: {
18110
+ order: ViettelPostRaw;
18111
+ };
18112
+ message: null;
18113
+ error: null;
18114
+ meta: TResponseMeta;
18115
+ };
18116
+ 422: {
18117
+ type: "validation";
18118
+ on: string;
18119
+ summary?: string;
18120
+ message?: string;
18121
+ found?: unknown;
18122
+ property?: string;
18123
+ expected?: string;
18124
+ };
18125
+ }>>) & {
18126
+ '~path': string;
18127
+ };
18128
+ } & {
18129
+ '~path': string;
18130
+ };
18131
+ delete: ((body?: {} | undefined, options?: {
18132
+ fetch?: RequestInit | undefined;
18133
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
18134
+ headers?: {} | undefined;
18135
+ query?: {} | undefined;
18136
+ } | undefined) => Promise<Treaty.TreatyResponse<{
18137
+ 200: {
18138
+ success: false;
18139
+ statusCode: number;
18140
+ data: null;
18141
+ message: string;
18142
+ error: TResponseError;
18143
+ meta: TResponseMeta;
18144
+ } | {
18145
+ success: true;
18146
+ statusCode: number;
18147
+ data: {
18148
+ order: ViettelPostRaw;
18149
+ };
18150
+ message: null;
18151
+ error: null;
18152
+ meta: TResponseMeta;
18153
+ };
18154
+ 422: {
18155
+ type: "validation";
18156
+ on: string;
18157
+ summary?: string;
18158
+ message?: string;
18159
+ found?: unknown;
18160
+ property?: string;
18161
+ expected?: string;
18162
+ };
18163
+ }>>) & {
18164
+ '~path': string;
18165
+ };
17998
18166
  }) & {
17999
18167
  post: ((body: {
18000
18168
  senderFullname: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
1
+ {"version":3,"file":"index.d.cts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QACvB,IAAA,EAAA,MAAqB,GAAA,MAAA;MAEvB,CAAA,EAAA,GAAA;QACI,GAAA,EAAA,CAAA,CAAA,OAKL,CALK,EAAA;UAAX,KAAA,CAAA,aAAA,GAAA,SAAA;UAAR,cAAA,CAAA,0CAAA,SAAA;UADyB,OAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;UAAI,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;QAIpB,CAAA,GAAA,SAEK,EAAA,UAAL,sBAAI,CAAA;UAGO,GAAA,EAAA;YAQA,OAAA,EAAA,KAAA;YAGI,UAAA,EAAA,MAAA;YAAwB,IAAA,EAAA,IAAA;YAC7B,OAAA,EAAA,MAAA;YAAwB,KAAA,gBAAA;YACjB,IAAA,eAAA;UACM,CAAA,GAAA;YAC4B,OAAA,EAAA,IAAA;YAyG9C,UAAA,EAAA,MAAA;YAAS,IAAA,EAAA;cAAU,IAAA,EAAA,MAAA;;;;;;;;;;gBAab,SAAA,MAAA;gBAMA,WAAA,EAAA,MAAA,GAAA,IAAA;gBAID,IAAA,EAAA,MAAA;cAKjB,CAAA,EAAA;YAEe,CAAA;YAAoB,OAAA,EAAA,IAAA;YAAR,KAAA,EAAA,IAAA;YACjB,IAAA,eAAA;UAAR,CAAA;UAAO,GAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
package/dist/index.d.mts CHANGED
@@ -9968,6 +9968,9 @@ declare const _createClient: () => {
9968
9968
  uuid: string;
9969
9969
  email: string;
9970
9970
  username: string;
9971
+ profile: {
9972
+ fullname: string;
9973
+ };
9971
9974
  } | null;
9972
9975
  orderManifests: {
9973
9976
  uuid: string;
@@ -11109,6 +11112,9 @@ declare const _createClient: () => {
11109
11112
  uuid: string;
11110
11113
  email: string;
11111
11114
  username: string;
11115
+ profile: {
11116
+ fullname: string;
11117
+ };
11112
11118
  } | null;
11113
11119
  orderManifests: {
11114
11120
  uuid: string;
@@ -12255,6 +12261,9 @@ declare const _createClient: () => {
12255
12261
  uuid: string;
12256
12262
  email: string;
12257
12263
  username: string;
12264
+ profile: {
12265
+ fullname: string;
12266
+ };
12258
12267
  } | null;
12259
12268
  }[];
12260
12269
  pagination: {
@@ -12294,6 +12303,7 @@ declare const _createClient: () => {
12294
12303
  page?: number | undefined;
12295
12304
  isGuest?: boolean | undefined;
12296
12305
  customerUuid?: string | undefined;
12306
+ excludeStatus?: "DRAFT" | "PENDING" | "CONFIRMED" | "PROCESSING" | "COMPLETED" | "CANCELLED" | undefined;
12297
12307
  excludeUserUuid?: string | undefined;
12298
12308
  } | undefined;
12299
12309
  } | undefined) => Promise<Treaty.TreatyResponse<{
@@ -17959,6 +17969,85 @@ declare const _createClient: () => {
17959
17969
  }>>) & {
17960
17970
  '~path': string;
17961
17971
  };
17972
+ status: {
17973
+ patch: ((body: {
17974
+ type: 1 | 5 | 4 | 2 | 3;
17975
+ note?: string | undefined;
17976
+ idHandover?: number | undefined;
17977
+ date?: string | undefined;
17978
+ }, options?: {
17979
+ fetch?: RequestInit | undefined;
17980
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
17981
+ headers?: {} | undefined;
17982
+ query?: {} | undefined;
17983
+ } | undefined) => Promise<Treaty.TreatyResponse<{
17984
+ 200: {
17985
+ success: false;
17986
+ statusCode: number;
17987
+ data: null;
17988
+ message: string;
17989
+ error: TResponseError;
17990
+ meta: TResponseMeta;
17991
+ } | {
17992
+ success: true;
17993
+ statusCode: number;
17994
+ data: {
17995
+ order: ViettelPostRaw;
17996
+ };
17997
+ message: null;
17998
+ error: null;
17999
+ meta: TResponseMeta;
18000
+ };
18001
+ 422: {
18002
+ type: "validation";
18003
+ on: string;
18004
+ summary?: string;
18005
+ message?: string;
18006
+ found?: unknown;
18007
+ property?: string;
18008
+ expected?: string;
18009
+ };
18010
+ }>>) & {
18011
+ '~path': string;
18012
+ };
18013
+ } & {
18014
+ '~path': string;
18015
+ };
18016
+ delete: ((body?: {} | undefined, options?: {
18017
+ fetch?: RequestInit | undefined;
18018
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
18019
+ headers?: {} | undefined;
18020
+ query?: {} | undefined;
18021
+ } | undefined) => Promise<Treaty.TreatyResponse<{
18022
+ 200: {
18023
+ success: false;
18024
+ statusCode: number;
18025
+ data: null;
18026
+ message: string;
18027
+ error: TResponseError;
18028
+ meta: TResponseMeta;
18029
+ } | {
18030
+ success: true;
18031
+ statusCode: number;
18032
+ data: {
18033
+ order: ViettelPostRaw;
18034
+ };
18035
+ message: null;
18036
+ error: null;
18037
+ meta: TResponseMeta;
18038
+ };
18039
+ 422: {
18040
+ type: "validation";
18041
+ on: string;
18042
+ summary?: string;
18043
+ message?: string;
18044
+ found?: unknown;
18045
+ property?: string;
18046
+ expected?: string;
18047
+ };
18048
+ }>>) & {
18049
+ '~path': string;
18050
+ };
17962
18051
  '~path': string;
17963
18052
  } & {
17964
18053
  get: ((options?: {
@@ -17996,6 +18085,85 @@ declare const _createClient: () => {
17996
18085
  }>>) & {
17997
18086
  '~path': string;
17998
18087
  };
18088
+ status: {
18089
+ patch: ((body: {
18090
+ type: 1 | 5 | 4 | 2 | 3;
18091
+ note?: string | undefined;
18092
+ idHandover?: number | undefined;
18093
+ date?: string | undefined;
18094
+ }, options?: {
18095
+ fetch?: RequestInit | undefined;
18096
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
18097
+ headers?: {} | undefined;
18098
+ query?: {} | undefined;
18099
+ } | undefined) => Promise<Treaty.TreatyResponse<{
18100
+ 200: {
18101
+ success: false;
18102
+ statusCode: number;
18103
+ data: null;
18104
+ message: string;
18105
+ error: TResponseError;
18106
+ meta: TResponseMeta;
18107
+ } | {
18108
+ success: true;
18109
+ statusCode: number;
18110
+ data: {
18111
+ order: ViettelPostRaw;
18112
+ };
18113
+ message: null;
18114
+ error: null;
18115
+ meta: TResponseMeta;
18116
+ };
18117
+ 422: {
18118
+ type: "validation";
18119
+ on: string;
18120
+ summary?: string;
18121
+ message?: string;
18122
+ found?: unknown;
18123
+ property?: string;
18124
+ expected?: string;
18125
+ };
18126
+ }>>) & {
18127
+ '~path': string;
18128
+ };
18129
+ } & {
18130
+ '~path': string;
18131
+ };
18132
+ delete: ((body?: {} | undefined, options?: {
18133
+ fetch?: RequestInit | undefined;
18134
+ throwHttpError?: _elysiajs_eden_dist_types_0YqzVuGd0.b | undefined;
18135
+ headers?: {} | undefined;
18136
+ query?: {} | undefined;
18137
+ } | undefined) => Promise<Treaty.TreatyResponse<{
18138
+ 200: {
18139
+ success: false;
18140
+ statusCode: number;
18141
+ data: null;
18142
+ message: string;
18143
+ error: TResponseError;
18144
+ meta: TResponseMeta;
18145
+ } | {
18146
+ success: true;
18147
+ statusCode: number;
18148
+ data: {
18149
+ order: ViettelPostRaw;
18150
+ };
18151
+ message: null;
18152
+ error: null;
18153
+ meta: TResponseMeta;
18154
+ };
18155
+ 422: {
18156
+ type: "validation";
18157
+ on: string;
18158
+ summary?: string;
18159
+ message?: string;
18160
+ found?: unknown;
18161
+ property?: string;
18162
+ expected?: string;
18163
+ };
18164
+ }>>) & {
18165
+ '~path': string;
18166
+ };
17999
18167
  }) & {
18000
18168
  post: ((body: {
18001
18169
  senderFullname: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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;kBCjIO,MAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBACF,SAAlB,MAAA;cAEL,CAAA,EAAA;cACI,UAAA,EAAA;gBAAX,IAAA,EAAA,MAAA;gBAAR,KAAA,EAAA,MAAA;gBADyB,KAAA,EAAA,MAAA;gBAAI,UAAA,EAAA,MAAA;gBAMR,WAAZ,EAAI,OAAA;gBAGO,eAAA,EAAA,OAAA;cAQA,CAAA;YAGI,CAAA;YAAwB,OAAA,EAAA,IAAA;YAC7B,KAAA,EAAA,IAAA;YAAwB,IAAA,eAAA;UACjB,CAAA;UACM,GAAA,EAAA;YAC4B,IAAA,EAAA,YAAA;YAyG9C,EAAA,EAAA,MAAA;YAAS,OAAA,CAAA,EAAA,MAAA;YAAU,OAAA,CAAA,EAAA,MAAA;;;;;;;;;;MAab,CAAA;MAMA,QAAA,EAAA,CAAA,CAAA,MAAA,EAAA;QAID,IAAA,EAAA,MAAA,GAAA,MAAA;MAKjB,CAAA,EAAA,GAAA;QAEe,GAAA,EAAA,CAAA,CAAA,OACN,CADM,EAAA;UAAoB,KAAA,CAAA,aAAA,GAAA,SAAA;UAAR,cAAA,CAAA,0CAAA,SAAA;UACjB,OAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;UAAR,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;QAAO,CAAA,GAAA,SAAA,EAAA,UAAA,sBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
1
+ {"version":3,"file":"index.d.mts","names":["AppType","router","EMediaEntityType","EMimeType","EWeightUnit","EDimensionUnit","ECountry","ERole","EFacebookPostStatus","EProvider","EProductStatus","EProductType","EProductInventoryStatus","ECartStatus","ECartType","ECouponDiscountType","ECouponScopeType","ECouponConditionType","ECouponConditionOperator","ECouponUsageStatus","EExpenseCategory","EExpenseType","EAccrualMethod","TResponsePagination","TResponseError","TResponseMeta","TResponse","T","TPayloadJwt","TEmailTag","TEmailObject","TEmailListItem","Omit","TEmailListResult","TEmailIdResult","TEmailMutationResult","TEmailBatchResult","TAttachmentData","TAttachmentObject","TAttachmentListResult","TInboundAttachment","TReceivedEmailObject","Record","TReceivedEmailListItem","TReceivedEmailListResult"],"sources":["../../app/src/types.d.ts","../../app/src/modules/admin/email/email.types.d.ts","../../app/src/shared/plugins/viettelpost.ts","../src/utils.ts"],"sourcesContent":["import type { AppType } from './router';\n\nexport type AppType = typeof router;\n\nexport enum EMediaEntityType {\n PRODUCT = 'product',\n EXTRA_PRODUCT = 'extra_product',\n VARIANT = 'variant',\n CATEGORY = 'category',\n BRAND = 'brand',\n BLOG_POST = 'blog_post',\n SERIES = 'series',\n}\n\nexport enum EMimeType {\n IMAGE_WEBP = 'image/webp',\n IMAGE_JPEG = 'image/jpeg',\n IMAGE_JPG = 'image/jpg',\n IMAGE_PNG = 'image/png',\n IMAGE_GIF = 'image/gif',\n IMAGE_AVIF = 'image/avif',\n IMAGE_SVG = 'image/svg+xml',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n EDITOR = 'EDITOR',\n VIEWER = 'VIEWER',\n USER = 'USER',\n}\n\nexport enum EFacebookPostStatus {\n DRAFT = 'draft',\n SCHEDULED = 'scheduled',\n PUBLISHED = 'published',\n FAILED = 'failed',\n}\n\nexport enum EProvider {\n BASIC = 'BASIC',\n FACEBOOK = 'FACEBOOK',\n GOOGLE = 'GOOGLE',\n GITHUB = 'GITHUB',\n TWITTER = 'TWITTER',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n PUBLISHED = 'published',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductType {\n REGULAR = 'regular',\n GIFT = 'gift',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n ORDER = 'order',\n PREORDER = 'preorder',\n}\n\nexport enum ECartStatus {\n ACTIVE = 'active',\n COMPLETED = 'completed',\n ABANDONED = 'abandoned',\n EXPIRED = 'expired',\n}\n\nexport enum ECartType {\n IN_STOCK = 'in_stock',\n ORDER = 'order',\n}\n\nexport enum ECouponDiscountType {\n PERCENTAGE = 'PERCENTAGE',\n FIXED_AMOUNT = 'FIXED_AMOUNT',\n FREE_SHIPPING = 'FREE_SHIPPING',\n}\n\nexport enum ECouponScopeType {\n ORDER = 'ORDER',\n PRODUCT = 'PRODUCT',\n SHIPPING = 'SHIPPING',\n}\n\nexport enum ECouponConditionType {\n PRODUCT = 'PRODUCT',\n CATEGORY = 'CATEGORY',\n BRAND = 'BRAND',\n PRODUCT_ATTRIBUTE = 'PRODUCT_ATTRIBUTE',\n ORDER_AMOUNT = 'ORDER_AMOUNT',\n QUANTITY = 'QUANTITY',\n CUSTOMER_GROUP = 'CUSTOMER_GROUP',\n FIRST_ORDER = 'FIRST_ORDER',\n}\n\nexport enum ECouponConditionOperator {\n EQ = 'EQ',\n NEQ = 'NEQ',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GT = 'GT',\n GTE = 'GTE',\n LT = 'LT',\n LTE = 'LTE',\n}\n\nexport enum ECouponUsageStatus {\n APPLIED = 'APPLIED',\n REFUNDED = 'REFUNDED',\n}\n\nexport enum EExpenseCategory {\n RENT = 'RENT',\n SALARIES = 'SALARIES',\n UTILITIES = 'UTILITIES',\n MARKETING = 'MARKETING',\n OFFICE_SUPPLIES = 'OFFICE_SUPPLIES',\n SOFTWARE_SUBSCRIPTION = 'SOFTWARE_SUBSCRIPTION',\n SHIPPING_LOGISTICS = 'SHIPPING_LOGISTICS',\n MAINTENANCE = 'MAINTENANCE',\n PRODUCT_PURCHASE = 'PRODUCT_PURCHASE',\n TAX = 'TAX',\n OTHER = 'OTHER',\n}\n\nexport enum EExpenseType {\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL',\n}\n\nexport enum EAccrualMethod {\n MONTHLY = 'MONTHLY',\n QUARTERLY = 'QUARTERLY',\n YEARLY = 'YEARLY',\n ONE_TIME = 'ONE_TIME',\n}\n\nexport type TResponsePagination = {\n page: number;\n limit: number;\n total: number;\n totalPages: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n};\n\nexport type TResponseError = {\n statusCode: number;\n message: string;\n reference?: string | null;\n fields?: {\n [key: string]: string;\n };\n};\n\nexport type TResponseMeta = {\n version: string;\n timestamp: string;\n path: string;\n pagination?: TResponsePagination;\n};\n\nexport type TResponse<T> = T extends string\n ?\n | {\n success: true;\n statusCode: number;\n data: null;\n message: string;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n }\n :\n | {\n success: true;\n statusCode: number;\n data: T;\n message: null;\n error: null;\n meta: TResponseMeta;\n }\n | {\n success: false;\n statusCode: number;\n data: null;\n message: string;\n error: TResponseError;\n meta: TResponseMeta;\n };\n\nexport type TPayloadJwt = {\n uuid: string;\n role: string;\n};\n\nexport type { AppType };\n","// App-local response types mirroring the Resend SDK shapes. The email module\n// proxies Resend, but its route responses must NOT reference Resend's vendor\n// types directly — those types live under `app/node_modules/resend` and cannot\n// be named portably when the SDK package generates its declaration files.\n// Returning these local types keeps `AppType` (and the generated SDK) portable.\n\nexport type TEmailTag = {\n name: string;\n value: string;\n};\n\nexport type TEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n tags?: TEmailTag[];\n topic_id?: string | null;\n last_event: string;\n scheduled_at: string | null;\n created_at: string;\n};\n\nexport type TEmailListItem = Omit<\n TEmailObject,\n 'html' | 'text' | 'tags' | 'object'\n>;\n\nexport type TEmailListResult = {\n data: TEmailListItem[];\n hasMore: boolean;\n};\n\nexport type TEmailIdResult = {\n id: string;\n};\n\nexport type TEmailMutationResult = {\n id: string;\n object: 'email';\n};\n\nexport type TEmailBatchResult = {\n data: TEmailIdResult[];\n};\n\nexport type TAttachmentData = {\n id: string;\n filename?: string;\n size: number;\n content_type: string;\n content_disposition: 'inline' | 'attachment';\n content_id?: string;\n download_url: string;\n expires_at: string;\n};\n\nexport type TAttachmentObject = TAttachmentData & {\n object: 'attachment';\n};\n\nexport type TAttachmentListResult = {\n data: TAttachmentData[];\n hasMore: boolean;\n};\n\nexport type TInboundAttachment = {\n id: string;\n filename: string | null;\n size: number;\n content_type: string;\n content_id: string | null;\n content_disposition: string | null;\n};\n\nexport type TReceivedEmailObject = {\n id: string;\n object: 'email';\n from: string;\n to: string[];\n subject: string;\n html: string | null;\n text: string | null;\n bcc: string[] | null;\n cc: string[] | null;\n reply_to: string[] | null;\n headers: Record<string, string> | null;\n message_id: string;\n raw?: { download_url: string; expires_at: string } | null;\n attachments: TInboundAttachment[];\n created_at: string;\n};\n\nexport type TReceivedEmailListItem = Omit<\n TReceivedEmailObject,\n 'html' | 'text' | 'headers' | 'raw' | 'object'\n>;\n\nexport type TReceivedEmailListResult = {\n data: TReceivedEmailListItem[];\n hasMore: boolean;\n};\n"],"mappings":"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;kBCjIO,MAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAC9B,CAAA,EAAO,GAAA;QAEF,GAAA,EAAA,CAAA,CAAA,OAAc,CAAd,EAAA;UACI,KAAA,CAAA,aAAA,GAAA,SAAA;UAAX,cAAA,CAAA,0CAAA,SAAA;UAAR,OAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;UADyB,KAAA,CAAA,EAAA,CAAA,CAAA,GAAA,SAAA;QAAI,CAAA,GAAA,SAAA,EAAA,UAAA,sBAAA,CAAA;UAIpB,GAAA,EAEK;YAGM,OAAA,EAAA,KAAA;YAQA,UAAA,EAAA,MAAA;YAGI,IAAA,EAAA,IAAA;YAAwB,OAAA,EAAA,MAAA;YAC7B,KAAA,gBAAA;YAAwB,IAAA,eAAA;UACjB,CAAA,GAAA;YACM,OAAA,EAAA,IAAA;YAC4B,UAAA,EAAA,MAAA;YAyG9C,IAAA,EAAA;cAAS,IAAA,EAAA,MAAA;cAAU,IAAA,EAAA,MAAA;;;;;;;;;;gBAab,WAAA,EAAA,MAAA,GAAA,IAAA;gBAMA,IAAA,EAAA,MAAA;cAID,CAAA,EAAA;YAKjB,CAAA;YAEe,OAAA,EAAA,IAAA;YAAoB,KAAA,EAAA,IAAA;YAAR,IAAA,eAAA;UACjB,CAAA;UAAR,GAAA,EAAA;YAAO,IAAA,EAAA,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlKD,OAAA,GAAU,kBAAkB;KAE5B,KAAA,GAAQ,MAAA,CAAO,KACzB,QAAQ,WAAW;KAGhB,MAAA;;WAEM,KAAK,MAAA,CAAO;;cAGV,SAAA;;;;;eAQS;;0BAGI,wBAAwB;qBAC7B,wBAAwB;4BACjB;kCACM;8DAC4B;;;;;;;;KAyG3B;aAab;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMA;YAID;;;;mBAOF,YAAY,QAAQ;MACjC,QAAQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customafk/lunas-api-sdk",
3
- "version": "0.0.89",
3
+ "version": "0.0.91",
4
4
  "main": "./dist/index.cjs",
5
5
  "scripts": {
6
6
  "build": "tsdown"