mol_time_all 1.1.1679 → 1.1.1680

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/node.d.ts CHANGED
@@ -31,6 +31,12 @@ declare namespace $ {
31
31
  minute?: number;
32
32
  second?: number;
33
33
  };
34
+ /**
35
+ * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.
36
+ *
37
+ * Immutable iso8601 time duration representation.
38
+ * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo
39
+ */
34
40
  class $mol_time_duration extends $mol_time_base {
35
41
  constructor(config?: $mol_time_duration_config);
36
42
  readonly year: number;
@@ -124,6 +130,12 @@ declare namespace $ {
124
130
  second?: number;
125
131
  offset?: $mol_time_duration_config;
126
132
  };
133
+ /**
134
+ * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.
135
+ *
136
+ * Immutable iso8601 time moment representation.
137
+ * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo
138
+ */
127
139
  class $mol_time_moment extends $mol_time_base {
128
140
  constructor(config?: $mol_time_moment_config);
129
141
  readonly year: number | undefined;
@@ -188,6 +200,12 @@ declare namespace $ {
188
200
  end?: $mol_time_moment_config;
189
201
  duration?: $mol_time_duration_config;
190
202
  };
203
+ /**
204
+ * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.
205
+ *
206
+ * Immutable iso8601 time interval representation.
207
+ * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo
208
+ */
191
209
  class $mol_time_interval extends $mol_time_base {
192
210
  constructor(config: $mol_time_interval_config);
193
211
  private _start;
package/node.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../mam.d.ts","../../base/base.d.ts","../../duration/duration.d.ts","../../../fail/fail.d.ts","../../../fail/hidden/hidden.d.ts","../../../dev/format/format.d.ts","../../moment/moment.d.ts","../../interval/interval.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9CA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null,null]}
1
+ {"version":3,"sources":["../../../../mam.d.ts","../../base/base.d.ts","../../duration/duration.d.ts","../../../fail/fail.d.ts","../../../fail/hidden/hidden.d.ts","../../../dev/format/format.d.ts","../../moment/moment.d.ts","../../interval/interval.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpDA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":[null,null,null,null,null,null,null,null]}
package/node.js CHANGED
@@ -67,6 +67,12 @@ var $;
67
67
  "use strict";
68
68
  var $;
69
69
  (function ($) {
70
+ /**
71
+ * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.
72
+ *
73
+ * Immutable iso8601 time duration representation.
74
+ * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo
75
+ */
70
76
  class $mol_time_duration extends $mol_time_base {
71
77
  constructor(config = 0) {
72
78
  super();
@@ -267,6 +273,7 @@ var $;
267
273
  '.sss': (moment) => {
268
274
  if (moment.second == null)
269
275
  return '';
276
+ // if( moment.second === ( moment.second | 0 ) ) return ''
270
277
  return '.' + $mol_time_moment.patterns['sss'](moment);
271
278
  },
272
279
  'sss': (moment) => {
@@ -295,7 +302,7 @@ var $;
295
302
  var $;
296
303
  (function ($) {
297
304
  function $mol_fail_hidden(error) {
298
- throw error;
305
+ throw error; /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script
299
306
  }
300
307
  $.$mol_fail_hidden = $mol_fail_hidden;
301
308
  })($ || ($ = {}));
@@ -304,6 +311,7 @@ var $;
304
311
  "use strict";
305
312
  var $;
306
313
  (function ($) {
314
+ // https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#
307
315
  $['devtoolsFormatters'] ||= [];
308
316
  function $mol_dev_format_register(config) {
309
317
  $['devtoolsFormatters'].push(config);
@@ -355,6 +363,7 @@ var $;
355
363
  return false;
356
364
  if (!val)
357
365
  return false;
366
+ // if( Error.isError( val ) ) true
358
367
  if (val[$.$mol_dev_format_body])
359
368
  return true;
360
369
  return false;
@@ -372,12 +381,16 @@ var $;
372
381
  return $.$mol_dev_format_accent($mol_dev_format_native(val), '💨', $mol_dev_format_native(error), '');
373
382
  }
374
383
  }
384
+ // if( Error.isError( val ) ) {
385
+ // return $mol_dev_format_native( val )
386
+ // }
375
387
  return null;
376
388
  },
377
389
  });
378
390
  function $mol_dev_format_native(obj) {
379
391
  if (typeof obj === 'undefined')
380
392
  return $.$mol_dev_format_shade('undefined');
393
+ // if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj
381
394
  return [
382
395
  'object',
383
396
  {
@@ -435,6 +448,9 @@ var $;
435
448
  'margin-left': '13px'
436
449
  });
437
450
  class Stack extends Array {
451
+ // [ Symbol.toPrimitive ]() {
452
+ // return this.toString()
453
+ // }
438
454
  toString() {
439
455
  return this.join('\n');
440
456
  }
@@ -457,6 +473,7 @@ var $;
457
473
  this.method = call.getMethodName() ?? '';
458
474
  if (this.method === this.function)
459
475
  this.method = '';
476
+ // const func = c.getFunction()
460
477
  this.pos = [call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0];
461
478
  this.eval = call.getEvalOrigin() ?? '';
462
479
  this.source = call.getScriptNameOrSourceURL() ?? '';
@@ -519,6 +536,12 @@ var $;
519
536
  return numb;
520
537
  $mol_fail(new Error(`Wrong time component ${str}`));
521
538
  }
539
+ /**
540
+ * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.
541
+ *
542
+ * Immutable iso8601 time moment representation.
543
+ * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo
544
+ */
522
545
  class $mol_time_moment extends $mol_time_base {
523
546
  constructor(config = new Date) {
524
547
  super();
@@ -683,6 +706,12 @@ var $;
683
706
  [$mol_dev_format_head]() {
684
707
  return $mol_dev_format_span({}, $mol_dev_format_native(this), ' ', $mol_dev_format_accent(this.toString('YYYY-MM-DD hh:mm:ss.sss Z')));
685
708
  }
709
+ /// Mnemonics:
710
+ /// * single letter for numbers: M - month number, D - day of month.
711
+ /// * uppercase letters for dates, lowercase for times: M - month number , m - minutes number
712
+ /// * repeated letters for define register count: YYYY - full year, YY - shot year, MM - padded month number
713
+ /// * words for word representation: Month - month name, WeekDay - day of week name
714
+ /// * shortcuts: WD - short day of week, Mon - short month name.
686
715
  static patterns = {
687
716
  'YYYY': (moment) => {
688
717
  if (moment.year == null)
@@ -908,6 +937,12 @@ var $;
908
937
  "use strict";
909
938
  var $;
910
939
  (function ($) {
940
+ /**
941
+ * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.
942
+ *
943
+ * Immutable iso8601 time interval representation.
944
+ * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo
945
+ */
911
946
  class $mol_time_interval extends $mol_time_base {
912
947
  constructor(config) {
913
948
  super();
package/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["-","../../../../mam.ts","../../../../mol/time/base/base.ts","../../../../mol/time/duration/duration.ts","../../../../mol/fail/fail.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/dev/format/format.ts","../../../../mol/time/moment/moment.ts","../../../../mol/time/interval/interval.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport class $mol_time_base {\n\n\t\tstatic patterns = {} as Record< string , ( arg : any )=> string >\n\n\t\tstatic formatter( pattern : string ) {\n\n\t\t\tif( this.patterns[ pattern ] ) return this.patterns[ pattern ]\n\n\t\t\tvar tokens = Object.keys( this.patterns )\n\t\t\t\t.sort()\n\t\t\t\t.reverse()\n\t\t\t\t.map( ( token : string ) => token.replace( /([-+*.\\[\\]()\\^])/g , '\\\\$1' ) )\n\t\t\tvar lexer = RegExp( '(.*?)(' + tokens.join( '|' ) + '|$)', 'g' )\n\n\t\t\tvar funcs = [] as ( ( arg : any )=> string )[]\n\n\t\t\tpattern.replace( lexer, ( str : string , text : string , token : string ) => {\n\t\t\t\tif( text ) funcs.push( () => text )\n\t\t\t\tif( token ) funcs.push( this.patterns[ token ] )\n\t\t\t\treturn str\n\t\t\t} )\n\n\t\t\treturn this.patterns[ pattern ] = ( arg : any )=> {\n\t\t\t\treturn funcs.reduce( ( res , func )=> res + func( arg ) , '' )\n\t\t\t}\n\t\t\n\t\t}\n\n\t\ttoString( pattern : string ) : string {\n\t\t\tconst Base = this.constructor as typeof $mol_time_base\n\t\t\tconst formatter = Base.formatter( pattern )\n\t\t\treturn formatter( this )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_time_duration_config = number | string | readonly[ number, number, number, number, number, number ] | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time duration representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_duration extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_duration_config = 0 ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tif( !Number.isFinite( config ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t\tthis.second = config / 1000\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( config === 'Z' ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.hour = 0\n\t\t\t\t\tthis.minute = 0\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tduration: {\n\t\t\t\t\tconst parser = /^(-?)P(?:([+-]?\\d+(?:\\.\\d+)?)Y)?(?:([+-]?\\d+(?:\\.\\d+)?)M)?(?:([+-]?\\d+(?:\\.\\d+)?)D)?(?:T(?:([+-]?\\d+(?:\\.\\d+)?)h)?(?:([+-]?\\d+(?:\\.\\d+)?)m)?(?:([+-]?\\d+(?:\\.\\d+)?)s)?)?$/i\n\t\t\t\t\t\n\t\t\t\t\tconst found = parser.exec( config )\n\t\t\t\t\tif( !found ) break duration\n\t\t\t\t\t\t\n\t\t\t\t\tconst sign = found[1] ? -1 : 1\n\t\t\t\t\tif( found[2] ) this.year = sign * Number( found[2] )\n\t\t\t\t\tif( found[3] ) this.month = sign * Number( found[3] )\n\t\t\t\t\tif( found[4] ) this.day = sign * Number( found[4] )\n\t\t\t\t\tif( found[5] ) this.hour = sign * Number( found[5] )\n\t\t\t\t\tif( found[6] ) this.minute = sign * Number( found[6] )\n\t\t\t\t\tif( found[7] ) this.second = sign * Number( found[7] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toffset: {\n\t\t\t\t\tvar parser = /^[+-](\\d\\d)(?::?(\\d\\d))?$/i\n\t\t\t\t\t\n\t\t\t\t\tvar found = parser.exec( config )\n\t\t\t\t\tif( !found ) break offset\n\t\t\t\t\t\t\n\t\t\t\t\tif( found[1] ) this.hour = Number( found[1] )\n\t\t\t\t\tif( found[2] ) this.minute = Number( found[2] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthrow new Error( `Can not parse time duration (${ config })` )\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Array ) {\n\t\t\t\t;[ this.year, this.month, this.day, this.hour, this.minute, this.second ] = config\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tthis.year = config.year || 0\n\t\t\tthis.month = config.month || 0\n\t\t\tthis.day = config.day || 0\n\t\t\tthis.hour = config.hour || 0\n\t\t\tthis.minute = config.minute || 0\n\t\t\tthis.second = config.second || 0\n\t\t\t\n\t\t}\n\n\t\treadonly year : number= 0\n\t\treadonly month : number = 0\n\t\treadonly day : number = 0\n\t\treadonly hour : number = 0\n\t\treadonly minute : number = 0\n\t\treadonly second : number = 0\n\t\t\n\t\tget normal() {\n\t\t\t\n\t\t\tlet second = this.second ?? 0\n\t\t\tlet minute = this.minute ?? 0\n\t\t\tlet hour = this.hour ?? 0\n\t\t\tlet day = this.day ?? 0\n\t\t\t\n\t\t\tminute += Math.trunc( second / 60 )\n\t\t\tsecond = second % 60\n\t\t\t\n\t\t\thour += Math.trunc( minute / 60 )\n\t\t\tminute = minute % 60\n\t\t\t\n\t\t\tday += Math.trunc( hour / 24 )\n\t\t\thour = hour % 24\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear: this.year,\n\t\t\t\tmonth: this.month,\n\t\t\t\tday: day,\n\t\t\t\thour: hour,\n\t\t\t\tminute: minute,\n\t\t\t\tsecond: second,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\tsumm( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year + duration.year ,\n\t\t\t\tmonth : this.month + duration.month ,\n\t\t\t\tday : this.day + duration.day ,\n\t\t\t\thour : this.hour + duration.hour ,\n\t\t\t\tminute : this.minute + duration.minute ,\n\t\t\t\tsecond : this.second + duration.second ,\n\t\t\t})\n\t\t}\n\n\t\tmult( numb : number ) {\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year && this.year * numb ,\n\t\t\t\tmonth : this.month && this.month * numb ,\n\t\t\t\tday : this.day && this.day * numb ,\n\t\t\t\thour : this.hour && this.hour * numb ,\n\t\t\t\tminute : this.minute && this.minute * numb ,\n\t\t\t\tsecond : this.second && this.second * numb ,\n\t\t\t})\n\t\t}\n\n\t\tcount( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\treturn this.valueOf() / duration.valueOf()\n\t\t}\n\n\t\tvalueOf() {\n\t\t\tvar day = this.year * 365 + this.month * 30.4 + this.day\n\t\t\tvar second = ( ( day * 24 + this.hour ) * 60 + this.minute ) * 60 + this.second\n\t\t\treturn second * 1000\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'P#Y#M#DT#h#m#s' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\n\t\ttoArray() {\n\t\t\treturn [ this.year, this.month, this.day, this.hour, this.minute, this.second ] as const\n\t\t\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\tstatic patterns = {\n\n\t\t\t'#Y' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.year ) return ''\n\t\t\t\treturn duration.year + 'Y'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#M' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.month ) return ''\n\t\t\t\treturn duration.month + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#D' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.day ) return ''\n\t\t\t\treturn duration.day + 'D'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#h' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.hour ) return ''\n\t\t\t\treturn duration.hour + 'H'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#m' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.minute ) return ''\n\t\t\t\treturn duration.minute + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#s' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.second ) return ''\n\t\t\t\treturn duration.second + 'S'\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\t// if( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport const $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport const $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\t\n\tfunction $mol_dev_format_button( label: any, click: ()=> any ) {\n\t\treturn $mol_dev_format_auto( {\n\t\t\t[ $mol_dev_format_head ]() {\n\t\t\t\treturn $mol_dev_format_span( { color: 'cornflowerblue' }, label )\n\t\t\t},\n\t\t\t[ $mol_dev_format_body ]() {\n\t\t\t\tPromise.resolve().then( click )\n\t\t\t\treturn $mol_dev_format_span({})\n\t\t\t}\n\t\t} )\n\t}\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Error ) {\n\t\t\t\t\n\t\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\t$mol_dev_format_button( 'throw', ()=> $mol_fail_hidden( val ) ),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Promise ) {\n\t\t\t\treturn $mol_dev_format_shade(\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\tval[ Symbol.toStringTag ] ?? '',\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return false\n\t\t\tif( !val ) return false\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) true\n\t\t\tif( val[ $mol_dev_format_body ] ) return true\n\t\t\t\n\t\t\treturn false\n\t\t},\n\n\t\tbody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_body in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_body ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) {\n\t\t\t// \treturn $mol_dev_format_native( val )\n\t\t\t// }\n\t\t\t\n\t\t\treturn null\n\t\t},\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport let $mol_dev_format_span = $mol_dev_format_element.bind( null , 'span' )\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\t\n\tclass Stack extends Array< Call > {\n\t\t\n\t\t// [ Symbol.toPrimitive ]() {\n\t\t// \treturn this.toString()\n\t\t// }\n\t\t\n\t\ttoString() {\n\t\t\treturn this.join( '\\n' )\n\t\t}\n\t\t\n\t}\n\t\n\tclass Call extends Object {\n\t\t\n\t\treadonly type: string\n\t\treadonly function: string\n\t\treadonly method: string\n\t\treadonly eval: string\n\t\treadonly source: string\n\t\treadonly offset: number\n\t\treadonly pos: [ number, number ]\n\t\treadonly object: unknown\n\t\treadonly flags: readonly string[]\n\t\t[ Symbol.toStringTag ]!: string\n\t\t\n\t\tconstructor( call: NodeJS.CallSite ) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tthis.type = call.getTypeName() ?? ''\n\t\t\tthis.function = call.getFunctionName() ?? ''\n\t\t\tthis.method = call.getMethodName() ?? ''\n\t\t\tif( this.method === this.function ) this.method = ''\n\t\t\t// const func = c.getFunction()\n\t\t\tthis.pos = [ call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0 ]\n\t\t\tthis.eval = call.getEvalOrigin() ?? ''\n\t\t\tthis.source = call.getScriptNameOrSourceURL() ?? ''\n\t\t\tthis.object = call.getThis()\n\t\t\tthis.offset = call.getPosition()\n\t\t\t\n\t\t\tconst flags = []\n\t\t\tif( call.isAsync() ) flags.push( 'async' )\n\t\t\tif( call.isConstructor() ) flags.push( 'constructor' )\n\t\t\tif( call.isEval() ) flags.push( 'eval' )\n\t\t\tif( call.isNative() ) flags.push( 'native' )\n\t\t\tif( call.isPromiseAll() ) flags.push( 'PromiseAll' )\n\t\t\tif( call.isToplevel() ) flags.push( 'top' )\n\t\t\tthis.flags = flags\n\t\t\n\t\t\tconst type = this.type ? this.type + '.' : ''\n\t\t\tconst func = this.function || '<anon>'\n\t\t\tconst method = this.method ? ' [' + this.method + '] ' : ''\n\t\t\t\n\t\t\tthis[ Symbol.toStringTag ] = `${type}${func}${method}`\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\tconst object = this.object || ''\n\t\t\tconst label = this[ Symbol.toStringTag ]\n\t\t\tconst source = `${ this.source }:${ this.pos.join( ':' ) } #${ this.offset }`\n\t\t\treturn `\\tat ${object}${label} (${source})`\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( ' ' ),\n\t\t\t\t... this.object ? [\n\t\t\t\t\t$mol_dev_format_native( this.object ),\n\t\t\t\t] : [],\n\t\t\t\t... this.method ? [ $mol_dev_format_shade( ' ',\n\t\t\t\t\t' [',\n\t\t\t\t\tthis.method,\n\t\t\t\t\t']',\n\t\t\t\t) ] : [],\n\t\t\t\t$mol_dev_format_shade( ' ', this.flags.join( ', ' ) ),\n\t\t\t)\n\t\t}\n\n\t}\n\t\n\tError.prepareStackTrace ??= ( error: Error, stack: NodeJS.CallSite[] )=> new Stack( ... stack.map( call => new Call( call ) ) )\n\n}\n","namespace $ {\n\n\texport enum $mol_time_moment_weekdays {\n\t\tmonday,\n\t\ttuesday,\n\t\twednesday,\n\t\tthursday,\n\t\tfriday,\n\t\tsaturday,\n\t\tsunday\n\t}\n\t\n\texport type $mol_time_moment_config = number | Date | string | readonly( number | undefined )[] | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t\toffset? : $mol_time_duration_config\n\t}\n\t\n\tfunction numb( str: string, max: number ) {\n\t\tconst numb = Number( str )\n\t\tif( numb < max ) return numb\n\t\t$mol_fail( new Error( `Wrong time component ${ str }` ) )\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time moment representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_moment extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_moment_config = new Date ) {\n\t\t\t\n\t\t\tsuper()\n\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tconfig = new Date( config )\n\t\t\t\tif( Number.isNaN( config.valueOf() ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tconst parsed = /^(?:(\\d\\d?\\d?\\d?)(?:-?(\\d\\d?)(?:-?(\\d\\d?))?)?)?(?:[T ](?:(\\d\\d?)(?::?(\\d\\d?)(?::?(\\d\\d?(?:\\.\\d+)?))?)?)?(Z|[\\+\\-]\\d\\d?(?::?(?:\\d\\d?)?)?)?)?$/.exec( config )\n\t\t\t\tif( !parsed ) throw new Error( `Can not parse time moment (${ config })` )\n\n\t\t\t\tif( parsed[1] ) this.year = numb( parsed[1], 9999 )\n\t\t\t\tif( parsed[2] ) this.month = numb( parsed[2], 13 ) - 1\n\t\t\t\tif( parsed[3] ) this.day = numb( parsed[3], 32 ) - 1\n\t\t\t\tif( parsed[4] ) this.hour = numb( parsed[4], 60 )\n\t\t\t\tif( parsed[5] ) this.minute = numb( parsed[5], 60 )\n\t\t\t\tif( parsed[6] ) this.second = numb( parsed[6], 60 )\n\t\t\t\tif( parsed[7] ) this.offset = new $mol_time_duration( parsed[7] )\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Date ) {\n\t\t\t\t\n\t\t\t\tthis.year = config.getFullYear()\n\t\t\t\tthis.month = config.getMonth()\n\t\t\t\tthis.day = config.getDate() - 1\n\t\t\t\tthis.hour = config.getHours()\n\t\t\t\tthis.minute = config.getMinutes()\n\t\t\t\tthis.second = config.getSeconds() + config.getMilliseconds() / 1000\n\t\t\t\tthis.offset = new $mol_time_duration({ minute: - config.getTimezoneOffset() })\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Array ) {\n\t\t\t\t;[ this.year, this.month, this.day, this.hour, this.minute, this.second ] = config\n\t\t\t\tif( config[6] !== undefined ) this.offset = new $mol_time_duration( config[6] * 60_000 )\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tthis.year = config.year\n\t\t\tthis.month = config.month\n\t\t\tthis.day = config.day\n\t\t\tthis.hour = config.hour\n\t\t\tthis.minute = config.minute\n\t\t\tthis.second = config.second\n\t\t\t\n\t\t\tthis.offset = config.offset == null ? config.offset as undefined : new $mol_time_duration( config.offset ) \n\n\t\t}\n\n\t\treadonly year : number | undefined\n\t\treadonly month : number | undefined\n\t\treadonly day : number | undefined\n\t\treadonly hour : number | undefined\n\t\treadonly minute : number | undefined\n\t\treadonly second : number | undefined\n\t\treadonly offset : $mol_time_duration | undefined\n\n\t\tget weekday() {\n\t\t\treturn ( this.native.getDay() + 6 ) % 7\n\t\t}\n\n\t\t_native : Date | undefined\n\t\tget native() {\n\t\t\t\n\t\t\tif( this._native ) return this._native\n\t\t\t\n\t\t\tconst second = Math.floor( this.second ?? 0 )\n\t\t\t\n\t\t\tconst current = new Date()\n\t\t\t\n\t\t\tconst native = new Date(\n\t\t\t\tthis.year ?? current.getFullYear() ,\n\t\t\t\tthis.month ?? ( this.year === undefined ? current.getMonth() : 0 ),\n\t\t\t\t( this.day ?? ( this.year === undefined && this.month === undefined ? current.getDate() - 1 : 0 ) ) + 1 ,\n\t\t\t\tthis.hour ?? 0 ,\n\t\t\t\tthis.minute ?? 0 ,\n\t\t\t\tsecond,\n\t\t\t\tMath.floor( ( ( this.second ?? 0 ) - second ) * 1000 ),\n\t\t\t)\n\t\t\t\n\t\t\tconst offset = - native.getTimezoneOffset()\n\t\t\tshift: if( this.offset ) {\n\t\t\t\tconst target = this.offset.count( 'PT1m' )\n\t\t\t\tif( target === offset ) break shift\n\t\t\t\tnative.setMinutes( native.getMinutes() + offset - target )\n\t\t\t}\n\t\t\t\n\t\t\treturn this._native = native\n\t\t}\n\n\t\t_normal : $mol_time_moment | undefined\n\t\tget normal() {\n\t\t\tif( this._normal ) return this._normal\n\t\t\t\n\t\t\tconst moment = new $mol_time_moment( this.native ).toOffset( this.offset )\n\t\t\t\n\t\t\treturn this._normal = new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : moment.year ,\n\t\t\t\tmonth : this.month === undefined ? undefined : moment.month ,\n\t\t\t\tday : this.day === undefined ? undefined : moment.day ,\n\t\t\t\thour : this.hour === undefined ? undefined : moment.hour ,\n\t\t\t\tminute : this.minute === undefined ? undefined : moment.minute ,\n\t\t\t\tsecond : this.second === undefined ? undefined : moment.second ,\n\t\t\t\toffset : this.offset === undefined ? undefined : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tmerge( config : $mol_time_moment_config ) {\n\t\t\tconst moment = new $mol_time_moment( config )\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : moment.year === undefined ? this.year : moment.year ,\n\t\t\t\tmonth : moment.month === undefined ? this.month : moment.month ,\n\t\t\t\tday : moment.day === undefined ? this.day : moment.day ,\n\t\t\t\thour : moment.hour === undefined ? this.hour : moment.hour ,\n\t\t\t\tminute : moment.minute === undefined ? this.minute : moment.minute ,\n\t\t\t\tsecond : moment.second === undefined ? this.second : moment.second ,\n\t\t\t\toffset : moment.offset === undefined ? this.offset : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tshift( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst moment = new $mol_time_moment().merge({\n\t\t\t\tyear: this.year ?? 0,\n\t\t\t\tmonth: this.month ?? 0,\n\t\t\t\tday: this.day ?? 0,\n\t\t\t\thour: this.hour ?? 0,\n\t\t\t\tminute: this.minute ?? 0,\n\t\t\t\tsecond: this.second ?? 0,\n\t\t\t\toffset: this.offset ?? 0\n\t\t\t})\n\n\t\t\tconst second = moment.second! + ( duration.second ?? 0 )\n\t\t\tconst native = new Date(\n\t\t\t\tmoment.year! + ( duration.year ?? 0 ) ,\n\t\t\t\tmoment.month! + ( duration.month ?? 0 ) ,\n\t\t\t\tmoment.day! + 1 + ( duration.day ?? 0 ) ,\n\t\t\t\tmoment.hour! + ( duration.hour ?? 0 ) ,\n\t\t\t\tmoment.minute! + ( duration.minute ?? 0 ) ,\n\t\t\t\tMath.floor( second ) ,\n\t\t\t\t( second - Math.floor( second ) ) * 1000\n\t\t\t)\n\n\t\t\tif( isNaN( native.valueOf() ) ) throw new Error( 'Wrong time' )\n\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : native.getFullYear(),\n\t\t\t\tmonth : this.month === undefined ? undefined : native.getMonth(),\n\t\t\t\tday : this.day === undefined ? undefined : native.getDate() - 1,\n\t\t\t\thour : this.hour === undefined ? undefined : native.getHours(),\n\t\t\t\tminute : this.minute === undefined ? undefined : native.getMinutes(),\n\t\t\t\tsecond : this.second === undefined ? undefined : native.getSeconds() + native.getMilliseconds() / 1000,\n\t\t\t\toffset : this.offset,\n\t\t\t})\n\t\t}\n\n\t\tmask( config : $mol_time_moment_config ) {\n\n\t\t\tconst mask = new $mol_time_moment( config )\n\t\t\t\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : mask.year === undefined ? undefined : this.year ,\n\t\t\t\tmonth : mask.month === undefined ? undefined : this.month ,\n\t\t\t\tday : mask.day === undefined ? undefined : this.day ,\n\t\t\t\thour : mask.hour === undefined ? undefined : this.hour ,\n\t\t\t\tminute : mask.minute === undefined ? undefined : this.minute ,\n\t\t\t\tsecond : mask.second === undefined ? undefined : this.second ,\n\t\t\t\toffset : mask.offset === undefined ? undefined : this.offset ,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\ttoOffset( config: $mol_time_duration_config = new $mol_time_moment().offset! ) {\n\t\t\t\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst offset = this.offset || new $mol_time_moment().offset!\n\t\t\t\n\t\t\tlet with_time = new $mol_time_moment( '0001-01-01T00:00:00' ).merge( this ) \n\t\t \tconst moment = with_time.shift( duration.summ( offset.mult( -1 ) ) )\n\n\t\t\treturn moment.merge({ offset : duration })\n\t\t}\n\n\t\tvalueOf() { return this.native.getTime() }\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'YYYY-MM-DDThh:mm:ss.sssZ' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\t\t\n\t\ttoArray() {\n\t\t\treturn [ this.year, this.month, this.day, this.hour, this.minute, this.second, this.offset?.count( 'PT1m' ) ] as const\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_accent( this.toString( 'YYYY-MM-DD hh:mm:ss.sss Z' ) ),\n\t\t\t)\n\t\t}\n\n\t\t/// Mnemonics:\n\t\t/// * single letter for numbers: M - month number, D - day of month.\n\t\t/// * uppercase letters for dates, lowercase for times: M - month number , m - minutes number\n\t\t/// * repeated letters for define register count: YYYY - full year, YY - shot year, MM - padded month number\n\t\t/// * words for word representation: Month - month name, WeekDay - day of week name\n\t\t/// * shortcuts: WD - short day of week, Mon - short month name.\n\t\tstatic patterns = {\n\n\t\t\t'YYYY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year )\n\t\t\t} ,\n\t\t\t\n\t\t\t'AD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( Math.floor( moment.year / 100 ) + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'YY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year % 100 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'long' } ) ) ,\n\t\t\t\n\t\t\t'DD Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'short' } ) ) ,\n\t\t\t\n\t\t\t'DD Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'-MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'MM' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( 100 + moment.month + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'M' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( moment.month + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'WeekDay' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'long' } ) ) ,\n\n\t\t\t'WD' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'short' } ) ) ,\n\t\t\t\n\t\t\t'-DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( 100 + moment.day + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'D' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( moment.day + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Thh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn 'T' + $mol_time_moment.patterns[ 'hh' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tif( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t\t'Z' : ( moment : $mol_time_moment )=> {\n\t\t\t\t\n\t\t\t\tconst offset = moment.offset?.normal\n\t\t\t\tif( !offset ) return ''\n\t\t\t\t\n\t\t\t\tlet hour = offset.hour\n\n\t\t\t\tlet sign = '+'\n\t\t\t\tif( hour < 0 ) {\n\t\t\t\t\tsign = '-'\n\t\t\t\t\thour = -hour\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn sign + hour.toString().padStart( 2, '0' ) + ':' + offset.minute.toString().padStart( 2, '0' )\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_time_interval_config = string | {\n\t\tstart? : $mol_time_moment_config\n\t\tend? : $mol_time_moment_config\n\t\tduration? : $mol_time_duration_config\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time interval representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_interval extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_interval_config ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tvar chunks = config.split( '/' )\n\t\t\t\t\n\t\t\t\tif( chunks[0] ) {\n\t\t\t\t\tif( chunks[0][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[0] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._start = new $mol_time_moment( chunks[0] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._start = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( chunks[1] ) {\n\t\t\t\t\tif( chunks[1][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[1] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._end = new $mol_time_moment( chunks[1] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._end = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( config.start !== undefined ) this._start = new $mol_time_moment( config.start )\n\t\t\tif( config.end !== undefined ) this._end = new $mol_time_moment( config.end )\n\t\t\tif( config.duration !== undefined ) this._duration = new $mol_time_duration( config.duration )\n\t\t}\n\n\t\tprivate _start : $mol_time_moment | undefined\n\t\tget start() {\n\t\t\tif( this._start ) return this._start\n\t\t\t\n\t\t\treturn this._start = this._end!.shift( this._duration!.mult( -1 ) )\n\t\t}\n\n\t\tprivate _end : $mol_time_moment | undefined\n\t\tget end() {\n\t\t\tif( this._end ) return this._end\n\t\t\t\n\t\t\treturn this._end = this._start!.shift( this._duration! )\n\t\t}\n\n\t\tprivate _duration : $mol_time_duration | undefined\n\t\tget duration() {\n\t\t\tif( this._duration ) return this._duration\n\t\t\t\n\t\t\treturn this._duration = new $mol_time_duration( this._end!.valueOf() - this._start!.valueOf() )\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( ) {\n\t\t\treturn ( this._start || this._duration || '' ).toString() + '/' + ( this._end || this._duration || '' ).toString()\n\t\t}\n\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t}\n\n}\n"]}
1
+ {"version":3,"sources":["-","../../../../mam.ts","../../../../mol/time/base/base.ts","../../../../mol/time/duration/duration.ts","../../../../mol/fail/fail.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/dev/format/format.ts","../../../../mol/time/moment/moment.ts","../../../../mol/time/interval/interval.ts"],"names":[],"mappings":";;;AAAA;AACA;AACA;AACA;;ACHA,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;AAK3B,IAAU,CAAC,CAQV;AARD,WAAU,CAAC;AAQX,CAAC,EARS,CAAC,KAAD,CAAC,QAQV;AAED,MAAM,CAAC,OAAO,GAAG,CAAC,CAAA;;;ADflB;AACA;AACA;;;;;;;;;;;;;;;AEFA,IAAU,CAAC,CAsCV;AAtCD,WAAU,CAAC;IAEV,MAAa,cAAc;QAE1B,MAAM,CAAC,QAAQ,GAAG,EAA+C,CAAA;QAEjE,MAAM,CAAC,SAAS,CAAE,OAAgB;YAEjC,IAAI,IAAI,CAAC,QAAQ,CAAE,OAAO,CAAE;gBAAG,OAAO,IAAI,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAA;YAE9D,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE;iBACvC,IAAI,EAAE;iBACN,OAAO,EAAE;iBACT,GAAG,CAAE,CAAE,KAAc,EAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAE,mBAAmB,EAAG,MAAM,CAAE,CAAE,CAAA;YAC5E,IAAI,KAAK,GAAG,MAAM,CAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,GAAG,KAAK,EAAE,GAAG,CAAE,CAAA;YAEhE,IAAI,KAAK,GAAG,EAAkC,CAAA;YAE9C,OAAO,CAAC,OAAO,CAAE,KAAK,EAAE,CAAE,GAAY,EAAG,IAAa,EAAG,KAAc,EAAG,EAAE;gBAC3E,IAAI,IAAI;oBAAG,KAAK,CAAC,IAAI,CAAE,GAAG,EAAE,CAAC,IAAI,CAAE,CAAA;gBACnC,IAAI,KAAK;oBAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAE,CAAA;gBAChD,OAAO,GAAG,CAAA;YACX,CAAC,CAAE,CAAA;YAEH,OAAO,IAAI,CAAC,QAAQ,CAAE,OAAO,CAAE,GAAG,CAAE,GAAS,EAAE,EAAE;gBAChD,OAAO,KAAK,CAAC,MAAM,CAAE,CAAE,GAAG,EAAG,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAE,GAAG,CAAE,EAAG,EAAE,CAAE,CAAA;YAC/D,CAAC,CAAA;QAEF,CAAC;QAED,QAAQ,CAAE,OAAgB;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAoC,CAAA;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAE,OAAO,CAAE,CAAA;YAC3C,OAAO,SAAS,CAAE,IAAI,CAAE,CAAA;QACzB,CAAC;;IAhCW,gBAAc,iBAkC1B,CAAA;AAEF,CAAC,EAtCS,CAAC,KAAD,CAAC,QAsCV;;;;ACtCD,IAAU,CAAC,CAiQV;AAjQD,WAAU,CAAC;IAWV;;;;;OAKG;IACH,MAAa,kBAAmB,SAAQ,cAAc;QAErD,YAAa,SAAqC,CAAC;YAElD,KAAK,EAAE,CAAA;YAEP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,MAAM,CAAE;oBAAG,MAAM,IAAI,UAAU,CAAE,gBAAgB,CAAE,CAAA;gBACzE,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;gBAC3B,OAAM;YACP,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEjC,IAAI,MAAM,KAAK,GAAG,EAAG,CAAC;oBAErB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;oBACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;oBAEf,OAAM;gBACP,CAAC;gBAED,QAAQ,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,4KAA4K,CAAA;oBAE3L,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;oBACnC,IAAI,CAAC,KAAK;wBAAG,MAAM,QAAQ,CAAA;oBAE3B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC9B,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBACpD,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBACrD,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBACnD,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBACpD,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBACtD,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBAEtD,OAAM;gBACP,CAAC;gBAED,MAAM,EAAE,CAAC;oBACR,IAAI,MAAM,GAAG,4BAA4B,CAAA;oBAEzC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;oBACjC,IAAI,CAAC,KAAK;wBAAG,MAAM,MAAM,CAAA;oBAEzB,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBAC7C,IAAI,KAAK,CAAC,CAAC,CAAC;wBAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAE,CAAA;oBAE/C,OAAM;gBACP,CAAC;gBAED,MAAM,IAAI,KAAK,CAAE,gCAAiC,MAAO,GAAG,CAAE,CAAA;YAC/D,CAAC;YAED,IAAI,MAAM,YAAY,KAAK,EAAG,CAAC;gBAC9B,CAAC;gBAAA,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAE,GAAG,MAAM,CAAA;gBAClF,OAAM;YACP,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;YAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;YAC9B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;YAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;QAEjC,CAAC;QAEQ,IAAI,GAAW,CAAC,CAAA;QAChB,KAAK,GAAY,CAAC,CAAA;QAClB,GAAG,GAAY,CAAC,CAAA;QAChB,IAAI,GAAY,CAAC,CAAA;QACjB,MAAM,GAAY,CAAC,CAAA;QACnB,MAAM,GAAY,CAAC,CAAA;QAE5B,IAAI,MAAM;YAET,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;YAC7B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;YAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;YAEvB,MAAM,IAAI,IAAI,CAAC,KAAK,CAAE,MAAM,GAAG,EAAE,CAAE,CAAA;YACnC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAA;YAEpB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAE,MAAM,GAAG,EAAE,CAAE,CAAA;YACjC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAA;YAEpB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAE,IAAI,GAAG,EAAE,CAAE,CAAA;YAC9B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;YAEhB,OAAO,IAAI,kBAAkB,CAAC;gBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;aACd,CAAC,CAAA;QAEH,CAAC;QAED,IAAI,CAAE,MAAkC;YACvC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAE,CAAA;YAEjD,OAAO,IAAI,kBAAkB,CAAC;gBAC7B,IAAI,EAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;gBAChC,KAAK,EAAG,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;gBACnC,GAAG,EAAG,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;gBAC7B,IAAI,EAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;gBAChC,MAAM,EAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;gBACtC,MAAM,EAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;aACtC,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAE,IAAa;YAClB,OAAO,IAAI,kBAAkB,CAAC;gBAC7B,IAAI,EAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;gBACpC,KAAK,EAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;gBACvC,GAAG,EAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI;gBACjC,IAAI,EAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;gBACpC,MAAM,EAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;gBAC1C,MAAM,EAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;aAC1C,CAAC,CAAA;QACH,CAAC;QAED,KAAK,CAAE,MAAkC;YACxC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAE,CAAA;YACjD,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC3C,CAAC;QAED,OAAO;YACN,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;YACxD,IAAI,MAAM,GAAG,CAAE,CAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAC/E,OAAO,MAAM,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,MAAM,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC;QAEnC,QAAQ,CAAE,OAAO,GAAG,gBAAgB;YACnC,OAAO,KAAK,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAA;QACjC,CAAC;QAED,OAAO;YACN,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAW,CAAA;QAEzF,CAAC;QAED,CAAE,MAAM,CAAC,WAAW,CAAE,CAAE,IAAqC;YAC5D,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC5D,CAAC;QAED,MAAM,CAAC,QAAQ,GAAG;YAEjB,IAAI,EAAG,CAAE,QAA6B,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAC9B,OAAO,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAA;YAC3B,CAAC;YAED,IAAI,EAAG,CAAE,QAA6B,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAAG,OAAO,EAAE,CAAA;gBAC/B,OAAO,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAA;YAC5B,CAAC;YAED,IAAI,EAAG,CAAE,QAA6B,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,GAAG;oBAAG,OAAO,EAAE,CAAA;gBAC7B,OAAO,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAA;YAC1B,CAAC;YAED,IAAI,EAAG,CAAE,QAA6B,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAC9B,OAAO,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAA;YAC3B,CAAC;YAED,IAAI,EAAG,CAAE,QAA6B,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAG,OAAO,EAAE,CAAA;gBAChC,OAAO,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;YAC7B,CAAC;YAED,IAAI,EAAG,CAAE,QAA6B,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAG,OAAO,EAAE,CAAA;gBAChC,OAAO,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;YAC7B,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,IAAI,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,MAAM,CAAC,IAAI,CAAE,CAAA;YAC7B,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YAC/B,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClD,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YACnC,CAAC;YAED,MAAM,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACvC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,0DAA0D;gBAC1D,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAE,MAAM,CAAE,CAAA;YAC1D,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,MAAM,WAAW,GAAG,CAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,MAAM,CAAC,MAAM,CAAE,CAAE,CAAC,OAAO,CAAE,CAAC,CAAE,CAAA;gBAChF,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;SAED,CAAA;;IA5OW,oBAAkB,qBA8O9B,CAAA;AAEF,CAAC,EAjQS,CAAC,KAAD,CAAC,QAiQV;;;;ACjQD,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,SAAS,CAAE,KAAW;QACrC,MAAM,KAAK,CAAA;IACZ,CAAC;IAFe,WAAS,YAExB,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IAEV,SAAgB,gBAAgB,CAAE,KAAW;QAC5C,MAAM,KAAK,CAAA,CAAC,gFAAgF;IAC7F,CAAC;IAFe,kBAAgB,mBAE/B,CAAA;AAEF,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;;;;ACND,IAAU,CAAC,CA+QV;AA/QD,WAAU,CAAC;IAEV,2FAA2F;IAC1F,CAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;IAEvC,SAAgB,wBAAwB,CAAE,MAOzC;QACC,CAAS,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;IAChD,CAAC;IATe,0BAAwB,2BASvC,CAAA;IAEY,sBAAoB,GAAG,MAAM,CAAE,sBAAsB,CAAE,CAAA;IACvD,sBAAoB,GAAG,MAAM,CAAE,sBAAsB,CAAE,CAAA;IAEpE,SAAS,sBAAsB,CAAE,KAAU,EAAE,KAAe;QAC3D,OAAO,oBAAoB,CAAE;YAC5B,CAAE,EAAA,oBAAoB,CAAE;gBACvB,OAAO,EAAA,oBAAoB,CAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,KAAK,CAAE,CAAA;YAClE,CAAC;YACD,CAAE,EAAA,oBAAoB,CAAE;gBACvB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;gBAC/B,OAAO,EAAA,oBAAoB,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC;SACD,CAAE,CAAA;IACJ,CAAC;IAED,wBAAwB,CAAC;QAExB,MAAM,EAAG,CAAE,GAAS,EAAG,MAAM,GAAG,KAAK,EAAG,EAAE;YAEzC,IAAI,MAAM;gBAAG,OAAO,IAAI,CAAA;YAExB,IAAI,CAAC,GAAG;gBAAG,OAAO,IAAI,CAAA;YAEtB,IAAI,EAAA,oBAAoB,IAAI,GAAG,EAAG,CAAC;gBAClC,IAAI,CAAC;oBACJ,OAAO,GAAG,CAAE,EAAA,oBAAoB,CAAE,EAAE,CAAA;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,OAAO,EAAA,sBAAsB,CAAE,sBAAsB,CAAE,GAAG,CAAE,EAAE,IAAI,EAAE,sBAAsB,CAAE,KAAK,CAAE,EAAE,EAAE,CAAE,CAAA;gBAC1G,CAAC;YACF,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,UAAU,EAAG,CAAC;gBAChC,OAAO,sBAAsB,CAAE,GAAG,CAAE,CAAA;YACrC,CAAC;YAED,IAAI,GAAG,YAAY,KAAK,EAAG,CAAC;gBAE3B,OAAO,EAAA,oBAAoB,CAAE,EAAE,EAC9B,sBAAsB,CAAE,GAAG,CAAE,EAC7B,GAAG,EACH,sBAAsB,CAAE,OAAO,EAAE,GAAE,EAAE,CAAC,gBAAgB,CAAE,GAAG,CAAE,CAAE,CAC/D,CAAA;YAEF,CAAC;YAED,IAAI,GAAG,YAAY,OAAO,EAAG,CAAC;gBAC7B,OAAO,EAAA,qBAAqB,CAC3B,sBAAsB,CAAE,GAAG,CAAE,EAC7B,GAAG,EACH,GAAG,CAAE,MAAM,CAAC,WAAW,CAAE,IAAI,EAAE,CAC/B,CAAA;YACF,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,IAAI,GAAG,EAAG,CAAC;gBAChC,OAAO,sBAAsB,CAAE,GAAG,CAAE,CAAA;YACrC,CAAC;YAED,OAAO,IAAI,CAAA;QAEZ,CAAC;QAED,OAAO,EAAG,CAAE,GAAQ,EAAG,MAAM,GAAG,KAAK,EAAE,EAAE;YAExC,IAAI,MAAM;gBAAG,OAAO,KAAK,CAAA;YACzB,IAAI,CAAC,GAAG;gBAAG,OAAO,KAAK,CAAA;YAEvB,kCAAkC;YAClC,IAAI,GAAG,CAAE,EAAA,oBAAoB,CAAE;gBAAG,OAAO,IAAI,CAAA;YAE7C,OAAO,KAAK,CAAA;QACb,CAAC;QAED,IAAI,EAAI,CAAE,GAAQ,EAAG,MAAM,GAAG,KAAK,EAAE,EAAE;YAEtC,IAAI,MAAM;gBAAG,OAAO,IAAI,CAAA;YAExB,IAAI,CAAC,GAAG;gBAAG,OAAO,IAAI,CAAA;YAEtB,IAAI,EAAA,oBAAoB,IAAI,GAAG,EAAG,CAAC;gBAClC,IAAI,CAAC;oBACJ,OAAO,GAAG,CAAE,EAAA,oBAAoB,CAAE,EAAE,CAAA;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAG,CAAC;oBACjB,OAAO,EAAA,sBAAsB,CAAE,sBAAsB,CAAE,GAAG,CAAE,EAAE,IAAI,EAAE,sBAAsB,CAAE,KAAK,CAAE,EAAE,EAAE,CAAE,CAAA;gBAC1G,CAAC;YACF,CAAC;YAED,+BAA+B;YAC/B,wCAAwC;YACxC,IAAI;YAEJ,OAAO,IAAI,CAAA;QACZ,CAAC;KAED,CAAC,CAAA;IAEF,SAAgB,sBAAsB,CAAE,GAAS;QAEhD,IAAI,OAAO,GAAG,KAAK,WAAW;YAAG,OAAO,EAAA,qBAAqB,CAAE,WAAW,CAAE,CAAA;QAE5E,+EAA+E;QAE/E,OAAO;YACN,QAAQ;YACR;gBACC,MAAM,EAAG,GAAG;gBACZ,MAAM,EAAG,IAAI;aACb;SACD,CAAA;IAEF,CAAC;IAde,wBAAsB,yBAcrC,CAAA;IAED,SAAgB,oBAAoB,CAAE,GAAS;QAE9C,IAAI,GAAG,IAAI,IAAI;YAAG,OAAO,EAAA,qBAAqB,CAAE,MAAM,CAAE,GAAG,CAAE,CAAE,CAAA;QAE/D,OAAO;YACN,QAAQ;YACR;gBACC,MAAM,EAAG,GAAG;gBACZ,MAAM,EAAG,KAAK;aACd;SACD,CAAA;IAEF,CAAC;IAZe,sBAAoB,uBAYnC,CAAA;IAED,SAAgB,uBAAuB,CAAE,OAAgB,EAAG,KAAc,EAAG,GAAG,OAAe;QAE9F,MAAM,MAAM,GAAG,EAAc,CAAA;QAE7B,KAAK,IAAI,GAAG,IAAI,KAAK;YAAG,MAAM,CAAC,IAAI,CAAE,GAAI,GAAI,MAAQ,KAAa,CAAC,GAAG,CAAE,EAAE,CAAE,CAAA;QAE5E,OAAO;YACN,OAAO;YACP;gBACC,KAAK,EAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE;aAC5B;YACD,GAAI,OAAO;SACX,CAAA;IAEF,CAAC;IAde,yBAAuB,0BActC,CAAA;IAEU,sBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,MAAM,CAAE,CAAA;IACpE,qBAAmB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,KAAK,CAAE,CAAA;IAClE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAChE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAChE,uBAAqB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,OAAO,CAAE,CAAA;IACtE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAChE,oBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAE,IAAI,EAAG,IAAI,CAAE,CAAA;IAEhE,wBAAsB,GAAG,EAAA,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACrE,OAAO,EAAG,SAAS;KACnB,CAAE,CAAA;IAEQ,wBAAsB,GAAG,EAAA,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACrE,aAAa,EAAG,MAAM;KACtB,CAAE,CAAA;IAEQ,wBAAsB,GAAG,EAAA,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACrE,OAAO,EAAG,OAAO;KACjB,CAAE,CAAA;IAEQ,uBAAqB,GAAG,EAAA,oBAAoB,CAAC,IAAI,CAAE,IAAI,EAAG;QACpE,OAAO,EAAG,MAAM;KAChB,CAAE,CAAA;IAEQ,wBAAsB,GAAG,EAAA,mBAAmB,CAAC,IAAI,CAAE,IAAI,EAAG;QACpE,aAAa,EAAE,MAAM;KACrB,CAAE,CAAA;IAEH,MAAM,KAAM,SAAQ,KAAa;QAEhC,6BAA6B;QAC7B,0BAA0B;QAC1B,IAAI;QAEJ,QAAQ;YACP,OAAO,IAAI,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;QACzB,CAAC;KAED;IAED,MAAM,IAAK,SAAQ,MAAM;QAEf,IAAI,CAAQ;QACZ,QAAQ,CAAQ;QAChB,MAAM,CAAQ;QACd,IAAI,CAAQ;QACZ,MAAM,CAAQ;QACd,MAAM,CAAQ;QACd,GAAG,CAAoB;QACvB,MAAM,CAAS;QACf,KAAK,CAAmB;QACjC,CAAE,MAAM,CAAC,WAAW,CAAE,CAAS;QAE/B,YAAa,IAAqB;YACjC,KAAK,EAAE,CAAA;YAEP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;YACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAA;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ;gBAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YACpD,+BAA+B;YAC/B,IAAI,CAAC,GAAG,GAAG,CAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAE,CAAA;YACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAA;YACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAEhC,MAAM,KAAK,GAAG,EAAE,CAAA;YAChB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAAG,KAAK,CAAC,IAAI,CAAE,OAAO,CAAE,CAAA;YAC1C,IAAI,IAAI,CAAC,aAAa,EAAE;gBAAG,KAAK,CAAC,IAAI,CAAE,aAAa,CAAE,CAAA;YACtD,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAG,KAAK,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;YACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAAG,KAAK,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAA;YAC5C,IAAI,IAAI,CAAC,YAAY,EAAE;gBAAG,KAAK,CAAC,IAAI,CAAE,YAAY,CAAE,CAAA;YACpD,IAAI,IAAI,CAAC,UAAU,EAAE;gBAAG,KAAK,CAAC,IAAI,CAAE,KAAK,CAAE,CAAA;YAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAElB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAA;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAE3D,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,CAAA;QACvD,CAAC;QAED,CAAE,MAAM,CAAC,WAAW,CAAE;YACrB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;QAED,QAAQ;YACP,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA;YAChC,MAAM,KAAK,GAAG,IAAI,CAAE,MAAM,CAAC,WAAW,CAAE,CAAA;YACxC,MAAM,MAAM,GAAG,GAAI,IAAI,CAAC,MAAO,IAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAG,KAAM,IAAI,CAAC,MAAO,EAAE,CAAA;YAC7E,OAAO,QAAQ,MAAM,GAAG,KAAK,KAAK,MAAM,GAAG,CAAA;QAC5C,CAAC;QAED,CAAE,EAAA,oBAAoB,CAAE;YACvB,OAAO,EAAA,mBAAmB,CAAE,EAAE,EAC7B,sBAAsB,CAAE,IAAI,CAAE,EAC9B,EAAA,qBAAqB,CAAE,GAAG,CAAE,EAC5B,GAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjB,sBAAsB,CAAE,IAAI,CAAC,MAAM,CAAE;aACrC,CAAC,CAAC,CAAC,EAAE,EACN,GAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,EAAA,qBAAqB,CAAE,GAAG,EAC7C,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,GAAG,CACH,CAAE,CAAC,CAAC,CAAC,EAAE,EACR,EAAA,qBAAqB,CAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAE,CAAE,CACrD,CAAA;QACF,CAAC;KAED;IAED,KAAK,CAAC,iBAAiB,KAAK,CAAE,KAAY,EAAE,KAAwB,EAAE,EAAE,CAAC,IAAI,KAAK,CAAE,GAAI,KAAK,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAE,IAAI,CAAE,CAAE,CAAE,CAAA;AAEhI,CAAC,EA/QS,CAAC,KAAD,CAAC,QA+QV;;;;AC/QD,IAAU,CAAC,CA2dV;AA3dD,WAAU,CAAC;IAEV,IAAY,yBAQX;IARD,WAAY,yBAAyB;QACpC,6EAAM,CAAA;QACN,+EAAO,CAAA;QACP,mFAAS,CAAA;QACT,iFAAQ,CAAA;QACR,6EAAM,CAAA;QACN,iFAAQ,CAAA;QACR,6EAAM,CAAA;IACP,CAAC,EARW,yBAAyB,GAAzB,2BAAyB,KAAzB,2BAAyB,QAQpC;IAYD,SAAS,IAAI,CAAE,GAAW,EAAE,GAAW;QACtC,MAAM,IAAI,GAAG,MAAM,CAAE,GAAG,CAAE,CAAA;QAC1B,IAAI,IAAI,GAAG,GAAG;YAAG,OAAO,IAAI,CAAA;QAC5B,SAAS,CAAE,IAAI,KAAK,CAAE,wBAAyB,GAAI,EAAE,CAAE,CAAE,CAAA;IAC1D,CAAC;IAED;;;;;OAKG;IACH,MAAa,gBAAiB,SAAQ,cAAc;QAEnD,YAAa,SAAmC,IAAI,IAAI;YAEvD,KAAK,EAAE,CAAA;YAEP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBACjC,MAAM,GAAG,IAAI,IAAI,CAAE,MAAM,CAAE,CAAA;gBAC3B,IAAI,MAAM,CAAC,KAAK,CAAE,MAAM,CAAC,OAAO,EAAE,CAAE;oBAAG,MAAM,IAAI,UAAU,CAAE,gBAAgB,CAAE,CAAA;YAChF,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEjC,MAAM,MAAM,GAAG,8IAA8I,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;gBAC5K,IAAI,CAAC,MAAM;oBAAG,MAAM,IAAI,KAAK,CAAE,8BAA+B,MAAO,GAAG,CAAE,CAAA;gBAE1E,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAE,CAAA;gBACnD,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,GAAG,CAAC,CAAA;gBACtD,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,GAAG,GAAI,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,GAAG,CAAC,CAAA;gBACrD,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAA;gBACjD,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAA;gBACnD,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAA;gBACnD,IAAI,MAAM,CAAC,CAAC,CAAC;oBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAA;gBAEjE,OAAM;YACP,CAAC;YAED,IAAI,MAAM,YAAY,IAAI,EAAG,CAAC;gBAE7B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;gBAChC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC9B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC/B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;gBACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,IAAI,CAAA;gBACnE,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;gBAE9E,OAAM;YACP,CAAC;YAED,IAAI,MAAM,YAAY,KAAK,EAAG,CAAC;gBAC9B,CAAC;gBAAA,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAE,GAAG,MAAM,CAAA;gBAClF,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAE,CAAA;gBACxF,OAAM;YACP,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YACvB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACzB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;YACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAmB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;QAE3G,CAAC;QAEQ,IAAI,CAAqB;QACzB,KAAK,CAAqB;QAC1B,GAAG,CAAqB;QACxB,IAAI,CAAqB;QACzB,MAAM,CAAqB;QAC3B,MAAM,CAAqB;QAC3B,MAAM,CAAiC;QAEhD,IAAI,OAAO;YACV,OAAO,CAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,GAAG,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,CAAmB;QAC1B,IAAI,MAAM;YAET,IAAI,IAAI,CAAC,OAAO;gBAAG,OAAO,IAAI,CAAC,OAAO,CAAA;YAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAE,CAAA;YAE7C,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;YAE1B,MAAM,MAAM,GAAG,IAAI,IAAI,CACtB,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAClC,IAAI,CAAC,KAAK,IAAI,CAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,EAClE,CAAE,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE,GAAG,CAAC,EACvG,IAAI,CAAC,IAAI,IAAI,CAAC,EACd,IAAI,CAAC,MAAM,IAAI,CAAC,EAChB,MAAM,EACN,IAAI,CAAC,KAAK,CAAE,CAAE,CAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAE,GAAG,MAAM,CAAE,GAAG,IAAI,CAAE,CACtD,CAAA;YAED,MAAM,MAAM,GAAG,CAAE,MAAM,CAAC,iBAAiB,EAAE,CAAA;YAC3C,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,EAAG,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,MAAM,CAAE,CAAA;gBAC1C,IAAI,MAAM,KAAK,MAAM;oBAAG,MAAM,KAAK,CAAA;gBACnC,MAAM,CAAC,UAAU,CAAE,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,MAAM,CAAE,CAAA;YAC3D,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QAC7B,CAAC;QAED,OAAO,CAA+B;QACtC,IAAI,MAAM;YACT,IAAI,IAAI,CAAC,OAAO;gBAAG,OAAO,IAAI,CAAC,OAAO,CAAA;YAEtC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAE,IAAI,CAAC,MAAM,CAAE,CAAC,QAAQ,CAAE,IAAI,CAAC,MAAM,CAAE,CAAA;YAE1E,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC;gBAC1C,IAAI,EAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBACxD,KAAK,EAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;gBAC3D,GAAG,EAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;gBACrD,IAAI,EAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBACxD,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;gBAC9D,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;gBAC9D,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;aAC9D,CAAC,CAAA;QACH,CAAC;QAED,KAAK,CAAE,MAAgC;YACtC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAE,MAAM,CAAE,CAAA;YAC7C,OAAO,IAAI,gBAAgB,CAAC;gBAC3B,IAAI,EAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBAC1D,KAAK,EAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;gBAC9D,GAAG,EAAG,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;gBACtD,IAAI,EAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;gBAC1D,MAAM,EAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;gBAClE,MAAM,EAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;gBAClE,MAAM,EAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;aAClE,CAAC,CAAA;QACH,CAAC;QAED,KAAK,CAAE,MAAkC;YACxC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAE,CAAA;YACjD,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC,KAAK,CAAC;gBAC3C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;gBACtB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;aACxB,CAAC,CAAA;YAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,GAAG,CAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAE,CAAA;YACxD,MAAM,MAAM,GAAG,IAAI,IAAI,CACtB,MAAM,CAAC,IAAK,GAAG,CAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAE,EACrC,MAAM,CAAC,KAAM,GAAG,CAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAE,EACvC,MAAM,CAAC,GAAI,GAAG,CAAC,GAAG,CAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAE,EACvC,MAAM,CAAC,IAAK,GAAG,CAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAE,EACrC,MAAM,CAAC,MAAO,GAAG,CAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAE,EACzC,IAAI,CAAC,KAAK,CAAE,MAAM,CAAE,EACpB,CAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,MAAM,CAAE,CAAE,GAAG,IAAI,CACxC,CAAA;YAED,IAAI,KAAK,CAAE,MAAM,CAAC,OAAO,EAAE,CAAE;gBAAG,MAAM,IAAI,KAAK,CAAE,YAAY,CAAE,CAAA;YAE/D,OAAO,IAAI,gBAAgB,CAAC;gBAC3B,IAAI,EAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE;gBACjE,KAAK,EAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAChE,GAAG,EAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;gBAC/D,IAAI,EAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC9D,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;gBACpE,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,IAAI;gBACtG,MAAM,EAAG,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;QACH,CAAC;QAED,IAAI,CAAE,MAAgC;YAErC,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAE,MAAM,CAAE,CAAA;YAE3C,OAAO,IAAI,gBAAgB,CAAC;gBAC3B,IAAI,EAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;gBACtD,KAAK,EAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;gBACzD,GAAG,EAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBACnD,IAAI,EAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;gBACtD,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;gBAC5D,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;gBAC5D,MAAM,EAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;aAC5D,CAAC,CAAA;QAEH,CAAC;QAED,QAAQ,CAAE,SAAoC,IAAI,gBAAgB,EAAE,CAAC,MAAO;YAE3E,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAE,CAAA;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC,MAAO,CAAA;YAE5D,IAAI,SAAS,GAAG,IAAI,gBAAgB,CAAE,qBAAqB,CAAE,CAAC,KAAK,CAAE,IAAI,CAAE,CAAA;YAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAE,QAAQ,CAAC,IAAI,CAAE,MAAM,CAAC,IAAI,CAAE,CAAC,CAAC,CAAE,CAAE,CAAE,CAAA;YAErE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAG,QAAQ,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC;QAE1C,MAAM,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC;QAEnC,QAAQ,CAAE,OAAO,GAAG,0BAA0B;YAC7C,OAAO,KAAK,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAA;QACjC,CAAC;QAED,OAAO;YACN,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAE,MAAM,CAAE,CAAW,CAAA;QACvH,CAAC;QAED,CAAE,MAAM,CAAC,WAAW,CAAE,CAAE,IAAqC;YAC5D,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC5D,CAAC;QAED,CAAE,oBAAoB,CAAE;YACvB,OAAO,oBAAoB,CAAE,EAAE,EAC9B,sBAAsB,CAAE,IAAI,CAAE,EAC9B,GAAG,EACH,sBAAsB,CAAE,IAAI,CAAC,QAAQ,CAAE,2BAA2B,CAAE,CAAE,CACtE,CAAA;QACF,CAAC;QAED,cAAc;QACd,qEAAqE;QACrE,8FAA8F;QAC9F,6GAA6G;QAC7G,oFAAoF;QACpF,iEAAiE;QACjE,MAAM,CAAC,QAAQ,GAAG;YAEjB,MAAM,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACvC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,MAAM,CAAC,IAAI,CAAE,CAAA;YAC7B,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,IAAI,CAAC,KAAK,CAAE,MAAM,CAAC,IAAI,GAAG,GAAG,CAAE,GAAG,CAAC,CAAE,CAAA;YACrD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,MAAM,CAAC,IAAI,GAAG,GAAG,CAAE,CAAA;YACnC,CAAC;YAED,OAAO,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACrD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YACvC,CAAC,CAAE,CAAE,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,KAAK,EAAG,MAAM,EAAE,CAAE,CAAE;YAEhE,UAAU,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACxD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAG,CAAC;oBAC3B,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,EAAE,CAAA;oBACV,CAAC;yBAAM,CAAC;wBACP,OAAO,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;oBACnD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,gBAAgB,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAE,MAAM,CAAE,CAAA;oBACtD,CAAC;yBAAM,CAAC;wBACP,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;oBACvC,CAAC;gBACF,CAAC;YACF,CAAC,CAAE,CACF,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,GAAG,EAAG,SAAS,EAAG,KAAK,EAAG,MAAM,EAAE,CAAE,CAC3E;YAED,SAAS,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACvD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAG,CAAC;oBAC3B,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,EAAE,CAAA;oBACV,CAAC;yBAAM,CAAC;wBACP,OAAO,gBAAgB,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAE,MAAM,CAAE,CAAA;oBAClD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,gBAAgB,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAE,MAAM,CAAE,CAAA;oBACtD,CAAC;yBAAM,CAAC;wBACP,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;oBACvC,CAAC;gBACF,CAAC;YACF,CAAC,CAAE,CACF,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,GAAG,EAAG,SAAS,EAAG,KAAK,EAAG,MAAM,EAAE,CAAE,CAC3E;YAED,KAAK,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACnD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YACvC,CAAC,CAAE,CAAE,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,KAAK,EAAG,OAAO,EAAE,CAAE,CAAE;YAEjE,QAAQ,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACtD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAG,CAAC;oBAC3B,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,EAAE,CAAA;oBACV,CAAC;yBAAM,CAAC;wBACP,OAAO,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;oBACnD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,gBAAgB,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAE,MAAM,CAAE,CAAA;oBACpD,CAAC;yBAAM,CAAC;wBACP,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;oBACvC,CAAC;gBACF,CAAC;YACF,CAAC,CAAE,CACF,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,GAAG,EAAG,SAAS,EAAG,KAAK,EAAG,OAAO,EAAE,CAAE,CAC5E;YAED,OAAO,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACrD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAG,CAAC;oBAC3B,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,EAAE,CAAA;oBACV,CAAC;yBAAM,CAAC;wBACP,OAAO,gBAAgB,CAAC,QAAQ,CAAE,GAAG,CAAE,CAAE,MAAM,CAAE,CAAA;oBAClD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAG,CAAC;wBACzB,OAAO,gBAAgB,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAE,MAAM,CAAE,CAAA;oBACpD,CAAC;yBAAM,CAAC;wBACP,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;oBACvC,CAAC;gBACF,CAAC;YACF,CAAC,CAAE,CACF,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,GAAG,EAAG,SAAS,EAAG,KAAK,EAAG,OAAO,EAAE,CAAE,CAC5E;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,OAAO,MAAM,CAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;YAClC,CAAC;YAED,SAAS,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBACvD,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAClC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YACvC,CAAC,CAAE,CAAE,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,OAAO,EAAG,MAAM,EAAE,CAAE,CAAE;YAElE,IAAI,EAAG,CAAE,OAAO,CAAC,EAAE,CAAC,CAAE,MAAyB,EAAE,EAAE;gBAClD,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAClC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACpC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,OAAO,CAAC,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YACvC,CAAC,CAAE,CAAE,IAAI,IAAI,CAAC,cAAc,CAAE,SAAS,EAAG,EAAE,OAAO,EAAG,OAAO,EAAE,CAAE,CAAE;YAEnE,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAClC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAClC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/C,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBAClC,OAAO,MAAM,CAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAE,CAAA;YAChC,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,IAAI,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACnC,OAAO,MAAM,CAAE,MAAM,CAAC,IAAI,CAAE,CAAA;YAC7B,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,MAAM,CAAC,MAAM,CAAE,CAAA;YAC/B,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,IAAI,CAAE,CAAE,MAAM,CAAE,CAAA;YACzD,CAAC;YAED,IAAI,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACrC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAClD,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,OAAO,MAAM,CAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YACnC,CAAC;YAED,MAAM,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACvC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE;oBAAG,OAAO,EAAE,CAAA;gBACvD,OAAO,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAE,MAAM,CAAE,CAAA;YAC1D,CAAC;YAED,KAAK,EAAG,CAAE,MAAyB,EAAE,EAAE;gBACtC,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;oBAAG,OAAO,EAAE,CAAA;gBACrC,MAAM,WAAW,GAAG,CAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,MAAM,CAAC,MAAM,CAAE,CAAE,CAAC,OAAO,CAAE,CAAC,CAAE,CAAA;gBAChF,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC5B,CAAC;YAED,GAAG,EAAG,CAAE,MAAyB,EAAE,EAAE;gBAEpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAA;gBACpC,IAAI,CAAC,MAAM;oBAAG,OAAO,EAAE,CAAA;gBAEvB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;gBAEtB,IAAI,IAAI,GAAG,GAAG,CAAA;gBACd,IAAI,IAAI,GAAG,CAAC,EAAG,CAAC;oBACf,IAAI,GAAG,GAAG,CAAA;oBACV,IAAI,GAAG,CAAC,IAAI,CAAA;gBACb,CAAC;gBAED,OAAO,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,CAAC,EAAE,GAAG,CAAE,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,CAAC,EAAE,GAAG,CAAE,CAAA;YACrG,CAAC;SAED,CAAA;;IArbW,kBAAgB,mBAub5B,CAAA;AAEF,CAAC,EA3dS,CAAC,KAAD,CAAC,QA2dV;;;;AC3dD,IAAU,CAAC,CAqFV;AArFD,WAAU,CAAC;IAQV;;;;;OAKG;IACH,MAAa,kBAAmB,SAAQ,cAAc;QAErD,YAAa,MAAkC;YAE9C,KAAK,EAAE,CAAA;YAEP,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAG,CAAC;gBAEjC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAE,GAAG,CAAE,CAAA;gBAEhC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAG,CAAC;oBAChB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,EAAG,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAA;oBACrD,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAA;oBAChD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAA;gBACrC,CAAC;gBAED,IAAI,MAAM,CAAC,CAAC,CAAC,EAAG,CAAC;oBAChB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,EAAG,CAAC;wBACzC,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAA;oBACrD,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAA;oBAC9C,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAA;gBACnC,CAAC;gBAED,OAAM;YACP,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;gBAAG,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAE,MAAM,CAAC,KAAK,CAAE,CAAA;YACnF,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;gBAAG,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAE,MAAM,CAAC,GAAG,CAAE,CAAA;YAC7E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAG,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAE,MAAM,CAAC,QAAQ,CAAE,CAAA;QAC/F,CAAC;QAEO,MAAM,CAA+B;QAC7C,IAAI,KAAK;YACR,IAAI,IAAI,CAAC,MAAM;gBAAG,OAAO,IAAI,CAAC,MAAM,CAAA;YAEpC,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,CAAE,IAAI,CAAC,SAAU,CAAC,IAAI,CAAE,CAAC,CAAC,CAAE,CAAE,CAAA;QACpE,CAAC;QAEO,IAAI,CAA+B;QAC3C,IAAI,GAAG;YACN,IAAI,IAAI,CAAC,IAAI;gBAAG,OAAO,IAAI,CAAC,IAAI,CAAA;YAEhC,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAO,CAAC,KAAK,CAAE,IAAI,CAAC,SAAU,CAAE,CAAA;QACzD,CAAC;QAEO,SAAS,CAAiC;QAClD,IAAI,QAAQ;YACX,IAAI,IAAI,CAAC,SAAS;gBAAG,OAAO,IAAI,CAAC,SAAS,CAAA;YAE1C,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAE,IAAI,CAAC,IAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAO,CAAC,OAAO,EAAE,CAAE,CAAA;QAChG,CAAC;QAED,MAAM,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC;QAEnC,QAAQ;YACP,OAAO,CAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAE,CAAC,QAAQ,EAAE,CAAA;QACnH,CAAC;QAED,CAAE,MAAM,CAAC,WAAW,CAAE,CAAE,IAAqC;YAC5D,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC;KAED;IArEY,oBAAkB,qBAqE9B,CAAA;AAEF,CAAC,EArFS,CAAC,KAAD,CAAC,QAqFV;;","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\texport class $mol_time_base {\n\n\t\tstatic patterns = {} as Record< string , ( arg : any )=> string >\n\n\t\tstatic formatter( pattern : string ) {\n\n\t\t\tif( this.patterns[ pattern ] ) return this.patterns[ pattern ]\n\n\t\t\tvar tokens = Object.keys( this.patterns )\n\t\t\t\t.sort()\n\t\t\t\t.reverse()\n\t\t\t\t.map( ( token : string ) => token.replace( /([-+*.\\[\\]()\\^])/g , '\\\\$1' ) )\n\t\t\tvar lexer = RegExp( '(.*?)(' + tokens.join( '|' ) + '|$)', 'g' )\n\n\t\t\tvar funcs = [] as ( ( arg : any )=> string )[]\n\n\t\t\tpattern.replace( lexer, ( str : string , text : string , token : string ) => {\n\t\t\t\tif( text ) funcs.push( () => text )\n\t\t\t\tif( token ) funcs.push( this.patterns[ token ] )\n\t\t\t\treturn str\n\t\t\t} )\n\n\t\t\treturn this.patterns[ pattern ] = ( arg : any )=> {\n\t\t\t\treturn funcs.reduce( ( res , func )=> res + func( arg ) , '' )\n\t\t\t}\n\t\t\n\t\t}\n\n\t\ttoString( pattern : string ) : string {\n\t\t\tconst Base = this.constructor as typeof $mol_time_base\n\t\t\tconst formatter = Base.formatter( pattern )\n\t\t\treturn formatter( this )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_time_duration_config = number | string | readonly[ number, number, number, number, number, number ] | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time duration representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_duration extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_duration_config = 0 ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tif( !Number.isFinite( config ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t\tthis.second = config / 1000\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( config === 'Z' ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.hour = 0\n\t\t\t\t\tthis.minute = 0\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tduration: {\n\t\t\t\t\tconst parser = /^(-?)P(?:([+-]?\\d+(?:\\.\\d+)?)Y)?(?:([+-]?\\d+(?:\\.\\d+)?)M)?(?:([+-]?\\d+(?:\\.\\d+)?)D)?(?:T(?:([+-]?\\d+(?:\\.\\d+)?)h)?(?:([+-]?\\d+(?:\\.\\d+)?)m)?(?:([+-]?\\d+(?:\\.\\d+)?)s)?)?$/i\n\t\t\t\t\t\n\t\t\t\t\tconst found = parser.exec( config )\n\t\t\t\t\tif( !found ) break duration\n\t\t\t\t\t\t\n\t\t\t\t\tconst sign = found[1] ? -1 : 1\n\t\t\t\t\tif( found[2] ) this.year = sign * Number( found[2] )\n\t\t\t\t\tif( found[3] ) this.month = sign * Number( found[3] )\n\t\t\t\t\tif( found[4] ) this.day = sign * Number( found[4] )\n\t\t\t\t\tif( found[5] ) this.hour = sign * Number( found[5] )\n\t\t\t\t\tif( found[6] ) this.minute = sign * Number( found[6] )\n\t\t\t\t\tif( found[7] ) this.second = sign * Number( found[7] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toffset: {\n\t\t\t\t\tvar parser = /^[+-](\\d\\d)(?::?(\\d\\d))?$/i\n\t\t\t\t\t\n\t\t\t\t\tvar found = parser.exec( config )\n\t\t\t\t\tif( !found ) break offset\n\t\t\t\t\t\t\n\t\t\t\t\tif( found[1] ) this.hour = Number( found[1] )\n\t\t\t\t\tif( found[2] ) this.minute = Number( found[2] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthrow new Error( `Can not parse time duration (${ config })` )\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Array ) {\n\t\t\t\t;[ this.year, this.month, this.day, this.hour, this.minute, this.second ] = config\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tthis.year = config.year || 0\n\t\t\tthis.month = config.month || 0\n\t\t\tthis.day = config.day || 0\n\t\t\tthis.hour = config.hour || 0\n\t\t\tthis.minute = config.minute || 0\n\t\t\tthis.second = config.second || 0\n\t\t\t\n\t\t}\n\n\t\treadonly year : number= 0\n\t\treadonly month : number = 0\n\t\treadonly day : number = 0\n\t\treadonly hour : number = 0\n\t\treadonly minute : number = 0\n\t\treadonly second : number = 0\n\t\t\n\t\tget normal() {\n\t\t\t\n\t\t\tlet second = this.second ?? 0\n\t\t\tlet minute = this.minute ?? 0\n\t\t\tlet hour = this.hour ?? 0\n\t\t\tlet day = this.day ?? 0\n\t\t\t\n\t\t\tminute += Math.trunc( second / 60 )\n\t\t\tsecond = second % 60\n\t\t\t\n\t\t\thour += Math.trunc( minute / 60 )\n\t\t\tminute = minute % 60\n\t\t\t\n\t\t\tday += Math.trunc( hour / 24 )\n\t\t\thour = hour % 24\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear: this.year,\n\t\t\t\tmonth: this.month,\n\t\t\t\tday: day,\n\t\t\t\thour: hour,\n\t\t\t\tminute: minute,\n\t\t\t\tsecond: second,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\tsumm( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year + duration.year ,\n\t\t\t\tmonth : this.month + duration.month ,\n\t\t\t\tday : this.day + duration.day ,\n\t\t\t\thour : this.hour + duration.hour ,\n\t\t\t\tminute : this.minute + duration.minute ,\n\t\t\t\tsecond : this.second + duration.second ,\n\t\t\t})\n\t\t}\n\n\t\tmult( numb : number ) {\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year && this.year * numb ,\n\t\t\t\tmonth : this.month && this.month * numb ,\n\t\t\t\tday : this.day && this.day * numb ,\n\t\t\t\thour : this.hour && this.hour * numb ,\n\t\t\t\tminute : this.minute && this.minute * numb ,\n\t\t\t\tsecond : this.second && this.second * numb ,\n\t\t\t})\n\t\t}\n\n\t\tcount( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\treturn this.valueOf() / duration.valueOf()\n\t\t}\n\n\t\tvalueOf() {\n\t\t\tvar day = this.year * 365 + this.month * 30.4 + this.day\n\t\t\tvar second = ( ( day * 24 + this.hour ) * 60 + this.minute ) * 60 + this.second\n\t\t\treturn second * 1000\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'P#Y#M#DT#h#m#s' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\n\t\ttoArray() {\n\t\t\treturn [ this.year, this.month, this.day, this.hour, this.minute, this.second ] as const\n\t\t\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\tstatic patterns = {\n\n\t\t\t'#Y' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.year ) return ''\n\t\t\t\treturn duration.year + 'Y'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#M' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.month ) return ''\n\t\t\t\treturn duration.month + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#D' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.day ) return ''\n\t\t\t\treturn duration.day + 'D'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#h' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.hour ) return ''\n\t\t\t\treturn duration.hour + 'H'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#m' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.minute ) return ''\n\t\t\t\treturn duration.minute + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#s' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.second ) return ''\n\t\t\t\treturn duration.second + 'S'\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\t// if( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport const $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport const $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\t\n\tfunction $mol_dev_format_button( label: any, click: ()=> any ) {\n\t\treturn $mol_dev_format_auto( {\n\t\t\t[ $mol_dev_format_head ]() {\n\t\t\t\treturn $mol_dev_format_span( { color: 'cornflowerblue' }, label )\n\t\t\t},\n\t\t\t[ $mol_dev_format_body ]() {\n\t\t\t\tPromise.resolve().then( click )\n\t\t\t\treturn $mol_dev_format_span({})\n\t\t\t}\n\t\t} )\n\t}\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Error ) {\n\t\t\t\t\n\t\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\t$mol_dev_format_button( 'throw', ()=> $mol_fail_hidden( val ) ),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Promise ) {\n\t\t\t\treturn $mol_dev_format_shade(\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\tval[ Symbol.toStringTag ] ?? '',\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return false\n\t\t\tif( !val ) return false\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) true\n\t\t\tif( val[ $mol_dev_format_body ] ) return true\n\t\t\t\n\t\t\treturn false\n\t\t},\n\n\t\tbody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_body in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_body ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) {\n\t\t\t// \treturn $mol_dev_format_native( val )\n\t\t\t// }\n\t\t\t\n\t\t\treturn null\n\t\t},\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport let $mol_dev_format_span = $mol_dev_format_element.bind( null , 'span' )\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\t\n\tclass Stack extends Array< Call > {\n\t\t\n\t\t// [ Symbol.toPrimitive ]() {\n\t\t// \treturn this.toString()\n\t\t// }\n\t\t\n\t\ttoString() {\n\t\t\treturn this.join( '\\n' )\n\t\t}\n\t\t\n\t}\n\t\n\tclass Call extends Object {\n\t\t\n\t\treadonly type: string\n\t\treadonly function: string\n\t\treadonly method: string\n\t\treadonly eval: string\n\t\treadonly source: string\n\t\treadonly offset: number\n\t\treadonly pos: [ number, number ]\n\t\treadonly object: unknown\n\t\treadonly flags: readonly string[]\n\t\t[ Symbol.toStringTag ]!: string\n\t\t\n\t\tconstructor( call: NodeJS.CallSite ) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tthis.type = call.getTypeName() ?? ''\n\t\t\tthis.function = call.getFunctionName() ?? ''\n\t\t\tthis.method = call.getMethodName() ?? ''\n\t\t\tif( this.method === this.function ) this.method = ''\n\t\t\t// const func = c.getFunction()\n\t\t\tthis.pos = [ call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0 ]\n\t\t\tthis.eval = call.getEvalOrigin() ?? ''\n\t\t\tthis.source = call.getScriptNameOrSourceURL() ?? ''\n\t\t\tthis.object = call.getThis()\n\t\t\tthis.offset = call.getPosition()\n\t\t\t\n\t\t\tconst flags = []\n\t\t\tif( call.isAsync() ) flags.push( 'async' )\n\t\t\tif( call.isConstructor() ) flags.push( 'constructor' )\n\t\t\tif( call.isEval() ) flags.push( 'eval' )\n\t\t\tif( call.isNative() ) flags.push( 'native' )\n\t\t\tif( call.isPromiseAll() ) flags.push( 'PromiseAll' )\n\t\t\tif( call.isToplevel() ) flags.push( 'top' )\n\t\t\tthis.flags = flags\n\t\t\n\t\t\tconst type = this.type ? this.type + '.' : ''\n\t\t\tconst func = this.function || '<anon>'\n\t\t\tconst method = this.method ? ' [' + this.method + '] ' : ''\n\t\t\t\n\t\t\tthis[ Symbol.toStringTag ] = `${type}${func}${method}`\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\tconst object = this.object || ''\n\t\t\tconst label = this[ Symbol.toStringTag ]\n\t\t\tconst source = `${ this.source }:${ this.pos.join( ':' ) } #${ this.offset }`\n\t\t\treturn `\\tat ${object}${label} (${source})`\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( ' ' ),\n\t\t\t\t... this.object ? [\n\t\t\t\t\t$mol_dev_format_native( this.object ),\n\t\t\t\t] : [],\n\t\t\t\t... this.method ? [ $mol_dev_format_shade( ' ',\n\t\t\t\t\t' [',\n\t\t\t\t\tthis.method,\n\t\t\t\t\t']',\n\t\t\t\t) ] : [],\n\t\t\t\t$mol_dev_format_shade( ' ', this.flags.join( ', ' ) ),\n\t\t\t)\n\t\t}\n\n\t}\n\t\n\tError.prepareStackTrace ??= ( error: Error, stack: NodeJS.CallSite[] )=> new Stack( ... stack.map( call => new Call( call ) ) )\n\n}\n","namespace $ {\n\n\texport enum $mol_time_moment_weekdays {\n\t\tmonday,\n\t\ttuesday,\n\t\twednesday,\n\t\tthursday,\n\t\tfriday,\n\t\tsaturday,\n\t\tsunday\n\t}\n\t\n\texport type $mol_time_moment_config = number | Date | string | readonly( number | undefined )[] | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t\toffset? : $mol_time_duration_config\n\t}\n\t\n\tfunction numb( str: string, max: number ) {\n\t\tconst numb = Number( str )\n\t\tif( numb < max ) return numb\n\t\t$mol_fail( new Error( `Wrong time component ${ str }` ) )\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time moment representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_moment extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_moment_config = new Date ) {\n\t\t\t\n\t\t\tsuper()\n\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tconfig = new Date( config )\n\t\t\t\tif( Number.isNaN( config.valueOf() ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tconst parsed = /^(?:(\\d\\d?\\d?\\d?)(?:-?(\\d\\d?)(?:-?(\\d\\d?))?)?)?(?:[T ](?:(\\d\\d?)(?::?(\\d\\d?)(?::?(\\d\\d?(?:\\.\\d+)?))?)?)?(Z|[\\+\\-]\\d\\d?(?::?(?:\\d\\d?)?)?)?)?$/.exec( config )\n\t\t\t\tif( !parsed ) throw new Error( `Can not parse time moment (${ config })` )\n\n\t\t\t\tif( parsed[1] ) this.year = numb( parsed[1], 9999 )\n\t\t\t\tif( parsed[2] ) this.month = numb( parsed[2], 13 ) - 1\n\t\t\t\tif( parsed[3] ) this.day = numb( parsed[3], 32 ) - 1\n\t\t\t\tif( parsed[4] ) this.hour = numb( parsed[4], 60 )\n\t\t\t\tif( parsed[5] ) this.minute = numb( parsed[5], 60 )\n\t\t\t\tif( parsed[6] ) this.second = numb( parsed[6], 60 )\n\t\t\t\tif( parsed[7] ) this.offset = new $mol_time_duration( parsed[7] )\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Date ) {\n\t\t\t\t\n\t\t\t\tthis.year = config.getFullYear()\n\t\t\t\tthis.month = config.getMonth()\n\t\t\t\tthis.day = config.getDate() - 1\n\t\t\t\tthis.hour = config.getHours()\n\t\t\t\tthis.minute = config.getMinutes()\n\t\t\t\tthis.second = config.getSeconds() + config.getMilliseconds() / 1000\n\t\t\t\tthis.offset = new $mol_time_duration({ minute: - config.getTimezoneOffset() })\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Array ) {\n\t\t\t\t;[ this.year, this.month, this.day, this.hour, this.minute, this.second ] = config\n\t\t\t\tif( config[6] !== undefined ) this.offset = new $mol_time_duration( config[6] * 60_000 )\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tthis.year = config.year\n\t\t\tthis.month = config.month\n\t\t\tthis.day = config.day\n\t\t\tthis.hour = config.hour\n\t\t\tthis.minute = config.minute\n\t\t\tthis.second = config.second\n\t\t\t\n\t\t\tthis.offset = config.offset == null ? config.offset as undefined : new $mol_time_duration( config.offset ) \n\n\t\t}\n\n\t\treadonly year : number | undefined\n\t\treadonly month : number | undefined\n\t\treadonly day : number | undefined\n\t\treadonly hour : number | undefined\n\t\treadonly minute : number | undefined\n\t\treadonly second : number | undefined\n\t\treadonly offset : $mol_time_duration | undefined\n\n\t\tget weekday() {\n\t\t\treturn ( this.native.getDay() + 6 ) % 7\n\t\t}\n\n\t\t_native : Date | undefined\n\t\tget native() {\n\t\t\t\n\t\t\tif( this._native ) return this._native\n\t\t\t\n\t\t\tconst second = Math.floor( this.second ?? 0 )\n\t\t\t\n\t\t\tconst current = new Date()\n\t\t\t\n\t\t\tconst native = new Date(\n\t\t\t\tthis.year ?? current.getFullYear() ,\n\t\t\t\tthis.month ?? ( this.year === undefined ? current.getMonth() : 0 ),\n\t\t\t\t( this.day ?? ( this.year === undefined && this.month === undefined ? current.getDate() - 1 : 0 ) ) + 1 ,\n\t\t\t\tthis.hour ?? 0 ,\n\t\t\t\tthis.minute ?? 0 ,\n\t\t\t\tsecond,\n\t\t\t\tMath.floor( ( ( this.second ?? 0 ) - second ) * 1000 ),\n\t\t\t)\n\t\t\t\n\t\t\tconst offset = - native.getTimezoneOffset()\n\t\t\tshift: if( this.offset ) {\n\t\t\t\tconst target = this.offset.count( 'PT1m' )\n\t\t\t\tif( target === offset ) break shift\n\t\t\t\tnative.setMinutes( native.getMinutes() + offset - target )\n\t\t\t}\n\t\t\t\n\t\t\treturn this._native = native\n\t\t}\n\n\t\t_normal : $mol_time_moment | undefined\n\t\tget normal() {\n\t\t\tif( this._normal ) return this._normal\n\t\t\t\n\t\t\tconst moment = new $mol_time_moment( this.native ).toOffset( this.offset )\n\t\t\t\n\t\t\treturn this._normal = new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : moment.year ,\n\t\t\t\tmonth : this.month === undefined ? undefined : moment.month ,\n\t\t\t\tday : this.day === undefined ? undefined : moment.day ,\n\t\t\t\thour : this.hour === undefined ? undefined : moment.hour ,\n\t\t\t\tminute : this.minute === undefined ? undefined : moment.minute ,\n\t\t\t\tsecond : this.second === undefined ? undefined : moment.second ,\n\t\t\t\toffset : this.offset === undefined ? undefined : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tmerge( config : $mol_time_moment_config ) {\n\t\t\tconst moment = new $mol_time_moment( config )\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : moment.year === undefined ? this.year : moment.year ,\n\t\t\t\tmonth : moment.month === undefined ? this.month : moment.month ,\n\t\t\t\tday : moment.day === undefined ? this.day : moment.day ,\n\t\t\t\thour : moment.hour === undefined ? this.hour : moment.hour ,\n\t\t\t\tminute : moment.minute === undefined ? this.minute : moment.minute ,\n\t\t\t\tsecond : moment.second === undefined ? this.second : moment.second ,\n\t\t\t\toffset : moment.offset === undefined ? this.offset : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tshift( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst moment = new $mol_time_moment().merge({\n\t\t\t\tyear: this.year ?? 0,\n\t\t\t\tmonth: this.month ?? 0,\n\t\t\t\tday: this.day ?? 0,\n\t\t\t\thour: this.hour ?? 0,\n\t\t\t\tminute: this.minute ?? 0,\n\t\t\t\tsecond: this.second ?? 0,\n\t\t\t\toffset: this.offset ?? 0\n\t\t\t})\n\n\t\t\tconst second = moment.second! + ( duration.second ?? 0 )\n\t\t\tconst native = new Date(\n\t\t\t\tmoment.year! + ( duration.year ?? 0 ) ,\n\t\t\t\tmoment.month! + ( duration.month ?? 0 ) ,\n\t\t\t\tmoment.day! + 1 + ( duration.day ?? 0 ) ,\n\t\t\t\tmoment.hour! + ( duration.hour ?? 0 ) ,\n\t\t\t\tmoment.minute! + ( duration.minute ?? 0 ) ,\n\t\t\t\tMath.floor( second ) ,\n\t\t\t\t( second - Math.floor( second ) ) * 1000\n\t\t\t)\n\n\t\t\tif( isNaN( native.valueOf() ) ) throw new Error( 'Wrong time' )\n\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : native.getFullYear(),\n\t\t\t\tmonth : this.month === undefined ? undefined : native.getMonth(),\n\t\t\t\tday : this.day === undefined ? undefined : native.getDate() - 1,\n\t\t\t\thour : this.hour === undefined ? undefined : native.getHours(),\n\t\t\t\tminute : this.minute === undefined ? undefined : native.getMinutes(),\n\t\t\t\tsecond : this.second === undefined ? undefined : native.getSeconds() + native.getMilliseconds() / 1000,\n\t\t\t\toffset : this.offset,\n\t\t\t})\n\t\t}\n\n\t\tmask( config : $mol_time_moment_config ) {\n\n\t\t\tconst mask = new $mol_time_moment( config )\n\t\t\t\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : mask.year === undefined ? undefined : this.year ,\n\t\t\t\tmonth : mask.month === undefined ? undefined : this.month ,\n\t\t\t\tday : mask.day === undefined ? undefined : this.day ,\n\t\t\t\thour : mask.hour === undefined ? undefined : this.hour ,\n\t\t\t\tminute : mask.minute === undefined ? undefined : this.minute ,\n\t\t\t\tsecond : mask.second === undefined ? undefined : this.second ,\n\t\t\t\toffset : mask.offset === undefined ? undefined : this.offset ,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\ttoOffset( config: $mol_time_duration_config = new $mol_time_moment().offset! ) {\n\t\t\t\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst offset = this.offset || new $mol_time_moment().offset!\n\t\t\t\n\t\t\tlet with_time = new $mol_time_moment( '0001-01-01T00:00:00' ).merge( this ) \n\t\t \tconst moment = with_time.shift( duration.summ( offset.mult( -1 ) ) )\n\n\t\t\treturn moment.merge({ offset : duration })\n\t\t}\n\n\t\tvalueOf() { return this.native.getTime() }\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'YYYY-MM-DDThh:mm:ss.sssZ' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\t\t\n\t\ttoArray() {\n\t\t\treturn [ this.year, this.month, this.day, this.hour, this.minute, this.second, this.offset?.count( 'PT1m' ) ] as const\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_accent( this.toString( 'YYYY-MM-DD hh:mm:ss.sss Z' ) ),\n\t\t\t)\n\t\t}\n\n\t\t/// Mnemonics:\n\t\t/// * single letter for numbers: M - month number, D - day of month.\n\t\t/// * uppercase letters for dates, lowercase for times: M - month number , m - minutes number\n\t\t/// * repeated letters for define register count: YYYY - full year, YY - shot year, MM - padded month number\n\t\t/// * words for word representation: Month - month name, WeekDay - day of week name\n\t\t/// * shortcuts: WD - short day of week, Mon - short month name.\n\t\tstatic patterns = {\n\n\t\t\t'YYYY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year )\n\t\t\t} ,\n\t\t\t\n\t\t\t'AD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( Math.floor( moment.year / 100 ) + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'YY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year % 100 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'long' } ) ) ,\n\t\t\t\n\t\t\t'DD Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'short' } ) ) ,\n\t\t\t\n\t\t\t'DD Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'-MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'MM' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( 100 + moment.month + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'M' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( moment.month + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'WeekDay' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'long' } ) ) ,\n\n\t\t\t'WD' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'short' } ) ) ,\n\t\t\t\n\t\t\t'-DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( 100 + moment.day + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'D' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( moment.day + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Thh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn 'T' + $mol_time_moment.patterns[ 'hh' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tif( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t\t'Z' : ( moment : $mol_time_moment )=> {\n\t\t\t\t\n\t\t\t\tconst offset = moment.offset?.normal\n\t\t\t\tif( !offset ) return ''\n\t\t\t\t\n\t\t\t\tlet hour = offset.hour\n\n\t\t\t\tlet sign = '+'\n\t\t\t\tif( hour < 0 ) {\n\t\t\t\t\tsign = '-'\n\t\t\t\t\thour = -hour\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn sign + hour.toString().padStart( 2, '0' ) + ':' + offset.minute.toString().padStart( 2, '0' )\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_time_interval_config = string | {\n\t\tstart? : $mol_time_moment_config\n\t\tend? : $mol_time_moment_config\n\t\tduration? : $mol_time_duration_config\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time interval representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_interval extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_interval_config ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tvar chunks = config.split( '/' )\n\t\t\t\t\n\t\t\t\tif( chunks[0] ) {\n\t\t\t\t\tif( chunks[0][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[0] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._start = new $mol_time_moment( chunks[0] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._start = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( chunks[1] ) {\n\t\t\t\t\tif( chunks[1][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[1] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._end = new $mol_time_moment( chunks[1] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._end = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( config.start !== undefined ) this._start = new $mol_time_moment( config.start )\n\t\t\tif( config.end !== undefined ) this._end = new $mol_time_moment( config.end )\n\t\t\tif( config.duration !== undefined ) this._duration = new $mol_time_duration( config.duration )\n\t\t}\n\n\t\tprivate _start : $mol_time_moment | undefined\n\t\tget start() {\n\t\t\tif( this._start ) return this._start\n\t\t\t\n\t\t\treturn this._start = this._end!.shift( this._duration!.mult( -1 ) )\n\t\t}\n\n\t\tprivate _end : $mol_time_moment | undefined\n\t\tget end() {\n\t\t\tif( this._end ) return this._end\n\t\t\t\n\t\t\treturn this._end = this._start!.shift( this._duration! )\n\t\t}\n\n\t\tprivate _duration : $mol_time_duration | undefined\n\t\tget duration() {\n\t\t\tif( this._duration ) return this._duration\n\t\t\t\n\t\t\treturn this._duration = new $mol_time_duration( this._end!.valueOf() - this._start!.valueOf() )\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( ) {\n\t\t\treturn ( this._start || this._duration || '' ).toString() + '/' + ( this._end || this._duration || '' ).toString()\n\t\t}\n\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t}\n\n}\n"]}