@nymphjs/tilmeld 1.0.0-alpha.3 → 1.0.0-alpha.30
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/CHANGELOG.md +139 -0
- package/dist/Group.js +11 -6
- package/dist/Group.js.map +1 -1
- package/dist/Group.test.js +6 -0
- package/dist/Group.test.js.map +1 -1
- package/dist/Tilmeld.d.ts +3 -6
- package/dist/Tilmeld.js +196 -90
- package/dist/Tilmeld.js.map +1 -1
- package/dist/User.d.ts +40 -2
- package/dist/User.js +109 -7
- package/dist/User.js.map +1 -1
- package/dist/User.test.js +6 -0
- package/dist/User.test.js.map +1 -1
- package/dist/conf/d.d.ts +3 -0
- package/dist/conf/defaults.js +25 -101
- package/dist/conf/defaults.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/tilmeldJoiProps.d.ts +12 -0
- package/dist/tilmeldJoiProps.js +20 -0
- package/dist/tilmeldJoiProps.js.map +1 -0
- package/package.json +16 -16
- package/src/Group.test.ts +8 -0
- package/src/Group.ts +21 -7
- package/src/Tilmeld.ts +300 -108
- package/src/User.test.ts +8 -0
- package/src/User.ts +235 -10
- package/src/conf/d.ts +30 -0
- package/src/conf/defaults.ts +10 -57
- package/src/index.ts +3 -0
- package/src/tilmeldJoiProps.ts +46 -0
package/dist/User.d.ts
CHANGED
|
@@ -2,6 +2,27 @@ import { EntityData, EntityJson, EntityPatch, SerializedEntityData } from '@nymp
|
|
|
2
2
|
import type Tilmeld from './Tilmeld';
|
|
3
3
|
import AbleObject from './AbleObject';
|
|
4
4
|
import Group, { GroupData } from './Group';
|
|
5
|
+
export declare type EventType = 'beforeRegister' | 'afterRegister' | 'beforeLogin' | 'afterLogin' | 'beforeLogout' | 'afterLogout';
|
|
6
|
+
export declare type TilmeldBeforeRegisterCallback = (user: User & UserData, data: {
|
|
7
|
+
password: string;
|
|
8
|
+
additionalData?: {
|
|
9
|
+
[k: string]: any;
|
|
10
|
+
};
|
|
11
|
+
}) => Promise<void> | void;
|
|
12
|
+
export declare type TilmeldAfterRegisterCallback = (user: User & UserData, result: {
|
|
13
|
+
loggedin: boolean;
|
|
14
|
+
message: string;
|
|
15
|
+
}) => Promise<void> | void;
|
|
16
|
+
export declare type TilmeldBeforeLoginCallback = (user: User & UserData, data: {
|
|
17
|
+
username: string;
|
|
18
|
+
password: string;
|
|
19
|
+
additionalData?: {
|
|
20
|
+
[k: string]: any;
|
|
21
|
+
};
|
|
22
|
+
}) => void;
|
|
23
|
+
export declare type TilmeldAfterLoginCallback = (user: User & UserData) => void;
|
|
24
|
+
export declare type TilmeldBeforeLogoutCallback = (user: User & UserData) => void;
|
|
25
|
+
export declare type TilmeldAfterLogoutCallback = (user: User & UserData) => void;
|
|
5
26
|
export declare type UserData = {
|
|
6
27
|
abilities?: string[];
|
|
7
28
|
username?: string;
|
|
@@ -32,6 +53,12 @@ export default class User extends AbleObject<UserData> {
|
|
|
32
53
|
static tilmeld: Tilmeld;
|
|
33
54
|
static ETYPE: string;
|
|
34
55
|
static class: string;
|
|
56
|
+
private static beforeRegisterCallbacks;
|
|
57
|
+
private static afterRegisterCallbacks;
|
|
58
|
+
private static beforeLoginCallbacks;
|
|
59
|
+
private static afterLoginCallbacks;
|
|
60
|
+
private static beforeLogoutCallbacks;
|
|
61
|
+
private static afterLogoutCallbacks;
|
|
35
62
|
private static DEFAULT_CLIENT_ENABLED_METHODS;
|
|
36
63
|
private static DEFAULT_PRIVATE_DATA;
|
|
37
64
|
private static DEFAULT_ALLOWLIST_DATA;
|
|
@@ -79,6 +106,9 @@ export default class User extends AbleObject<UserData> {
|
|
|
79
106
|
static loginUser(data: {
|
|
80
107
|
username: string;
|
|
81
108
|
password: string;
|
|
109
|
+
additionalData?: {
|
|
110
|
+
[k: string]: any;
|
|
111
|
+
};
|
|
82
112
|
}): Promise<{
|
|
83
113
|
result: boolean;
|
|
84
114
|
message: string;
|
|
@@ -87,13 +117,16 @@ export default class User extends AbleObject<UserData> {
|
|
|
87
117
|
$login(data: {
|
|
88
118
|
username: string;
|
|
89
119
|
password: string;
|
|
120
|
+
additionalData?: {
|
|
121
|
+
[k: string]: any;
|
|
122
|
+
};
|
|
90
123
|
}): {
|
|
91
124
|
result: boolean;
|
|
92
|
-
message:
|
|
125
|
+
message: any;
|
|
93
126
|
};
|
|
94
127
|
$logout(): {
|
|
95
128
|
result: boolean;
|
|
96
|
-
message:
|
|
129
|
+
message: any;
|
|
97
130
|
};
|
|
98
131
|
$getAvatar(): string;
|
|
99
132
|
$getDescendantGroups(): Promise<(Group & GroupData)[]>;
|
|
@@ -132,6 +165,9 @@ export default class User extends AbleObject<UserData> {
|
|
|
132
165
|
}>;
|
|
133
166
|
$register(data: {
|
|
134
167
|
password: string;
|
|
168
|
+
additionalData?: {
|
|
169
|
+
[k: string]: any;
|
|
170
|
+
};
|
|
135
171
|
}): Promise<{
|
|
136
172
|
result: boolean;
|
|
137
173
|
loggedin: boolean;
|
|
@@ -141,4 +177,6 @@ export default class User extends AbleObject<UserData> {
|
|
|
141
177
|
$saveSkipAC(): Promise<boolean>;
|
|
142
178
|
$tilmeldSaveSkipAC(): boolean;
|
|
143
179
|
$delete(): Promise<boolean>;
|
|
180
|
+
static on<T extends EventType>(event: T, callback: T extends 'beforeRegister' ? TilmeldBeforeRegisterCallback : T extends 'afterRegister' ? TilmeldAfterRegisterCallback : T extends 'beforeLogin' ? TilmeldBeforeLoginCallback : T extends 'afterLogin' ? TilmeldAfterLoginCallback : T extends 'beforeLogout' ? TilmeldBeforeLogoutCallback : T extends 'afterLogout' ? TilmeldAfterLogoutCallback : never): () => boolean;
|
|
181
|
+
static off<T extends EventType>(event: T, callback: T extends 'beforeRegister' ? TilmeldBeforeRegisterCallback : T extends 'afterRegister' ? TilmeldAfterRegisterCallback : T extends 'beforeLogin' ? TilmeldBeforeLoginCallback : T extends 'afterLogin' ? TilmeldAfterLoginCallback : T extends 'beforeLogout' ? TilmeldBeforeLogoutCallback : T extends 'afterLogout' ? TilmeldAfterLogoutCallback : never): boolean;
|
|
144
182
|
}
|
package/dist/User.js
CHANGED
|
@@ -24,9 +24,9 @@ const errors_1 = require("./errors");
|
|
|
24
24
|
class User extends AbleObject_1.default {
|
|
25
25
|
constructor(guid) {
|
|
26
26
|
super(guid);
|
|
27
|
-
this.$clientEnabledMethods = User.DEFAULT_CLIENT_ENABLED_METHODS;
|
|
28
|
-
this.$privateData = User.DEFAULT_PRIVATE_DATA;
|
|
29
|
-
this.$allowlistData = User.DEFAULT_ALLOWLIST_DATA;
|
|
27
|
+
this.$clientEnabledMethods = [...User.DEFAULT_CLIENT_ENABLED_METHODS];
|
|
28
|
+
this.$privateData = [...User.DEFAULT_PRIVATE_DATA];
|
|
29
|
+
this.$allowlistData = [...User.DEFAULT_ALLOWLIST_DATA];
|
|
30
30
|
this.$allowlistTags = [];
|
|
31
31
|
this.$skipAcWhenSaving = false;
|
|
32
32
|
if (this.guid == null) {
|
|
@@ -223,14 +223,54 @@ class User extends AbleObject_1.default {
|
|
|
223
223
|
if (!this.$checkPassword(data.password)) {
|
|
224
224
|
return { result: false, message: 'Incorrect login/password.' };
|
|
225
225
|
}
|
|
226
|
+
try {
|
|
227
|
+
for (let callback of this.constructor
|
|
228
|
+
.beforeLoginCallbacks) {
|
|
229
|
+
if (callback) {
|
|
230
|
+
callback(this, data);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (e) {
|
|
235
|
+
return {
|
|
236
|
+
result: false,
|
|
237
|
+
message: e.message,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
226
240
|
if (!tilmeld.login(this, true)) {
|
|
227
241
|
return { result: false, message: 'Incorrect login/password.' };
|
|
228
242
|
}
|
|
243
|
+
for (let callback of this.constructor
|
|
244
|
+
.afterLoginCallbacks) {
|
|
245
|
+
if (callback) {
|
|
246
|
+
callback(this);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
229
249
|
return { result: true, message: 'You are logged in.' };
|
|
230
250
|
}
|
|
231
251
|
$logout() {
|
|
232
252
|
const tilmeld = this.$nymph.tilmeld;
|
|
253
|
+
try {
|
|
254
|
+
for (let callback of this.constructor
|
|
255
|
+
.beforeLogoutCallbacks) {
|
|
256
|
+
if (callback) {
|
|
257
|
+
callback(this);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
catch (e) {
|
|
262
|
+
return {
|
|
263
|
+
result: false,
|
|
264
|
+
message: e.message,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
233
267
|
tilmeld.logout();
|
|
268
|
+
for (let callback of this.constructor
|
|
269
|
+
.afterLogoutCallbacks) {
|
|
270
|
+
if (callback) {
|
|
271
|
+
callback(this);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
234
274
|
return { result: true, message: 'You have been logged out.' };
|
|
235
275
|
}
|
|
236
276
|
$getAvatar() {
|
|
@@ -306,9 +346,9 @@ class User extends AbleObject_1.default {
|
|
|
306
346
|
var _a;
|
|
307
347
|
const tilmeld = this.$nymph.tilmeld;
|
|
308
348
|
let user = givenUser !== null && givenUser !== void 0 ? givenUser : tilmeld.User.current();
|
|
309
|
-
this.$clientEnabledMethods = User.DEFAULT_CLIENT_ENABLED_METHODS;
|
|
310
|
-
this.$privateData = User.DEFAULT_PRIVATE_DATA;
|
|
311
|
-
this.$allowlistData = User.DEFAULT_ALLOWLIST_DATA;
|
|
349
|
+
this.$clientEnabledMethods = [...User.DEFAULT_CLIENT_ENABLED_METHODS];
|
|
350
|
+
this.$privateData = [...User.DEFAULT_PRIVATE_DATA];
|
|
351
|
+
this.$allowlistData = [...User.DEFAULT_ALLOWLIST_DATA];
|
|
312
352
|
if (tilmeld.config.emailUsernames) {
|
|
313
353
|
this.$privateData.push('username');
|
|
314
354
|
}
|
|
@@ -707,6 +747,21 @@ class User extends AbleObject_1.default {
|
|
|
707
747
|
message: 'This is already a registered user.',
|
|
708
748
|
};
|
|
709
749
|
}
|
|
750
|
+
try {
|
|
751
|
+
for (let callback of this.constructor
|
|
752
|
+
.beforeRegisterCallbacks) {
|
|
753
|
+
if (callback) {
|
|
754
|
+
yield callback(this, data);
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
catch (e) {
|
|
759
|
+
return {
|
|
760
|
+
result: false,
|
|
761
|
+
loggedin: false,
|
|
762
|
+
message: e.message,
|
|
763
|
+
};
|
|
764
|
+
}
|
|
710
765
|
if (!('password' in data) || !data.password.length) {
|
|
711
766
|
return {
|
|
712
767
|
result: false,
|
|
@@ -732,7 +787,9 @@ class User extends AbleObject_1.default {
|
|
|
732
787
|
this.$data.email = this.$data.username;
|
|
733
788
|
}
|
|
734
789
|
const transaction = 'tilmeld-register-' + (0, nanoid_1.nanoid)();
|
|
790
|
+
const nymph = this.$nymph;
|
|
735
791
|
const tnymph = yield this.$nymph.startTransaction(transaction);
|
|
792
|
+
this.$nymph = tnymph;
|
|
736
793
|
try {
|
|
737
794
|
let generatedPrimaryGroup = null;
|
|
738
795
|
if (tilmeld.config.generatePrimary) {
|
|
@@ -750,6 +807,7 @@ class User extends AbleObject_1.default {
|
|
|
750
807
|
}
|
|
751
808
|
if (!(yield generatedPrimaryGroup.$saveSkipAC())) {
|
|
752
809
|
yield tnymph.rollback(transaction);
|
|
810
|
+
this.$nymph = nymph;
|
|
753
811
|
return {
|
|
754
812
|
result: false,
|
|
755
813
|
loggedin: false,
|
|
@@ -824,6 +882,7 @@ class User extends AbleObject_1.default {
|
|
|
824
882
|
generatedPrimaryGroup.user = this;
|
|
825
883
|
if (!(yield generatedPrimaryGroup.$saveSkipAC())) {
|
|
826
884
|
yield tnymph.rollback(transaction);
|
|
885
|
+
this.$nymph = nymph;
|
|
827
886
|
return {
|
|
828
887
|
result: false,
|
|
829
888
|
loggedin: false,
|
|
@@ -853,7 +912,17 @@ class User extends AbleObject_1.default {
|
|
|
853
912
|
message += "You're now registered and logged in!";
|
|
854
913
|
loggedin = true;
|
|
855
914
|
}
|
|
915
|
+
for (let callback of this.constructor
|
|
916
|
+
.afterRegisterCallbacks) {
|
|
917
|
+
if (callback) {
|
|
918
|
+
yield callback(this, {
|
|
919
|
+
loggedin,
|
|
920
|
+
message,
|
|
921
|
+
});
|
|
922
|
+
}
|
|
923
|
+
}
|
|
856
924
|
yield tnymph.commit(transaction);
|
|
925
|
+
this.$nymph = nymph;
|
|
857
926
|
return {
|
|
858
927
|
result: true,
|
|
859
928
|
loggedin,
|
|
@@ -862,6 +931,7 @@ class User extends AbleObject_1.default {
|
|
|
862
931
|
}
|
|
863
932
|
else {
|
|
864
933
|
yield tnymph.rollback(transaction);
|
|
934
|
+
this.$nymph = nymph;
|
|
865
935
|
return {
|
|
866
936
|
result: false,
|
|
867
937
|
loggedin: false,
|
|
@@ -871,6 +941,7 @@ class User extends AbleObject_1.default {
|
|
|
871
941
|
}
|
|
872
942
|
catch (e) {
|
|
873
943
|
yield tnymph.rollback(transaction);
|
|
944
|
+
this.$nymph = nymph;
|
|
874
945
|
throw e;
|
|
875
946
|
}
|
|
876
947
|
});
|
|
@@ -1031,7 +1102,9 @@ class User extends AbleObject_1.default {
|
|
|
1031
1102
|
throw new errors_1.BadDataError(e === null || e === void 0 ? void 0 : e.message);
|
|
1032
1103
|
}
|
|
1033
1104
|
const transaction = 'tilmeld-save-' + (0, nanoid_1.nanoid)();
|
|
1105
|
+
const nymph = this.$nymph;
|
|
1034
1106
|
const tnymph = yield this.$nymph.startTransaction(transaction);
|
|
1107
|
+
this.$nymph = tnymph;
|
|
1035
1108
|
if (this.$data.group != null &&
|
|
1036
1109
|
this.$data.group.user != null &&
|
|
1037
1110
|
this.$is(this.$data.group.user)) {
|
|
@@ -1045,6 +1118,7 @@ class User extends AbleObject_1.default {
|
|
|
1045
1118
|
}
|
|
1046
1119
|
catch (e) {
|
|
1047
1120
|
yield tnymph.rollback(transaction);
|
|
1121
|
+
this.$nymph = nymph;
|
|
1048
1122
|
throw e;
|
|
1049
1123
|
}
|
|
1050
1124
|
}
|
|
@@ -1057,6 +1131,7 @@ class User extends AbleObject_1.default {
|
|
|
1057
1131
|
}
|
|
1058
1132
|
catch (e) {
|
|
1059
1133
|
yield tnymph.rollback(transaction);
|
|
1134
|
+
this.$nymph = nymph;
|
|
1060
1135
|
throw e;
|
|
1061
1136
|
}
|
|
1062
1137
|
if (ret) {
|
|
@@ -1066,6 +1141,7 @@ class User extends AbleObject_1.default {
|
|
|
1066
1141
|
this.guid = preGuid;
|
|
1067
1142
|
this.cdate = preCdate;
|
|
1068
1143
|
this.mdate = preMdate;
|
|
1144
|
+
this.$nymph = nymph;
|
|
1069
1145
|
throw new Error("Couldn't send verification email.");
|
|
1070
1146
|
}
|
|
1071
1147
|
}
|
|
@@ -1079,6 +1155,7 @@ class User extends AbleObject_1.default {
|
|
|
1079
1155
|
else {
|
|
1080
1156
|
yield tnymph.rollback(transaction);
|
|
1081
1157
|
}
|
|
1158
|
+
this.$nymph = nymph;
|
|
1082
1159
|
return ret;
|
|
1083
1160
|
});
|
|
1084
1161
|
}
|
|
@@ -1114,10 +1191,35 @@ class User extends AbleObject_1.default {
|
|
|
1114
1191
|
return yield _super.$delete.call(this);
|
|
1115
1192
|
});
|
|
1116
1193
|
}
|
|
1194
|
+
static on(event, callback) {
|
|
1195
|
+
const prop = (event + 'Callbacks');
|
|
1196
|
+
if (!(prop in this)) {
|
|
1197
|
+
throw new Error('Invalid event type.');
|
|
1198
|
+
}
|
|
1199
|
+
this[prop].push(callback);
|
|
1200
|
+
return () => this.off(event, callback);
|
|
1201
|
+
}
|
|
1202
|
+
static off(event, callback) {
|
|
1203
|
+
const prop = (event + 'Callbacks');
|
|
1204
|
+
if (!(prop in this)) {
|
|
1205
|
+
return false;
|
|
1206
|
+
}
|
|
1207
|
+
const i = this[prop].indexOf(callback);
|
|
1208
|
+
if (i > -1) {
|
|
1209
|
+
this[prop].splice(i, 1);
|
|
1210
|
+
}
|
|
1211
|
+
return true;
|
|
1212
|
+
}
|
|
1117
1213
|
}
|
|
1118
1214
|
exports.default = User;
|
|
1119
1215
|
User.ETYPE = 'tilmeld_user';
|
|
1120
1216
|
User.class = 'User';
|
|
1217
|
+
User.beforeRegisterCallbacks = [];
|
|
1218
|
+
User.afterRegisterCallbacks = [];
|
|
1219
|
+
User.beforeLoginCallbacks = [];
|
|
1220
|
+
User.afterLoginCallbacks = [];
|
|
1221
|
+
User.beforeLogoutCallbacks = [];
|
|
1222
|
+
User.afterLogoutCallbacks = [];
|
|
1121
1223
|
User.DEFAULT_CLIENT_ENABLED_METHODS = [
|
|
1122
1224
|
'$checkUsername',
|
|
1123
1225
|
'$checkEmail',
|
|
@@ -1152,5 +1254,5 @@ User.clientEnabledStaticMethods = [
|
|
|
1152
1254
|
'recover',
|
|
1153
1255
|
'getClientConfig',
|
|
1154
1256
|
];
|
|
1155
|
-
User.searchRestrictedData = User.DEFAULT_PRIVATE_DATA;
|
|
1257
|
+
User.searchRestrictedData = [...User.DEFAULT_PRIVATE_DATA];
|
|
1156
1258
|
//# sourceMappingURL=User.js.map
|
package/dist/User.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../src/User.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQA,+EAAuD;AACvD,mCAAgD;AAChD,yDAAqD;AACrD,sEAA0C;AAC1C,8DAAsC;AACtC,wDAAgC;AAChC,mCAAoC;AAGpC,8DAAsC;AAEtC,qCAKkB;AAwGlB,MAAqB,IAAK,SAAQ,oBAAoB;IAoGpD,YAAY,IAAa;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;QAjEJ,0BAAqB,GAAG,IAAI,CAAC,8BAA8B,CAAC;QAQ5D,iBAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEzC,mBAAc,GAAI,IAAI,CAAC,sBAAsB,CAAC;QAC9C,mBAAc,GAAc,EAAE,CAAC;QAYjC,sBAAiB,GAAG,KAAK,CAAC;QA4ChC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAErB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAtCD,MAAM,CAAO,OAAO,CAAC,IAAa;;;;;YAChC,OAAO,CAAC,MAAM,OAAM,OAAO,YAAC,IAAI,CAAC,CAAoB,CAAC;QACxD,CAAC;KAAA;IAED,MAAM,CAAO,eAAe,CAAC,QAAiB;;YAC5C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACvC;oBACE,KAAK,EAAE,IAAI;iBACZ,EACD;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACpE,CACF,CAAC;gBACF,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,OAAO,MAAM,CAAC;iBACf;aACF;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAoB,CAAC;IACpD,CAAC;IAmBM,MAAM,CAAC,OAAO,CACnB,sBAAgC;QAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE;YACpC,OAAO,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,CAAC;IAQM,MAAM,CAAO,YAAY,CAAC,IAGhC;;;YACC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;gBACnC,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,kCAAkC;iBAC5C,CAAC;aACH;YAED,IAAI,IAAqB,CAAC;YAC1B,MAAM,OAAO,GAAiB,EAAE,CAAC;YAEjC,IACE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc;gBACnC,IAAI,CAAC,YAAY,KAAK,UAAU,EAChC;gBAGA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CACxC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAC1C;oBACE,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACrE,CACF,CAAC;gBAEF,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,sCAAsC;qBAChD,CAAC;iBACH;gBAGD,IAAI,GAAG,OAAO,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC;gBACrC,OAAO,CAAC,OAAO,GAAG;oBAChB,EAAE,EAAE;wBACF,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE;wBACrB,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE;qBAC1B;iBACF,CAAC;gBACF,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE;gBAG3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEtE,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;oBACxB,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,sCAAsC;qBAChD,CAAC;iBACH;gBAGD,OAAO,CAAC,aAAa,GAAG,IAAA,uBAAc,EAAC,oCAAgB,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/D,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE;oBAClC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;iBACrE;gBAGD,IAAI,GAAG,OAAO,CAAC;gBACf,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC;gBACrC,OAAO,CAAC,OAAO,GAAG;oBAChB,EAAE,EAAE;wBACF,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE;wBACrB,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE;qBAC1B;iBACF,CAAC;gBACF,OAAO,CAAC,MAAM,GAAG;oBACf,WAAW,EAAE,OAAO,CAAC,aAAa;oBAClC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB;iBACnD,CAAC;aACH;iBAAM;gBACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;aAC7D;YAGD,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;gBACpE,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,OAAO,EACL,yDAAyD;wBACzD,qDAAqD;iBACxD,CAAC;aACH;iBAAM;gBACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;aACpE;;KACF;IAQM,MAAM,CAAO,OAAO,CAAC,IAI3B;;;YACC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE;gBACnC,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,kCAAkC;iBAC5C,CAAC;aACH;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEpE,IACE,IAAI,CAAC,IAAI,IAAI,IAAI;gBACjB,IAAI,CAAC,aAAa,IAAI,IAAI;gBAC1B,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa;gBAClC,IAAA,mBAAS,EACP,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAC7C,IAAI,CAAC,KAAK,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CACjD;oBACC,IAAI;oBACJ,IAAI,CAAC,GAAG,EAAE,EACZ;gBACA,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,iCAAiC;iBAC3C,CAAC;aACH;YAED,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;aAChE;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,aAAa,CAAC;YAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC9B,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC5B,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,OAAO,EACL,2EAA2E;iBAC9E,CAAC;aACH;iBAAM;gBACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;aACjE;;KACF;IAEM,MAAM,CAAC,eAAe;QAC3B,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS;YACxC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;YAC1C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc;YAClD,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB;YACxD,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB;YAC5D,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;YAC1C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YAC5C,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB;SACvD,CAAC;IACJ,CAAC;IAEM,MAAM,CAAO,SAAS,CAAC,IAA4C;;YACxE,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;aAChE;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEM,MAAM,CAAC,IAA4C;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;SAChE;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACvB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;SAChE;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;SAChE;QAGD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC9B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;SAChE;QAGD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACzD,CAAC;IAMM,OAAO;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAChE,CAAC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;YACvD,OAAO,+CAA+C,CAAC;SACxD;QACD,OAAO,CACL,qCAAqC;YACrC,IAAA,aAAG,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE;YACrD,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAKY,oBAAoB;;;YAC/B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;gBAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC5B,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;iBACnE;gBACD,KAAK,IAAI,QAAQ,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;oBAC5C,IAAI,CAAC,iBAAiB,GAAG,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,CACrD,MAAM,QAAQ,CAAC,eAAe,EAAE,CACjC,CAAC;iBACH;aACF;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;;KAC/B;IAKM,wBAAwB;;QAC7B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAClC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;aACjE;YACD,KAAK,IAAI,QAAQ,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,MAAA,IAAI,CAAC,iBAAiB,0CAAE,MAAM,CACrD,QAAQ,CAAC,mBAAmB,EAAE,CAC/B,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,eAAe,CAAC,KAAiB,EAAE,aAAa,GAAG,KAAK;;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IACE,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACpD,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACpD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACnC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EACnC;YACA,MAAM,IAAI,qBAAY,CACpB,gEAAgE,CACjE,CAAC;SACH;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACvC,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAEM,gBAAgB,CAAC,KAAkB,EAAE,aAAa,GAAG,KAAK;;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IACE,CAAA,MAAA,KAAK,CAAC,GAAG,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACnD,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,MAAK,CAAC,CAAC;YACpD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACnC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EACnC;YACA,MAAM,IAAI,qBAAY,CACpB,gEAAgE,CACjE,CAAC;SACH;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACvC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ,CAAC,IAAgB,EAAE,KAA4B;QAC5D,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAOM,qBAAqB,CAAC,SAA2B;;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAE/C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,8BAA8B,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAElD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QAED,MAAM,aAAa,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAGrD,MAAM,SAAS,GACb,MAAA,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI;YAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;YACtB,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAC,mCAAI,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAEpC,IAAI,aAAa,EAAE;YAEjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC3D;QAED,IACE,IAAI,IAAI,IAAI;YACZ,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAC3C;YAEA,IAAI,CAAC,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;aAAM,IAAI,aAAa,IAAI,SAAS,EAAE;YAErC,IAAI,OAAO,CAAC,MAAM,CAAC,mBAAmB,IAAI,SAAS,EAAE;gBACnD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACtC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAClC;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACnC;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACnC;YACD,IAAI,CAAC,YAAY,GAAG;gBAClB,QAAQ;gBACR,gBAAgB;gBAChB,oBAAoB;gBACpB,mBAAmB;gBACnB,iBAAiB;gBACjB,eAAe;gBACf,mBAAmB;gBACnB,UAAU;gBACV,MAAM;aACP,CAAC;SACH;IACH,CAAC;IAgBM,WAAW,CAAC,OAAgB;;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,MAAA,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,0CAAE,GAAG,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,IAAI,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC/B,KAAK,IAAI,QAAQ,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;oBAC5C,IAAI,QAAQ,CAAC,OAAO,EAAE;wBACpB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAA,QAAQ,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;qBACxD;iBACF;gBACD,IACE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;oBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;oBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EACxB;oBACA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;iBAChE;aACF;YACD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,WAAW,CACxC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC5C,CAAC;SACH;QACD,OAAO,CACL,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CACxC,CAAC;IACJ,CAAC;IAEM,WAAW;QAChB,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAOY,sBAAsB;;;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GACjE,OAAO,CAAC,MAAM,CAAC,SACjB,SAAS,CAAC;YAEV,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;gBAC7B,MAAM,IAAI,GAAG,GAAG,SAAS,qBAAqB,kBAAkB,CAC9D,IAAI,CAAC,IAAI,CACV,WAAW,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,OAAO;oBACL,OAAO;wBACP,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAC7B,OAAO,EACP;4BACE,QAAQ,EAAE,aAAa;4BACvB,OAAO,EAAE;gCACP,EAAE,EAAE;oCACF,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE;oCAC3B,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE;iCAChC;6BACF;4BACD,MAAM,EAAE;gCACN,UAAU,EAAE,IAAI;6BACjB;yBACF,EACD,IAAI,CACL,CAAC,CAAC;aACN;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,EAAE;gBACrC,MAAM,IAAI,GAAG,GAAG,SAAS,2BAA2B,kBAAkB,CACpE,IAAI,CAAC,IAAI,CACV,WAAW,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,OAAO;oBACL,OAAO;wBACP,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAC7B,OAAO,EACP;4BACE,QAAQ,EAAE,mBAAmB;4BAC7B,OAAO,EAAE;gCACP,EAAE,EAAE;oCACF,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE;oCAC3B,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,EAAE;iCAC1C;6BACF;4BACD,MAAM,EAAE;gCACN,UAAU,EAAE,IAAI;gCAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;gCACvC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;6BACrC;yBACF,EACD,IAAI,CACL,CAAC,CAAC;aACN;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE;gBACxC,MAAM,IAAI,GAAG,GAAG,SAAS,2BAA2B,kBAAkB,CACpE,IAAI,CAAC,IAAI,CACV,WAAW,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC/D,OAAO;oBACL,OAAO;wBACP,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAC7B,OAAO,EACP;4BACE,QAAQ,EAAE,mBAAmB;4BAC7B,OAAO,EAAE;gCACP,EAAE,EAAE;oCACF,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE;oCAC3B,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,kBAAkB,mCAAI,EAAE;iCAC7C;6BACF;4BACD,MAAM,EAAE;gCACN,UAAU,EAAE,IAAI;gCAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;gCACvC,QAAQ,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,IAAI,CAAC,KAAK,CAAC,KAAK;6BACzD;yBACF,EACD,IAAI,CACL,CAAC,CAAC;aACN;YAED,OAAO,OAAO,CAAC;;KAChB;IAQM,SAAS,CAAC,KAAwB;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;SACxB;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAQM,cAAc,CAAC,QAAgB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,QAAQ,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC1C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAM,CAAC,CAAC;YACnE,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,QAAQ;oBACnB,IAAA,gBAAM,EAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,oBAAM,CAAC,CACpD,CAAC;SACL;IACH,CAAC;IAQM,SAAS,CAAC,KAAwB;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAClE,MAAM,SAAS,GAA0B,EAAE,CAAC;YAC5C,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBACxB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1B;aACF;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAQM,QAAQ,CAAC,KAAmC;;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,MAAK,KAAK,EAAE;gBACpC,OAAO,IAAI,CAAC;aACb;YACD,KAAK,IAAI,QAAQ,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;gBAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE;oBAC3B,OAAO,IAAI,CAAC;iBACb;aACF;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CACL,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CACvE,CAAC;IACJ,CAAC;IAQM,aAAa,CAAC,KAAmC;;QAEtD,IACE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,KAAI,IAAI;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EACrC;YACA,OAAO,IAAI,CAAC;SACb;QACD,KAAK,IAAI,QAAQ,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE;YAC5C,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBACjC,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAQY,eAAe,CAAC,IAG5B;;;YACC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;gBACxD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;aACjE;YACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,eAAe,mCAAI,EAAE,CAAC,EAAE;gBACpD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;aAC1D;YACD,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE;gBACtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;aACrE;iBAAM;gBACL,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;aAClE;;KACF;IAQM,SAAS,CAAC,QAAgB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;QAC/C,QAAQ,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC/B,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,oBAAM,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,MAAM,CAAC;YACZ;gBACE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAA,eAAM,GAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAA,gBAAM,EAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAC/D,oBAAM,CACP,CAAC;gBACF,MAAM;SACT;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAOY,cAAc;;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;iBACjE;gBACD,IACE,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAC7D;oBACA,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EACL,4BAA4B;4BAC5B,OAAO,CAAC,MAAM,CAAC,iBAAiB;4BAChC,cAAc;qBACjB,CAAC;iBACH;gBAED,IACE,IAAA,mBAAU,EACR,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAC7B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CACpC,CAAC,MAAM,EACR;oBACA,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB;qBACzC,CAAC;iBACH;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACxD,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB;qBACzC,CAAC;iBACH;gBAED,MAAM,QAAQ,GAAa;oBACzB,IAAI,EAAE,GAAG;oBACT,KAAK,EAAE;wBACL,UAAU;wBACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;qBAC1D;iBACF,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;oBACrB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;iBAC/B;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACtC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EACrC,QAAQ,CACT,CAAC;gBACF,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;iBAC9D;gBAED,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,OAAO,EACL,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,wBAAwB;iBACtE,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBAC/D;gBACD,IACE,OAAO,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAC7D;oBACA,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,OAAO,EACL,yBAAyB;4BACzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;4BAChC,cAAc;qBACjB,CAAC;iBACH;gBAED,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;aACjC;QACH,CAAC;KAAA;IAOY,WAAW;;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBACxD,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC9B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBAC/D;qBAAM;oBACL,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;iBACtC;aACF;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC1D,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB;iBAC9C,CAAC;aACH;YACD,MAAM,QAAQ,GAAa;gBACzB,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACzE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAC/B;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACtC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EACrC,QAAQ,CACT,CAAC;YACF,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,2CAA2C;iBACrD,CAAC;aACH;YAED,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EACL,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,yBAAyB;aACpE,CAAC;QACJ,CAAC;KAAA;IAOY,WAAW;;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBACxD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;aACrE;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBACjC,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,OAAO,EACL,wEAAwE;iBAC3E,CAAC;aACH;YACD,MAAM,QAAQ,GAAa;gBACzB,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;aAChC,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;aAC/B;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CACtC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EACrC,QAAQ,CACT,CAAC;YACF,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;aAC9D;YAED,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EACL,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB;aAC1E,CAAC;QACJ,CAAC;KAAA;IAEY,SAAS,CAAC,IAEtB;;YACC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBACrC,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,8BAA8B;iBACxC,CAAC;aACH;YACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACrB,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,oCAAoC;iBAC9C,CAAC;aACH;YACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAClD,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,KAAK;oBACf,OAAO,EAAE,+BAA+B;iBACzC,CAAC;aACH;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnB,uCAAY,OAAO,KAAE,QAAQ,EAAE,KAAK,IAAG;aACxC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnD,IAAI,CAAC,KAAK,CAAC,IAAI;oBACb,IAAI,CAAC,KAAK,CAAC,SAAS;wBACpB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBAClE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;iBACvC;aACF;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aACxC;YAGD,MAAM,WAAW,GAAG,mBAAmB,GAAG,IAAA,eAAM,GAAE,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAE/D,IAAI;gBAEF,IAAI,qBAAqB,GAA+B,IAAI,CAAC;gBAC7D,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE;oBAElC,qBAAqB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACtD,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACtD,qBAAqB,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBACjD,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC7C,qBAAqB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CACnC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB;wBACE,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC;qBAChC,CACF,CAAC;oBACF,IAAI,MAAM,IAAI,IAAI,EAAE;wBAClB,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAC;qBACvC;oBACD,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC,EAAE;wBAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACnC,OAAO;4BACL,MAAM,EAAE,KAAK;4BACb,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE,wCAAwC;yBAClD,CAAC;qBACH;oBACD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB,CAAC;iBAC1C;qBAAM;oBAEL,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAClC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB;wBACE,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC;qBAChC,CACF,CAAC;oBACF,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;qBAC1B;iBACF;gBAGD,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE;oBAEjE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAC1C,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB;wBACE,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC;qBACrC,CACF,CAAC;iBACH;qBAAM;oBAEL,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAC1C,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EACxB;wBACE,IAAI,EAAE,GAAG;wBACT,KAAK,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC;qBAClC,CACF,CAAC;iBACH;gBAED,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;oBAE9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE;wBACpC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;qBAC5B;iBACF;qBAAM;oBACL,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC3B;gBAID,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC9B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;wBAC1C,KAAK,EAAE,OAAO,CAAC,IAAI;wBACnB,MAAM,EAAE,IAAI;wBACZ,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,MAAM;qBACf,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;wBACtB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC1B,SAAS,GAAG,IAAI,CAAC;qBAClB;iBACF;gBAED,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;oBAE5B,IAAI,OAAO,CAAC,MAAM,CAAC,uBAAuB,IAAI,IAAI,EAAE;wBAClD,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAC5B,OAAO,EACP;4BACE,QAAQ,EAAE,gBAAgB;4BAC1B,OAAO,EAAE;gCACP,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB;6BAC3C;4BACD,MAAM,EAAE;gCACN,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gCACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gCACzB,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gCACnC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gCACjC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gCAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;6BAC5B;yBACF,EACD,IAAI,CACL,CAAC;qBACH;oBAED,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;oBAGrB,IAAI,qBAAqB,IAAI,IAAI,EAAE;wBACjC,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC;wBAClC,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC,EAAE;4BAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;4BACnC,OAAO;gCACL,MAAM,EAAE,KAAK;gCACb,QAAQ,EAAE,KAAK;gCACf,OAAO,EACL,mEAAmE;6BACtE,CAAC;yBACH;qBACF;oBAGD,IACE,OAAO,CAAC,MAAM,CAAC,WAAW;wBAC1B,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB;wBAChC,CAAC,SAAS,EACV;wBACA,OAAO;4BACL,2CAA2C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;gCAC9D,0DAA0D,CAAC;qBAC9D;yBAAM,IACL,OAAO,CAAC,MAAM,CAAC,WAAW;wBAC1B,OAAO,CAAC,MAAM,CAAC,gBAAgB;wBAC/B,CAAC,SAAS,EACV;wBACA,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC1B,OAAO;4BACL,kDAAkD;gCAClD,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,8CAA8C;gCACjE,eAAe,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAC;qBACjB;yBAAM;wBACL,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC1B,OAAO,IAAI,sCAAsC,CAAC;wBAClD,QAAQ,GAAG,IAAI,CAAC;qBACjB;oBACD,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACjC,OAAO;wBACL,MAAM,EAAE,IAAI;wBACZ,QAAQ;wBACR,OAAO;qBACR,CAAC;iBACH;qBAAM;oBACL,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnC,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,yBAAyB;qBACnC,CAAC;iBACH;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,CAAC;aACT;QACH,CAAC;KAAA;IAEY,KAAK;;;;;;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;gBACrE,OAAO,KAAK,CAAC;aACd;YAED,IACE,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;gBACnC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAChC;gBACA,MAAM,IAAI,qBAAY,CACpB,uDAAuD,CACxD,CAAC;aACH;YAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAG7B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aACxC;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,IAAI;gBACb,IAAI,CAAC,KAAK,CAAC,SAAS;oBACpB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1D,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAG1C,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,EAAE;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;aAC7B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,EAAE;gBAChC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;aAC9B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC5B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aACxB;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,EAAE;gBACpC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,EAAE,EAAE;gBACpC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,EAAE;gBACrC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,EAAE,EAAE;gBACvC,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,EAAE,EAAE;gBACxC,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,EAAE,EAAE;gBACnC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;aACjC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE;gBACtC,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;aACrC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC5B;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,EAAE,EAAE;gBAClC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;aAChC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACzC,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;aACpC;YAGD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACnB,MAAM,IAAI,yBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;aAC7C;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gBAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACnB,MAAM,IAAI,sBAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC1C;aACF;YAGD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAGxC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;oBAE9B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;wBAGrB,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,OAAO,CAAC,cAAc,CAAC,mCAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;4BAChE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAA,eAAM,GAAE,CAAC;4BAC7B,gBAAgB,GAAG,IAAI,CAAC;yBACzB;qBACF;yBAAM,IACL,IAAI,CAAC,cAAc,IAAI,IAAI;wBAC3B,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EACxC;wBAEA,IACE,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,EAAE;4BACpC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI;4BAClC,IAAI,CAAC,KAAK,CAAC,eAAe;gCACxB,IAAA,mBAAS,EAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,EACvD;4BACA,MAAM,IAAI,0CAAiC,CACzC,qEAAqE;gCACnE,IAAI,IAAI,CACN,IAAA,mBAAS,EACP,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAC9C,GAAG,IAAI,CACT,CAAC,QAAQ,EAAE;gCACZ,sCAAsC,CACzC,CAAC;yBACH;6BAAM;4BACL,IACE,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI;gCACjC,OAAO,CAAC,MAAM,CAAC,cAAc,KAAK,EAAE;gCAGpC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI;oCACjC,IAAI,CAAC,KAAK,CAAC,eAAe;wCACxB,IAAA,mBAAS,EAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,EAC1D;gCAEA,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;gCACpD,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAA,eAAM,GAAE,CAAC;gCACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;6BACzC;4BAGD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC9C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;4BACvC,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE;gCACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;6BACxC;4BACD,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAA,eAAM,GAAE,CAAC;4BACrC,gBAAgB,GAAG,IAAI,CAAC;yBACzB;qBACF;iBACF;qBAAM,IACL,IAAI,CAAC,IAAI,IAAI,IAAI;oBACjB,IAAI,CAAC,cAAc,IAAI,IAAI;oBAC3B,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;oBAGxC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI;wBACjC,IAAI,CAAC,KAAK,CAAC,eAAe;4BACxB,IAAA,mBAAS,EAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,EAC1D;oBAGA,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC;oBACpD,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAA,eAAM,GAAE,CAAC;oBACxC,gBAAgB,GAAG,IAAI,CAAC;iBACzB;aACF;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aACzC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YAE/B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAC/B,MAAM,IAAI,qBAAY,CAAC,yBAAyB,CAAC,CAAC;aACnD;YAED,IAAI;gBACF,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACpC;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,IAAI,qBAAY,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,CAAC;aACpC;YAGD,MAAM,WAAW,GAAG,eAAe,GAAG,IAAA,eAAM,GAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAE/D,IACE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAC/B;gBACA,IAAI;oBAEF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBACjD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBACtC;gBAAC,OAAO,CAAM,EAAE;oBACf,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnC,MAAM,CAAC,CAAC;iBACT;aACF;YAED,IAAI,GAAY,CAAC;YACjB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YAE1B,IAAI;gBACF,GAAG,GAAG,MAAM,OAAM,KAAK,WAAE,CAAC;aAC3B;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,CAAC,CAAC;aACT;YACD,IAAI,GAAG,EAAE;gBACP,IAAI,gBAAgB,EAAE;oBAEpB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE;wBAC1C,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;wBACpB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;wBACtB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;wBACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;qBACtD;iBACF;gBAED,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAExC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBAED,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACnC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBAClC,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAClC;iBAAM;gBACL,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACpC;YACD,OAAO,GAAG,CAAC;;KACZ;IAKY,WAAW;;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;KAAA;IAEM,kBAAkB;QACvB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEY,OAAO;;;;;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAkB,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACxC,MAAM,IAAI,qBAAY,CAAC,+CAA+C,CAAC,CAAC;aACzE;YACD,IACE,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAChC;gBACA,MAAM,IAAI,qBAAY,CACpB,uDAAuD,CACxD,CAAC;aACH;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxC,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YACD,OAAO,MAAM,OAAM,OAAO,WAAE,CAAC;QAC/B,CAAC;KAAA;;AAz9CH,uBA09CC;AAr9CQ,UAAK,GAAG,cAAc,CAAC;AACvB,UAAK,GAAG,MAAM,CAAC;AAEP,mCAA8B,GAAG;IAC9C,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;IACZ,WAAW;CACZ,CAAC;AACa,yBAAoB,GAAG;IACpC,OAAO;IACP,eAAe;IACf,OAAO;IACP,OAAO;IACP,QAAQ;IACR,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,UAAU;IACV,MAAM;IACN,QAAQ;IACR,iBAAiB;IACjB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,iBAAiB;CAClB,CAAC;AACa,2BAAsB,GAAa,EAAE,CAAC;AAGvC,+BAA0B,GAAG;IACzC,SAAS;IACT,WAAW;IACX,cAAc;IACd,SAAS;IACT,iBAAiB;CAClB,CAAC;AAEY,yBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../src/User.ts"],"names":[],"mappings":"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"}
|
package/dist/User.test.js
CHANGED
|
@@ -45,6 +45,12 @@ describe('User', () => {
|
|
|
45
45
|
return newUser;
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
+
it('new user passes validation', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
const validUser = yield makeNewUser();
|
|
50
|
+
expect(() => {
|
|
51
|
+
defaults_1.default.validatorUser(validUser);
|
|
52
|
+
}).not.toThrow();
|
|
53
|
+
}));
|
|
48
54
|
it("doesn't allow unknown keys", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
55
|
const invalidUser = yield makeNewUser();
|
|
50
56
|
invalidUser.unknown = 'I should cause an error.';
|
package/dist/User.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.test.js","sourceRoot":"","sources":["../src/User.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,0CAAuC;AAEvC,wDAAgC;AAChC,+DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;IAC1B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,uBAAuB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,oBAAoB,EAAE,uBAAuB;IAC7C,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,IAAI,aAAK,CACtB,EAAE,EACF,IAAI,8BAAa,CAAC;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,EACF,OAAO,CACR,CAAC;AAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAE1B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,SAAe,WAAW;;YACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAErC,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC;YACpC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC1B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE9B,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;QAGxC,WAAW,CAAC,OAAO,GAAG,0BAA0B,CAAC;QAEjD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"User.test.js","sourceRoot":"","sources":["../src/User.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,0CAAuC;AAEvC,wDAAgC;AAChC,+DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;IAC1B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,uBAAuB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,oBAAoB,EAAE,uBAAuB;IAC7C,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,IAAI,aAAK,CACtB,EAAE,EACF,IAAI,8BAAa,CAAC;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,EACF,OAAO,CACR,CAAC;AAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAE1B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,SAAe,WAAW;;YACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAErC,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC9B,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC;YACpC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;YAC1B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE9B,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAED,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,SAAS,GAAG,MAAM,WAAW,EAAE,CAAC;QAEtC,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;QAGxC,WAAW,CAAC,OAAO,GAAG,0BAA0B,CAAC;QAEjD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/conf/d.d.ts
CHANGED
|
@@ -14,6 +14,9 @@ export interface Config {
|
|
|
14
14
|
allowUsernameChange: boolean;
|
|
15
15
|
enableUserSearch: boolean;
|
|
16
16
|
enableGroupSearch: boolean;
|
|
17
|
+
clientReadableUIDs: string[];
|
|
18
|
+
clientEnabledUIDs: string[];
|
|
19
|
+
clientSetabledUIDs: string[];
|
|
17
20
|
userFields: string[];
|
|
18
21
|
regFields: string[];
|
|
19
22
|
verifyEmail: boolean;
|