@leyyo/env 1.0.13 → 1.2.1

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.
@@ -1,46 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnvFieldImpl = void 0;
4
- const common_1 = require("@leyyo/common");
5
4
  const error_enveloper_1 = require("@leyyo/error-enveloper");
6
5
  const internal_1 = require("../internal");
6
+ const common_1 = require("@leyyo/common");
7
+ const type_1 = require("@leyyo/type");
7
8
  const WHERE = `${internal_1.FQN}.EnvFieldImpl`;
8
9
  class EnvFieldImpl {
9
10
  // endregion properties
10
11
  constructor(scope, name) {
11
12
  this.scope = scope;
12
13
  this.name = name;
14
+ const prefix = scope.prefix ? `${scope.prefix}_` : '';
15
+ const variation = scope.variation ? `_${scope.variation}` : '';
16
+ this.full = `${prefix}${name}${variation}`;
13
17
  }
18
+ // region private
14
19
  get _f() {
15
- return this.name;
16
- }
17
- _removeOpt(key = '_typeOpt') {
18
- if (this[key] !== undefined) {
19
- delete this[key];
20
- }
21
- }
22
- _setOrRemoveOpt(key, value, isArray) {
23
- if (isArray) {
24
- if (Array.isArray(value) && value.length > 0) {
25
- this[key] = value;
26
- }
27
- else {
28
- this._removeOpt(key);
29
- }
30
- }
31
- else if (common_1.$is.object(value) && Object.keys(value).length > 0) {
32
- this[key] = value;
33
- }
34
- else {
35
- this._removeOpt(key);
36
- }
20
+ return this.full;
37
21
  }
38
22
  get _devOne() {
39
23
  return { field: this._f, where: WHERE, scope: this.scope.name };
40
24
  }
41
- _devMore(index) {
42
- return { field: `${this._f}[${index}]`, where: WHERE, scope: this.scope.name };
43
- }
44
25
  get _findRequired() {
45
26
  if (this._requiredFn) {
46
27
  return error_enveloper_1.errorEnveloper.swallow(() => this._requiredFn(this), false, true);
@@ -52,57 +33,39 @@ class EnvFieldImpl {
52
33
  return;
53
34
  }
54
35
  this._initialized = true;
36
+ let to1;
37
+ const nullable = !this._findRequired;
55
38
  switch (this._type) {
56
39
  case 'string':
40
+ to1 = type_1.toStringValue;
41
+ break;
57
42
  case 'text':
43
+ to1 = type_1.toTextValue;
44
+ break;
58
45
  case 'integer':
46
+ to1 = type_1.toIntegerValue;
47
+ break;
59
48
  case 'float':
49
+ to1 = type_1.toNumberValue;
50
+ break;
60
51
  case 'boolean':
61
- const cast1 = EnvFieldImpl._lambdaMap[this._type];
62
- if (this._array) {
63
- this.$cast(v => common_1.$to.delimited(v, this._devOne, (val, index) => cast1(val, this._devMore(index), true), this._findRequired));
64
- if (this._findRequired) {
65
- this.$assert(v => common_1.$assert.array(v, this._devOne));
66
- }
67
- else {
68
- this.$assert(v => {
69
- if (Array.isArray(v) && v.length > 0) {
70
- common_1.$assert.array(v, this._devOne);
71
- }
72
- });
73
- }
74
- }
75
- else {
76
- this.$cast(v => cast1(v, this._devOne, this._findRequired));
77
- if (this._findRequired) {
78
- this.$assert(v => common_1.$assert.notEmpty(v, this._devOne));
79
- }
80
- }
52
+ to1 = type_1.toBooleanValue;
81
53
  break;
82
54
  case 'literal':
55
+ to1 = type_1.toLiteralValue;
56
+ break;
83
57
  case 'enumeration':
84
- const cast2 = EnvFieldImpl._lambdaMap[this._type];
85
- if (this._array) {
86
- this.$cast(v => common_1.$to.delimited(v, this._devOne, (val, index) => cast2(val, this._typeOpt, this._devMore(index), true), this._findRequired));
87
- if (this._findRequired) {
88
- this.$assert(v => common_1.$assert.array(v, this._devOne));
89
- }
90
- else {
91
- this.$assert(v => {
92
- if (Array.isArray(v) && v.length > 0) {
93
- common_1.$assert.array(v, this._devOne);
94
- }
95
- });
96
- }
97
- }
98
- else {
99
- this.$cast(v => cast2(v, this._typeOpt, this._devOne, this._findRequired));
100
- if (this._findRequired) {
101
- this.$assert(v => common_1.$assert.notEmpty(v, this._devOne));
102
- }
103
- }
58
+ to1 = type_1.toEnumValue;
104
59
  break;
105
60
  }
61
+ if (this._array) {
62
+ const opt = Object.assign(Object.assign({}, this._devOne), { itemFn: to1, nullable });
63
+ this.$cast((v, _o) => (0, type_1.toDelimitedValue)(v, opt));
64
+ }
65
+ else {
66
+ const opt = Object.assign(Object.assign({}, this._devOne), { nullable });
67
+ this.$cast(v => to1(v, opt));
68
+ }
106
69
  }
107
70
  get _fromDef() {
108
71
  let val;
@@ -113,7 +76,7 @@ class EnvFieldImpl {
113
76
  val = this._def;
114
77
  }
115
78
  if (this._array) {
116
- if (common_1.$is.empty(val)) {
79
+ if ((0, type_1.isEmpty)(val)) {
117
80
  return [];
118
81
  }
119
82
  else if (Array.isArray(val)) {
@@ -126,14 +89,14 @@ class EnvFieldImpl {
126
89
  }
127
90
  }
128
91
  get _plainValue() {
129
- const value = this.raw;
92
+ const value = this.value;
130
93
  if (this._array) {
131
94
  if (Array.isArray(value)) {
132
95
  return value.join('^~|');
133
96
  }
134
97
  return '';
135
98
  }
136
- return common_1.$is.empty(value) ? '' : value;
99
+ return (0, type_1.isEmpty)(value) ? '' : value;
137
100
  }
138
101
  // endregion private
139
102
  // region configure
@@ -141,41 +104,33 @@ class EnvFieldImpl {
141
104
  required(p1) {
142
105
  if (typeof p1 == 'function') {
143
106
  this._requiredFn = p1;
144
- this._removeOpt('_required');
145
107
  return this;
146
108
  }
147
- else {
148
- this._removeOpt('_requiredFn');
149
- }
150
- if (p1 === true) {
109
+ if (typeof p1 === 'boolean') {
151
110
  this._required = p1;
152
111
  }
153
- else {
154
- this._removeOpt('_required');
155
- }
156
112
  return this;
157
113
  }
158
114
  /** {@inheritDoc} */
159
- array(opt) {
115
+ array() {
160
116
  this._array = true;
161
- this._setOrRemoveOpt('_arrayOpt', opt);
162
117
  return this;
163
118
  }
164
119
  /** {@inheritDoc} */
165
- secret(opt) {
120
+ secret() {
166
121
  this._secret = true;
167
- this._setOrRemoveOpt('_secretOpt', opt);
168
122
  return this;
169
123
  }
170
124
  clone(name) {
171
- common_1.$assert.text(name, { field: this._f, method: 'clone', where: WHERE, scope: this.scope.name });
172
- if (name === this._f) {
173
- common_1.$dev.log({ message: 'Clone is same', clone: name, field: this._f, method: 'clone', where: WHERE, scope: this.scope.name }, 'warn');
174
- this._removeOpt('_clone');
125
+ const opt = { field: this._f, method: 'clone', where: WHERE, scope: this.scope.name };
126
+ (0, type_1.assertText)(name, opt);
127
+ if (name === this.name) {
128
+ logger.warn('Same field', opt);
129
+ this._clone = undefined;
175
130
  }
176
131
  else if (this._aliases && this._aliases.includes(name)) {
177
- common_1.$dev.log({ message: 'Clone is alias', clone: name, field: this._f, method: 'clone', where: WHERE, scope: this.scope.name }, 'warn');
178
- this._removeOpt('_clone');
132
+ logger.warn('Alias field', opt);
133
+ this._clone = undefined;
179
134
  }
180
135
  else {
181
136
  this._clone = name;
@@ -184,7 +139,8 @@ class EnvFieldImpl {
184
139
  }
185
140
  /** {@inheritDoc} */
186
141
  def(value) {
187
- if (!common_1.$is.empty(value)) {
142
+ this._def = undefined;
143
+ if (!(0, type_1.isEmpty)(value)) {
188
144
  if (typeof value === 'function') {
189
145
  this._def = value;
190
146
  }
@@ -199,14 +155,17 @@ class EnvFieldImpl {
199
155
  }
200
156
  /** {@inheritDoc} */
201
157
  alias(...keys) {
202
- common_1.$assert.textArray(keys, { field: this._f, method: 'aliases', where: WHERE, scope: this.scope.name });
158
+ const opt = { field: this._f, method: 'aliases', where: WHERE, scope: this.scope.name };
159
+ (0, type_1.assertArray)(keys, opt);
203
160
  if (keys.length > 0) {
204
- keys.forEach(key => {
205
- if (key === this._f) {
206
- common_1.$dev.log({ message: 'Alias is same', alias: key, field: this._f, method: 'alias', where: WHERE, scope: this.scope.name }, 'warn');
161
+ keys.forEach((key, index) => {
162
+ const opt2 = Object.assign(Object.assign({}, opt), { field: `${this._f}[${index}]` });
163
+ (0, type_1.assertText)(key, opt2);
164
+ if (key === this.name) {
165
+ logger.warn('Same alias', opt2);
207
166
  }
208
167
  else if (key === this._clone) {
209
- common_1.$dev.log({ message: 'Alias is clone', alias: key, field: this._f, method: 'alias', where: WHERE, scope: this.scope.name }, 'warn');
168
+ logger.warn('Cloned alias', opt2);
210
169
  }
211
170
  else {
212
171
  if (!this._aliases) {
@@ -217,7 +176,7 @@ class EnvFieldImpl {
217
176
  this.scope.core.$secure.$addKey(key, this, key);
218
177
  }
219
178
  else {
220
- common_1.$dev.log({ message: 'Alias is duplicated', alias: key, field: this._f, method: 'clone', where: WHERE, scope: this.scope.name }, 'warn');
179
+ logger.warn('Duplicated alias', opt2);
221
180
  }
222
181
  }
223
182
  });
@@ -225,59 +184,59 @@ class EnvFieldImpl {
225
184
  return this;
226
185
  }
227
186
  /** {@inheritDoc} */
228
- string(opt) {
187
+ string() {
229
188
  this._type = 'string';
230
- this._setOrRemoveOpt('_typeOpt', opt);
189
+ this._typeOpt = undefined;
231
190
  return this;
232
191
  }
233
192
  /** {@inheritDoc} */
234
- text(opt) {
193
+ text() {
235
194
  this._type = 'string';
236
- this._setOrRemoveOpt('_typeOpt', opt);
195
+ this._typeOpt = undefined;
237
196
  return this;
238
197
  }
239
198
  /** {@inheritDoc} */
240
- float(opt) {
199
+ float() {
241
200
  this._type = 'float';
242
- this._setOrRemoveOpt('_typeOpt', opt);
201
+ this._typeOpt = undefined;
243
202
  return this;
244
203
  }
245
204
  /** {@inheritDoc} */
246
- integer(opt) {
205
+ integer() {
247
206
  this._type = 'integer';
248
- this._setOrRemoveOpt('_typeOpt', opt);
207
+ this._typeOpt = undefined;
249
208
  return this;
250
209
  }
251
210
  /** {@inheritDoc} */
252
- boolean(opt) {
211
+ boolean() {
253
212
  this._type = 'boolean';
254
- this._setOrRemoveOpt('_typeOpt', opt);
213
+ this._typeOpt = undefined;
255
214
  return this;
256
215
  }
257
216
  /** {@inheritDoc} */
258
217
  literal(keys) {
259
- common_1.$assert.array(keys, { field: this._f, method: 'literal', where: WHERE, scope: this.scope.name });
218
+ (0, type_1.assertFilledArray)(keys, { field: this._f, method: 'literal', where: WHERE, scope: this.scope.name });
260
219
  this._type = 'literal';
261
- this._setOrRemoveOpt('_typeOpt', keys, true);
220
+ this._typeOpt = keys;
262
221
  return this;
263
222
  }
264
223
  /** {@inheritDoc} */
265
224
  enumeration(map) {
266
- common_1.$assert.bareObject(map, { field: this._f, method: 'enumeration', where: WHERE, scope: this.scope.name });
225
+ (0, type_1.assertFilledObject)(map, { field: this._f, method: 'enumeration', where: WHERE, scope: this.scope.name });
267
226
  this._type = 'enumeration';
268
- this._setOrRemoveOpt('_typeOpt', map, true);
227
+ this._typeOpt = map;
269
228
  return this;
270
229
  }
271
230
  /** {@inheritDoc} */
272
231
  onOta(fn) {
273
232
  this.scope.$secure.$addOta(this.name);
274
- common_1.$assert.func(fn, { field: this._f, where: WHERE, scope: this.scope.name, method: 'ota' });
233
+ (0, type_1.assertFunction)(fn, { field: this._f, where: WHERE, scope: this.scope.name, method: 'ota' });
275
234
  this._onOta = fn;
276
235
  return this;
277
236
  }
278
237
  /** {@inheritDoc} */
279
238
  onChange(fn) {
280
- common_1.$assert.func(fn, { field: this._f, where: WHERE, scope: this.scope.name, method: 'onChange' });
239
+ (0, type_1.assertFunction)(fn, { field: this._f, where: WHERE, scope: this.scope.name, method: 'onChange' });
281
240
  if (!Array.isArray(this._onChangeList)) {
282
241
  this._onChangeList = [];
283
242
  }
@@ -286,24 +245,24 @@ class EnvFieldImpl {
286
245
  }
287
246
  /** {@inheritDoc} */
288
247
  onSet(fn) {
289
- common_1.$assert.func(fn, { field: this._f, where: WHERE, scope: this.scope.name, method: 'onSet' });
248
+ (0, type_1.assertFunction)(fn, { field: this._f, where: WHERE, scope: this.scope.name, method: 'onSet' });
290
249
  this._onSet = fn;
291
250
  return this;
292
251
  }
293
252
  /** {@inheritDoc} */
294
253
  cast(fn) {
295
- common_1.$assert.func(fn, { field: this._f, method: 'cast', where: WHERE, scope: this.scope.name });
254
+ (0, type_1.assertFunction)(fn, { field: this._f, method: 'cast', where: WHERE, scope: this.scope.name });
296
255
  this.$cast(fn);
297
256
  return this;
298
257
  }
299
258
  /** {@inheritDoc} */
300
259
  assert(fn) {
301
- common_1.$assert.func(fn, { field: this._f, method: 'cast', where: WHERE, scope: this.scope.name });
260
+ (0, type_1.assertFunction)(fn, { field: this._f, method: 'cast', where: WHERE, scope: this.scope.name });
302
261
  this.$assert(fn);
303
262
  return this;
304
263
  }
305
264
  /** {@inheritDoc} */
306
- get end() {
265
+ end() {
307
266
  return this.scope.configure;
308
267
  }
309
268
  // endregion configure
@@ -325,7 +284,7 @@ class EnvFieldImpl {
325
284
  case "bigint":
326
285
  return value;
327
286
  case "object":
328
- return common_1.$dev.secureJson(value);
287
+ return (0, common_1.secureJson)(value);
329
288
  case "function":
330
289
  return `[fnc]${(_a = value.name) !== null && _a !== void 0 ? _a : '~lambda~'}[${value.length}]`;
331
290
  case "symbol":
@@ -338,7 +297,7 @@ class EnvFieldImpl {
338
297
  print() {
339
298
  const result = { key: this._f, scope: this.scope.name, type: this._type };
340
299
  if (!this._secret) {
341
- const value = this.raw;
300
+ const value = this.value;
342
301
  if (value !== undefined) {
343
302
  result.value = this._printValue(value);
344
303
  }
@@ -356,7 +315,7 @@ class EnvFieldImpl {
356
315
  }
357
316
  }
358
317
  if (this._typeOpt !== undefined) {
359
- opt[this._type] = this._printValue(this._typeOpt);
318
+ opt[this._type] = true;
360
319
  }
361
320
  if (this._def !== undefined && !this._secret) {
362
321
  opt['def'] = this._printValue(this._fromDef);
@@ -365,23 +324,13 @@ class EnvFieldImpl {
365
324
  opt['clone'] = this._clone;
366
325
  }
367
326
  if (this._secret) {
368
- if (this._secretOpt !== undefined) {
369
- opt['secret'] = this._printValue(this._secretOpt);
370
- }
371
- else {
372
- opt['secret'] = true;
373
- }
327
+ opt['secret'] = true;
374
328
  }
375
329
  if (this._aliases !== undefined) {
376
330
  opt['aliases'] = this._printValue(this._aliases);
377
331
  }
378
332
  if (this._array) {
379
- if (this._arrayOpt) {
380
- opt['array'] = this._printValue(this._arrayOpt);
381
- }
382
- else {
383
- opt['array'] = true;
384
- }
333
+ opt['array'] = true;
385
334
  }
386
335
  if (this._onOta) {
387
336
  opt['onOta'] = 1;
@@ -401,38 +350,49 @@ class EnvFieldImpl {
401
350
  read() {
402
351
  this._initialize();
403
352
  const old = this._plainValue;
404
- if (this._clone && !common_1.$is.empty(process.env[this._clone])) {
353
+ if (this._clone && !(0, type_1.isEmpty)(process.env[this._clone])) {
405
354
  this.set(process.env[this._clone]);
406
355
  }
407
- if (common_1.$is.empty(this.raw) && Array.isArray(this._aliases)) {
356
+ if ((0, type_1.isEmpty)(this.value) && Array.isArray(this._aliases)) {
408
357
  for (const alias of this._aliases) {
409
- if (!common_1.$is.empty(process.env[alias])) {
358
+ if (!(0, type_1.isEmpty)(process.env[alias])) {
410
359
  this.set(process.env[alias]);
411
360
  break;
412
361
  }
413
362
  }
414
363
  }
415
- if (common_1.$is.empty(this.raw)) {
364
+ if ((0, type_1.isEmpty)(this.value)) {
416
365
  this.$set(this._fromDef);
417
366
  }
418
367
  if (this._cast) {
419
- this.$set(this._cast(this.raw));
420
- if (common_1.$is.empty(this.raw)) {
368
+ this.$set(this._cast(this.value));
369
+ if ((0, type_1.isEmpty)(this.value)) {
421
370
  this.$set(this._fromDef);
422
371
  }
423
372
  }
424
373
  if (this._assert) {
425
- this._assert(this.raw);
374
+ this._assert(this.value, this._devOne);
426
375
  }
427
376
  this.scope.clear();
428
377
  const current = this._plainValue;
429
378
  if (this._onChangeList && current !== old) {
430
379
  this._onChangeList.forEach((fn, index) => {
431
- error_enveloper_1.errorEnveloper.handle(() => fn(this), (e) => common_1.$dev.log({ message: 'OnChange error', caused: e, where: WHERE, scope: this.scope.name, field: this._f, index }, 'warn'));
380
+ error_enveloper_1.errorEnveloper.handle(() => fn(this), (e) => logger.warn('On Change error', {
381
+ caused: { name: e.name, message: e.message },
382
+ where: WHERE,
383
+ scope: this.scope.name,
384
+ field: this._f,
385
+ index
386
+ }));
432
387
  });
433
388
  }
434
389
  if (this._onSet) {
435
- error_enveloper_1.errorEnveloper.handle(() => this._onSet(this), (e) => common_1.$dev.log({ message: 'OnSet error', caused: e, where: WHERE, scope: this.scope.name, field: this._f }, 'warn'));
390
+ error_enveloper_1.errorEnveloper.handle(() => this._onSet(this), (e) => logger.warn('On set error', {
391
+ caused: { name: e.name, message: e.message },
392
+ where: WHERE,
393
+ scope: this.scope.name,
394
+ field: this._f
395
+ }));
436
396
  }
437
397
  return current !== old;
438
398
  }
@@ -444,15 +404,25 @@ class EnvFieldImpl {
444
404
  changed = this.read();
445
405
  }
446
406
  catch (e) {
447
- common_1.$dev.log({ message: 'Ota run error', caused: e, where: WHERE, scope: this.scope.name, field: this._f }, 'warn');
407
+ logger.warn('Ota run error', {
408
+ caused: { name: e.name, message: e.message },
409
+ where: WHERE,
410
+ scope: this.scope.name,
411
+ field: this._f
412
+ });
448
413
  }
449
414
  if (changed && this._onOta) {
450
- error_enveloper_1.errorEnveloper.handle(() => this._onOta(this), (e) => common_1.$dev.log({ message: 'OnOta error', caused: e, where: WHERE, scope: this.scope.name, field: this._f }, 'warn'));
415
+ error_enveloper_1.errorEnveloper.handle(() => this._onOta(this), (e) => logger.warn('Ota error', {
416
+ caused: { name: e.name, message: e.message },
417
+ where: WHERE,
418
+ scope: this.scope.name,
419
+ field: this._f
420
+ }));
451
421
  }
452
422
  return changed;
453
423
  }
454
424
  /** {@inheritDoc} */
455
- get raw() {
425
+ get value() {
456
426
  if (this._value !== undefined) {
457
427
  return this._value;
458
428
  }
@@ -499,14 +469,5 @@ class EnvFieldImpl {
499
469
  }
500
470
  }
501
471
  exports.EnvFieldImpl = EnvFieldImpl;
502
- // region private
503
- EnvFieldImpl._lambdaMap = {
504
- string: ((value, opt, required) => common_1.$to.string(value, opt, required)),
505
- text: ((value, opt, required) => common_1.$to.text(value, opt, required)),
506
- float: ((value, opt, required) => common_1.$to.float(value, opt, required)),
507
- integer: ((value, opt, required) => common_1.$to.integer(value, opt, required)),
508
- boolean: ((value, opt, required) => common_1.$to.boolean(value, opt, required)),
509
- literal: ((value, item, opt, required) => common_1.$to.literal(value, item, opt, undefined, required)),
510
- enumeration: ((value, map, opt, required) => common_1.$to.enumeration(value, map, opt, undefined, required)),
511
- };
472
+ const logger = common_1.$log.create(EnvFieldImpl);
512
473
  //# sourceMappingURL=env-field.impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-field.impl.js","sourceRoot":"","sources":["../../src/field/env-field.impl.ts"],"names":[],"mappings":";;;AAAA,0CAAsD;AACtD,4DAAsD;AACtD,0CAAgC;AAgBhC,MAAM,KAAK,GAAG,GAAG,cAAG,eAAe,CAAC;AAGpC,MAAa,YAAY;IAqBrB,uBAAuB;IAEvB,YAAqB,KAAyB,EAAW,IAAO;QAA3C,UAAK,GAAL,KAAK,CAAoB;QAAW,SAAI,GAAJ,IAAI,CAAG;IAChE,CAAC;IAYD,IAAY,EAAE;QACV,OAAO,IAAI,CAAC,IAAc,CAAC;IAC/B,CAAC;IACO,UAAU,CAAC,MAAmB,UAAU;QAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IACO,eAAe,CAAC,GAAgB,EAAE,KAAc,EAAE,OAAiB;QACvE,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAiB,CAAC,GAAG,KAAY,CAAC;YAC3C,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;aACI,IAAI,YAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,GAAiB,CAAC,GAAG,KAAY,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IACD,IAAY,OAAO;QACf,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC;IAClE,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC1B,OAAO,EAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC;IACjF,CAAC;IAED,IAAY,aAAa;QACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,gCAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,WAAW;QACf,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACV,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAoC,CAAC;gBACrF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACpI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtD,CAAC;yBACI,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACb,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACpE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,KAAK,SAAS,CAAC;YACf,KAAK,aAAa;gBACd,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAqC,CAAC;gBACtF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACnJ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtD,CAAC;yBACI,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACb,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACnF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;gBACD,MAAM;QACd,CAAC;IACL,CAAC;IAED,IAAY,QAAQ;QAChB,IAAI,GAAS,CAAC;QACd,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,GAAG,GAAG,gCAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,IAAqC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3G,CAAC;aACI,CAAC;YACF,GAAG,GAAG,IAAI,CAAC,IAAY,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,YAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,OAAO,EAAU,CAAC;YACtB,CAAC;iBACI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,CAAC,GAAG,CAAS,CAAC;QACzB,CAAC;aACI,CAAC;YACF,OAAO,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,SAAS,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,IAAY,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAa,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,YAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC;IACD,oBAAoB;IAEpB,mBAAmB;IAEnB,oBAAoB;IACpB,QAAQ,CAAC,EAA8C;QACnD,IAAI,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAmB;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,GAAoB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,IAAY;QACd,gBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC5F,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YACnB,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;YACjI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;aACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;YAClI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;aACI,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,GAAG,CAAC,KAA0C;QAC1C,IAAK,CAAC,YAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACtB,CAAC;iBACI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAS,CAAC;YACjE,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAG,IAAc;QACnB,gBAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;oBAClB,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;gBACpI,CAAC;qBACI,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3B,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;gBACrI,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACvB,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAuB,EAAE,GAAG,CAAC,CAAC;oBACvE,CAAC;yBACI,CAAC;wBACF,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;oBAC1I,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,GAAoB;QACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,GAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAmB;QACrB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAqB;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAqB;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,OAAO,CAA8B,IAAoB;QACrD,gBAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,WAAW,CAA8B,GAAe;QACpD,gBAAO,CAAC,UAAU,CAAC,GAAG,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,EAAiC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,EAAgC;QACrC,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,EAAgC;QAClC,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,EAA4B;QAC7B,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,EAAwB;QAC3B,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,sBAAsB;IAEtB,iBAAiB;IAEjB,oBAAoB;IACpB,GAAG,CAAC,KAAW;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,KAAc;;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,QAAQ,OAAO,KAAK,EAAE,CAAC;YACnB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ;gBACT,OAAO,KAAK,CAAC;YACjB,KAAK,QAAQ;gBACT,OAAO,aAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,UAAU;gBACX,OAAO,QAAQ,MAAA,KAAK,CAAC,IAAI,mCAAI,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/D,KAAK,QAAQ;gBACT,OAAO,QAAQ,MAAA,KAAK,CAAC,WAAW,mCAAI,UAAU,GAAG,CAAC;YACtD;gBACI,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;IACD,oBAAoB;IACpB,KAAK;QACD,MAAM,MAAM,GAAG,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAkB,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aACI,CAAC;YACF,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG,EAA6B,CAAC;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;iBACI,CAAC;gBACF,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAChC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;iBACI,CAAC;gBACF,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACzB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC;iBACI,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACxB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,IAAI;QACA,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAS,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAS,CAAC,CAAC;oBACrC,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACrC,gCAAc,CAAC,MAAM,CACjB,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EACd,CAAC,CAAC,EAAE,EAAE,CAAC,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAC,EAAE,MAAM,CAAC,CAC/H,CAAC;YACN,CAAC,CAAC,CAAA;QACN,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,gCAAc,CAAC,MAAM,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAC,EAAE,MAAM,CAAC,CACrH,CAAC;QACN,CAAC;QACD,OAAO,OAAO,KAAK,GAAG,CAAC;IAC3B,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,KAAc;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAC,EAAE,MAAM,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,gCAAc,CAAC,MAAM,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAC,EAAE,MAAM,CAAC,CACrH,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAS,CAAC;IACxC,CAAC;IAED,oBAAoB;IAEpB,gBAAgB;IAChB,IAAI,CAAC,KAAc;QACf,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAa,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAe,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;gBACb,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,KAAK,CAAC,EAA4B;QAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,EAAwB;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,mBAAmB;IAEnB,cAAc;IAEd,oBAAoB;IACpB,IAAI,SAAS;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;;AAnjBL,oCAujBC;AA7hBG,iBAAiB;AACF,uBAAU,GAAuB;IAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACvG,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACnG,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACrG,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACzG,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAqC;IAC1G,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAqC;IACjI,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,WAAW,CAAC,KAAK,EAAE,GAAc,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAqC;CACrJ,CAAC"}
1
+ {"version":3,"file":"env-field.impl.js","sourceRoot":"","sources":["../../src/field/env-field.impl.ts"],"names":[],"mappings":"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"}