@infra-blocks/aws-dynamodb 0.22.0 → 0.23.0-alpha.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/lib/cjs/commands/expressions/update/remove.js.map +1 -1
- package/lib/cjs/commands/expressions/update/set.d.ts +17 -43
- package/lib/cjs/commands/expressions/update/set.js +22 -68
- package/lib/cjs/commands/expressions/update/set.js.map +1 -1
- package/lib/esm/commands/expressions/update/remove.js.map +1 -1
- package/lib/esm/commands/expressions/update/set.d.ts +17 -43
- package/lib/esm/commands/expressions/update/set.js +20 -64
- package/lib/esm/commands/expressions/update/set.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":";;;AAmCA,wBAEC;AAhCD,MAAa,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAnBD,oCAmBC;AAED;;;;;;;;GAQG;AACH,SAAgB,MAAM,CAAC,IAAsB;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -2,56 +2,30 @@ import type { AttributeNames } from "../../attributes/names.js";
|
|
|
2
2
|
import type { AttributeValues } from "../../attributes/values.js";
|
|
3
3
|
import type { AttributeOperand } from "../operands/name.js";
|
|
4
4
|
import type { Operand } from "../operands/type.js";
|
|
5
|
-
import type { IUpdateAction } from "./action.js";
|
|
5
|
+
import type { IUpdateAction, UpdateAction } from "./action.js";
|
|
6
6
|
import type { UpdateExpressionClauses } from "./clauses.js";
|
|
7
7
|
import type { IfNotExistsOperand } from "./if-not-exists.js";
|
|
8
|
-
export type SetAction = SetTo | SetToPlus | SetToMinus;
|
|
9
8
|
export type SetOperand = Operand | IfNotExistsOperand;
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
export type SetOperator = "+" | "-";
|
|
10
|
+
type SetActionParams = SetToParams | SetToExpressionParams;
|
|
11
|
+
type SetToParams = {
|
|
12
|
+
path: AttributeOperand;
|
|
13
|
+
operand: SetOperand;
|
|
14
|
+
};
|
|
15
|
+
type SetToExpressionParams = SetToParams & {
|
|
16
|
+
operator: SetOperator;
|
|
17
|
+
secondOperand: SetOperand;
|
|
18
|
+
};
|
|
19
|
+
export declare class SetAction implements IUpdateAction {
|
|
20
|
+
private readonly params;
|
|
21
|
+
private constructor();
|
|
19
22
|
register(clauses: UpdateExpressionClauses): void;
|
|
20
23
|
stringify(params: {
|
|
21
24
|
names: AttributeNames;
|
|
22
25
|
values: AttributeValues;
|
|
23
26
|
}): string;
|
|
27
|
+
static from(params: SetActionParams): SetAction;
|
|
24
28
|
}
|
|
25
|
-
export declare
|
|
26
|
-
|
|
27
|
-
private readonly operand;
|
|
28
|
-
constructor(params: {
|
|
29
|
-
inner: SetTo;
|
|
30
|
-
operand: SetOperand;
|
|
31
|
-
});
|
|
32
|
-
register(clauses: UpdateExpressionClauses): void;
|
|
33
|
-
stringify(params: {
|
|
34
|
-
names: AttributeNames;
|
|
35
|
-
values: AttributeValues;
|
|
36
|
-
}): string;
|
|
37
|
-
}
|
|
38
|
-
export declare class SetToMinus implements IUpdateAction {
|
|
39
|
-
private readonly inner;
|
|
40
|
-
private readonly operand;
|
|
41
|
-
constructor(params: {
|
|
42
|
-
inner: SetTo;
|
|
43
|
-
operand: SetOperand;
|
|
44
|
-
});
|
|
45
|
-
register(clauses: UpdateExpressionClauses): void;
|
|
46
|
-
stringify(params: {
|
|
47
|
-
names: AttributeNames;
|
|
48
|
-
values: AttributeValues;
|
|
49
|
-
}): string;
|
|
50
|
-
}
|
|
51
|
-
declare class SetToBuilder {
|
|
52
|
-
private readonly path;
|
|
53
|
-
constructor(path: AttributeOperand);
|
|
54
|
-
to(operand: SetOperand): SetTo;
|
|
55
|
-
}
|
|
56
|
-
export declare function set(path: AttributeOperand): SetToBuilder;
|
|
29
|
+
export declare function set(path: AttributeOperand, operand: SetOperand): UpdateAction;
|
|
30
|
+
export declare function set(path: AttributeOperand, operand: SetOperand, operator: SetOperator, secondOperand: SetOperand): UpdateAction;
|
|
57
31
|
export {};
|
|
@@ -1,86 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SetAction = void 0;
|
|
4
4
|
exports.set = set;
|
|
5
|
-
class
|
|
6
|
-
|
|
7
|
-
operand;
|
|
5
|
+
class SetAction {
|
|
6
|
+
params;
|
|
8
7
|
constructor(params) {
|
|
9
|
-
|
|
10
|
-
this.path = path;
|
|
11
|
-
this.operand = operand;
|
|
12
|
-
}
|
|
13
|
-
plus(operand) {
|
|
14
|
-
return new SetToPlus({ inner: this, operand });
|
|
15
|
-
}
|
|
16
|
-
minus(operand) {
|
|
17
|
-
return new SetToMinus({ inner: this, operand });
|
|
18
|
-
}
|
|
19
|
-
register(clauses) {
|
|
20
|
-
clauses.pushSetAction(this);
|
|
21
|
-
}
|
|
22
|
-
stringify(params) {
|
|
23
|
-
const { names, values } = params;
|
|
24
|
-
return `${this.path.substitute({ names })} = ${this.operand.substitute({
|
|
25
|
-
names,
|
|
26
|
-
values,
|
|
27
|
-
})}`;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.SetTo = SetTo;
|
|
31
|
-
class SetToPlus {
|
|
32
|
-
inner;
|
|
33
|
-
operand;
|
|
34
|
-
constructor(params) {
|
|
35
|
-
const { inner, operand } = params;
|
|
36
|
-
this.inner = inner;
|
|
37
|
-
this.operand = operand;
|
|
8
|
+
this.params = params;
|
|
38
9
|
}
|
|
39
10
|
register(clauses) {
|
|
40
11
|
clauses.pushSetAction(this);
|
|
41
12
|
}
|
|
42
13
|
stringify(params) {
|
|
43
14
|
const { names, values } = params;
|
|
44
|
-
|
|
15
|
+
let result = `${this.params.path.substitute({ names })} = ${this.params.operand.substitute({
|
|
45
16
|
names,
|
|
46
17
|
values,
|
|
47
18
|
})}`;
|
|
19
|
+
if ("operator" in this.params && this.params.operator != null) {
|
|
20
|
+
result += ` ${this.params.operator} ${this.params.secondOperand.substitute({
|
|
21
|
+
names,
|
|
22
|
+
values,
|
|
23
|
+
})}`;
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
48
26
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
class SetToMinus {
|
|
52
|
-
inner;
|
|
53
|
-
operand;
|
|
54
|
-
constructor(params) {
|
|
55
|
-
const { inner, operand } = params;
|
|
56
|
-
this.inner = inner;
|
|
57
|
-
this.operand = operand;
|
|
58
|
-
}
|
|
59
|
-
register(clauses) {
|
|
60
|
-
clauses.pushSetAction(this);
|
|
61
|
-
}
|
|
62
|
-
stringify(params) {
|
|
63
|
-
const { names, values } = params;
|
|
64
|
-
return `${this.inner.stringify({ names, values })} - ${this.operand.substitute({
|
|
65
|
-
names,
|
|
66
|
-
values,
|
|
67
|
-
})}`;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.SetToMinus = SetToMinus;
|
|
71
|
-
class SetToBuilder {
|
|
72
|
-
path;
|
|
73
|
-
constructor(path) {
|
|
74
|
-
this.path = path;
|
|
75
|
-
}
|
|
76
|
-
to(operand) {
|
|
77
|
-
return new SetTo({ path: this.path, operand });
|
|
27
|
+
static from(params) {
|
|
28
|
+
return new SetAction(params);
|
|
78
29
|
}
|
|
79
30
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
31
|
+
exports.SetAction = SetAction;
|
|
32
|
+
function set(path, operand, operator, secondOperand) {
|
|
33
|
+
return SetAction.from({
|
|
34
|
+
path,
|
|
35
|
+
operand,
|
|
36
|
+
operator,
|
|
37
|
+
secondOperand,
|
|
38
|
+
});
|
|
85
39
|
}
|
|
86
40
|
//# sourceMappingURL=set.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":";;;AAsEA,kBAYC;AA1DD,MAAa,SAAS;IACH,MAAM,CAAkB;IAEzC,YAAoB,MAAuB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAGT;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CACxF;YACE,KAAK;YACL,MAAM;SACP,CACF,EAAE,CAAC;QACJ,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CACxE;gBACE,KAAK;gBACL,MAAM;aACP,CACF,EAAE,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AApCD,8BAoCC;AAUD,SAAgB,GAAG,CACjB,IAAsB,EACtB,OAAmB,EACnB,QAAsB,EACtB,aAA0B;IAE1B,OAAO,SAAS,CAAC,IAAI,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/remove.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,YAAY;IACN,IAAI,CAAmB;IAExC,YAAoB,IAAsB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAiC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,IAAsB;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,IAAsB;IAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -2,56 +2,30 @@ import type { AttributeNames } from "../../attributes/names.js";
|
|
|
2
2
|
import type { AttributeValues } from "../../attributes/values.js";
|
|
3
3
|
import type { AttributeOperand } from "../operands/name.js";
|
|
4
4
|
import type { Operand } from "../operands/type.js";
|
|
5
|
-
import type { IUpdateAction } from "./action.js";
|
|
5
|
+
import type { IUpdateAction, UpdateAction } from "./action.js";
|
|
6
6
|
import type { UpdateExpressionClauses } from "./clauses.js";
|
|
7
7
|
import type { IfNotExistsOperand } from "./if-not-exists.js";
|
|
8
|
-
export type SetAction = SetTo | SetToPlus | SetToMinus;
|
|
9
8
|
export type SetOperand = Operand | IfNotExistsOperand;
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
export type SetOperator = "+" | "-";
|
|
10
|
+
type SetActionParams = SetToParams | SetToExpressionParams;
|
|
11
|
+
type SetToParams = {
|
|
12
|
+
path: AttributeOperand;
|
|
13
|
+
operand: SetOperand;
|
|
14
|
+
};
|
|
15
|
+
type SetToExpressionParams = SetToParams & {
|
|
16
|
+
operator: SetOperator;
|
|
17
|
+
secondOperand: SetOperand;
|
|
18
|
+
};
|
|
19
|
+
export declare class SetAction implements IUpdateAction {
|
|
20
|
+
private readonly params;
|
|
21
|
+
private constructor();
|
|
19
22
|
register(clauses: UpdateExpressionClauses): void;
|
|
20
23
|
stringify(params: {
|
|
21
24
|
names: AttributeNames;
|
|
22
25
|
values: AttributeValues;
|
|
23
26
|
}): string;
|
|
27
|
+
static from(params: SetActionParams): SetAction;
|
|
24
28
|
}
|
|
25
|
-
export declare
|
|
26
|
-
|
|
27
|
-
private readonly operand;
|
|
28
|
-
constructor(params: {
|
|
29
|
-
inner: SetTo;
|
|
30
|
-
operand: SetOperand;
|
|
31
|
-
});
|
|
32
|
-
register(clauses: UpdateExpressionClauses): void;
|
|
33
|
-
stringify(params: {
|
|
34
|
-
names: AttributeNames;
|
|
35
|
-
values: AttributeValues;
|
|
36
|
-
}): string;
|
|
37
|
-
}
|
|
38
|
-
export declare class SetToMinus implements IUpdateAction {
|
|
39
|
-
private readonly inner;
|
|
40
|
-
private readonly operand;
|
|
41
|
-
constructor(params: {
|
|
42
|
-
inner: SetTo;
|
|
43
|
-
operand: SetOperand;
|
|
44
|
-
});
|
|
45
|
-
register(clauses: UpdateExpressionClauses): void;
|
|
46
|
-
stringify(params: {
|
|
47
|
-
names: AttributeNames;
|
|
48
|
-
values: AttributeValues;
|
|
49
|
-
}): string;
|
|
50
|
-
}
|
|
51
|
-
declare class SetToBuilder {
|
|
52
|
-
private readonly path;
|
|
53
|
-
constructor(path: AttributeOperand);
|
|
54
|
-
to(operand: SetOperand): SetTo;
|
|
55
|
-
}
|
|
56
|
-
export declare function set(path: AttributeOperand): SetToBuilder;
|
|
29
|
+
export declare function set(path: AttributeOperand, operand: SetOperand): UpdateAction;
|
|
30
|
+
export declare function set(path: AttributeOperand, operand: SetOperand, operator: SetOperator, secondOperand: SetOperand): UpdateAction;
|
|
57
31
|
export {};
|
|
@@ -1,79 +1,35 @@
|
|
|
1
|
-
export class
|
|
2
|
-
|
|
3
|
-
operand;
|
|
1
|
+
export class SetAction {
|
|
2
|
+
params;
|
|
4
3
|
constructor(params) {
|
|
5
|
-
|
|
6
|
-
this.path = path;
|
|
7
|
-
this.operand = operand;
|
|
8
|
-
}
|
|
9
|
-
plus(operand) {
|
|
10
|
-
return new SetToPlus({ inner: this, operand });
|
|
11
|
-
}
|
|
12
|
-
minus(operand) {
|
|
13
|
-
return new SetToMinus({ inner: this, operand });
|
|
14
|
-
}
|
|
15
|
-
register(clauses) {
|
|
16
|
-
clauses.pushSetAction(this);
|
|
17
|
-
}
|
|
18
|
-
stringify(params) {
|
|
19
|
-
const { names, values } = params;
|
|
20
|
-
return `${this.path.substitute({ names })} = ${this.operand.substitute({
|
|
21
|
-
names,
|
|
22
|
-
values,
|
|
23
|
-
})}`;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export class SetToPlus {
|
|
27
|
-
inner;
|
|
28
|
-
operand;
|
|
29
|
-
constructor(params) {
|
|
30
|
-
const { inner, operand } = params;
|
|
31
|
-
this.inner = inner;
|
|
32
|
-
this.operand = operand;
|
|
4
|
+
this.params = params;
|
|
33
5
|
}
|
|
34
6
|
register(clauses) {
|
|
35
7
|
clauses.pushSetAction(this);
|
|
36
8
|
}
|
|
37
9
|
stringify(params) {
|
|
38
10
|
const { names, values } = params;
|
|
39
|
-
|
|
11
|
+
let result = `${this.params.path.substitute({ names })} = ${this.params.operand.substitute({
|
|
40
12
|
names,
|
|
41
13
|
values,
|
|
42
14
|
})}`;
|
|
15
|
+
if ("operator" in this.params && this.params.operator != null) {
|
|
16
|
+
result += ` ${this.params.operator} ${this.params.secondOperand.substitute({
|
|
17
|
+
names,
|
|
18
|
+
values,
|
|
19
|
+
})}`;
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
43
22
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
inner;
|
|
47
|
-
operand;
|
|
48
|
-
constructor(params) {
|
|
49
|
-
const { inner, operand } = params;
|
|
50
|
-
this.inner = inner;
|
|
51
|
-
this.operand = operand;
|
|
52
|
-
}
|
|
53
|
-
register(clauses) {
|
|
54
|
-
clauses.pushSetAction(this);
|
|
55
|
-
}
|
|
56
|
-
stringify(params) {
|
|
57
|
-
const { names, values } = params;
|
|
58
|
-
return `${this.inner.stringify({ names, values })} - ${this.operand.substitute({
|
|
59
|
-
names,
|
|
60
|
-
values,
|
|
61
|
-
})}`;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
class SetToBuilder {
|
|
65
|
-
path;
|
|
66
|
-
constructor(path) {
|
|
67
|
-
this.path = path;
|
|
68
|
-
}
|
|
69
|
-
to(operand) {
|
|
70
|
-
return new SetTo({ path: this.path, operand });
|
|
23
|
+
static from(params) {
|
|
24
|
+
return new SetAction(params);
|
|
71
25
|
}
|
|
72
26
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
27
|
+
export function set(path, operand, operator, secondOperand) {
|
|
28
|
+
return SetAction.from({
|
|
29
|
+
path,
|
|
30
|
+
operand,
|
|
31
|
+
operator,
|
|
32
|
+
secondOperand,
|
|
33
|
+
});
|
|
78
34
|
}
|
|
79
35
|
//# sourceMappingURL=set.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/expressions/update/set.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,SAAS;IACH,MAAM,CAAkB;IAEzC,YAAoB,MAAuB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,OAAgC;QACvC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAGT;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CACxF;YACE,KAAK;YACL,MAAM;SACP,CACF,EAAE,CAAC;QACJ,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CACxE;gBACE,KAAK;gBACL,MAAM;aACP,CACF,EAAE,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAuB;QACjC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAUD,MAAM,UAAU,GAAG,CACjB,IAAsB,EACtB,OAAmB,EACnB,QAAsB,EACtB,aAA0B;IAE1B,OAAO,SAAS,CAAC,IAAI,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
|