@git.zone/cli 6.9.0 → 6.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/helpers.workflow.d.ts +23 -1
- package/dist_ts/helpers.workflow.js +93 -3
- package/dist_ts/mod_config/index.js +49 -7
- package/dist_ts/mod_release/classes.releasejournal.d.ts +20 -1
- package/dist_ts/mod_release/classes.releasejournal.js +191 -9
- package/dist_ts/mod_release/helpers.giteaassets.d.ts +36 -0
- package/dist_ts/mod_release/helpers.giteaassets.js +661 -0
- package/dist_ts/mod_release/helpers.releasepublication.d.ts +2 -0
- package/dist_ts/mod_release/helpers.releasepublication.js +147 -6
- package/dist_ts/mod_release/index.js +86 -11
- package/dist_ts/mod_release/interfaces.giteaassets.d.ts +50 -0
- package/dist_ts/mod_release/interfaces.giteaassets.js +2 -0
- package/package.json +2 -2
- package/readme.md +92 -3
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/helpers.workflow.ts +154 -3
- package/ts/mod_config/index.ts +61 -6
- package/ts/mod_release/classes.releasejournal.ts +298 -14
- package/ts/mod_release/helpers.giteaassets.ts +932 -0
- package/ts/mod_release/helpers.releasepublication.ts +224 -4
- package/ts/mod_release/index.ts +111 -8
- package/ts/mod_release/interfaces.giteaassets.ts +67 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@git.zone/cli',
|
|
6
|
-
version: '6.
|
|
6
|
+
version: '6.10.0',
|
|
7
7
|
description: 'A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxlQUFlO0lBQ3JCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwrTEFBK0w7Q0FDN00sQ0FBQSJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type TConfirmationMode = "prompt" | "auto" | "plan";
|
|
2
2
|
export type TCommitStep = "format" | "analyze" | "test" | "build" | "changelog" | "commit" | "push";
|
|
3
|
-
export type TReleaseTarget = "git" | "npm" | "docker";
|
|
3
|
+
export type TReleaseTarget = "git" | "giteaAssets" | "npm" | "docker";
|
|
4
4
|
export interface ICommitWorkflowConfig {
|
|
5
5
|
confirmation?: TConfirmationMode;
|
|
6
6
|
staging?: "all";
|
|
@@ -36,6 +36,24 @@ export interface IReleaseNpmTargetConfig {
|
|
|
36
36
|
accessLevel?: "public" | "private";
|
|
37
37
|
alreadyPublished?: "success" | "error";
|
|
38
38
|
}
|
|
39
|
+
export interface IReleaseGiteaAssetsTargetConfig {
|
|
40
|
+
enabled?: boolean;
|
|
41
|
+
apiOrigin?: string;
|
|
42
|
+
owner?: string;
|
|
43
|
+
repository?: string;
|
|
44
|
+
tokenEnv?: string;
|
|
45
|
+
manifestPath?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface IResolvedReleaseGiteaAssetsConfiguration {
|
|
48
|
+
apiOrigin: string;
|
|
49
|
+
owner: string;
|
|
50
|
+
repository: string;
|
|
51
|
+
tokenEnv: string;
|
|
52
|
+
manifestPath: string;
|
|
53
|
+
}
|
|
54
|
+
export declare const resolveGiteaAssetsConfiguration: (configArg: IReleaseGiteaAssetsTargetConfig) => IResolvedReleaseGiteaAssetsConfiguration;
|
|
55
|
+
/** Match the resolved destination, without guessing SSH aliases or URL rewrites. */
|
|
56
|
+
export declare const assertGiteaAssetsGitDestination: (configArg: IResolvedReleaseGiteaAssetsConfiguration, destinationArg: string) => void;
|
|
39
57
|
export interface IReleaseDockerTargetConfig {
|
|
40
58
|
enabled?: boolean;
|
|
41
59
|
engine?: "tsdocker";
|
|
@@ -63,6 +81,7 @@ export interface IReleaseWorkflowConfig {
|
|
|
63
81
|
targets?: {
|
|
64
82
|
git?: IReleaseGitTargetConfig;
|
|
65
83
|
npm?: IReleaseNpmTargetConfig;
|
|
84
|
+
giteaAssets?: IReleaseGiteaAssetsTargetConfig;
|
|
66
85
|
docker?: IReleaseDockerTargetConfig;
|
|
67
86
|
};
|
|
68
87
|
}
|
|
@@ -99,6 +118,7 @@ export interface IResolvedReleaseWorkflow {
|
|
|
99
118
|
npmPackageSource: "root" | "tspublish";
|
|
100
119
|
npmAccessLevel: "public" | "private";
|
|
101
120
|
npmAlreadyPublished: "success" | "error";
|
|
121
|
+
giteaAssets?: IResolvedReleaseGiteaAssetsConfiguration;
|
|
102
122
|
dockerEnabled: boolean;
|
|
103
123
|
dockerEngine: "tsdocker";
|
|
104
124
|
dockerRegistry?: string;
|
|
@@ -116,6 +136,7 @@ export interface IResolvedReleaseResumeConfiguration {
|
|
|
116
136
|
npmRegistries: string[];
|
|
117
137
|
npmAccessLevel: "public" | "private";
|
|
118
138
|
npmAlreadyPublished: "success" | "error";
|
|
139
|
+
giteaAssets?: IResolvedReleaseGiteaAssetsConfiguration;
|
|
119
140
|
}
|
|
120
141
|
export type TResolvedReleaseDockerConfiguration = Pick<IResolvedReleaseWorkflow, "dockerRegistry" | "dockerBuildRegistries" | "dockerTest" | "dockerPatterns" | "dockerCached" | "dockerParallel" | "dockerContext" | "dockerNoBuild">;
|
|
121
142
|
export type TTsdockerMinimumVersion = readonly [number, number, number];
|
|
@@ -129,5 +150,6 @@ export declare const resolveReleaseWorkflow: (argvArg: any) => Promise<IResolved
|
|
|
129
150
|
export declare const resolveReleaseResumeConfiguration: (optionsArg: {
|
|
130
151
|
git: boolean;
|
|
131
152
|
npm: boolean;
|
|
153
|
+
giteaAssets?: boolean;
|
|
132
154
|
}) => Promise<IResolvedReleaseResumeConfiguration>;
|
|
133
155
|
export declare const resolveReleaseDockerConfiguration: () => Promise<TResolvedReleaseDockerConfiguration>;
|
|
@@ -1,4 +1,53 @@
|
|
|
1
1
|
import { getCliConfigValue } from "./helpers.smartconfig.js";
|
|
2
|
+
export const resolveGiteaAssetsConfiguration = (configArg) => {
|
|
3
|
+
const { apiOrigin, owner, repository, tokenEnv, manifestPath } = configArg;
|
|
4
|
+
let url;
|
|
5
|
+
try {
|
|
6
|
+
url = new URL(apiOrigin);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
throw new Error("Gitea assets require a canonical HTTPS API origin.");
|
|
10
|
+
}
|
|
11
|
+
if (url.protocol !== "https:" || url.origin !== apiOrigin) {
|
|
12
|
+
throw new Error("Gitea assets require a credential-free canonical HTTPS API origin.");
|
|
13
|
+
}
|
|
14
|
+
if (typeof owner !== "string" ||
|
|
15
|
+
!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(owner) ||
|
|
16
|
+
typeof repository !== "string" ||
|
|
17
|
+
!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(repository))
|
|
18
|
+
throw new Error("Gitea assets require canonical owner and repository names.");
|
|
19
|
+
if (typeof tokenEnv !== "string" || !/^[A-Z_][A-Z0-9_]*$/.test(tokenEnv)) {
|
|
20
|
+
throw new Error("Gitea assets require a token environment-variable name.");
|
|
21
|
+
}
|
|
22
|
+
if (typeof manifestPath !== "string" ||
|
|
23
|
+
!/^[A-Za-z0-9_-][A-Za-z0-9._/-]*\.json$/.test(manifestPath) ||
|
|
24
|
+
manifestPath
|
|
25
|
+
.split("/")
|
|
26
|
+
.some((part) => !part || part === "." || part === ".." || part.startsWith(".")))
|
|
27
|
+
throw new Error("Gitea asset manifestPath must be a canonical repository-relative JSON path.");
|
|
28
|
+
return { apiOrigin, owner, repository, tokenEnv, manifestPath };
|
|
29
|
+
};
|
|
30
|
+
/** Match the resolved destination, without guessing SSH aliases or URL rewrites. */
|
|
31
|
+
export const assertGiteaAssetsGitDestination = (configArg, destinationArg) => {
|
|
32
|
+
let destination;
|
|
33
|
+
try {
|
|
34
|
+
const scp = destinationArg.match(/^(?:[^@/:]+@)?([^/:]+):([^/].*)$/);
|
|
35
|
+
destination = new URL(scp ? `ssh://${scp[1]}/${scp[2]}` : destinationArg);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new Error("Gitea assets require a provable SSH or HTTPS Git destination.");
|
|
39
|
+
}
|
|
40
|
+
if (!["ssh:", "https:"].includes(destination.protocol) ||
|
|
41
|
+
destination.password ||
|
|
42
|
+
destination.search ||
|
|
43
|
+
destination.hash ||
|
|
44
|
+
destination.hostname !== new URL(configArg.apiOrigin).hostname ||
|
|
45
|
+
(destination.protocol === "https:" &&
|
|
46
|
+
destination.origin !== configArg.apiOrigin) ||
|
|
47
|
+
destination.pathname.replace(/\.git$/, "") !==
|
|
48
|
+
`/${configArg.owner}/${configArg.repository}`)
|
|
49
|
+
throw new Error("Gitea assets and Git must select the same host and exact repository.");
|
|
50
|
+
};
|
|
2
51
|
const commitFlagToStep = {
|
|
3
52
|
f: "format",
|
|
4
53
|
t: "test",
|
|
@@ -223,7 +272,12 @@ const normalizeCommitSteps = (rawSteps) => {
|
|
|
223
272
|
return pushRequested ? [...prePushSteps, "push"] : prePushSteps;
|
|
224
273
|
};
|
|
225
274
|
const getTargetOverride = (argvArg) => {
|
|
226
|
-
const validTargets = [
|
|
275
|
+
const validTargets = [
|
|
276
|
+
"git",
|
|
277
|
+
"giteaAssets",
|
|
278
|
+
"npm",
|
|
279
|
+
"docker",
|
|
280
|
+
];
|
|
227
281
|
const targetKey = ["target", "targets"].find((keyArg) => Object.prototype.hasOwnProperty.call(argvArg, keyArg));
|
|
228
282
|
if (targetKey) {
|
|
229
283
|
const rawTargets = argvArg[targetKey];
|
|
@@ -251,7 +305,12 @@ const getTargetOverride = (argvArg) => {
|
|
|
251
305
|
targets.push("docker");
|
|
252
306
|
return targets.length > 0 ? targets : undefined;
|
|
253
307
|
};
|
|
254
|
-
const releaseTargetOrder = [
|
|
308
|
+
const releaseTargetOrder = [
|
|
309
|
+
"git",
|
|
310
|
+
"giteaAssets",
|
|
311
|
+
"npm",
|
|
312
|
+
"docker",
|
|
313
|
+
];
|
|
255
314
|
const buildReleasePlan = (options) => {
|
|
256
315
|
const plan = ["preflight.branch", "preflight.cleanTree"];
|
|
257
316
|
if (options.runTests)
|
|
@@ -264,6 +323,8 @@ const buildReleasePlan = (options) => {
|
|
|
264
323
|
plan.push("core.build");
|
|
265
324
|
if (options.targets.includes("npm"))
|
|
266
325
|
plan.push("core.packNpmArtifact");
|
|
326
|
+
if (options.targets.includes("giteaAssets"))
|
|
327
|
+
plan.push("core.freezeGiteaAssets");
|
|
267
328
|
plan.push("core.writeReleaseJournal");
|
|
268
329
|
if (options.targets.includes("docker")) {
|
|
269
330
|
plan.push("target.docker.qualify");
|
|
@@ -356,6 +417,10 @@ export const resolveReleaseWorkflow = async (argvArg) => {
|
|
|
356
417
|
const npmEnabled = npmConfig.enabled ?? npmRegistryConfigurationPresent;
|
|
357
418
|
const gitEnabled = gitConfig.enabled ?? true;
|
|
358
419
|
const dockerEnabled = dockerConfig.enabled ?? false;
|
|
420
|
+
if (targetConfig.giteaAssets?.enabled !== undefined &&
|
|
421
|
+
typeof targetConfig.giteaAssets.enabled !== "boolean") {
|
|
422
|
+
throw new Error("release.targets.giteaAssets.enabled must be true or false.");
|
|
423
|
+
}
|
|
359
424
|
const pushBranch = resolveGitPushSetting(gitConfig.pushBranch, "pushBranch", gitEnabled);
|
|
360
425
|
const pushTags = resolveGitPushSetting(gitConfig.pushTags, "pushTags", gitEnabled);
|
|
361
426
|
let confirmation = normalizeConfirmation(releaseConfig.confirmation, "prompt");
|
|
@@ -378,6 +443,8 @@ export const resolveReleaseWorkflow = async (argvArg) => {
|
|
|
378
443
|
const configuredTargets = [];
|
|
379
444
|
if (gitEnabled)
|
|
380
445
|
configuredTargets.push("git");
|
|
446
|
+
if (targetConfig.giteaAssets?.enabled === true)
|
|
447
|
+
configuredTargets.push("giteaAssets");
|
|
381
448
|
if (npmEnabled)
|
|
382
449
|
configuredTargets.push("npm");
|
|
383
450
|
if (dockerEnabled)
|
|
@@ -391,6 +458,20 @@ export const resolveReleaseWorkflow = async (argvArg) => {
|
|
|
391
458
|
}
|
|
392
459
|
const selectedTargets = unique(targets);
|
|
393
460
|
targets = releaseTargetOrder.filter((target) => selectedTargets.includes(target));
|
|
461
|
+
if (targetConfig.giteaAssets?.enabled === true &&
|
|
462
|
+
targets.includes("npm") &&
|
|
463
|
+
!targets.includes("giteaAssets")) {
|
|
464
|
+
throw new Error("npm publication cannot bypass the configured Gitea asset target.");
|
|
465
|
+
}
|
|
466
|
+
const giteaAssets = targets.includes("giteaAssets")
|
|
467
|
+
? resolveGiteaAssetsConfiguration(targetConfig.giteaAssets || {})
|
|
468
|
+
: undefined;
|
|
469
|
+
if (giteaAssets && (!targets.includes("git") || !pushBranch || !pushTags)) {
|
|
470
|
+
throw new Error("Gitea assets require the active Git branch and tag target.");
|
|
471
|
+
}
|
|
472
|
+
if (giteaAssets && (targets.includes("docker") || argvArg.merge === true)) {
|
|
473
|
+
throw new Error("Gitea asset releases cannot combine Docker or --merge; integrate main before release.");
|
|
474
|
+
}
|
|
394
475
|
let npmRegistries = [];
|
|
395
476
|
if (targets.includes("npm")) {
|
|
396
477
|
if (rawNpmRegistries !== undefined &&
|
|
@@ -438,6 +519,7 @@ export const resolveReleaseWorkflow = async (argvArg) => {
|
|
|
438
519
|
: "root",
|
|
439
520
|
npmAccessLevel: npmConfig.accessLevel || "public",
|
|
440
521
|
npmAlreadyPublished: npmConfig.alreadyPublished || "success",
|
|
522
|
+
...(giteaAssets ? { giteaAssets } : {}),
|
|
441
523
|
dockerEnabled,
|
|
442
524
|
dockerEngine: "tsdocker",
|
|
443
525
|
...dockerConfiguration,
|
|
@@ -449,6 +531,9 @@ export const resolveReleaseResumeConfiguration = async (optionsArg) => {
|
|
|
449
531
|
const targetConfig = releaseConfig.targets || {};
|
|
450
532
|
const gitConfig = targetConfig.git || {};
|
|
451
533
|
const npmConfig = targetConfig.npm || {};
|
|
534
|
+
if (optionsArg.giteaAssets && targetConfig.giteaAssets?.enabled !== true) {
|
|
535
|
+
throw new Error("The journaled Gitea asset target must remain enabled for resume.");
|
|
536
|
+
}
|
|
452
537
|
const gitRemote = optionsArg.git ? gitConfig.remote || "origin" : "origin";
|
|
453
538
|
if (typeof gitRemote !== "string" || !gitRemote.trim()) {
|
|
454
539
|
throw new Error("release.targets.git.remote must be a non-empty string");
|
|
@@ -487,6 +572,11 @@ export const resolveReleaseResumeConfiguration = async (optionsArg) => {
|
|
|
487
572
|
: "root",
|
|
488
573
|
npmAccessLevel,
|
|
489
574
|
npmAlreadyPublished,
|
|
575
|
+
...(optionsArg.giteaAssets
|
|
576
|
+
? {
|
|
577
|
+
giteaAssets: resolveGiteaAssetsConfiguration(targetConfig.giteaAssets || {}),
|
|
578
|
+
}
|
|
579
|
+
: {}),
|
|
490
580
|
};
|
|
491
581
|
};
|
|
492
582
|
export const resolveReleaseDockerConfiguration = async () => {
|
|
@@ -494,4 +584,4 @@ export const resolveReleaseDockerConfiguration = async () => {
|
|
|
494
584
|
const dockerConfig = cliConfig.release?.targets?.docker || {};
|
|
495
585
|
return resolveDockerConfiguration(dockerConfig);
|
|
496
586
|
};
|
|
497
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2hlbHBlcnMud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFzSjdELE1BQU0sZ0JBQWdCLEdBQTRDO0lBQ2hFLENBQUMsRUFBRSxRQUFRO0lBQ1gsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsT0FBTztJQUNWLENBQUMsRUFBRSxNQUFNO0NBQ1YsQ0FBQztBQUVGLE1BQU0sTUFBTSxHQUFHLENBQUksS0FBVSxFQUFPLEVBQUU7SUFDcEMsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsMkJBQW9DLEVBQ3BDLHNCQUErQixFQUNNLEVBQUU7SUFDdkMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQzFDLGlCQUEwQyxFQUNsQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQzVDLGdCQUF3QixFQUN4QixpQkFBMEMsRUFDakMsRUFBRTtJQUNYLE1BQU0sS0FBSyxHQUFHLGdCQUFnQjtTQUMzQixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzdELElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFFBQWlCLEVBQVcsRUFBRTtJQUNyRSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBRyxDQUNqQyxlQUEyQyxFQUNOLEVBQUU7SUFDdkMsSUFDRSxlQUFlLENBQUMsTUFBTSxLQUFLLFNBQVM7UUFDcEMsZUFBZSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQ3JDLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELElBQ0UsZUFBZSxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQ3RDLENBQUMsT0FBTyxlQUFlLENBQUMsUUFBUSxLQUFLLFFBQVE7WUFDM0MsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQ25DLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsUUFBaUIsRUFDakIsVUFBMEMsRUFDaEMsRUFBRTtRQUNaLElBQUksUUFBUSxLQUFLLFNBQVM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUNFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDeEIsUUFBUSxDQUFDLElBQUksQ0FDWCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUMvRCxFQUNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixVQUFVLHdDQUF3QyxDQUM3RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuRCxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixVQUFVLDZCQUE2QixDQUNsRSxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztJQUNGLElBQ0UsZUFBZSxDQUFDLE1BQU0sS0FBSyxTQUFTO1FBQ3BDLE9BQU8sZUFBZSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQzNDLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELElBQ0UsZUFBZSxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQ3RDLGVBQWUsQ0FBQyxRQUFRLEtBQUssS0FBSztRQUNsQyxlQUFlLENBQUMsUUFBUSxLQUFLLElBQUk7UUFDakMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxlQUFlLENBQUMsUUFBbUIsSUFBSSxDQUFDLENBQUMsRUFDNUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsNEVBQTRFLENBQzdFLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFDRSxlQUFlLENBQUMsT0FBTyxLQUFLLFNBQVM7UUFDckMsQ0FBQyxPQUFPLGVBQWUsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUMxQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDbEMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBQ0QsSUFDRSxlQUFlLENBQUMsT0FBTyxLQUFLLFNBQVM7UUFDckMsT0FBTyxlQUFlLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFDNUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsT0FBTztRQUNMLGNBQWMsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLFNBQVM7UUFDN0QscUJBQXFCLEVBQUUsbUJBQW1CLENBQ3hDLGVBQWUsQ0FBQyxlQUFlLEVBQy9CLGlCQUFpQixDQUNsQjtRQUNELFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQzFELGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQztRQUN6RSxZQUFZLEVBQUUsZUFBZSxDQUFDLE1BQU0sSUFBSSxLQUFLO1FBQzdDLGNBQWMsRUFBRSxlQUFlLENBQUMsUUFBUSxJQUFJLEtBQUs7UUFDakQsYUFBYSxFQUFFLGVBQWUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksU0FBUztRQUMzRCxhQUFhLEVBQUUsZUFBZSxDQUFDLE9BQU8sSUFBSSxLQUFLO0tBQ2hELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLFFBQWlCLEVBQ2pCLFVBQXFDLEVBQ3JDLGFBQXNCLEVBQ2IsRUFBRTtJQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixPQUFPLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUNiLHVCQUF1QixVQUFVLDhDQUE4QyxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FDckIsUUFBaUIsRUFDb0IsRUFBRTtJQUN2QyxPQUFPLENBQ0wsT0FBTyxRQUFRLEtBQUssUUFBUTtRQUM1QixRQUFRLEtBQUssSUFBSTtRQUNqQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxjQUF1QixFQUNILEVBQUU7SUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxLQUFLLE1BQU0sZUFBZSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFVLEVBQUUsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2xDLFNBQVM7UUFDWCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDNUQsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLEtBQWMsRUFDZCxRQUEyQixFQUNSLEVBQUU7SUFDckIsSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxNQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQy9ELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtJQUNuRCxJQUFJLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsSUFDRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFDckMsQ0FBQztRQUNELGFBQWEsR0FBRyxXQUFXLGFBQWEsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFDRCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsYUFBYSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBWSxFQUFFLEdBQUcsSUFBYyxFQUFXLEVBQUU7SUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSztRQUN0QixPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3RELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLEtBQUssSUFBaUMsRUFBRTtJQUNwRSxPQUFPLE1BQU0saUJBQWlCLENBQXFCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFHLENBQUMsV0FBbUIsRUFBWSxFQUFFO0lBQ25FLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsV0FBbUIsRUFBWSxFQUFFO0lBQzdELE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztJQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTTtRQUNSLENBQUM7UUFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QixTQUFTO1FBQ1gsQ0FBQztRQUNELElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLE9BQVksRUFBVyxFQUFFO0lBQy9ELE9BQU8sT0FBTyxDQUNaLE9BQU8sQ0FBQyxDQUFDO1FBQ1QsT0FBTyxDQUFDLE1BQU07UUFDZCxPQUFPLENBQUMsQ0FBQztRQUNULE9BQU8sQ0FBQyxJQUFJO1FBQ1osT0FBTyxDQUFDLENBQUM7UUFDVCxPQUFPLENBQUMsS0FBSztRQUNiLE9BQU8sQ0FBQyxDQUFDO1FBQ1QsT0FBTyxDQUFDLElBQUksQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQXVCLEVBQWlCLEVBQUU7SUFDdEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUU3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxJQUFJLFlBQVksR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsSUFBSSxjQUFjLEtBQUssQ0FBQyxDQUFDLElBQUksY0FBYyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBWSxFQUFnQyxFQUFFO0lBQ3ZFLE1BQU0sWUFBWSxHQUFxQixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDdEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDdEQsQ0FBQztJQUNGLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUNiLHdFQUF3RSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sZ0JBQWdCLEdBQUcsVUFBVTthQUNoQyxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0VBQXdFLENBQ3pFLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUM1QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQXdCLENBQUMsQ0FDN0QsQ0FBQztRQUNGLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBQ0QsT0FBTyxnQkFBb0MsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUNyQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSTtRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsSUFBSSxPQUFPLENBQUMsR0FBRztRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTTtRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBcUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBRXRFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUt6QixFQUFZLEVBQUU7SUFDYixNQUFNLElBQUksR0FBYSxDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLENBQUMsUUFBUTtRQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RSxJQUFJLE9BQU8sQ0FBQyxRQUFRO1FBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDdEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FDUCxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxNQUFNLEVBQUUsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFDeEMsT0FBWSxFQUNzQixFQUFFO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM1QyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuRSxJQUFJLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLFlBQVksR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUF1QixDQUFDO0lBQzVCLElBQUksOEJBQThCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxRQUFRLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixLQUFLLE1BQU0sU0FBUyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEUsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztTQUFNLElBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDN0IsQ0FBQztRQUNELFFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7U0FBTSxDQUFDO1FBQ04sUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsSUFBSSxZQUFZLENBQUMsVUFBVTtZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsSUFBSSxZQUFZLENBQUMsV0FBVztZQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsWUFBWTtRQUNaLGFBQWEsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMxRSxLQUFLLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTyxJQUFJLEtBQUs7UUFDdEMsV0FBVyxFQUFFLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLFdBQVc7UUFDdEQsWUFBWSxFQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLFlBQVk7UUFDekQsYUFBYSxFQUFFLGNBQWM7UUFDN0IsZ0JBQWdCLEVBQUUsU0FBUztRQUMzQixVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksUUFBUTtRQUNqRCxjQUFjLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksS0FBSztRQUN0RCxvQkFBb0I7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxRQUFpQixFQUF3QixFQUFFO0lBQzFFLElBQUksUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQ2pFLElBQUksUUFBUSxLQUFLLFdBQVc7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM5QyxNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxFQUN6QyxPQUFZLEVBQ3VCLEVBQUU7SUFDckMsTUFBTSxTQUFTLEdBQUcsTUFBTSxxQkFBcUIsRUFBRSxDQUFDO0lBQ2hELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2pELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3pDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUM5QyxNQUFNLCtCQUErQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDckUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUM7SUFDbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE9BQU8sSUFBSSwrQkFBK0IsQ0FBQztJQUN4RSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztJQUM3QyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQztJQUNwRCxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FDdEMsU0FBUyxDQUFDLFVBQVUsRUFDcEIsWUFBWSxFQUNaLFVBQVUsQ0FDWCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQ3BDLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLFVBQVUsRUFDVixVQUFVLENBQ1gsQ0FBQztJQUVGLElBQUksWUFBWSxHQUFHLHFCQUFxQixDQUN0QyxhQUFhLENBQUMsWUFBWSxFQUMxQixRQUFRLENBQ1QsQ0FBQztJQUNGLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLFlBQVksR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDO0lBQ3RELElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUN0RCxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUk7UUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQy9DLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSztRQUFFLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEQsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUFFLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDbEQsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUFFLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkQsTUFBTSxpQkFBaUIsR0FBcUIsRUFBRSxDQUFDO0lBQy9DLElBQUksVUFBVTtRQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLFVBQVU7UUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsSUFBSSxhQUFhO1FBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELElBQUksT0FBTyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLGlCQUFpQixDQUFDO0lBQzlELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQzdDLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ2pDLENBQUM7SUFDRixJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDakMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsSUFDRSxnQkFBZ0IsS0FBSyxTQUFTO1lBQzlCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLEVBQzFFLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1FBQ0osQ0FBQztRQUNELGFBQWEsR0FBRyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUNiLG1FQUFtRSxDQUNwRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztJQUM5QyxNQUFNLG1CQUFtQixHQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN4QixDQUFDLENBQUMsMEJBQTBCLENBQUMsWUFBWSxDQUFDO1FBQzFDLENBQUMsQ0FBQztZQUNFLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLHFCQUFxQixFQUFFLEVBQUU7WUFDekIsVUFBVSxFQUFFLEtBQUs7WUFDakIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsY0FBYyxFQUFFLEtBQUs7WUFDckIsYUFBYSxFQUFFLFNBQVM7WUFDeEIsYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztJQUVSLE9BQU87UUFDTCxZQUFZO1FBQ1osSUFBSSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkUsT0FBTztRQUNQLFFBQVE7UUFDUixRQUFRO1FBQ1IsV0FBVyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxJQUFJLFdBQVc7UUFDaEUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsWUFBWSxJQUFJLFlBQVk7UUFDbkUsYUFBYSxFQUFFLGNBQWM7UUFDN0IsdUJBQXVCLEVBQUUsU0FBUztRQUNsQyx1QkFBdUIsRUFBRSwyQkFBMkI7UUFDcEQsVUFBVTtRQUNWLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxJQUFJLFFBQVE7UUFDdkMsVUFBVTtRQUNWLFFBQVE7UUFDUixVQUFVO1FBQ1YsYUFBYTtRQUNiLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO1lBQ2xELENBQUMsQ0FBQyxNQUFNO1FBQ1YsY0FBYyxFQUFFLFNBQVMsQ0FBQyxXQUFXLElBQUksUUFBUTtRQUNqRCxtQkFBbUIsRUFBRSxTQUFTLENBQUMsZ0JBQWdCLElBQUksU0FBUztRQUM1RCxhQUFhO1FBQ2IsWUFBWSxFQUFFLFVBQVU7UUFDeEIsR0FBRyxtQkFBbUI7S0FDdkIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEtBQUssRUFBRSxVQUd2RCxFQUFnRCxFQUFFO0lBQ2pELE1BQU0sU0FBUyxHQUFHLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUV6QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzNFLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDakMsSUFBSSxjQUFjLEdBQXlCLFFBQVEsQ0FBQztJQUNwRCxJQUFJLG1CQUFtQixHQUF3QixTQUFTLENBQUM7SUFDekQsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFDRSxTQUFTLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztnQkFDbkMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3ZCLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQ2pELENBQUMsRUFDSixDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxhQUFhLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUNiLG1FQUFtRSxDQUNwRSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQ0UsU0FBUyxDQUFDLFdBQVcsS0FBSyxTQUFTO1lBQ25DLFNBQVMsQ0FBQyxXQUFXLEtBQUssUUFBUTtZQUNsQyxTQUFTLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFDbkMsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7UUFDSixDQUFDO1FBQ0QsSUFDRSxTQUFTLENBQUMsZ0JBQWdCLEtBQUssU0FBUztZQUN4QyxTQUFTLENBQUMsZ0JBQWdCLEtBQUssU0FBUztZQUN4QyxTQUFTLENBQUMsZ0JBQWdCLEtBQUssT0FBTyxFQUN0QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztRQUNKLENBQUM7UUFDRCxjQUFjLEdBQUcsU0FBUyxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUM7UUFDbkQsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixJQUFJLFNBQVMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsT0FBTztRQUNMLFNBQVM7UUFDVCxhQUFhO1FBQ2IsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDOUIsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7WUFDbEQsQ0FBQyxDQUFDLE1BQU07UUFDVixjQUFjO1FBQ2QsbUJBQW1CO0tBQ3BCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FDNUMsS0FBSyxJQUFrRCxFQUFFO0lBQ3ZELE1BQU0sU0FBUyxHQUFHLE1BQU0scUJBQXFCLEVBQUUsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO0lBQzlELE9BQU8sMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDIn0=
|
|
587
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2hlbHBlcnMud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFnRTdELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQzdDLFNBQTBDLEVBQ0EsRUFBRTtJQUM1QyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUMzRSxJQUFJLEdBQVEsQ0FBQztJQUNiLElBQUksQ0FBQztRQUNILEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFVLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FDYixvRUFBb0UsQ0FDckUsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUNFLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzNDLE9BQU8sVUFBVSxLQUFLLFFBQVE7UUFDOUIsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRWhELE1BQU0sSUFBSSxLQUFLLENBQ2IsNERBQTRELENBQzdELENBQUM7SUFDSixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMs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
|