@spinajs/orm 2.0.541 → 2.0.542
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/lib/cjs/migration-runner.d.ts +22 -1
- package/lib/cjs/migration-runner.d.ts.map +1 -1
- package/lib/cjs/migration-runner.js +58 -7
- package/lib/cjs/migration-runner.js.map +1 -1
- package/lib/cjs/migration-service.d.ts +6 -0
- package/lib/cjs/migration-service.d.ts.map +1 -1
- package/lib/cjs/migration-service.js +2 -1
- package/lib/cjs/migration-service.js.map +1 -1
- package/lib/mjs/migration-runner.d.ts +22 -1
- package/lib/mjs/migration-runner.d.ts.map +1 -1
- package/lib/mjs/migration-runner.js +58 -7
- package/lib/mjs/migration-runner.js.map +1 -1
- package/lib/mjs/migration-service.d.ts +6 -0
- package/lib/mjs/migration-service.d.ts.map +1 -1
- package/lib/mjs/migration-service.js +2 -1
- package/lib/mjs/migration-service.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -58,13 +58,34 @@ export declare class MigrationRunner {
|
|
|
58
58
|
constructor(orm: IMigrationRunnerHost);
|
|
59
59
|
/**
|
|
60
60
|
* Applies every pending migration on every configured connection, or only `name` when one is
|
|
61
|
-
* given, in `(created, name)` order.
|
|
61
|
+
* given, in `(created, name)` order ACROSS connections.
|
|
62
|
+
*
|
|
63
|
+
* Across, not connection by connection: migrations on different connections often target the
|
|
64
|
+
* same server, and one of them may read what another created - a view in one schema over a
|
|
65
|
+
* table a migration on another connection adds. Running each connection's whole backlog in
|
|
66
|
+
* turn applies such a pair in the wrong order whenever both are pending at once, which is
|
|
67
|
+
* exactly the case of a deployment catching up on several releases. So the pending set is
|
|
68
|
+
* walked in global order and handed to each connection's service in consecutive stretches;
|
|
69
|
+
* returning to a connection continues the batch it already opened.
|
|
62
70
|
*
|
|
63
71
|
* A `name` that matches nothing in the registry throws rather than returning `[]`: an empty
|
|
64
72
|
* result from a typo is indistinguishable from "already up to date", so the CLI would exit 0
|
|
65
73
|
* reporting "0 migrations applied" and the operator would believe the schema is current.
|
|
66
74
|
*/
|
|
67
75
|
up(name?: string, options?: IMigrationUpOptions): Promise<OrmMigration[]>;
|
|
76
|
+
/**
|
|
77
|
+
* The planned groups re-cut into runs of consecutive same-connection migrations, in global
|
|
78
|
+
* `(created, name)` order.
|
|
79
|
+
*
|
|
80
|
+
* Only what still has to run takes part in the cut - applied migrations would split the
|
|
81
|
+
* pending ones into many needless stretches, each one lock and one table read. A FAILED
|
|
82
|
+
* migration does take part: its service refuses the run at that point, as it always has.
|
|
83
|
+
*
|
|
84
|
+
* A connection with nothing left to run still gets an empty stretch, at the end: the service's
|
|
85
|
+
* refusal to run over a FAILED row covers every row of the connection, registered or not, and
|
|
86
|
+
* skipping the call would quietly drop that guard for it.
|
|
87
|
+
*/
|
|
88
|
+
protected stretches(groups: Array<[OrmDriver, IMigrationUnit[]]>): Promise<Array<[OrmDriver, IMigrationUnit[]]>>;
|
|
68
89
|
/**
|
|
69
90
|
* Rolls the last applied batch back on every configured connection, or every batch with
|
|
70
91
|
* `{ all: true }`. `name` narrows the run to a single migration and - exactly like `up` - throws
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAA2B,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAErJ;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAA2B,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAErJ;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAWrD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAId,SAAS,CAAC,GAAG,EAAE,oBAAoB;IAF/C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,YAAsB,GAAG,EAAE,oBAAoB,EAAI;IAEnD;;;;;;;;;;;;;;;OAeG;IACU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAWrF;IAED;;;;;;;;;;;OAWG;IACH,UAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CA8BrH;IAED;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAS/F;IAEY,MAAM,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWtD;IAED;;;;;OAKG;IACU,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchF;IAED;;OAEG;IACH,UAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAIvE;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAsGlH;CACF"}
|
|
@@ -23,6 +23,14 @@ const migration_service_js_1 = require("./migration-service.js");
|
|
|
23
23
|
*/
|
|
24
24
|
var symbols_js_2 = require("./symbols.js");
|
|
25
25
|
Object.defineProperty(exports, "MIGRATION_FILE_REGEXP", { enumerable: true, get: function () { return symbols_js_2.MIGRATION_FILE_REGEXP; } });
|
|
26
|
+
/**
|
|
27
|
+
* Timestamp first, then name: two migrations generated in the same second are otherwise ordered
|
|
28
|
+
* by whatever the registry happened to hold, which differs between a file-scan boot and a
|
|
29
|
+
* programmatic registration. Equal on both = 0, so a sort stays stable.
|
|
30
|
+
*/
|
|
31
|
+
function compareUnits(a, b) {
|
|
32
|
+
return a.created < b.created ? -1 : a.created > b.created ? 1 : a.name.localeCompare(b.name);
|
|
33
|
+
}
|
|
26
34
|
/**
|
|
27
35
|
* Cross-connection orchestrator: validates and orders the migration registry, groups it by the
|
|
28
36
|
* connection each migration declared, and hands each group to that connection's
|
|
@@ -35,7 +43,15 @@ class MigrationRunner {
|
|
|
35
43
|
}
|
|
36
44
|
/**
|
|
37
45
|
* Applies every pending migration on every configured connection, or only `name` when one is
|
|
38
|
-
* given, in `(created, name)` order.
|
|
46
|
+
* given, in `(created, name)` order ACROSS connections.
|
|
47
|
+
*
|
|
48
|
+
* Across, not connection by connection: migrations on different connections often target the
|
|
49
|
+
* same server, and one of them may read what another created - a view in one schema over a
|
|
50
|
+
* table a migration on another connection adds. Running each connection's whole backlog in
|
|
51
|
+
* turn applies such a pair in the wrong order whenever both are pending at once, which is
|
|
52
|
+
* exactly the case of a deployment catching up on several releases. So the pending set is
|
|
53
|
+
* walked in global order and handed to each connection's service in consecutive stretches;
|
|
54
|
+
* returning to a connection continues the batch it already opened.
|
|
39
55
|
*
|
|
40
56
|
* A `name` that matches nothing in the registry throws rather than returning `[]`: an empty
|
|
41
57
|
* result from a typo is indistinguishable from "already up to date", so the CLI would exit 0
|
|
@@ -43,12 +59,50 @@ class MigrationRunner {
|
|
|
43
59
|
*/
|
|
44
60
|
async up(name, options) {
|
|
45
61
|
const executed = [];
|
|
46
|
-
|
|
62
|
+
const opened = new Set();
|
|
63
|
+
for (const [driver, units] of await this.stretches(this.plan(name, options?.force ?? true, options?.connection))) {
|
|
47
64
|
const service = await this.service(driver);
|
|
48
|
-
executed.push(...(await service.up(units, { fake: options?.fake })));
|
|
65
|
+
executed.push(...(await service.up(units, { fake: options?.fake, continueBatch: opened.has(driver) })));
|
|
66
|
+
opened.add(driver);
|
|
49
67
|
}
|
|
50
68
|
return executed;
|
|
51
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* The planned groups re-cut into runs of consecutive same-connection migrations, in global
|
|
72
|
+
* `(created, name)` order.
|
|
73
|
+
*
|
|
74
|
+
* Only what still has to run takes part in the cut - applied migrations would split the
|
|
75
|
+
* pending ones into many needless stretches, each one lock and one table read. A FAILED
|
|
76
|
+
* migration does take part: its service refuses the run at that point, as it always has.
|
|
77
|
+
*
|
|
78
|
+
* A connection with nothing left to run still gets an empty stretch, at the end: the service's
|
|
79
|
+
* refusal to run over a FAILED row covers every row of the connection, registered or not, and
|
|
80
|
+
* skipping the call would quietly drop that guard for it.
|
|
81
|
+
*/
|
|
82
|
+
async stretches(groups) {
|
|
83
|
+
const queue = [];
|
|
84
|
+
const idle = [];
|
|
85
|
+
for (const [driver, units] of groups) {
|
|
86
|
+
const status = await (await this.service(driver)).status(units);
|
|
87
|
+
const open = new Set(status.filter((s) => s.pending || s.failed).map((s) => s.name));
|
|
88
|
+
if (open.size === 0) {
|
|
89
|
+
idle.push(driver);
|
|
90
|
+
}
|
|
91
|
+
queue.push(...units.filter((u) => open.has(u.name)).map((unit) => ({ driver, unit })));
|
|
92
|
+
}
|
|
93
|
+
queue.sort((a, b) => compareUnits(a.unit, b.unit));
|
|
94
|
+
const result = [];
|
|
95
|
+
for (const { driver, unit } of queue) {
|
|
96
|
+
const last = result[result.length - 1];
|
|
97
|
+
if (last && last[0] === driver) {
|
|
98
|
+
last[1].push(unit);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
result.push([driver, [unit]]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return [...result, ...idle.map((driver) => [driver, []])];
|
|
105
|
+
}
|
|
52
106
|
/**
|
|
53
107
|
* Rolls the last applied batch back on every configured connection, or every batch with
|
|
54
108
|
* `{ all: true }`. `name` narrows the run to a single migration and - exactly like `up` - throws
|
|
@@ -144,10 +198,7 @@ class MigrationRunner {
|
|
|
144
198
|
}
|
|
145
199
|
return { name: m.name, created, type: m.type };
|
|
146
200
|
})
|
|
147
|
-
|
|
148
|
-
// ordered by whatever the registry happened to hold, which differs between a file-scan
|
|
149
|
-
// boot and a programmatic registration. Equal on both = 0, so the sort stays stable
|
|
150
|
-
.sort((a, b) => (a.created < b.created ? -1 : a.created > b.created ? 1 : a.name.localeCompare(b.name)));
|
|
201
|
+
.sort(compareUnits);
|
|
151
202
|
// Resolved to a DRIVER rather than compared as a string, because that is what the groups
|
|
152
203
|
// below are keyed by: `db.Aliases` binds several names to one `OrmDriver`, so
|
|
153
204
|
// `--connection <alias>` and `--connection <the name it points at>` have to select the same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oDAAkD;AAClD,iCAAiC;AAGjC,6CAAqD;AACrD,mDAA6D;AAC7D,mDAA+C;AAC/C,iEAAqJ;AAErJ;;;;GAIG;AACH,2CAAqD;AAA5C,mHAAA,qBAAqB,OAAA;
|
|
1
|
+
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,12 @@ export interface IMigrationRunOptions {
|
|
|
41
41
|
* Record the migration as applied without running its `up()`.
|
|
42
42
|
*/
|
|
43
43
|
fake?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Record into the connection's latest batch instead of opening a new one. `MigrationRunner.up`
|
|
46
|
+
* passes it when one run returns to a connection it already migrated, so a run stays one batch
|
|
47
|
+
* per connection - which is what `down()` rolls back.
|
|
48
|
+
*/
|
|
49
|
+
continueBatch?: boolean;
|
|
44
50
|
}
|
|
45
51
|
export interface IMigrationDownOptions extends IMigrationRunOptions {
|
|
46
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-service.d.ts","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGzE,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-service.d.ts","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -490,7 +490,8 @@ class DefaultMigrationService extends OrmMigrationService {
|
|
|
490
490
|
}
|
|
491
491
|
const instanceOf = (u) => instances.get(u.name);
|
|
492
492
|
const optedOut = (u) => this.optedOutOfTransaction(u, instances.get(u.name));
|
|
493
|
-
const
|
|
493
|
+
const latest = Math.max(0, ...records.filter((r) => r.FinishedAt && !r.RolledBackAt).map((r) => r.Batch ?? 0));
|
|
494
|
+
const batch = options?.continueBatch && latest > 0 ? latest : latest + 1;
|
|
494
495
|
const executed = [];
|
|
495
496
|
if (options?.fake) {
|
|
496
497
|
const stamp = new Date();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-service.js","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration-service.js","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oCAAiD;AACjD,oDAAkD;AAElD,6CAAyC;AACzC,qCAAmC;AAEnC,2CAAwC;AACxC,mDAAyE;AACzE,mDAA+C;AAElC,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAC3C,QAAA,4BAA4B,GAAG,GAAG,CAAC;AACnC,QAAA,sBAAsB,GAAG,MAAM,CAAC;AAChC,QAAA,0BAA0B,GAAG,OAAO,CAAC;AAElD;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,CAAC,CAAC;AA0E3C;;;GAGG;AACH,2BAAkC,IAAyB;IACzD,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AAEI,IAAe,mBAAmB,GAAlC,MAAe,mBAAmB;IACvC,YAAsB,MAAiB;sBAAjB,MAAM;IAAc,CAAC;CAyB5C,CAAA;;8BA1BqB,mBAAmB;IADxC,IAAA,gBAAW,GAAE;qCAEkB,qBAAS;GADnB,mBAAmB,CA0BxC;AAED,6BAAqC,SAAQ,mBAAmB;IAI9D,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,QAAA,oBAAoB,CAAC;IACtE,CAAC;IAED,IAAc,SAAS;QACrB,OAAO,GAAG,IAAI,CAAC,KAAK,OAAO,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,OAAuC;QACvF,uFAAuF;QACvF,EAAE;QACF,wFAAwF;QACxF,2FAA2F;QAC3F,6FAA6F;QAC7F,kFAAkF;QAClF,wFAAwF;QACxF,8FAA8F;QAC9F,wBAAwB;QAExB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,4BAAY,CAAC,oCAAoC,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAChL,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,2DAA2D,CAAC,CAAC;QAC/I,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,uFAAuF;QACvF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAE1C,oFAAoF;QACpF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACjE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YACzC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,6FAA6F;YAC7F,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAE1D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzH,MAAM,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;wBAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC3D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;wBAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC7D,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;wBAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC;oBACjE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;wBAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC7C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClB,2EAA2E;wBAC3E,qCAAqC;wBACrC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC7B,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACzB,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAuB,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,KAAK,CAAC,kBAAkB;QAChC,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAA8B,EAAE,CAAC;YAE5C,0FAA0F;YAC1F,gFAAgF;YAChF,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBACxB,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YAChC,CAAC;YAED,2FAA2F;YAC3F,0FAA0F;YAC1F,qFAAqF;YACrF,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACpB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,OAAO;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACtH,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,QAAsC;QAC9E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtL,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,KAAa,EAAE,QAAgB;QACxE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5I,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,GAAU;QACjD,MAAM,IAAI,CAAC,MAAM;aACd,MAAM,EAAE;aACR,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aACd,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aAC5F,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACO,cAAc,CAAC,OAA2B;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAE5D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,4BAAY,CACpB,aAAa,MAAM,CAAC,SAAS,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,iIAAiI,MAAM,CAAC,SAAS,qIAAqI,IAAI,CAAC,KAAK,mBAAmB,CAC3X,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,aAAa,CAAC,GAAqB;QAC3C,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACO,KAAK,CAAC,aAAa;QAC3B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAyC,CAAC;QAChI,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEvG,0FAA0F;QAC1F,8FAA8F;QAC9F,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACO,iBAAiB,CAAC,OAA2B,EAAE,OAAyB;QAChF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YAExD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,0FAA0F;YAC1F,0FAA0F;YAC1F,0DAA0D;YAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEpG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,uKAAuK,OAAO,mbAAmb,CAAC,CAAC,IAAI,wDAAwD,CAAC,CAAC;QAC9uB,CAAC;IACH,CAAC;IAES,eAAe;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,IAAI,wCAAwB,CAAC,IAAI,CAAC;IAC3F,CAAC;IAED;;;;;;;;;OASG;IACO,qBAAqB,CAAC,CAAiB,EAAE,QAAuB;QACxE,OAAQ,QAAgB,EAAE,WAAW,KAAK,KAAK,IAAK,CAAC,CAAC,IAAI,CAAC,SAAiB,EAAE,WAAW,KAAK,KAAK,IAAK,CAAC,CAAC,IAAY,EAAE,WAAW,KAAK,KAAK,CAAC;IAChJ,CAAC;IAED;;;OAGG;IACO,mBAAmB,CAAC,CAAiB,EAAE,OAA2B;QAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,GAAG,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,kIAAkI,CAAC,CAAC;QACvK,CAAC;IACH,CAAC;IAES,WAAW;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;QAEhD,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,IAAI;YAC7B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,QAAA,sBAAsB;YAC/C,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,QAAA,0BAA0B;SAC1D,CAAC;IACJ,CAAC;IAED;;;OAGG;IACO,SAAS;QACjB,OAAO,GAAG,IAAA,kBAAQ,GAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,KAAK,CAAC,WAAW;QACzB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,CAAC;QACnD,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxG,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,yFAAyF;gBACzF,8EAA8E;gBAC9E,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAwD,CAAC;gBAC/I,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEvB,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC;oBAE7D,qFAAqF;oBACrF,sFAAsF;oBACtF,qFAAqF;oBACrF,iFAAiF;oBACjF,IAAI,KAAK,IAAI,MAAM,GAAG,QAAA,yBAAyB,EAAE,CAAC;wBAChD,MAAM,EAAE,CAAC;wBAET,qFAAqF;wBACrF,2EAA2E;wBAC3E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,aAAa,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAW,EAAE,iBAAiB,UAAU,qIAAqI,CAAC,CAAC;wBAClT,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;wBAE9D,+EAA+E;wBAC/E,oFAAoF;wBACpF,2DAA2D;wBAC3D,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;4BACf,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,IAAI,OAAO,EAAE,EAAE,CAAC;wBACd,MAAM,IAAI,4BAAY,CAAC,kDAAkD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,OAAO,gBAAgB,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAW,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,4EAA4E,IAAI,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/T,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,EAAE,EAAE,CAAC;oBACrB,sFAAsF;oBACtF,oFAAoF;oBACpF,MAAM,IAAI,4BAAY,CAAC,kDAAkD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,OAAO,6DAA8D,GAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBAClP,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAA,4BAA4B,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,WAAW;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,QAAQ,CAAI,EAAoB;QAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mFAAmF;gBACnF,oFAAoF;gBACpF,wFAAwF;gBACxF,sFAAsF;gBACtF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,6GAA6G,IAAI,CAAC,SAAS,WAAW,CAAC,CAAC;YAClQ,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,EAAE,CAAC,KAAuB,EAAE,OAA8B;QACrE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC3G,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAExD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,sFAAsF;YACtF,0FAA0F;YAC1F,8BAA8B;YAC9B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEzC,mFAAmF;YACnF,yFAAyF;YACzF,gEAAgE;YAChE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAe,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAiB,CAAC;YAChF,MAAM,QAAQ,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/G,MAAM,KAAK,GAAG,OAAO,EAAE,aAAa,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAmB,EAAE,CAAC;YAEpC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBAEzB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;oBAE7D,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,IAAI,CAAC,MAAM;6BACd,MAAM,EAAE;6BACR,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;6BACd,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;6BAClI,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,MAAM;6BACd,MAAM,EAAE;6BACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;6BAChB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC7K,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,sCAAsC,CAAC,CAAC;gBAC3E,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,EAAE,CAAiB,EAAE,EAAE;gBAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,qFAAqF;gBACrF,uEAAuE;gBACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7D,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAEzC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAElE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACtD,CAAC,CAAC;YAEF;;;;eAIG;YACH,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,GAAY,EAAE,EAAE;gBACzD,IAAI,CAAC;oBACH,iFAAiF;oBACjF,0EAA0E;oBAC1E,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;oBAEvE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC1C,CAAC;oBAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAY,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,oFAAoF;oBACpF,oFAAoF;oBACpF,iEAAiE;oBACjE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,sDAAuD,WAAqB,CAAC,OAAO,+FAA+F,CAAC,CAAC;gBACjQ,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,GAAY,EAAE,EAAE,CAAC,IAAI,4BAAY,CAAC,aAAa,IAAI,yBAAyB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAExM,MAAM,OAAO,GAAG,KAAK,EAAE,CAAiB,EAAE,IAAa,EAAE,EAAE;gBACzD,IAAI,CAAC;oBACH,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;4BACvC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;wBACvB,CAAC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACjC,MAAM,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAEpC,IAAI,IAAI,KAAK,wCAAwB,CAAC,MAAM,EAAE,CAAC;gBAC7C,oFAAoF;gBACpF,iFAAiF;gBACjF,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;gBAE3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAoB,CAAC;oBAE7C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnB,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC3B,SAAS;oBACX,CAAC;oBAED,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAoB,CAAC,CAAC;oBAChD,CAAC;oBAED,IAAI,OAAO,GAAG,IAAI,CAAC;oBAEnB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;4BACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gCACxB,OAAO,GAAG,CAAC,CAAC;gCACZ,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;4BACvB,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACvC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,wCAAwB,CAAC,YAAY,EAAE,CAAC;gBAC1D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAAuB,EAAE,OAA+B;QACxE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAE3E,uFAAuF;YACvF,wFAAwF;YACxF,qFAAqF;YACrF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAElE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,wFAAwF;gBACxF,iFAAiF;gBACjF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,+KAA+K,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC;YAClW,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,mFAAmF;YACnF,wDAAwD;YACxD,IAAI,MAAM,GAAG,WAAW,CAAC;YAEzB,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YACnE,CAAC;YAED,0FAA0F;YAC1F,yFAAyF;YACzF,gFAAgF;YAChF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAEjF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,6NAA6N,CAAC,CAAC;YACnV,CAAC;YAED,qFAAqF;YACrF,mFAAmF;YACnF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtL,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,oFAAoF;YACpF,iFAAiF;YACjF,uDAAuD;YACvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAe,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7F,MAAM,QAAQ,GAAmB,EAAE,CAAC;YAEpC,MAAM,MAAM,GAAG,KAAK,EAAE,CAAiB,EAAE,EAAE;gBACzC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAiB,CAAC;gBAExD,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBACnB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,CAAC;oBACH,2EAA2E;oBAC3E,6EAA6E;oBAC7E,oEAAoE;oBACpE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,kFAAkF;oBAClF,mFAAmF;oBACnF,sFAAsF;oBACtF,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;wBACnE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,kBAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,iEAAkE,GAAa,CAAC,OAAO,2GAA2G,IAAI,CAAC,KAAK,6CAA6C,CAAC,CAAC;oBACzU,CAAC;oBAED,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC3H,CAAC,CAAC;YAEF;;;;;eAKG;YACH,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,GAAY,EAAE,EAAE,CAAC,IAAI,4BAAY,CAAC,aAAa,IAAI,sCAAsC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAErN,MAAM,OAAO,GAAG,KAAK,EAAE,CAAiB,EAAE,IAAa,EAAE,EAAE;gBACzD,IAAI,CAAC;oBACH,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;4BACvC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAEpC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,mEAAmE;gBACnE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,wCAAwB,CAAC,MAAM,EAAE,CAAC;gBACpD,yFAAyF;gBACzF,wFAAwF;gBACxF,uFAAuF;gBACvF,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gBAEzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAoB,CAAC;oBAE7C,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnB,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC3B,SAAS;oBACX,CAAC;oBAED,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAoB,CAAC,CAAC;oBAChD,CAAC;oBAED,IAAI,OAAO,GAAG,IAAI,CAAC;oBAEnB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;4BACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gCACxB,OAAO,GAAG,CAAC,CAAC;gCACZ,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;4BAClB,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,wCAAwB,CAAC,YAAY,EAAE,CAAC;gBAC1D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAuB;QACzC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,4FAA4F;QAC5F,wFAAwF;QACxF,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErC,wFAAwF;QACxF,6FAA6F;QAC7F,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;gBACpC,OAAO;gBACP,MAAM;gBACN,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY;gBAC/B,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM;gBAC5B,wFAAwF;gBACxF,oBAAoB;gBACpB,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACzD,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,IAAI;gBACzB,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;gBACjC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;gBACnC,gBAAgB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAA8B,EAAE,IAAqB;QACtF,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3B,4FAA4F;QAC5F,0FAA0F;QAC1F,iBAAiB;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QAEtD,4FAA4F;QAC5F,+FAA+F;QAC/F,wFAAwF;QACxF,qEAAqE;QACrE,EAAE;QACF,2FAA2F;QAC3F,6FAA6F;QAC7F,yFAAyF;QACzF,4FAA4F;QAC5F,qCAAqC;QACrC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,4BAAY,CAAC,aAAa,IAAI,yCAAyC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,uDAAuD,CAAC,CAAC;QACpK,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,sFAAsF;YACtF,qFAAqF;YACrF,0FAA0F;YAC1F,yFAAyF;YACzF,4FAA4F;YAC5F,uFAAuF;YACvF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClH,MAAM,KAAK,GAA8B,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAElF,qFAAqF;YACrF,yFAAyF;YACzF,oFAAoF;YACpF,uDAAuD;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,+BAA+B,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wDAAwD,EAAE,CAAC,CAAC;QACjJ,CAAC;aAAM,CAAC;YACN,oFAAoF;YACpF,qFAAqF;YACrF,uFAAuF;YACvF,gEAAgE;YAChE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,0CAA0C,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;CACF;;AAh3BW;IADT,IAAA,mBAAM,EAAC,KAAK,CAAC;8BACC,gBAAG;oDAAC"}
|
|
@@ -58,13 +58,34 @@ export declare class MigrationRunner {
|
|
|
58
58
|
constructor(orm: IMigrationRunnerHost);
|
|
59
59
|
/**
|
|
60
60
|
* Applies every pending migration on every configured connection, or only `name` when one is
|
|
61
|
-
* given, in `(created, name)` order.
|
|
61
|
+
* given, in `(created, name)` order ACROSS connections.
|
|
62
|
+
*
|
|
63
|
+
* Across, not connection by connection: migrations on different connections often target the
|
|
64
|
+
* same server, and one of them may read what another created - a view in one schema over a
|
|
65
|
+
* table a migration on another connection adds. Running each connection's whole backlog in
|
|
66
|
+
* turn applies such a pair in the wrong order whenever both are pending at once, which is
|
|
67
|
+
* exactly the case of a deployment catching up on several releases. So the pending set is
|
|
68
|
+
* walked in global order and handed to each connection's service in consecutive stretches;
|
|
69
|
+
* returning to a connection continues the batch it already opened.
|
|
62
70
|
*
|
|
63
71
|
* A `name` that matches nothing in the registry throws rather than returning `[]`: an empty
|
|
64
72
|
* result from a typo is indistinguishable from "already up to date", so the CLI would exit 0
|
|
65
73
|
* reporting "0 migrations applied" and the operator would believe the schema is current.
|
|
66
74
|
*/
|
|
67
75
|
up(name?: string, options?: IMigrationUpOptions): Promise<OrmMigration[]>;
|
|
76
|
+
/**
|
|
77
|
+
* The planned groups re-cut into runs of consecutive same-connection migrations, in global
|
|
78
|
+
* `(created, name)` order.
|
|
79
|
+
*
|
|
80
|
+
* Only what still has to run takes part in the cut - applied migrations would split the
|
|
81
|
+
* pending ones into many needless stretches, each one lock and one table read. A FAILED
|
|
82
|
+
* migration does take part: its service refuses the run at that point, as it always has.
|
|
83
|
+
*
|
|
84
|
+
* A connection with nothing left to run still gets an empty stretch, at the end: the service's
|
|
85
|
+
* refusal to run over a FAILED row covers every row of the connection, registered or not, and
|
|
86
|
+
* skipping the call would quietly drop that guard for it.
|
|
87
|
+
*/
|
|
88
|
+
protected stretches(groups: Array<[OrmDriver, IMigrationUnit[]]>): Promise<Array<[OrmDriver, IMigrationUnit[]]>>;
|
|
68
89
|
/**
|
|
69
90
|
* Rolls the last applied batch back on every configured connection, or every batch with
|
|
70
91
|
* `{ all: true }`. `name` narrows the run to a single migration and - exactly like `up` - throws
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAA2B,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAErJ;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAA2B,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAErJ;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAWrD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAId,SAAS,CAAC,GAAG,EAAE,oBAAoB;IAF/C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB,YAAsB,GAAG,EAAE,oBAAoB,EAAI;IAEnD;;;;;;;;;;;;;;;OAeG;IACU,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAWrF;IAED;;;;;;;;;;;OAWG;IACH,UAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CA8BrH;IAED;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAS/F;IAEY,MAAM,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWtD;IAED;;;;;OAKG;IACU,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchF;IAED;;OAEG;IACH,UAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAIvE;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAsGlH;CACF"}
|
|
@@ -19,6 +19,14 @@ import { DefaultMigrationService } from './migration-service.js';
|
|
|
19
19
|
* the rest of the package - and `@spinajs/orm-cli` - use, and stays that way.
|
|
20
20
|
*/
|
|
21
21
|
export { MIGRATION_FILE_REGEXP } from './symbols.js';
|
|
22
|
+
/**
|
|
23
|
+
* Timestamp first, then name: two migrations generated in the same second are otherwise ordered
|
|
24
|
+
* by whatever the registry happened to hold, which differs between a file-scan boot and a
|
|
25
|
+
* programmatic registration. Equal on both = 0, so a sort stays stable.
|
|
26
|
+
*/
|
|
27
|
+
function compareUnits(a, b) {
|
|
28
|
+
return a.created < b.created ? -1 : a.created > b.created ? 1 : a.name.localeCompare(b.name);
|
|
29
|
+
}
|
|
22
30
|
/**
|
|
23
31
|
* Cross-connection orchestrator: validates and orders the migration registry, groups it by the
|
|
24
32
|
* connection each migration declared, and hands each group to that connection's
|
|
@@ -31,7 +39,15 @@ export class MigrationRunner {
|
|
|
31
39
|
}
|
|
32
40
|
/**
|
|
33
41
|
* Applies every pending migration on every configured connection, or only `name` when one is
|
|
34
|
-
* given, in `(created, name)` order.
|
|
42
|
+
* given, in `(created, name)` order ACROSS connections.
|
|
43
|
+
*
|
|
44
|
+
* Across, not connection by connection: migrations on different connections often target the
|
|
45
|
+
* same server, and one of them may read what another created - a view in one schema over a
|
|
46
|
+
* table a migration on another connection adds. Running each connection's whole backlog in
|
|
47
|
+
* turn applies such a pair in the wrong order whenever both are pending at once, which is
|
|
48
|
+
* exactly the case of a deployment catching up on several releases. So the pending set is
|
|
49
|
+
* walked in global order and handed to each connection's service in consecutive stretches;
|
|
50
|
+
* returning to a connection continues the batch it already opened.
|
|
35
51
|
*
|
|
36
52
|
* A `name` that matches nothing in the registry throws rather than returning `[]`: an empty
|
|
37
53
|
* result from a typo is indistinguishable from "already up to date", so the CLI would exit 0
|
|
@@ -39,12 +55,50 @@ export class MigrationRunner {
|
|
|
39
55
|
*/
|
|
40
56
|
async up(name, options) {
|
|
41
57
|
const executed = [];
|
|
42
|
-
|
|
58
|
+
const opened = new Set();
|
|
59
|
+
for (const [driver, units] of await this.stretches(this.plan(name, options?.force ?? true, options?.connection))) {
|
|
43
60
|
const service = await this.service(driver);
|
|
44
|
-
executed.push(...(await service.up(units, { fake: options?.fake })));
|
|
61
|
+
executed.push(...(await service.up(units, { fake: options?.fake, continueBatch: opened.has(driver) })));
|
|
62
|
+
opened.add(driver);
|
|
45
63
|
}
|
|
46
64
|
return executed;
|
|
47
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* The planned groups re-cut into runs of consecutive same-connection migrations, in global
|
|
68
|
+
* `(created, name)` order.
|
|
69
|
+
*
|
|
70
|
+
* Only what still has to run takes part in the cut - applied migrations would split the
|
|
71
|
+
* pending ones into many needless stretches, each one lock and one table read. A FAILED
|
|
72
|
+
* migration does take part: its service refuses the run at that point, as it always has.
|
|
73
|
+
*
|
|
74
|
+
* A connection with nothing left to run still gets an empty stretch, at the end: the service's
|
|
75
|
+
* refusal to run over a FAILED row covers every row of the connection, registered or not, and
|
|
76
|
+
* skipping the call would quietly drop that guard for it.
|
|
77
|
+
*/
|
|
78
|
+
async stretches(groups) {
|
|
79
|
+
const queue = [];
|
|
80
|
+
const idle = [];
|
|
81
|
+
for (const [driver, units] of groups) {
|
|
82
|
+
const status = await (await this.service(driver)).status(units);
|
|
83
|
+
const open = new Set(status.filter((s) => s.pending || s.failed).map((s) => s.name));
|
|
84
|
+
if (open.size === 0) {
|
|
85
|
+
idle.push(driver);
|
|
86
|
+
}
|
|
87
|
+
queue.push(...units.filter((u) => open.has(u.name)).map((unit) => ({ driver, unit })));
|
|
88
|
+
}
|
|
89
|
+
queue.sort((a, b) => compareUnits(a.unit, b.unit));
|
|
90
|
+
const result = [];
|
|
91
|
+
for (const { driver, unit } of queue) {
|
|
92
|
+
const last = result[result.length - 1];
|
|
93
|
+
if (last && last[0] === driver) {
|
|
94
|
+
last[1].push(unit);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
result.push([driver, [unit]]);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return [...result, ...idle.map((driver) => [driver, []])];
|
|
101
|
+
}
|
|
48
102
|
/**
|
|
49
103
|
* Rolls the last applied batch back on every configured connection, or every batch with
|
|
50
104
|
* `{ all: true }`. `name` narrows the run to a single migration and - exactly like `up` - throws
|
|
@@ -140,10 +194,7 @@ export class MigrationRunner {
|
|
|
140
194
|
}
|
|
141
195
|
return { name: m.name, created, type: m.type };
|
|
142
196
|
})
|
|
143
|
-
|
|
144
|
-
// ordered by whatever the registry happened to hold, which differs between a file-scan
|
|
145
|
-
// boot and a programmatic registration. Equal on both = 0, so the sort stays stable
|
|
146
|
-
.sort((a, b) => (a.created < b.created ? -1 : a.created > b.created ? 1 : a.name.localeCompare(b.name)));
|
|
197
|
+
.sort(compareUnits);
|
|
147
198
|
// Resolved to a DRIVER rather than compared as a string, because that is what the groups
|
|
148
199
|
// below are keyed by: `db.Aliases` binds several names to one `OrmDriver`, so
|
|
149
200
|
// `--connection <alias>` and `--connection <the name it points at>` have to select the same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAsF,MAAM,wBAAwB,CAAC;AAErJ;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../src/migration-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,12 @@ export interface IMigrationRunOptions {
|
|
|
41
41
|
* Record the migration as applied without running its `up()`.
|
|
42
42
|
*/
|
|
43
43
|
fake?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Record into the connection's latest batch instead of opening a new one. `MigrationRunner.up`
|
|
46
|
+
* passes it when one run returns to a connection it already migrated, so a run stays one batch
|
|
47
|
+
* per connection - which is what `down()` rolls back.
|
|
48
|
+
*/
|
|
49
|
+
continueBatch?: boolean;
|
|
44
50
|
}
|
|
45
51
|
export interface IMigrationDownOptions extends IMigrationRunOptions {
|
|
46
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-service.d.ts","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGzE,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-service.d.ts","sourceRoot":"","sources":["../../src/migration-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -486,7 +486,8 @@ export class DefaultMigrationService extends OrmMigrationService {
|
|
|
486
486
|
}
|
|
487
487
|
const instanceOf = (u) => instances.get(u.name);
|
|
488
488
|
const optedOut = (u) => this.optedOutOfTransaction(u, instances.get(u.name));
|
|
489
|
-
const
|
|
489
|
+
const latest = Math.max(0, ...records.filter((r) => r.FinishedAt && !r.RolledBackAt).map((r) => r.Batch ?? 0));
|
|
490
|
+
const batch = options?.continueBatch && latest > 0 ? latest : latest + 1;
|
|
490
491
|
const executed = [];
|
|
491
492
|
if (options?.fake) {
|
|
492
493
|
const stamp = new Date();
|