@taqueria/protocol 0.41.5 → 0.41.6
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/PluginSchema.d.ts +12 -12
- package/PluginSchema.d.ts.map +1 -1
- package/PluginSchema.js.map +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/taqueria-protocol-types.js.map +1 -1
package/PluginSchema.d.ts
CHANGED
|
@@ -35233,12 +35233,12 @@ export declare const rawSchema: z.ZodObject<{
|
|
|
35233
35233
|
}>, "many">>, Template.Template[] | undefined, unknown>;
|
|
35234
35234
|
}, z.ZodTypeAny, "passthrough">>;
|
|
35235
35235
|
type Input = z.infer<typeof internalSchema> & {
|
|
35236
|
-
proxy
|
|
35236
|
+
proxy?: <T extends RequestArgs.t>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void;
|
|
35237
35237
|
checkRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;
|
|
35238
35238
|
installRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;
|
|
35239
35239
|
};
|
|
35240
35240
|
export type RawPluginSchema = z.infer<typeof rawSchema> & {
|
|
35241
|
-
proxy
|
|
35241
|
+
proxy?: <T extends RequestArgs.t>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void;
|
|
35242
35242
|
checkRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;
|
|
35243
35243
|
installRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;
|
|
35244
35244
|
};
|
|
@@ -35289,7 +35289,7 @@ export declare const generatedSchemas: {
|
|
|
35289
35289
|
} & {
|
|
35290
35290
|
[k: string]: unknown;
|
|
35291
35291
|
} & {
|
|
35292
|
-
proxy
|
|
35292
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35293
35293
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35294
35294
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35295
35295
|
} & {
|
|
@@ -35340,7 +35340,7 @@ export declare const generatedSchemas: {
|
|
|
35340
35340
|
} & {
|
|
35341
35341
|
[k: string]: unknown;
|
|
35342
35342
|
} & {
|
|
35343
|
-
proxy
|
|
35343
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35344
35344
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35345
35345
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35346
35346
|
} & {
|
|
@@ -35390,7 +35390,7 @@ export declare const generatedSchemas: {
|
|
|
35390
35390
|
} & {
|
|
35391
35391
|
[k: string]: unknown;
|
|
35392
35392
|
} & {
|
|
35393
|
-
proxy
|
|
35393
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35394
35394
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35395
35395
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35396
35396
|
} & {
|
|
@@ -35440,7 +35440,7 @@ export declare const generatedSchemas: {
|
|
|
35440
35440
|
} & {
|
|
35441
35441
|
[k: string]: unknown;
|
|
35442
35442
|
} & {
|
|
35443
|
-
proxy
|
|
35443
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35444
35444
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35445
35445
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35446
35446
|
} & {
|
|
@@ -35490,7 +35490,7 @@ export declare const generatedSchemas: {
|
|
|
35490
35490
|
} & {
|
|
35491
35491
|
[k: string]: unknown;
|
|
35492
35492
|
} & {
|
|
35493
|
-
proxy
|
|
35493
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35494
35494
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35495
35495
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35496
35496
|
} & {
|
|
@@ -35543,7 +35543,7 @@ export declare const create: (input: Input | RawPluginSchema) => {
|
|
|
35543
35543
|
} & {
|
|
35544
35544
|
[k: string]: unknown;
|
|
35545
35545
|
} & {
|
|
35546
|
-
proxy
|
|
35546
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35547
35547
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35548
35548
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35549
35549
|
} & {
|
|
@@ -35592,7 +35592,7 @@ export declare const create: (input: Input | RawPluginSchema) => {
|
|
|
35592
35592
|
} & {
|
|
35593
35593
|
[k: string]: unknown;
|
|
35594
35594
|
} & {
|
|
35595
|
-
proxy
|
|
35595
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35596
35596
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35597
35597
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35598
35598
|
} & {
|
|
@@ -35641,7 +35641,7 @@ export declare const create: (input: Input | RawPluginSchema) => {
|
|
|
35641
35641
|
} & {
|
|
35642
35642
|
[k: string]: unknown;
|
|
35643
35643
|
} & {
|
|
35644
|
-
proxy
|
|
35644
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35645
35645
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35646
35646
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35647
35647
|
} & {
|
|
@@ -35692,7 +35692,7 @@ export declare const schemas: {
|
|
|
35692
35692
|
} & {
|
|
35693
35693
|
[k: string]: unknown;
|
|
35694
35694
|
} & {
|
|
35695
|
-
proxy
|
|
35695
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35696
35696
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35697
35697
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35698
35698
|
} & {
|
|
@@ -35741,7 +35741,7 @@ export declare const schemas: {
|
|
|
35741
35741
|
} & {
|
|
35742
35742
|
[k: string]: unknown;
|
|
35743
35743
|
} & {
|
|
35744
|
-
proxy
|
|
35744
|
+
proxy?: (<T extends RequestArgs.RequestArgs>(args: T) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void) | undefined;
|
|
35745
35745
|
checkRuntimeDependencies?: (<T_1 extends RequestArgs.RequestArgs>(args: T_1) => PluginDependenciesResponse) | undefined;
|
|
35746
35746
|
installRuntimeDependencies?: (<T_2 extends RequestArgs.RequestArgs>(args: T_2) => PluginDependenciesResponse) | undefined;
|
|
35747
35747
|
} & {
|
package/PluginSchema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginSchema.d.ts","sourceRoot":"","sources":["PluginSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAeyB,CAAC;AAE9C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"PluginSchema.d.ts","sourceRoot":"","sources":["PluginSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAC;AAE1D,OAAO,KAAK,QAAQ,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAeyB,CAAC;AAE9C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/PluginSchema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PluginSchema.ts","TaqError.ts","out/types/Alias.ts","out/types-zod.ts","Base.ts","out/types/Operation.ts","out/types/ParsedOperation.ts","out/types/ParsedTemplate.ts","out/types/Task.ts","out/types/VersionNumber.ts","PluginInfo.ts","out/types/Template.ts"],"sourcesContent":["import { RequestArgs } from '@taqueria/protocol';\nimport * as Alias from './Alias';\nimport createType from './Base';\nimport * as Operation from './Operation';\nimport * as PluginInfo from './PluginInfo';\nimport * as Template from './Template';\nimport { PluginDependenciesResponse, PluginProxyResponse } from './types';\nimport { z } from 'zod';\n\nconst internalSchema = PluginInfo.internalSchema.extend({\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tOperation.schemas.schema,\n\t\t\t{ description: 'ParsedOperations' },\n\t\t)\n\t\t\t.optional(),\n\t),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTemplate.schemas.schema,\n\t\t).optional(),\n\t),\n}).passthrough().describe('ParsedPluginInfo');\n\nexport const rawSchema = PluginInfo.rawSchema.extend({\n\tname: Alias.rawSchema.optional(),\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tOperation.rawSchema,\n\t\t\t{ description: 'ParsedOperation' },\n\t\t),\n\t)\n\t\t.optional(),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTemplate.schemas.schema,\n\t\t).optional(),\n\t),\n}).passthrough().describe('ParsedPluginInfo');\n\ntype Input = z.infer<typeof internalSchema> & {\n\tproxy: <T extends RequestArgs.t>(\n\t\targs: T,\n\t) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void;\n\tcheckRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n\tinstallRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n};\n\nexport type RawPluginSchema = z.infer<typeof rawSchema> & {\n\tproxy: <T extends RequestArgs.t>(\n\t\targs: T,\n\t) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void;\n\tcheckRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n\tinstallRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n};\n\nexport const { schemas: generatedSchemas, factory } = createType<RawPluginSchema, Input>({\n\trawSchema,\n\tinternalSchema,\n\tparseErrMsg: (value: unknown) =>\n\t\t`The following plugin info gave us trouble when parsing the following plugin information: ${value}`,\n\tunknownErrMsg: 'Something went wrong trying to parse the plugin information',\n});\n\nexport type ParsedPluginInfo = z.infer<typeof generatedSchemas.schema>;\nexport type t = ParsedPluginInfo;\nexport const { create, of, make } = factory;\nexport const schemas = {\n\t...generatedSchemas,\n\tschema: generatedSchemas.schema.transform(val => val as ParsedPluginInfo),\n};\n","import { map, reject } from 'fluture';\nimport { ZodError } from 'zod';\n\nexport type ErrorType =\n\t| 'E_INVALID_PATH_DOES_NOT_EXIST'\n\t| 'E_INVALID_PATH_EXISTS_AND_NOT_AN_EMPTY_DIR'\n\t| 'E_INVALID_PATH_ALREADY_EXISTS'\n\t| 'E_INVALID_CONFIG'\n\t| 'E_INVALID_JSON'\n\t| 'E_FORK'\n\t| 'E_INVALID_TASK'\n\t| 'E_READFILE'\n\t| 'E_NPM_INIT'\n\t| 'E_INVALID_PLUGIN_RESPONSE'\n\t| 'E_INVALID_ARGS'\n\t| 'E_MKDIR_FAILED'\n\t| 'E_GIT_CLONE_FAILED'\n\t| 'E_PROVISION'\n\t| 'E_PARSE'\n\t| 'E_PARSE_UNKNOWN'\n\t| 'E_INVALID_ARCH'\n\t| 'E_NO_PROVISIONS'\n\t| 'E_INTERNAL_LOGICAL_VALIDATION_FAILURE'\n\t| 'E_EXEC'\n\t| 'E_OPT_IN_WARNING'\n\t| 'E_INVALID_OPTION'\n\t| 'E_TAQ_PROJECT_NOT_FOUND';\n\nexport interface TaqError {\n\treadonly kind: ErrorType;\n\tmsg: string;\n\tprevious?: TaqError | Error | unknown;\n\tcontext?: unknown;\n}\n\nexport type t = TaqError;\n\nexport class E_TaqError extends Error {\n\treadonly context;\n\treadonly kind;\n\treadonly previous;\n\tconstructor(taqErr: TaqError) {\n\t\tsuper(taqErr.msg);\n\t\tthis.context = taqErr.context;\n\t\tthis.kind = taqErr.kind;\n\t\tthis.name = this.kind;\n\t\tthis.previous = taqErr.previous;\n\t}\n}\n\nexport const toFutureParseErr = <T>(previous: ZodError, msg: string, context?: unknown) =>\n\treject(toParseErr(previous, msg, context))\n\t\t.pipe(map((val: unknown) => val as T));\n\nexport const toParseErr = (previous: ZodError, msg: string, context?: unknown) =>\n\tcreate({\n\t\tkind: 'E_PARSE',\n\t\tmsg: msg,\n\t\tcontext,\n\t\tprevious,\n\t});\n\nexport const toParseUnknownErr = (previous: Error | TaqError | E_TaqError | unknown, msg: string, context?: unknown) =>\n\tcreate({\n\t\tkind: 'E_PARSE_UNKNOWN',\n\t\tmsg: msg,\n\t\tcontext,\n\t\tprevious,\n\t});\n\nexport const toFutureParseUnknownErr = <T>(\n\tprevious: Error | TaqError | E_TaqError | unknown,\n\tmsg: string,\n\tcontext?: unknown,\n) =>\n\treject(toParseUnknownErr(previous, msg, context))\n\t\t.pipe(map((val: unknown) => val as T));\n\nexport const create = (err: TaqError) => err;\n","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Alias } from '../../types';\nimport { Alias as AliasStrict } from '../types-strict';\nimport { aliasSchema } from '../types-zod';\n\nexport type { AliasStrict as Alias };\n\nexport const from = (input: unknown): AliasStrict => {\n\ttry {\n\t\treturn aliasSchema.parse(input) as AliasStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Alias is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Alias.\")\n\t}\n \n};\n\nexport const create = (input: Alias): AliasStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, AliasStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<AliasStrict, '__type'>): FutureInstance<TaqError, AliasStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: aliasSchema,\n\tschema: aliasSchema.transform(val => val as AliasStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = aliasSchema;\n\nexport type t = AliasStrict;\n ","// Generated by ts-to-zod\nimport { z } from \"zod\";\n\nexport const nonEmptyStringSchema = z.string();\n\nexport const singleCharSchema = nonEmptyStringSchema;\n\nexport const verbSchema = nonEmptyStringSchema;\n\nexport const aliasSchema = z.union([verbSchema, singleCharSchema]);\n\nexport const humanReadableIdentifierSchema = nonEmptyStringSchema;\n\nexport const sanitizedAbsPathSchema = nonEmptyStringSchema;\n\nexport const sanitizedPathSchema = nonEmptyStringSchema;\n\nexport const settingsSchema = z.object({\n consent: z.union([\n z.literal(\"opt_in\"),\n z.literal(\"opt_out\"),\n z.literal(\"unspecified\"),\n ]),\n});\n\nexport const timestampSchema = z.number();\n\nexport const tzSchema = nonEmptyStringSchema;\n\nexport const versionNumberSchema = nonEmptyStringSchema;\n\nexport const urlSchema = nonEmptyStringSchema;\n\nexport const commandSchema = nonEmptyStringSchema;\n\nexport const optionSchema = z.object({\n shortFlag: singleCharSchema.optional(),\n flag: verbSchema,\n description: nonEmptyStringSchema,\n defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional(),\n type: z\n .union([z.literal(\"string\"), z.literal(\"number\"), z.literal(\"boolean\")])\n .optional(),\n required: z.boolean().optional(),\n boolean: z.boolean().optional(),\n choices: z.array(nonEmptyStringSchema).optional(),\n});\n\nexport const positionalArgSchema = z.object({\n placeholder: humanReadableIdentifierSchema,\n description: nonEmptyStringSchema,\n defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional(),\n type: z\n .union([z.literal(\"string\"), z.literal(\"number\"), z.literal(\"boolean\")])\n .optional(),\n required: z.boolean().optional(),\n});\n\nexport const installedPluginSchema = z.object({\n type: z.union([z.literal(\"npm\"), z.literal(\"binary\"), z.literal(\"deno\")]),\n name: nonEmptyStringSchema,\n});\n\nexport const runtimeDependencySchema = z.object({\n name: humanReadableIdentifierSchema,\n path: z.string(),\n version: z.string(),\n kind: z.union([z.literal(\"required\"), z.literal(\"optional\")]),\n});\n\nexport const runtimeDependencyReportSchema = runtimeDependencySchema.extend(\n({\n met: z.boolean(),\n })\n);\n\nexport const pluginDependenciesResponseSchema = z.object({\n report: z.array(runtimeDependencyReportSchema),\n});\n\nexport const pluginJsonResponseSchema = z.union([\n z.object({\n data: z.unknown().optional(),\n messages: z\n .object({\n header: z.string().optional(),\n footer: z.string().optional(),\n })\n .optional(),\n render: z.union([\n z.literal(\"none\"),\n z.literal(\"table\"),\n z.literal(\"string\"),\n ]),\n }),\n z.void(),\n]);\n\nexport const pluginProxyResponseSchema = z.union([\n z.void(),\n pluginJsonResponseSchema,\n]);\n\nexport const pluginResponseEncodingSchema = z.union([\n z.literal(\"none\"),\n z.literal(\"json\"),\n z.literal(\"application/json\"),\n]);\n\nexport const buildNumberSchema = z.number();\n\nexport const sanitizedArgsSchema = z.object({\n _: z.array(z.string()),\n projectDir: sanitizedPathSchema,\n maxConcurrency: z.number(),\n debug: z.boolean(),\n disableState: z.boolean(),\n logPluginRequests: z.boolean(),\n fromVsCode: z.boolean(),\n version: z.boolean(),\n build: z.boolean(),\n help: z.boolean(),\n yes: z.boolean(),\n plugin: nonEmptyStringSchema.optional(),\n env: nonEmptyStringSchema,\n quickstart: nonEmptyStringSchema,\n setBuild: z.union([nonEmptyStringSchema, buildNumberSchema]),\n setVersion: nonEmptyStringSchema,\n}).passthrough();\n\nexport const pluginActionNameSchema = z.union([\n z.literal(\"proxy\"),\n z.literal(\"pluginInfo\"),\n z.literal(\"checkRuntimeDependencies\"),\n z.literal(\"installRuntimeDependencies\"),\n z.literal(\"runPostInstall\"),\n z.literal(\"proxyTemplate\"),\n]);\n\nexport const economicalProtocolHashSchema = z.string();\n\nexport const publicKeyHashSchema = z.string();\n\nexport const sha256Schema = z.string();\n\nexport const contractSchema = z.object({\n sourceFile: nonEmptyStringSchema,\n hash: sha256Schema,\n});\n\nexport const faucetSchema = z.object({\n pkh: publicKeyHashSchema,\n mnemonic: z.array(z.string()),\n email: z.string(),\n password: z.string(),\n amount: z.string(),\n activation_code: z.string(),\n});\n\nconst tzKtConfigPostgresqlPortSchema = z.number();\n\nconst tzKtConfigApiPortSchema = z.number();\n\nexport const tzKtConfigSchema = z.object({\n disableAutostartWithSandbox: z.boolean().optional(),\n postgresqlPort: tzKtConfigPostgresqlPortSchema.optional(),\n apiPort: tzKtConfigApiPortSchema.optional(),\n});\n\nexport const persistedTaskSchema = z.object({\n task: verbSchema,\n plugin: nonEmptyStringSchema,\n time: timestampSchema,\n output: z.unknown().optional(),\n});\n\nexport const persistedOperationSchema = z.object({\n hash: sha256Schema,\n time: timestampSchema,\n output: z.unknown().optional(),\n});\n\nexport const provisionerIDSchema = z.string();\n\nexport const provisionerSchema = z.object({\n id: provisionerIDSchema,\n plugin: nonEmptyStringSchema,\n operation: z.union([nonEmptyStringSchema, z.literal(\"custom\")]),\n command: z.string().optional(),\n label: z.string().optional(),\n depends_on: z.array(provisionerIDSchema).optional(),\n});\n\nexport const provisionsSchema = z.array(provisionerSchema);\n\nexport const environmentSchema = z.object({\n networks: z.array(nonEmptyStringSchema),\n sandboxes: z.array(nonEmptyStringSchema),\n storage: z.record(nonEmptyStringSchema).optional(),\n aliases: z.record(z.record(nonEmptyStringSchema)).optional(),\n});\n\nconst environmentNameSchema = nonEmptyStringSchema;\n\nconst humanLanguageSchema = z.union([z.literal(\"en\"), z.literal(\"fr\")]);\n\nexport const configContractsDirSchema = z.string();\n\nexport const configArtifactsDirSchema = z.string();\n\nexport const currencyAmountV2Schema = z.object({\n amount: z.string(),\n units: z.string(),\n});\n\nconst versionV2Schema = z.string();\n\nexport const sandboxAccountSchema = z.object({\n type: z.string().optional(),\n}).passthrough();\n\nexport const sandboxAccountsSchema = z.record(sandboxAccountSchema);\n\nexport const configEnvironmentFileV2Schema = z.object({\n type: z.string().optional(),\n accounts: sandboxAccountsSchema.optional(),\n accountDefault: z.any().optional(),\n contracts: z\n .record(\n z.object({\n address: z.string().optional(),\n })\n )\n .optional(),\n}).passthrough();\n\nexport const metadataConfigSchema = z.object({\n name: z.string().optional(),\n projectDescription: z.string().optional(),\n authors: z.array(z.string()).optional(),\n license: z.string().optional(),\n homepage: z.string().optional(),\n});\n\nexport const networkAccountConfigSchema = z.object({\n publicKey: nonEmptyStringSchema.optional(),\n publicKeyHash: publicKeyHashSchema.optional(),\n privateKey: nonEmptyStringSchema.optional(),\n mnemonic: nonEmptyStringSchema.optional(),\n});\n\nexport const sandboxAccountConfigSchema = z.object({\n encryptedKey: nonEmptyStringSchema,\n publicKeyHash: publicKeyHashSchema,\n secretKey: nonEmptyStringSchema,\n});\n\nexport const sandboxConfigSchema = z.object({\n label: nonEmptyStringSchema,\n rpcUrl: urlSchema,\n protocol: economicalProtocolHashSchema.optional(),\n plugin: verbSchema.optional(),\n accounts: z\n .record(z.union([sandboxAccountConfigSchema, nonEmptyStringSchema]))\n .optional(),\n tzkt: tzKtConfigSchema.optional(),\n annotations: z.record(z.unknown()).optional(),\n});\n\nexport const scaffoldConfigSchema = z.object({\n postInit: z.string().optional(),\n});\n\nexport const taskSchema = z.object({\n task: verbSchema,\n command: commandSchema,\n aliases: z.array(aliasSchema).optional(),\n description: nonEmptyStringSchema.optional(),\n example: nonEmptyStringSchema.optional(),\n hidden: z.boolean().optional(),\n encoding: pluginResponseEncodingSchema.optional(),\n handler: z.union([z.literal(\"proxy\"), nonEmptyStringSchema]),\n options: z.array(optionSchema).optional(),\n positionals: z.array(positionalArgSchema).optional(),\n});\n\nexport const persistentStateSchema = z.object({\n operations: z.record(persistedOperationSchema),\n tasks: z.record(persistedTaskSchema),\n});\n\nexport const configAccountSchema = z.object({\n balance: currencyAmountV2Schema,\n});\n\nexport const configFileV2Schema = z.object({\n version: versionV2Schema,\n language: humanLanguageSchema.optional(),\n metadata: metadataConfigSchema.optional(),\n artifactsDir: configArtifactsDirSchema.optional(),\n contractsDir: configContractsDirSchema.optional(),\n accounts: z.record(configAccountSchema).optional(),\n contracts: z.record(contractSchema).optional(),\n environmentDefault: environmentNameSchema.optional(),\n environments: z.record(configEnvironmentFileV2Schema).optional(),\n plugins: z.array(installedPluginSchema).optional(),\n});\n\nexport const networkConfigSchema = z.object({\n label: humanReadableIdentifierSchema,\n rpcUrl: urlSchema,\n accounts: z.record(networkAccountConfigSchema).optional(),\n faucet: faucetSchema.optional(),\n});\n\nconst pluginSchemaBaseSchema = z.object({\n name: nonEmptyStringSchema,\n version: versionNumberSchema,\n schema: versionNumberSchema,\n alias: aliasSchema,\n tasks: z.array(taskSchema).optional(),\n postInstall: z.string().optional(),\n});\n\nexport const configSchema = z.object({\n language: humanLanguageSchema.optional(),\n metadata: metadataConfigSchema.optional(),\n artifactsDir: configArtifactsDirSchema.optional(),\n contractsDir: configContractsDirSchema.optional(),\n contracts: z.record(contractSchema).optional(),\n plugins: z.array(installedPluginSchema).optional(),\n accounts: z.record(tzSchema).optional(),\n environment: z.record(z.union([environmentSchema, environmentNameSchema])),\n network: z.record(networkConfigSchema).optional(),\n sandbox: z.record(sandboxConfigSchema).optional(),\n});\n\nexport const configFileV1Schema = z.object({\n language: humanLanguageSchema.optional(),\n plugins: z.array(installedPluginSchema).optional(),\n contractsDir: configContractsDirSchema.optional(),\n artifactsDir: configArtifactsDirSchema.optional(),\n network: z.record(networkConfigSchema).optional(),\n sandbox: z.record(sandboxConfigSchema).optional(),\n environment: z\n .record(z.union([environmentSchema, environmentNameSchema]))\n .optional(),\n accounts: z.record(tzSchema).optional(),\n contracts: z.record(contractSchema).optional(),\n metadata: metadataConfigSchema.optional(),\n});\n\nexport const loadedConfigSchema = configSchema.extend(\n({\n projectDir: sanitizedAbsPathSchema,\n configFile: sanitizedAbsPathSchema,\n hash: sha256Schema,\n })\n);\n\nexport const parsedConfigSchema = configSchema.omit({ sandbox: true }).extend(\n({\n sandbox: z.record(z.union([sandboxConfigSchema, nonEmptyStringSchema])),\n })\n);\n\nexport const requestArgsSchema = sanitizedArgsSchema\n .omit({ quickstart: true })\n .extend(\n({\n taqRun: pluginActionNameSchema,\n config: loadedConfigSchema,\n })\n ).passthrough();\n\nexport const proxyTaskArgsSchema = requestArgsSchema.extend(\n({\n task: nonEmptyStringSchema,\n })\n).passthrough();\n\nexport const proxyTemplateArgsSchema = requestArgsSchema.extend(\n({\n template: nonEmptyStringSchema,\n })\n).passthrough();\n\nexport const operationSchema = z.object({\n operation: verbSchema,\n command: commandSchema,\n description: nonEmptyStringSchema.optional(),\n positionals: z.array(positionalArgSchema).optional(),\n options: z.array(optionSchema).optional(),\n handler: z\n .function()\n .args(persistentStateSchema)\n .returns(z.function().args(requestArgsSchema).returns(z.void()))\n .optional(),\n});\n\nexport const parsedOperationSchema = operationSchema.omit({ handler: true });\n\nconst templateHandlerSchema = z.union([\n nonEmptyStringSchema,\n z\n .function()\n .args(requestArgsSchema)\n .returns(\n z.union([pluginJsonResponseSchema, z.promise(pluginJsonResponseSchema)])\n ),\n z.promise(z.void()),\n]);\n\nexport const templateSchema = z.object({\n template: verbSchema,\n command: commandSchema,\n description: nonEmptyStringSchema,\n hidden: z.boolean().optional(),\n options: z.array(optionSchema).optional(),\n positionals: z.array(positionalArgSchema).optional(),\n handler: templateHandlerSchema,\n encoding: pluginResponseEncodingSchema.optional(),\n});\n\nexport const parsedTemplateSchema = templateSchema.omit({ handler: true }).extend(\n({\n handler: z.string(),\n })\n);\n\nexport const pluginInfoSchema = pluginSchemaBaseSchema.extend(\n({\n operations: z.array(parsedOperationSchema).optional(),\n templates: z.array(parsedTemplateSchema).optional(),\n })\n);\n\nexport const pluginSchemaSchema = pluginSchemaBaseSchema.extend(\n({\n operations: z.array(operationSchema).optional(),\n templates: z.array(templateSchema).optional(),\n proxy: z\n .function()\n .args(requestArgsSchema)\n .returns(z.promise(pluginProxyResponseSchema))\n .optional(),\n checkRuntimeDependencies: z\n .function()\n .args(requestArgsSchema)\n .returns(z.promise(pluginDependenciesResponseSchema))\n .optional(),\n installRuntimeDependencies: z\n .function()\n .args(requestArgsSchema)\n .returns(z.promise(pluginDependenciesResponseSchema))\n .optional(),\n })\n);\n\nexport const ephemeralStateSchema = z.object({\n build: z.string(),\n configHash: z.string(),\n tasks: z.record(installedPluginSchema.and(taskSchema)),\n operations: z.record(installedPluginSchema.and(parsedOperationSchema)),\n templates: z.record(installedPluginSchema.and(parsedTemplateSchema)),\n plugins: z.array(pluginInfoSchema),\n});\n","import { toFutureParseErr, toFutureParseUnknownErr } from './TaqError';\nimport { FutureInstance, resolve } from 'fluture';\nimport { z, ZodError, ZodSchema } from 'zod';\n\ntype Future<L, R> = FutureInstance<L, R>;\n\ntype ErrMsg = string | ((value: unknown, previous?: unknown) => string);\n\ninterface CreateSchemaParams {\n\trawSchema: ZodSchema;\n\tinternalSchema?: ZodSchema;\n\ttransformer?: (value: unknown) => unknown;\n\tisStringLike?: boolean;\n}\n\ninterface CreateTypeParams extends CreateSchemaParams {\n\tparseErrMsg: ErrMsg;\n\tunknownErrMsg: ErrMsg;\n}\nexport type Flatten<T> = { [k in keyof T]: T[k] };\n\nexport const createSchema = <I>(params: CreateSchemaParams) => {\n\tconst { rawSchema, isStringLike } = params;\n\tconst internalSchema = params.internalSchema ?? params.rawSchema;\n\tconst noop = (val: unknown) => val;\n\tconst transformer = params.transformer ?? noop;\n\n\tconst schema = isStringLike\n\t\t? internalSchema\n\t\t\t.transform((val: unknown) =>\n\t\t\t\ttransformer(val) as I & {\n\t\t\t\t\treadonly __type: 'generated' & z.infer<typeof internalSchema>;\n\t\t\t\t}\n\t\t\t)\n\t\t: internalSchema\n\t\t\t.transform((val: unknown) =>\n\t\t\t\ttransformer(val) as Flatten<\n\t\t\t\t\tI & {\n\t\t\t\t\t\treadonly __type: 'generated' & z.infer<typeof internalSchema>;\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t);\n\n\ttype GeneratedSchema = typeof schema;\n\n\treturn {\n\t\trawSchema,\n\t\tinternalSchema,\n\t\tschema,\n\t};\n};\n\n// TODO:\n// TypeScript appears to have a bug with default generic values\n// For instance, I'd like to use this:\n// export const createType = <R, I = R>(params: CreateTypeParams) => {\n//\n// However, I == unknown when having I default to R if no I was given.\n// So, we need to require R and I explicitly\nexport const createType = <R, I>(params: CreateTypeParams) => {\n\tconst schemas = createSchema<I>(params);\n\tconst { parseErrMsg, unknownErrMsg } = params;\n\n\ttype T = z.infer<typeof schemas.schema>;\n\n\tconst internalOf = (input: unknown) => {\n\t\ttry {\n\t\t\treturn resolve<T>(schemas.schema.parse(input));\n\t\t} catch (previous) {\n\t\t\tconst parseMsg = typeof parseErrMsg === 'string'\n\t\t\t\t? parseErrMsg\n\t\t\t\t: parseErrMsg(input, previous);\n\n\t\t\tconst unknownMsg = typeof unknownErrMsg === 'string'\n\t\t\t\t? unknownErrMsg\n\t\t\t\t: unknownErrMsg(input);\n\n\t\t\tif (previous instanceof ZodError) {\n\t\t\t\treturn toFutureParseErr<T>(previous, parseMsg, input);\n\t\t\t}\n\t\t\treturn toFutureParseUnknownErr<T>(previous, unknownMsg, input);\n\t\t}\n\t};\n\tconst of = internalOf;\n\n\tconst make = (input: I) => internalOf(input);\n\n\tconst create = (input: R | I) => schemas.schema.parse(input) as T;\n\n\tconst from = (input: unknown) => schemas.schema.parse(input) as T;\n\n\tconst factory = {\n\t\tmake,\n\t\tof,\n\t\tcreate,\n\t\tfrom,\n\t};\n\n\treturn {\n\t\tschemas,\n\t\tfactory,\n\t};\n};\n\nexport default createType;\n","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Operation } from '../../types';\nimport { Operation as OperationStrict } from '../types-strict';\nimport { operationSchema } from '../types-zod';\n\nexport type { OperationStrict as Operation };\n\nexport const from = (input: unknown): OperationStrict => {\n\ttry {\n\t\treturn operationSchema.parse(input) as OperationStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Operation is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Operation.\")\n\t}\n \n};\n\nexport const create = (input: Operation): OperationStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, OperationStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<OperationStrict, '__type'>): FutureInstance<TaqError, OperationStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: operationSchema,\n\tschema: operationSchema.transform(val => val as OperationStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = operationSchema;\n\nexport type t = OperationStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { ParsedOperation } from '../../types';\nimport { ParsedOperation as ParsedOperationStrict } from '../types-strict';\nimport { parsedOperationSchema } from '../types-zod';\n\nexport type { ParsedOperationStrict as ParsedOperation };\n\nexport const from = (input: unknown): ParsedOperationStrict => {\n\ttry {\n\t\treturn parsedOperationSchema.parse(input) as ParsedOperationStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"ParsedOperation is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a ParsedOperation.\")\n\t}\n \n};\n\nexport const create = (input: ParsedOperation): ParsedOperationStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, ParsedOperationStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<ParsedOperationStrict, '__type'>): FutureInstance<TaqError, ParsedOperationStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: parsedOperationSchema,\n\tschema: parsedOperationSchema.transform(val => val as ParsedOperationStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = parsedOperationSchema;\n\nexport type t = ParsedOperationStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { ParsedTemplate } from '../../types';\nimport { ParsedTemplate as ParsedTemplateStrict } from '../types-strict';\nimport { parsedTemplateSchema } from '../types-zod';\n\nexport type { ParsedTemplateStrict as ParsedTemplate };\n\nexport const from = (input: unknown): ParsedTemplateStrict => {\n\ttry {\n\t\treturn parsedTemplateSchema.parse(input) as ParsedTemplateStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"ParsedTemplate is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a ParsedTemplate.\")\n\t}\n \n};\n\nexport const create = (input: ParsedTemplate): ParsedTemplateStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, ParsedTemplateStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<ParsedTemplateStrict, '__type'>): FutureInstance<TaqError, ParsedTemplateStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: parsedTemplateSchema,\n\tschema: parsedTemplateSchema.transform(val => val as ParsedTemplateStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = parsedTemplateSchema;\n\nexport type t = ParsedTemplateStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Task } from '../../types';\nimport { Task as TaskStrict } from '../types-strict';\nimport { taskSchema } from '../types-zod';\n\nexport type { TaskStrict as Task };\n\nexport const from = (input: unknown): TaskStrict => {\n\ttry {\n\t\treturn taskSchema.parse(input) as TaskStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Task is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Task.\")\n\t}\n \n};\n\nexport const create = (input: Task): TaskStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, TaskStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<TaskStrict, '__type'>): FutureInstance<TaqError, TaskStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: taskSchema,\n\tschema: taskSchema.transform(val => val as TaskStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = taskSchema;\n\nexport type t = TaskStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { VersionNumber } from '../../types';\nimport { VersionNumber as VersionNumberStrict } from '../types-strict';\nimport { versionNumberSchema } from '../types-zod';\n\nexport type { VersionNumberStrict as VersionNumber };\n\nexport const from = (input: unknown): VersionNumberStrict => {\n\ttry {\n\t\treturn versionNumberSchema.parse(input) as VersionNumberStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"VersionNumber is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a VersionNumber.\")\n\t}\n \n};\n\nexport const create = (input: VersionNumber): VersionNumberStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, VersionNumberStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<VersionNumberStrict, '__type'>): FutureInstance<TaqError, VersionNumberStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: versionNumberSchema,\n\tschema: versionNumberSchema.transform(val => val as VersionNumberStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = versionNumberSchema;\n\nexport type t = VersionNumberStrict;\n ","import * as Alias from './Alias';\nimport createType, { Flatten } from './Base';\nimport * as ParsedOperation from './ParsedOperation';\nimport * as ParsedTemplate from './ParsedTemplate';\nimport * as Task from './Task';\nimport * as VersionNumber from './VersionNumber';\nimport { z } from 'zod';\n\nexport const rawSchema = z.object({\n\tname: z.string({ description: 'Plugin Name' }).min(1),\n\tversion: VersionNumber.rawSchema.describe('Plugin Version #'),\n\tschema: VersionNumber.rawSchema.describe('Plugin Schema Version #'),\n\talias: Alias.rawSchema.describe('Plugin Alias'),\n\tpostInstall: z.string().optional(),\n\ttasks: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTask.schemas.schema.describe('Plugin Task'),\n\t\t\t{ description: 'Plugin Tasks' },\n\t\t),\n\t).optional(),\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedOperation.schemas.schema.describe('Plugin Operation'),\n\t\t\t{ description: 'Plugin Operations' },\n\t\t),\n\t).optional(),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedTemplate.schemas.schema.describe('Plugin Template'),\n\t\t),\n\t).optional(),\n});\n\nexport const internalSchema = rawSchema.extend({\n\tversion: VersionNumber.schemas.schema.describe('Plugin Version #'),\n\tschema: VersionNumber.schemas.schema.describe('Plugin Schema Version #'),\n\talias: Alias.schemas.schema.describe('Plugin Alias'),\n\ttasks: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTask.schemas.schema.describe('Plugin Task'),\n\t\t\t{ description: 'Plugin Tasks' },\n\t\t),\n\t).optional(),\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedOperation.schemas.schema.describe('Plugin Operation'),\n\t\t\t{ description: 'Plugin Operations' },\n\t\t),\n\t).optional(),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedTemplate.schemas.schema.describe('Plugin Template'),\n\t\t),\n\t).optional(),\n}).describe('Plugin Schema');\n\n// export const rawSchema = internalSchema;\n\ntype RawInput = z.infer<typeof rawSchema>;\ntype Input = Flatten<z.infer<typeof internalSchema>>;\n\nexport const { schemas, factory } = createType<RawInput, Input>({\n\trawSchema,\n\tinternalSchema,\n\tparseErrMsg: 'The schema returned from the plugin is invalid',\n\tunknownErrMsg: 'Something went wrong parsing the schema from a plugin',\n});\n\nexport type PluginInfo = Flatten<z.infer<typeof schemas.schema>>;\nexport type t = PluginInfo;\nexport const { create, of, make } = factory;\n","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Template } from '../../types';\nimport { Template as TemplateStrict } from '../types-strict';\nimport { templateSchema } from '../types-zod';\n\nexport type { TemplateStrict as Template };\n\nexport const from = (input: unknown): TemplateStrict => {\n\ttry {\n\t\treturn templateSchema.parse(input) as TemplateStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Template is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Template.\")\n\t}\n \n};\n\nexport const create = (input: Template): TemplateStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, TemplateStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<TemplateStrict, '__type'>): FutureInstance<TaqError, TemplateStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: templateSchema,\n\tschema: templateSchema.transform(val => val as TemplateStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = templateSchema;\n\nexport type t = TemplateStrict;\n "],"mappings":"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","names":["create","factory","make","of","rawSchema","schemas","import_fluture","import_zod","import_fluture","import_zod","rawSchema","internalSchema","schemas","of","make","create","factory","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_zod","rawSchema","schemas","create","import_fluture","import_zod","schemas","rawSchema","import_zod","internalSchema","schemas","rawSchema","factory","create","of","make"]}
|
|
1
|
+
{"version":3,"sources":["PluginSchema.ts","TaqError.ts","out/types/Alias.ts","out/types-zod.ts","Base.ts","out/types/Operation.ts","out/types/ParsedOperation.ts","out/types/ParsedTemplate.ts","out/types/Task.ts","out/types/VersionNumber.ts","PluginInfo.ts","out/types/Template.ts"],"sourcesContent":["import { RequestArgs } from '@taqueria/protocol';\nimport * as Alias from './Alias';\nimport createType from './Base';\nimport * as Operation from './Operation';\nimport * as PluginInfo from './PluginInfo';\nimport * as Template from './Template';\nimport { PluginDependenciesResponse, PluginProxyResponse } from './types';\nimport { z } from 'zod';\n\nconst internalSchema = PluginInfo.internalSchema.extend({\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tOperation.schemas.schema,\n\t\t\t{ description: 'ParsedOperations' },\n\t\t)\n\t\t\t.optional(),\n\t),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTemplate.schemas.schema,\n\t\t).optional(),\n\t),\n}).passthrough().describe('ParsedPluginInfo');\n\nexport const rawSchema = PluginInfo.rawSchema.extend({\n\tname: Alias.rawSchema.optional(),\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tOperation.rawSchema,\n\t\t\t{ description: 'ParsedOperation' },\n\t\t),\n\t)\n\t\t.optional(),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTemplate.schemas.schema,\n\t\t).optional(),\n\t),\n}).passthrough().describe('ParsedPluginInfo');\n\ntype Input = z.infer<typeof internalSchema> & {\n\tproxy?: <T extends RequestArgs.t>(\n\t\targs: T,\n\t) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void;\n\tcheckRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n\tinstallRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n};\n\nexport type RawPluginSchema = z.infer<typeof rawSchema> & {\n\tproxy?: <T extends RequestArgs.t>(\n\t\targs: T,\n\t) => PluginProxyResponse | Promise<PluginProxyResponse> | Promise<void> | void;\n\tcheckRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n\tinstallRuntimeDependencies?: <T extends RequestArgs.t>(args: T) => PluginDependenciesResponse;\n};\n\nexport const { schemas: generatedSchemas, factory } = createType<RawPluginSchema, Input>({\n\trawSchema,\n\tinternalSchema,\n\tparseErrMsg: (value: unknown) =>\n\t\t`The following plugin info gave us trouble when parsing the following plugin information: ${value}`,\n\tunknownErrMsg: 'Something went wrong trying to parse the plugin information',\n});\n\nexport type ParsedPluginInfo = z.infer<typeof generatedSchemas.schema>;\nexport type t = ParsedPluginInfo;\nexport const { create, of, make } = factory;\nexport const schemas = {\n\t...generatedSchemas,\n\tschema: generatedSchemas.schema.transform(val => val as ParsedPluginInfo),\n};\n","import { map, reject } from 'fluture';\nimport { ZodError } from 'zod';\n\nexport type ErrorType =\n\t| 'E_INVALID_PATH_DOES_NOT_EXIST'\n\t| 'E_INVALID_PATH_EXISTS_AND_NOT_AN_EMPTY_DIR'\n\t| 'E_INVALID_PATH_ALREADY_EXISTS'\n\t| 'E_INVALID_CONFIG'\n\t| 'E_INVALID_JSON'\n\t| 'E_FORK'\n\t| 'E_INVALID_TASK'\n\t| 'E_READFILE'\n\t| 'E_NPM_INIT'\n\t| 'E_INVALID_PLUGIN_RESPONSE'\n\t| 'E_INVALID_ARGS'\n\t| 'E_MKDIR_FAILED'\n\t| 'E_GIT_CLONE_FAILED'\n\t| 'E_PROVISION'\n\t| 'E_PARSE'\n\t| 'E_PARSE_UNKNOWN'\n\t| 'E_INVALID_ARCH'\n\t| 'E_NO_PROVISIONS'\n\t| 'E_INTERNAL_LOGICAL_VALIDATION_FAILURE'\n\t| 'E_EXEC'\n\t| 'E_OPT_IN_WARNING'\n\t| 'E_INVALID_OPTION'\n\t| 'E_TAQ_PROJECT_NOT_FOUND';\n\nexport interface TaqError {\n\treadonly kind: ErrorType;\n\tmsg: string;\n\tprevious?: TaqError | Error | unknown;\n\tcontext?: unknown;\n}\n\nexport type t = TaqError;\n\nexport class E_TaqError extends Error {\n\treadonly context;\n\treadonly kind;\n\treadonly previous;\n\tconstructor(taqErr: TaqError) {\n\t\tsuper(taqErr.msg);\n\t\tthis.context = taqErr.context;\n\t\tthis.kind = taqErr.kind;\n\t\tthis.name = this.kind;\n\t\tthis.previous = taqErr.previous;\n\t}\n}\n\nexport const toFutureParseErr = <T>(previous: ZodError, msg: string, context?: unknown) =>\n\treject(toParseErr(previous, msg, context))\n\t\t.pipe(map((val: unknown) => val as T));\n\nexport const toParseErr = (previous: ZodError, msg: string, context?: unknown) =>\n\tcreate({\n\t\tkind: 'E_PARSE',\n\t\tmsg: msg,\n\t\tcontext,\n\t\tprevious,\n\t});\n\nexport const toParseUnknownErr = (previous: Error | TaqError | E_TaqError | unknown, msg: string, context?: unknown) =>\n\tcreate({\n\t\tkind: 'E_PARSE_UNKNOWN',\n\t\tmsg: msg,\n\t\tcontext,\n\t\tprevious,\n\t});\n\nexport const toFutureParseUnknownErr = <T>(\n\tprevious: Error | TaqError | E_TaqError | unknown,\n\tmsg: string,\n\tcontext?: unknown,\n) =>\n\treject(toParseUnknownErr(previous, msg, context))\n\t\t.pipe(map((val: unknown) => val as T));\n\nexport const create = (err: TaqError) => err;\n","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Alias } from '../../types';\nimport { Alias as AliasStrict } from '../types-strict';\nimport { aliasSchema } from '../types-zod';\n\nexport type { AliasStrict as Alias };\n\nexport const from = (input: unknown): AliasStrict => {\n\ttry {\n\t\treturn aliasSchema.parse(input) as AliasStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Alias is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Alias.\")\n\t}\n \n};\n\nexport const create = (input: Alias): AliasStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, AliasStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<AliasStrict, '__type'>): FutureInstance<TaqError, AliasStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: aliasSchema,\n\tschema: aliasSchema.transform(val => val as AliasStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = aliasSchema;\n\nexport type t = AliasStrict;\n ","// Generated by ts-to-zod\nimport { z } from \"zod\";\n\nexport const nonEmptyStringSchema = z.string();\n\nexport const singleCharSchema = nonEmptyStringSchema;\n\nexport const verbSchema = nonEmptyStringSchema;\n\nexport const aliasSchema = z.union([verbSchema, singleCharSchema]);\n\nexport const humanReadableIdentifierSchema = nonEmptyStringSchema;\n\nexport const sanitizedAbsPathSchema = nonEmptyStringSchema;\n\nexport const sanitizedPathSchema = nonEmptyStringSchema;\n\nexport const settingsSchema = z.object({\n consent: z.union([\n z.literal(\"opt_in\"),\n z.literal(\"opt_out\"),\n z.literal(\"unspecified\"),\n ]),\n});\n\nexport const timestampSchema = z.number();\n\nexport const tzSchema = nonEmptyStringSchema;\n\nexport const versionNumberSchema = nonEmptyStringSchema;\n\nexport const urlSchema = nonEmptyStringSchema;\n\nexport const commandSchema = nonEmptyStringSchema;\n\nexport const optionSchema = z.object({\n shortFlag: singleCharSchema.optional(),\n flag: verbSchema,\n description: nonEmptyStringSchema,\n defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional(),\n type: z\n .union([z.literal(\"string\"), z.literal(\"number\"), z.literal(\"boolean\")])\n .optional(),\n required: z.boolean().optional(),\n boolean: z.boolean().optional(),\n choices: z.array(nonEmptyStringSchema).optional(),\n});\n\nexport const positionalArgSchema = z.object({\n placeholder: humanReadableIdentifierSchema,\n description: nonEmptyStringSchema,\n defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional(),\n type: z\n .union([z.literal(\"string\"), z.literal(\"number\"), z.literal(\"boolean\")])\n .optional(),\n required: z.boolean().optional(),\n});\n\nexport const installedPluginSchema = z.object({\n type: z.union([z.literal(\"npm\"), z.literal(\"binary\"), z.literal(\"deno\")]),\n name: nonEmptyStringSchema,\n});\n\nexport const runtimeDependencySchema = z.object({\n name: humanReadableIdentifierSchema,\n path: z.string(),\n version: z.string(),\n kind: z.union([z.literal(\"required\"), z.literal(\"optional\")]),\n});\n\nexport const runtimeDependencyReportSchema = runtimeDependencySchema.extend(\n({\n met: z.boolean(),\n })\n);\n\nexport const pluginDependenciesResponseSchema = z.object({\n report: z.array(runtimeDependencyReportSchema),\n});\n\nexport const pluginJsonResponseSchema = z.union([\n z.object({\n data: z.unknown().optional(),\n messages: z\n .object({\n header: z.string().optional(),\n footer: z.string().optional(),\n })\n .optional(),\n render: z.union([\n z.literal(\"none\"),\n z.literal(\"table\"),\n z.literal(\"string\"),\n ]),\n }),\n z.void(),\n]);\n\nexport const pluginProxyResponseSchema = z.union([\n z.void(),\n pluginJsonResponseSchema,\n]);\n\nexport const pluginResponseEncodingSchema = z.union([\n z.literal(\"none\"),\n z.literal(\"json\"),\n z.literal(\"application/json\"),\n]);\n\nexport const buildNumberSchema = z.number();\n\nexport const sanitizedArgsSchema = z.object({\n _: z.array(z.string()),\n projectDir: sanitizedPathSchema,\n maxConcurrency: z.number(),\n debug: z.boolean(),\n disableState: z.boolean(),\n logPluginRequests: z.boolean(),\n fromVsCode: z.boolean(),\n version: z.boolean(),\n build: z.boolean(),\n help: z.boolean(),\n yes: z.boolean(),\n plugin: nonEmptyStringSchema.optional(),\n env: nonEmptyStringSchema,\n quickstart: nonEmptyStringSchema,\n setBuild: z.union([nonEmptyStringSchema, buildNumberSchema]),\n setVersion: nonEmptyStringSchema,\n}).passthrough();\n\nexport const pluginActionNameSchema = z.union([\n z.literal(\"proxy\"),\n z.literal(\"pluginInfo\"),\n z.literal(\"checkRuntimeDependencies\"),\n z.literal(\"installRuntimeDependencies\"),\n z.literal(\"runPostInstall\"),\n z.literal(\"proxyTemplate\"),\n]);\n\nexport const economicalProtocolHashSchema = z.string();\n\nexport const publicKeyHashSchema = z.string();\n\nexport const sha256Schema = z.string();\n\nexport const contractSchema = z.object({\n sourceFile: nonEmptyStringSchema,\n hash: sha256Schema,\n});\n\nexport const faucetSchema = z.object({\n pkh: publicKeyHashSchema,\n mnemonic: z.array(z.string()),\n email: z.string(),\n password: z.string(),\n amount: z.string(),\n activation_code: z.string(),\n});\n\nconst tzKtConfigPostgresqlPortSchema = z.number();\n\nconst tzKtConfigApiPortSchema = z.number();\n\nexport const tzKtConfigSchema = z.object({\n disableAutostartWithSandbox: z.boolean().optional(),\n postgresqlPort: tzKtConfigPostgresqlPortSchema.optional(),\n apiPort: tzKtConfigApiPortSchema.optional(),\n});\n\nexport const persistedTaskSchema = z.object({\n task: verbSchema,\n plugin: nonEmptyStringSchema,\n time: timestampSchema,\n output: z.unknown().optional(),\n});\n\nexport const persistedOperationSchema = z.object({\n hash: sha256Schema,\n time: timestampSchema,\n output: z.unknown().optional(),\n});\n\nexport const provisionerIDSchema = z.string();\n\nexport const provisionerSchema = z.object({\n id: provisionerIDSchema,\n plugin: nonEmptyStringSchema,\n operation: z.union([nonEmptyStringSchema, z.literal(\"custom\")]),\n command: z.string().optional(),\n label: z.string().optional(),\n depends_on: z.array(provisionerIDSchema).optional(),\n});\n\nexport const provisionsSchema = z.array(provisionerSchema);\n\nexport const environmentSchema = z.object({\n networks: z.array(nonEmptyStringSchema),\n sandboxes: z.array(nonEmptyStringSchema),\n storage: z.record(nonEmptyStringSchema).optional(),\n aliases: z.record(z.record(nonEmptyStringSchema)).optional(),\n});\n\nconst environmentNameSchema = nonEmptyStringSchema;\n\nconst humanLanguageSchema = z.union([z.literal(\"en\"), z.literal(\"fr\")]);\n\nexport const configContractsDirSchema = z.string();\n\nexport const configArtifactsDirSchema = z.string();\n\nexport const currencyAmountV2Schema = z.object({\n amount: z.string(),\n units: z.string(),\n});\n\nconst versionV2Schema = z.string();\n\nexport const sandboxAccountSchema = z.object({\n type: z.string().optional(),\n}).passthrough();\n\nexport const sandboxAccountsSchema = z.record(sandboxAccountSchema);\n\nexport const configEnvironmentFileV2Schema = z.object({\n type: z.string().optional(),\n accounts: sandboxAccountsSchema.optional(),\n accountDefault: z.any().optional(),\n contracts: z\n .record(\n z.object({\n address: z.string().optional(),\n })\n )\n .optional(),\n}).passthrough();\n\nexport const metadataConfigSchema = z.object({\n name: z.string().optional(),\n projectDescription: z.string().optional(),\n authors: z.array(z.string()).optional(),\n license: z.string().optional(),\n homepage: z.string().optional(),\n});\n\nexport const networkAccountConfigSchema = z.object({\n publicKey: nonEmptyStringSchema.optional(),\n publicKeyHash: publicKeyHashSchema.optional(),\n privateKey: nonEmptyStringSchema.optional(),\n mnemonic: nonEmptyStringSchema.optional(),\n});\n\nexport const sandboxAccountConfigSchema = z.object({\n encryptedKey: nonEmptyStringSchema,\n publicKeyHash: publicKeyHashSchema,\n secretKey: nonEmptyStringSchema,\n});\n\nexport const sandboxConfigSchema = z.object({\n label: nonEmptyStringSchema,\n rpcUrl: urlSchema,\n protocol: economicalProtocolHashSchema.optional(),\n plugin: verbSchema.optional(),\n accounts: z\n .record(z.union([sandboxAccountConfigSchema, nonEmptyStringSchema]))\n .optional(),\n tzkt: tzKtConfigSchema.optional(),\n annotations: z.record(z.unknown()).optional(),\n});\n\nexport const scaffoldConfigSchema = z.object({\n postInit: z.string().optional(),\n});\n\nexport const taskSchema = z.object({\n task: verbSchema,\n command: commandSchema,\n aliases: z.array(aliasSchema).optional(),\n description: nonEmptyStringSchema.optional(),\n example: nonEmptyStringSchema.optional(),\n hidden: z.boolean().optional(),\n encoding: pluginResponseEncodingSchema.optional(),\n handler: z.union([z.literal(\"proxy\"), nonEmptyStringSchema]),\n options: z.array(optionSchema).optional(),\n positionals: z.array(positionalArgSchema).optional(),\n});\n\nexport const persistentStateSchema = z.object({\n operations: z.record(persistedOperationSchema),\n tasks: z.record(persistedTaskSchema),\n});\n\nexport const configAccountSchema = z.object({\n balance: currencyAmountV2Schema,\n});\n\nexport const configFileV2Schema = z.object({\n version: versionV2Schema,\n language: humanLanguageSchema.optional(),\n metadata: metadataConfigSchema.optional(),\n artifactsDir: configArtifactsDirSchema.optional(),\n contractsDir: configContractsDirSchema.optional(),\n accounts: z.record(configAccountSchema).optional(),\n contracts: z.record(contractSchema).optional(),\n environmentDefault: environmentNameSchema.optional(),\n environments: z.record(configEnvironmentFileV2Schema).optional(),\n plugins: z.array(installedPluginSchema).optional(),\n});\n\nexport const networkConfigSchema = z.object({\n label: humanReadableIdentifierSchema,\n rpcUrl: urlSchema,\n accounts: z.record(networkAccountConfigSchema).optional(),\n faucet: faucetSchema.optional(),\n});\n\nconst pluginSchemaBaseSchema = z.object({\n name: nonEmptyStringSchema,\n version: versionNumberSchema,\n schema: versionNumberSchema,\n alias: aliasSchema,\n tasks: z.array(taskSchema).optional(),\n postInstall: z.string().optional(),\n});\n\nexport const configSchema = z.object({\n language: humanLanguageSchema.optional(),\n metadata: metadataConfigSchema.optional(),\n artifactsDir: configArtifactsDirSchema.optional(),\n contractsDir: configContractsDirSchema.optional(),\n contracts: z.record(contractSchema).optional(),\n plugins: z.array(installedPluginSchema).optional(),\n accounts: z.record(tzSchema).optional(),\n environment: z.record(z.union([environmentSchema, environmentNameSchema])),\n network: z.record(networkConfigSchema).optional(),\n sandbox: z.record(sandboxConfigSchema).optional(),\n});\n\nexport const configFileV1Schema = z.object({\n language: humanLanguageSchema.optional(),\n plugins: z.array(installedPluginSchema).optional(),\n contractsDir: configContractsDirSchema.optional(),\n artifactsDir: configArtifactsDirSchema.optional(),\n network: z.record(networkConfigSchema).optional(),\n sandbox: z.record(sandboxConfigSchema).optional(),\n environment: z\n .record(z.union([environmentSchema, environmentNameSchema]))\n .optional(),\n accounts: z.record(tzSchema).optional(),\n contracts: z.record(contractSchema).optional(),\n metadata: metadataConfigSchema.optional(),\n});\n\nexport const loadedConfigSchema = configSchema.extend(\n({\n projectDir: sanitizedAbsPathSchema,\n configFile: sanitizedAbsPathSchema,\n hash: sha256Schema,\n })\n);\n\nexport const parsedConfigSchema = configSchema.omit({ sandbox: true }).extend(\n({\n sandbox: z.record(z.union([sandboxConfigSchema, nonEmptyStringSchema])),\n })\n);\n\nexport const requestArgsSchema = sanitizedArgsSchema\n .omit({ quickstart: true })\n .extend(\n({\n taqRun: pluginActionNameSchema,\n config: loadedConfigSchema,\n })\n ).passthrough();\n\nexport const proxyTaskArgsSchema = requestArgsSchema.extend(\n({\n task: nonEmptyStringSchema,\n })\n).passthrough();\n\nexport const proxyTemplateArgsSchema = requestArgsSchema.extend(\n({\n template: nonEmptyStringSchema,\n })\n).passthrough();\n\nexport const operationSchema = z.object({\n operation: verbSchema,\n command: commandSchema,\n description: nonEmptyStringSchema.optional(),\n positionals: z.array(positionalArgSchema).optional(),\n options: z.array(optionSchema).optional(),\n handler: z\n .function()\n .args(persistentStateSchema)\n .returns(z.function().args(requestArgsSchema).returns(z.void()))\n .optional(),\n});\n\nexport const parsedOperationSchema = operationSchema.omit({ handler: true });\n\nconst templateHandlerSchema = z.union([\n nonEmptyStringSchema,\n z\n .function()\n .args(requestArgsSchema)\n .returns(\n z.union([pluginJsonResponseSchema, z.promise(pluginJsonResponseSchema)])\n ),\n z.promise(z.void()),\n]);\n\nexport const templateSchema = z.object({\n template: verbSchema,\n command: commandSchema,\n description: nonEmptyStringSchema,\n hidden: z.boolean().optional(),\n options: z.array(optionSchema).optional(),\n positionals: z.array(positionalArgSchema).optional(),\n handler: templateHandlerSchema,\n encoding: pluginResponseEncodingSchema.optional(),\n});\n\nexport const parsedTemplateSchema = templateSchema.omit({ handler: true }).extend(\n({\n handler: z.string(),\n })\n);\n\nexport const pluginInfoSchema = pluginSchemaBaseSchema.extend(\n({\n operations: z.array(parsedOperationSchema).optional(),\n templates: z.array(parsedTemplateSchema).optional(),\n })\n);\n\nexport const pluginSchemaSchema = pluginSchemaBaseSchema.extend(\n({\n operations: z.array(operationSchema).optional(),\n templates: z.array(templateSchema).optional(),\n proxy: z\n .function()\n .args(requestArgsSchema)\n .returns(z.promise(pluginProxyResponseSchema))\n .optional(),\n checkRuntimeDependencies: z\n .function()\n .args(requestArgsSchema)\n .returns(z.promise(pluginDependenciesResponseSchema))\n .optional(),\n installRuntimeDependencies: z\n .function()\n .args(requestArgsSchema)\n .returns(z.promise(pluginDependenciesResponseSchema))\n .optional(),\n })\n);\n\nexport const ephemeralStateSchema = z.object({\n build: z.string(),\n configHash: z.string(),\n tasks: z.record(installedPluginSchema.and(taskSchema)),\n operations: z.record(installedPluginSchema.and(parsedOperationSchema)),\n templates: z.record(installedPluginSchema.and(parsedTemplateSchema)),\n plugins: z.array(pluginInfoSchema),\n});\n","import { toFutureParseErr, toFutureParseUnknownErr } from './TaqError';\nimport { FutureInstance, resolve } from 'fluture';\nimport { z, ZodError, ZodSchema } from 'zod';\n\ntype Future<L, R> = FutureInstance<L, R>;\n\ntype ErrMsg = string | ((value: unknown, previous?: unknown) => string);\n\ninterface CreateSchemaParams {\n\trawSchema: ZodSchema;\n\tinternalSchema?: ZodSchema;\n\ttransformer?: (value: unknown) => unknown;\n\tisStringLike?: boolean;\n}\n\ninterface CreateTypeParams extends CreateSchemaParams {\n\tparseErrMsg: ErrMsg;\n\tunknownErrMsg: ErrMsg;\n}\nexport type Flatten<T> = { [k in keyof T]: T[k] };\n\nexport const createSchema = <I>(params: CreateSchemaParams) => {\n\tconst { rawSchema, isStringLike } = params;\n\tconst internalSchema = params.internalSchema ?? params.rawSchema;\n\tconst noop = (val: unknown) => val;\n\tconst transformer = params.transformer ?? noop;\n\n\tconst schema = isStringLike\n\t\t? internalSchema\n\t\t\t.transform((val: unknown) =>\n\t\t\t\ttransformer(val) as I & {\n\t\t\t\t\treadonly __type: 'generated' & z.infer<typeof internalSchema>;\n\t\t\t\t}\n\t\t\t)\n\t\t: internalSchema\n\t\t\t.transform((val: unknown) =>\n\t\t\t\ttransformer(val) as Flatten<\n\t\t\t\t\tI & {\n\t\t\t\t\t\treadonly __type: 'generated' & z.infer<typeof internalSchema>;\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t);\n\n\ttype GeneratedSchema = typeof schema;\n\n\treturn {\n\t\trawSchema,\n\t\tinternalSchema,\n\t\tschema,\n\t};\n};\n\n// TODO:\n// TypeScript appears to have a bug with default generic values\n// For instance, I'd like to use this:\n// export const createType = <R, I = R>(params: CreateTypeParams) => {\n//\n// However, I == unknown when having I default to R if no I was given.\n// So, we need to require R and I explicitly\nexport const createType = <R, I>(params: CreateTypeParams) => {\n\tconst schemas = createSchema<I>(params);\n\tconst { parseErrMsg, unknownErrMsg } = params;\n\n\ttype T = z.infer<typeof schemas.schema>;\n\n\tconst internalOf = (input: unknown) => {\n\t\ttry {\n\t\t\treturn resolve<T>(schemas.schema.parse(input));\n\t\t} catch (previous) {\n\t\t\tconst parseMsg = typeof parseErrMsg === 'string'\n\t\t\t\t? parseErrMsg\n\t\t\t\t: parseErrMsg(input, previous);\n\n\t\t\tconst unknownMsg = typeof unknownErrMsg === 'string'\n\t\t\t\t? unknownErrMsg\n\t\t\t\t: unknownErrMsg(input);\n\n\t\t\tif (previous instanceof ZodError) {\n\t\t\t\treturn toFutureParseErr<T>(previous, parseMsg, input);\n\t\t\t}\n\t\t\treturn toFutureParseUnknownErr<T>(previous, unknownMsg, input);\n\t\t}\n\t};\n\tconst of = internalOf;\n\n\tconst make = (input: I) => internalOf(input);\n\n\tconst create = (input: R | I) => schemas.schema.parse(input) as T;\n\n\tconst from = (input: unknown) => schemas.schema.parse(input) as T;\n\n\tconst factory = {\n\t\tmake,\n\t\tof,\n\t\tcreate,\n\t\tfrom,\n\t};\n\n\treturn {\n\t\tschemas,\n\t\tfactory,\n\t};\n};\n\nexport default createType;\n","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Operation } from '../../types';\nimport { Operation as OperationStrict } from '../types-strict';\nimport { operationSchema } from '../types-zod';\n\nexport type { OperationStrict as Operation };\n\nexport const from = (input: unknown): OperationStrict => {\n\ttry {\n\t\treturn operationSchema.parse(input) as OperationStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Operation is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Operation.\")\n\t}\n \n};\n\nexport const create = (input: Operation): OperationStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, OperationStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<OperationStrict, '__type'>): FutureInstance<TaqError, OperationStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: operationSchema,\n\tschema: operationSchema.transform(val => val as OperationStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = operationSchema;\n\nexport type t = OperationStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { ParsedOperation } from '../../types';\nimport { ParsedOperation as ParsedOperationStrict } from '../types-strict';\nimport { parsedOperationSchema } from '../types-zod';\n\nexport type { ParsedOperationStrict as ParsedOperation };\n\nexport const from = (input: unknown): ParsedOperationStrict => {\n\ttry {\n\t\treturn parsedOperationSchema.parse(input) as ParsedOperationStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"ParsedOperation is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a ParsedOperation.\")\n\t}\n \n};\n\nexport const create = (input: ParsedOperation): ParsedOperationStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, ParsedOperationStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<ParsedOperationStrict, '__type'>): FutureInstance<TaqError, ParsedOperationStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: parsedOperationSchema,\n\tschema: parsedOperationSchema.transform(val => val as ParsedOperationStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = parsedOperationSchema;\n\nexport type t = ParsedOperationStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { ParsedTemplate } from '../../types';\nimport { ParsedTemplate as ParsedTemplateStrict } from '../types-strict';\nimport { parsedTemplateSchema } from '../types-zod';\n\nexport type { ParsedTemplateStrict as ParsedTemplate };\n\nexport const from = (input: unknown): ParsedTemplateStrict => {\n\ttry {\n\t\treturn parsedTemplateSchema.parse(input) as ParsedTemplateStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"ParsedTemplate is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a ParsedTemplate.\")\n\t}\n \n};\n\nexport const create = (input: ParsedTemplate): ParsedTemplateStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, ParsedTemplateStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<ParsedTemplateStrict, '__type'>): FutureInstance<TaqError, ParsedTemplateStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: parsedTemplateSchema,\n\tschema: parsedTemplateSchema.transform(val => val as ParsedTemplateStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = parsedTemplateSchema;\n\nexport type t = ParsedTemplateStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Task } from '../../types';\nimport { Task as TaskStrict } from '../types-strict';\nimport { taskSchema } from '../types-zod';\n\nexport type { TaskStrict as Task };\n\nexport const from = (input: unknown): TaskStrict => {\n\ttry {\n\t\treturn taskSchema.parse(input) as TaskStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Task is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Task.\")\n\t}\n \n};\n\nexport const create = (input: Task): TaskStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, TaskStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<TaskStrict, '__type'>): FutureInstance<TaqError, TaskStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: taskSchema,\n\tschema: taskSchema.transform(val => val as TaskStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = taskSchema;\n\nexport type t = TaskStrict;\n ","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { VersionNumber } from '../../types';\nimport { VersionNumber as VersionNumberStrict } from '../types-strict';\nimport { versionNumberSchema } from '../types-zod';\n\nexport type { VersionNumberStrict as VersionNumber };\n\nexport const from = (input: unknown): VersionNumberStrict => {\n\ttry {\n\t\treturn versionNumberSchema.parse(input) as VersionNumberStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"VersionNumber is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a VersionNumber.\")\n\t}\n \n};\n\nexport const create = (input: VersionNumber): VersionNumberStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, VersionNumberStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<VersionNumberStrict, '__type'>): FutureInstance<TaqError, VersionNumberStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: versionNumberSchema,\n\tschema: versionNumberSchema.transform(val => val as VersionNumberStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = versionNumberSchema;\n\nexport type t = VersionNumberStrict;\n ","import * as Alias from './Alias';\nimport createType, { Flatten } from './Base';\nimport * as ParsedOperation from './ParsedOperation';\nimport * as ParsedTemplate from './ParsedTemplate';\nimport * as Task from './Task';\nimport * as VersionNumber from './VersionNumber';\nimport { z } from 'zod';\n\nexport const rawSchema = z.object({\n\tname: z.string({ description: 'Plugin Name' }).min(1),\n\tversion: VersionNumber.rawSchema.describe('Plugin Version #'),\n\tschema: VersionNumber.rawSchema.describe('Plugin Schema Version #'),\n\talias: Alias.rawSchema.describe('Plugin Alias'),\n\tpostInstall: z.string().optional(),\n\ttasks: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTask.schemas.schema.describe('Plugin Task'),\n\t\t\t{ description: 'Plugin Tasks' },\n\t\t),\n\t).optional(),\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedOperation.schemas.schema.describe('Plugin Operation'),\n\t\t\t{ description: 'Plugin Operations' },\n\t\t),\n\t).optional(),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedTemplate.schemas.schema.describe('Plugin Template'),\n\t\t),\n\t).optional(),\n});\n\nexport const internalSchema = rawSchema.extend({\n\tversion: VersionNumber.schemas.schema.describe('Plugin Version #'),\n\tschema: VersionNumber.schemas.schema.describe('Plugin Schema Version #'),\n\talias: Alias.schemas.schema.describe('Plugin Alias'),\n\ttasks: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tTask.schemas.schema.describe('Plugin Task'),\n\t\t\t{ description: 'Plugin Tasks' },\n\t\t),\n\t).optional(),\n\toperations: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedOperation.schemas.schema.describe('Plugin Operation'),\n\t\t\t{ description: 'Plugin Operations' },\n\t\t),\n\t).optional(),\n\ttemplates: z.preprocess(\n\t\tval => val ?? [],\n\t\tz.array(\n\t\t\tParsedTemplate.schemas.schema.describe('Plugin Template'),\n\t\t),\n\t).optional(),\n}).describe('Plugin Schema');\n\n// export const rawSchema = internalSchema;\n\ntype RawInput = z.infer<typeof rawSchema>;\ntype Input = Flatten<z.infer<typeof internalSchema>>;\n\nexport const { schemas, factory } = createType<RawInput, Input>({\n\trawSchema,\n\tinternalSchema,\n\tparseErrMsg: 'The schema returned from the plugin is invalid',\n\tunknownErrMsg: 'Something went wrong parsing the schema from a plugin',\n});\n\nexport type PluginInfo = Flatten<z.infer<typeof schemas.schema>>;\nexport type t = PluginInfo;\nexport const { create, of, make } = factory;\n","// Generated file: Do not edit \n// generated from @taqueria-protocol-types\n \nimport { TaqError, toFutureParseErr, toFutureParseUnknownErr, toParseErr, toParseUnknownErr } from '../../TaqError';\nimport { FutureInstance, resolve, reject } from 'fluture';\nimport { ZodError } from 'zod';\nimport { Template } from '../../types';\nimport { Template as TemplateStrict } from '../types-strict';\nimport { templateSchema } from '../types-zod';\n\nexport type { TemplateStrict as Template };\n\nexport const from = (input: unknown): TemplateStrict => {\n\ttry {\n\t\treturn templateSchema.parse(input) as TemplateStrict;\n\t}\n\tcatch (previous: unknown) {\n\t\tif (previous instanceof ZodError) {\n\t\t\tconst msgs: string[] = previous.errors.reduce(\n\t\t\t\t(retval, issue) => {\n\t\t\t\t\tconst path = issue.path.join(' → ');\n\t\t\t\t\tconst msg = path + ': ' + issue.message;\n\t\t\t\t\treturn [...retval, msg];\n\t\t\t\t},\n\t\t\t\t[\"Template is invalid:\"],\n\t\t\t);\n\t\t\tconst validationErr = msgs.join('\\n') + '\\n';\n\t\t\tthrow toParseErr(previous, validationErr);\n\t\t}\n\t\tthrow toParseUnknownErr(previous, \"There was a problem trying to parse a Template.\")\n\t}\n \n};\n\nexport const create = (input: Template): TemplateStrict => from(input);\n\nexport const of = (input: unknown): FutureInstance<TaqError, TemplateStrict> => {\n\ttry {\n\t\treturn resolve(from(input))\n\t}\n\tcatch (err){\n\t\treturn reject(err) as FutureInstance<TaqError, never>\n\t}\n};\n\nexport const make = (input: Omit<TemplateStrict, '__type'>): FutureInstance<TaqError, TemplateStrict> => of(input);\n\n// TEMP: for interoperation with old protocol types during transition\nexport const schemas = {\n\trawSchema: templateSchema,\n\tschema: templateSchema.transform(val => val as TemplateStrict),\n};\nexport const rawSchema = schemas.rawSchema;\nexport const internalSchema = templateSchema;\n\nexport type t = TemplateStrict;\n "],"mappings":"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","names":["create","factory","make","of","rawSchema","schemas","import_fluture","import_zod","import_fluture","import_zod","rawSchema","internalSchema","schemas","of","make","create","factory","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_fluture","import_zod","schemas","rawSchema","import_zod","rawSchema","schemas","create","import_fluture","import_zod","schemas","rawSchema","import_zod","internalSchema","schemas","rawSchema","factory","create","of","make"]}
|