@myxtra/authentication-green 1.1.2 → 1.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,8 +8,8 @@ var eo = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : t
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */
11
- var yr = Symbol.for("react.element"), Fd = Symbol.for("react.portal"), Hd = Symbol.for("react.fragment"), Md = Symbol.for("react.strict_mode"), zd = Symbol.for("react.profiler"), xd = Symbol.for("react.provider"), Dd = Symbol.for("react.context"), Td = Symbol.for("react.forward_ref"), Jd = Symbol.for("react.suspense"), Qd = Symbol.for("react.memo"), Ed = Symbol.for("react.lazy"), Xa = Symbol.iterator;
12
- function Ud(e) {
11
+ var yr = Symbol.for("react.element"), Hd = Symbol.for("react.portal"), Md = Symbol.for("react.fragment"), zd = Symbol.for("react.strict_mode"), xd = Symbol.for("react.profiler"), Dd = Symbol.for("react.provider"), Td = Symbol.for("react.context"), Jd = Symbol.for("react.forward_ref"), Qd = Symbol.for("react.suspense"), Ed = Symbol.for("react.memo"), Ud = Symbol.for("react.lazy"), Xa = Symbol.iterator;
12
+ function Pd(e) {
13
13
  return e === null || typeof e != "object" ? null : (e = Xa && e[Xa] || e["@@iterator"], typeof e == "function" ? e : null);
14
14
  }
15
15
  var ps = { isMounted: function() {
@@ -40,12 +40,12 @@ var Yl = Gl.prototype = new Cs();
40
40
  Yl.constructor = Gl;
41
41
  ms(Yl, An.prototype);
42
42
  Yl.isPureReactComponent = !0;
43
- var Ga = Array.isArray, vs = Object.prototype.hasOwnProperty, Al = { current: null }, Is = { key: !0, ref: !0, __self: !0, __source: !0 };
43
+ var Ga = Array.isArray, Is = Object.prototype.hasOwnProperty, Al = { current: null }, vs = { key: !0, ref: !0, __self: !0, __source: !0 };
44
44
  function ys(e, t, n) {
45
45
  var r, i = {}, o = null, l = null;
46
46
  if (t != null)
47
47
  for (r in t.ref !== void 0 && (l = t.ref), t.key !== void 0 && (o = "" + t.key), t)
48
- vs.call(t, r) && !Is.hasOwnProperty(r) && (i[r] = t[r]);
48
+ Is.call(t, r) && !vs.hasOwnProperty(r) && (i[r] = t[r]);
49
49
  var a = arguments.length - 2;
50
50
  if (a === 1)
51
51
  i.children = n;
@@ -59,13 +59,13 @@ function ys(e, t, n) {
59
59
  i[r] === void 0 && (i[r] = a[r]);
60
60
  return { $$typeof: yr, type: e, key: o, ref: l, props: i, _owner: Al.current };
61
61
  }
62
- function Pd(e, t) {
62
+ function _d(e, t) {
63
63
  return { $$typeof: yr, type: e.type, key: t, ref: e.ref, props: e.props, _owner: e._owner };
64
64
  }
65
65
  function Nl(e) {
66
66
  return typeof e == "object" && e !== null && e.$$typeof === yr;
67
67
  }
68
- function _d(e) {
68
+ function $d(e) {
69
69
  var t = { "=": "=0", ":": "=2" };
70
70
  return "$" + e.replace(/[=:]/g, function(n) {
71
71
  return t[n];
@@ -73,7 +73,7 @@ function _d(e) {
73
73
  }
74
74
  var Ya = /\/+/g;
75
75
  function to(e, t) {
76
- return typeof e == "object" && e !== null && e.key != null ? _d("" + e.key) : t.toString(36);
76
+ return typeof e == "object" && e !== null && e.key != null ? $d("" + e.key) : t.toString(36);
77
77
  }
78
78
  function Jr(e, t, n, r, i) {
79
79
  var o = typeof e;
@@ -90,21 +90,21 @@ function Jr(e, t, n, r, i) {
90
90
  case "object":
91
91
  switch (e.$$typeof) {
92
92
  case yr:
93
- case Fd:
93
+ case Hd:
94
94
  l = !0;
95
95
  }
96
96
  }
97
97
  if (l)
98
98
  return l = e, i = i(l), e = r === "" ? "." + to(l, 0) : r, Ga(i) ? (n = "", e != null && (n = e.replace(Ya, "$&/") + "/"), Jr(i, t, n, "", function(c) {
99
99
  return c;
100
- })) : i != null && (Nl(i) && (i = Pd(i, n + (!i.key || l && l.key === i.key ? "" : ("" + i.key).replace(Ya, "$&/") + "/") + e)), t.push(i)), 1;
100
+ })) : i != null && (Nl(i) && (i = _d(i, n + (!i.key || l && l.key === i.key ? "" : ("" + i.key).replace(Ya, "$&/") + "/") + e)), t.push(i)), 1;
101
101
  if (l = 0, r = r === "" ? "." : r + ":", Ga(e))
102
102
  for (var a = 0; a < e.length; a++) {
103
103
  o = e[a];
104
104
  var u = r + to(o, a);
105
105
  l += Jr(o, t, n, u, i);
106
106
  }
107
- else if (u = Ud(e), typeof u == "function")
107
+ else if (u = Pd(e), typeof u == "function")
108
108
  for (e = u.call(e), a = 0; !(o = e.next()).done; )
109
109
  o = o.value, u = r + to(o, a++), l += Jr(o, t, n, u, i);
110
110
  else if (o === "object")
@@ -119,7 +119,7 @@ function Gr(e, t, n) {
119
119
  return t.call(n, o, i++);
120
120
  }), r;
121
121
  }
122
- function $d(e) {
122
+ function qd(e) {
123
123
  if (e._status === -1) {
124
124
  var t = e._result;
125
125
  t = t(), t.then(function(n) {
@@ -132,7 +132,7 @@ function $d(e) {
132
132
  return e._result.default;
133
133
  throw e._result;
134
134
  }
135
- var de = { current: null }, Qr = { transition: null }, qd = { ReactCurrentDispatcher: de, ReactCurrentBatchConfig: Qr, ReactCurrentOwner: Al };
135
+ var de = { current: null }, Qr = { transition: null }, eg = { ReactCurrentDispatcher: de, ReactCurrentBatchConfig: Qr, ReactCurrentOwner: Al };
136
136
  B.Children = { map: Gr, forEach: function(e, t, n) {
137
137
  Gr(e, function() {
138
138
  t.apply(this, arguments);
@@ -152,12 +152,12 @@ B.Children = { map: Gr, forEach: function(e, t, n) {
152
152
  return e;
153
153
  } };
154
154
  B.Component = An;
155
- B.Fragment = Hd;
156
- B.Profiler = zd;
155
+ B.Fragment = Md;
156
+ B.Profiler = xd;
157
157
  B.PureComponent = Gl;
158
- B.StrictMode = Md;
159
- B.Suspense = Jd;
160
- B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = qd;
158
+ B.StrictMode = zd;
159
+ B.Suspense = Qd;
160
+ B.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = eg;
161
161
  B.cloneElement = function(e, t, n) {
162
162
  if (e == null)
163
163
  throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + e + ".");
@@ -166,7 +166,7 @@ B.cloneElement = function(e, t, n) {
166
166
  if (t.ref !== void 0 && (o = t.ref, l = Al.current), t.key !== void 0 && (i = "" + t.key), e.type && e.type.defaultProps)
167
167
  var a = e.type.defaultProps;
168
168
  for (u in t)
169
- vs.call(t, u) && !Is.hasOwnProperty(u) && (r[u] = t[u] === void 0 && a !== void 0 ? a[u] : t[u]);
169
+ Is.call(t, u) && !vs.hasOwnProperty(u) && (r[u] = t[u] === void 0 && a !== void 0 ? a[u] : t[u]);
170
170
  }
171
171
  var u = arguments.length - 2;
172
172
  if (u === 1)
@@ -180,7 +180,7 @@ B.cloneElement = function(e, t, n) {
180
180
  return { $$typeof: yr, type: e.type, key: i, ref: o, props: r, _owner: l };
181
181
  };
182
182
  B.createContext = function(e) {
183
- return e = { $$typeof: Dd, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: xd, _context: e }, e.Consumer = e;
183
+ return e = { $$typeof: Td, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: Dd, _context: e }, e.Consumer = e;
184
184
  };
185
185
  B.createElement = ys;
186
186
  B.createFactory = function(e) {
@@ -191,14 +191,14 @@ B.createRef = function() {
191
191
  return { current: null };
192
192
  };
193
193
  B.forwardRef = function(e) {
194
- return { $$typeof: Td, render: e };
194
+ return { $$typeof: Jd, render: e };
195
195
  };
196
196
  B.isValidElement = Nl;
197
197
  B.lazy = function(e) {
198
- return { $$typeof: Ed, _payload: { _status: -1, _result: e }, _init: $d };
198
+ return { $$typeof: Ud, _payload: { _status: -1, _result: e }, _init: qd };
199
199
  };
200
200
  B.memo = function(e, t) {
201
- return { $$typeof: Qd, type: e, compare: t === void 0 ? null : t };
201
+ return { $$typeof: Ed, type: e, compare: t === void 0 ? null : t };
202
202
  };
203
203
  B.startTransition = function(e) {
204
204
  var t = Qr.transition;
@@ -268,18 +268,18 @@ var Q = fs.exports;
268
268
  * This source code is licensed under the MIT license found in the
269
269
  * LICENSE file in the root directory of this source tree.
270
270
  */
271
- var eg = Q, tg = Symbol.for("react.element"), ng = Symbol.for("react.fragment"), rg = Object.prototype.hasOwnProperty, ig = eg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, og = { key: !0, ref: !0, __self: !0, __source: !0 };
271
+ var tg = Q, ng = Symbol.for("react.element"), rg = Symbol.for("react.fragment"), ig = Object.prototype.hasOwnProperty, og = tg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, lg = { key: !0, ref: !0, __self: !0, __source: !0 };
272
272
  function bs(e, t, n) {
273
273
  var r, i = {}, o = null, l = null;
274
274
  n !== void 0 && (o = "" + n), t.key !== void 0 && (o = "" + t.key), t.ref !== void 0 && (l = t.ref);
275
275
  for (r in t)
276
- rg.call(t, r) && !og.hasOwnProperty(r) && (i[r] = t[r]);
276
+ ig.call(t, r) && !lg.hasOwnProperty(r) && (i[r] = t[r]);
277
277
  if (e && e.defaultProps)
278
278
  for (r in t = e.defaultProps, t)
279
279
  i[r] === void 0 && (i[r] = t[r]);
280
- return { $$typeof: tg, type: e, key: o, ref: l, props: i, _owner: ig.current };
280
+ return { $$typeof: ng, type: e, key: o, ref: l, props: i, _owner: og.current };
281
281
  }
282
- Oi.Fragment = ng;
282
+ Oi.Fragment = rg;
283
283
  Oi.jsx = bs;
284
284
  Oi.jsxs = bs;
285
285
  gs.exports = Oi;
@@ -292,7 +292,7 @@ function we(e) {
292
292
  return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
293
293
  }, we(e);
294
294
  }
295
- function lg(e, t) {
295
+ function ag(e, t) {
296
296
  if (we(e) !== "object" || e === null)
297
297
  return e;
298
298
  var n = e[Symbol.toPrimitive];
@@ -305,7 +305,7 @@ function lg(e, t) {
305
305
  return (t === "string" ? String : Number)(e);
306
306
  }
307
307
  function ws(e) {
308
- var t = lg(e, "string");
308
+ var t = ag(e, "string");
309
309
  return we(t) === "symbol" ? t : String(t);
310
310
  }
311
311
  function $e(e, t, n) {
@@ -316,7 +316,7 @@ function $e(e, t, n) {
316
316
  writable: !0
317
317
  }) : e[t] = n, e;
318
318
  }
319
- function ag() {
319
+ function ug() {
320
320
  if (console && console.warn) {
321
321
  for (var e, t = arguments.length, n = new Array(t), r = 0; r < t; r++)
322
322
  n[r] = arguments[r];
@@ -327,7 +327,7 @@ var Aa = {};
327
327
  function No() {
328
328
  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
329
329
  t[n] = arguments[n];
330
- typeof t[0] == "string" && Aa[t[0]] || (typeof t[0] == "string" && (Aa[t[0]] = /* @__PURE__ */ new Date()), ag.apply(void 0, t));
330
+ typeof t[0] == "string" && Aa[t[0]] || (typeof t[0] == "string" && (Aa[t[0]] = /* @__PURE__ */ new Date()), ug.apply(void 0, t));
331
331
  }
332
332
  var Zs = function(t, n) {
333
333
  return function() {
@@ -351,7 +351,7 @@ function ka(e, t, n, r) {
351
351
  e.options.ns.indexOf(i) < 0 && e.options.ns.push(i);
352
352
  }), e.loadLanguages(t, Zs(e, r));
353
353
  }
354
- function ug(e, t) {
354
+ function sg(e, t) {
355
355
  var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = t.languages[0], i = t.options ? t.options.fallbackLng : !1, o = t.languages[t.languages.length - 1];
356
356
  if (r.toLowerCase() === "cimode")
357
357
  return !0;
@@ -361,7 +361,7 @@ function ug(e, t) {
361
361
  };
362
362
  return n.bindI18n && n.bindI18n.indexOf("languageChanging") > -1 && t.services.backendConnector.backend && t.isLanguageChangingTo && !l(t.isLanguageChangingTo, e) ? !1 : !!(t.hasResourceBundle(r, e) || !t.services.backendConnector.backend || t.options.resources && !t.options.partialBundledLanguages || l(r, e) && (!i || l(o, e)));
363
363
  }
364
- function sg(e, t) {
364
+ function cg(e, t) {
365
365
  var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
366
366
  if (!t.languages || !t.languages.length)
367
367
  return No("i18n.languages were undefined or empty", t.languages), !0;
@@ -372,9 +372,9 @@ function sg(e, t) {
372
372
  if (n.bindI18n && n.bindI18n.indexOf("languageChanging") > -1 && o.services.backendConnector.backend && o.isLanguageChangingTo && !l(o.isLanguageChangingTo, e))
373
373
  return !1;
374
374
  }
375
- }) : ug(e, t, n);
375
+ }) : sg(e, t, n);
376
376
  }
377
- var cg = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g, dg = {
377
+ var dg = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g, gg = {
378
378
  "&amp;": "&",
379
379
  "&#38;": "&",
380
380
  "&lt;": "<",
@@ -395,10 +395,10 @@ var cg = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#1
395
395
  "&#8230;": "…",
396
396
  "&#x2F;": "/",
397
397
  "&#47;": "/"
398
- }, gg = function(t) {
399
- return dg[t];
400
398
  }, fg = function(t) {
401
- return t.replace(cg, gg);
399
+ return gg[t];
400
+ }, pg = function(t) {
401
+ return t.replace(dg, fg);
402
402
  };
403
403
  function Ba(e, t) {
404
404
  var n = Object.keys(e);
@@ -429,20 +429,20 @@ var ko = {
429
429
  transWrapTextNodes: "",
430
430
  transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"],
431
431
  useSuspense: !0,
432
- unescape: fg
432
+ unescape: pg
433
433
  };
434
- function pg() {
434
+ function mg() {
435
435
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
436
436
  ko = Oa(Oa({}, ko), e);
437
437
  }
438
- function mg() {
438
+ function hg() {
439
439
  return ko;
440
440
  }
441
441
  var Ws;
442
- function hg(e) {
442
+ function Cg(e) {
443
443
  Ws = e;
444
444
  }
445
- function Cg() {
445
+ function Ig() {
446
446
  return Ws;
447
447
  }
448
448
  function Oe(e, t) {
@@ -463,9 +463,9 @@ function Re(e, t, n) {
463
463
  var vg = {
464
464
  type: "3rdParty",
465
465
  init: function(t) {
466
- pg(t.options.react), hg(t);
466
+ mg(t.options.react), Cg(t);
467
467
  }
468
- }, Ig = Q.createContext(), yg = function() {
468
+ }, yg = Q.createContext(), bg = function() {
469
469
  function e() {
470
470
  Oe(this, e), this.usedNamespaces = {};
471
471
  }
@@ -488,7 +488,7 @@ function Ls(e) {
488
488
  if (Array.isArray(e))
489
489
  return e;
490
490
  }
491
- function bg(e, t) {
491
+ function wg(e, t) {
492
492
  var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
493
493
  if (n != null) {
494
494
  var r, i, o, l, a = [], u = !0, c = !1;
@@ -535,8 +535,8 @@ function Gs() {
535
535
  throw new TypeError(`Invalid attempt to destructure non-iterable instance.
536
536
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
537
537
  }
538
- function wg(e, t) {
539
- return Ls(e) || bg(e, t) || Xs(e, t) || Gs();
538
+ function Zg(e, t) {
539
+ return Ls(e) || wg(e, t) || Xs(e, t) || Gs();
540
540
  }
541
541
  function Ka(e, t) {
542
542
  var n = Object.keys(e);
@@ -559,15 +559,15 @@ function no(e) {
559
559
  }
560
560
  return e;
561
561
  }
562
- var Zg = function(t, n) {
562
+ var Wg = function(t, n) {
563
563
  var r = Q.useRef();
564
564
  return Q.useEffect(function() {
565
565
  r.current = n ? r.current : t;
566
566
  }, [t, n]), r.current;
567
567
  };
568
568
  function Ys(e) {
569
- var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.i18n, r = Q.useContext(Ig) || {}, i = r.i18n, o = r.defaultNS, l = n || i || Cg();
570
- if (l && !l.reportNamespaces && (l.reportNamespaces = new yg()), !l) {
569
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.i18n, r = Q.useContext(yg) || {}, i = r.i18n, o = r.defaultNS, l = n || i || Ig();
570
+ if (l && !l.reportNamespaces && (l.reportNamespaces = new bg()), !l) {
571
571
  No("You will need to pass in an i18next instance by using initReactI18next");
572
572
  var a = function(k, Y) {
573
573
  return typeof Y == "string" ? Y : Y && we(Y) === "object" && typeof Y.defaultValue == "string" ? Y.defaultValue : Array.isArray(k) ? k[k.length - 1] : k;
@@ -575,24 +575,24 @@ function Ys(e) {
575
575
  return u.t = a, u.i18n = {}, u.ready = !1, u;
576
576
  }
577
577
  l.options.react && l.options.react.wait !== void 0 && No("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");
578
- var c = no(no(no({}, mg()), l.options.react), t), p = c.useSuspense, g = c.keyPrefix, f = e || o || l.options && l.options.defaultNS;
578
+ var c = no(no(no({}, hg()), l.options.react), t), p = c.useSuspense, g = c.keyPrefix, f = e || o || l.options && l.options.defaultNS;
579
579
  f = typeof f == "string" ? [f] : f || ["translation"], l.reportNamespaces.addUsedNamespaces && l.reportNamespaces.addUsedNamespaces(f);
580
580
  var h = (l.isInitialized || l.initializedStoreOnce) && f.every(function(L) {
581
- return sg(L, l, c);
581
+ return cg(L, l, c);
582
582
  });
583
583
  function C() {
584
584
  return l.getFixedT(t.lng || null, c.nsMode === "fallback" ? f : f[0], g);
585
585
  }
586
- var I = Q.useState(C), w = wg(I, 2), d = w[0], s = w[1], m = f.join();
586
+ var v = Q.useState(C), w = Zg(v, 2), d = w[0], s = w[1], m = f.join();
587
587
  t.lng && (m = "".concat(t.lng).concat(m));
588
- var v = Zg(m), y = Q.useRef(!0);
588
+ var I = Wg(m), y = Q.useRef(!0);
589
589
  Q.useEffect(function() {
590
590
  var L = c.bindI18n, k = c.bindI18nStore;
591
591
  y.current = !0, !h && !p && (t.lng ? ka(l, t.lng, f, function() {
592
592
  y.current && s(C);
593
593
  }) : Na(l, f, function() {
594
594
  y.current && s(C);
595
- })), h && v && v !== m && y.current && s(C);
595
+ })), h && I && I !== m && y.current && s(C);
596
596
  function Y() {
597
597
  y.current && s(C);
598
598
  }
@@ -634,13 +634,13 @@ oi.exports;
634
634
  throw new l(C);
635
635
  }, u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = /[\t\n\f\r ]/g, p = function(C) {
636
636
  C = String(C).replace(c, "");
637
- var I = C.length;
638
- I % 4 == 0 && (C = C.replace(/==?$/, ""), I = C.length), (I % 4 == 1 || // http://whatwg.org/C#alphanumeric-ascii-characters
637
+ var v = C.length;
638
+ v % 4 == 0 && (C = C.replace(/==?$/, ""), v = C.length), (v % 4 == 1 || // http://whatwg.org/C#alphanumeric-ascii-characters
639
639
  /[^+a-zA-Z0-9/]/.test(C)) && a(
640
640
  "Invalid character: the string to be decoded is not correctly encoded."
641
641
  );
642
- for (var w = 0, d, s, m = "", v = -1; ++v < I; )
643
- s = u.indexOf(C.charAt(v)), d = w % 4 ? d * 64 + s : s, w++ % 4 && (m += String.fromCharCode(
642
+ for (var w = 0, d, s, m = "", I = -1; ++I < v; )
643
+ s = u.indexOf(C.charAt(I)), d = w % 4 ? d * 64 + s : s, w++ % 4 && (m += String.fromCharCode(
644
644
  255 & d >> (-2 * w & 6)
645
645
  ));
646
646
  return m;
@@ -648,9 +648,9 @@ oi.exports;
648
648
  C = String(C), /[^\0-\xFF]/.test(C) && a(
649
649
  "The string to be encoded contains characters outside of the Latin1 range."
650
650
  );
651
- for (var I = C.length % 3, w = "", d = -1, s, m, v, y, Z = C.length - I; ++d < Z; )
652
- s = C.charCodeAt(d) << 16, m = C.charCodeAt(++d) << 8, v = C.charCodeAt(++d), y = s + m + v, w += u.charAt(y >> 18 & 63) + u.charAt(y >> 12 & 63) + u.charAt(y >> 6 & 63) + u.charAt(y & 63);
653
- return I == 2 ? (s = C.charCodeAt(d) << 8, m = C.charCodeAt(++d), y = s + m, w += u.charAt(y >> 10) + u.charAt(y >> 4 & 63) + u.charAt(y << 2 & 63) + "=") : I == 1 && (y = C.charCodeAt(d), w += u.charAt(y >> 2) + u.charAt(y << 4 & 63) + "=="), w;
651
+ for (var v = C.length % 3, w = "", d = -1, s, m, I, y, Z = C.length - v; ++d < Z; )
652
+ s = C.charCodeAt(d) << 16, m = C.charCodeAt(++d) << 8, I = C.charCodeAt(++d), y = s + m + I, w += u.charAt(y >> 18 & 63) + u.charAt(y >> 12 & 63) + u.charAt(y >> 6 & 63) + u.charAt(y & 63);
653
+ return v == 2 ? (s = C.charCodeAt(d) << 8, m = C.charCodeAt(++d), y = s + m, w += u.charAt(y >> 10) + u.charAt(y >> 4 & 63) + u.charAt(y << 2 & 63) + "=") : v == 1 && (y = C.charCodeAt(d), w += u.charAt(y >> 2) + u.charAt(y << 4 & 63) + "=="), w;
654
654
  }, f = {
655
655
  encode: g,
656
656
  decode: p,
@@ -667,18 +667,18 @@ oi.exports;
667
667
  })(eo);
668
668
  })(oi, oi.exports);
669
669
  oi.exports;
670
- var Wg = Object.getOwnPropertyNames, Lg = (e, t) => function() {
671
- return e && (t = (0, e[Wg(e)[0]])(e = 0)), t;
672
- }, O = Lg({
670
+ var Lg = Object.getOwnPropertyNames, Xg = (e, t) => function() {
671
+ return e && (t = (0, e[Lg(e)[0]])(e = 0)), t;
672
+ }, O = Xg({
673
673
  "react-shim.js"() {
674
674
  }
675
675
  });
676
676
  O();
677
677
  O();
678
- var As = Q.createContext(void 0), sh = ({ environment: e, children: t }) => {
678
+ var As = Q.createContext(void 0), ch = ({ environment: e, children: t }) => {
679
679
  const [n] = Q.useState(() => e);
680
680
  return /* @__PURE__ */ nr.jsx(As.Provider, { value: n, children: t });
681
- }, Xg = () => {
681
+ }, Gg = () => {
682
682
  const e = Q.useContext(As);
683
683
  if (e === void 0)
684
684
  throw new Error("useEnvironment must be used within an EnvironmentProvider");
@@ -688,7 +688,7 @@ O();
688
688
  O();
689
689
  O();
690
690
  O();
691
- var kl = /* @__PURE__ */ ((e) => (e.Dev = "dev", e.Test = "test", e.Syst = "syst", e.Prod = "prod", e))(kl || {}), Gg = class extends Error {
691
+ var kl = /* @__PURE__ */ ((e) => (e.Dev = "dev", e.Test = "test", e.Syst = "syst", e.Prod = "prod", e))(kl || {}), Yg = class extends Error {
692
692
  constructor(e) {
693
693
  const t = Object.values(kl).join(", ");
694
694
  super(`${e} is not a valid Environment. Valid environments are ${t}`), this.name = "InvalidEnvironmentError";
@@ -697,7 +697,7 @@ var kl = /* @__PURE__ */ ((e) => (e.Dev = "dev", e.Test = "test", e.Syst = "syst
697
697
  O();
698
698
  O();
699
699
  O();
700
- var Yg = (e, t) => {
700
+ var Ag = (e, t) => {
701
701
  switch (e) {
702
702
  default:
703
703
  case "dev":
@@ -709,9 +709,9 @@ var Yg = (e, t) => {
709
709
  case "prod":
710
710
  return t === "fr" ? "https://profil.monxtra.be" : "https://profiel.mijnxtra.be";
711
711
  }
712
- }, Ag = Yg, ch = () => {
713
- const { i18n: e } = Ys(), t = Xg();
714
- return Ag(t, e.language);
712
+ }, Ng = Ag, dh = () => {
713
+ const { i18n: e } = Ys(), t = Gg();
714
+ return Ng(t, e.language);
715
715
  };
716
716
  O();
717
717
  O();
@@ -723,12 +723,12 @@ O();
723
723
  var ja = ({ error: e }) => e ? /* @__PURE__ */ nr.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null;
724
724
  O();
725
725
  O();
726
- var Ng = (e, t) => e.getAttribute("name") === t, kg = (e, t) => {
726
+ var kg = (e, t) => e.getAttribute("name") === t, Bg = (e, t) => {
727
727
  const n = Object.keys(t)[0];
728
- return Array.from(e.elements).find((i) => Ng(i, n));
728
+ return Array.from(e.elements).find((i) => kg(i, n));
729
729
  };
730
730
  O();
731
- var Bg = (e, t) => Object.keys(t).reduce((n, r, i) => {
731
+ var Og = (e, t) => Object.keys(t).reduce((n, r, i) => {
732
732
  const o = e.querySelector(`[name="${r}"]`);
733
733
  if (!o)
734
734
  return "";
@@ -737,15 +737,15 @@ var Bg = (e, t) => Object.keys(t).reduce((n, r, i) => {
737
737
  return "";
738
738
  const { textContent: a } = l;
739
739
  return i === 0 ? a : `${n}, ${a}`;
740
- }, ""), Og = (e, t, n) => {
741
- const r = Bg(e, t), i = r == null ? void 0 : r.split(",")[0], o = kg(e, t);
740
+ }, ""), Rg = (e, t, n) => {
741
+ const r = Og(e, t), i = r == null ? void 0 : r.split(",")[0], o = Bg(e, t);
742
742
  return o == null || o.focus(), o == null || o.scrollIntoView({ block: "center" }), n("common.form.detailedError", { invalidFormFieldLabels: r, firstInvalidFormFieldLabel: i });
743
- }, dh = ({ submitCount: e, errors: t }) => {
743
+ }, gh = ({ submitCount: e, errors: t }) => {
744
744
  const { t: n } = Ys(), r = Q.useRef(null), i = r.current, [o, l] = Q.useState(!1), [a] = Object.entries(t), [u, c] = Q.useState(), [p, g] = Q.useState(e);
745
745
  return Q.useEffect(() => l(!0), []), Q.useEffect(() => {
746
746
  if (!e || !a || p === e)
747
747
  return;
748
- const h = Og(i, t, n);
748
+ const h = Rg(i, t, n);
749
749
  c(h), g(e);
750
750
  }, [a, e, t, i, n, p]), !o && !e && a ? {
751
751
  formRef: r,
@@ -769,7 +769,7 @@ O();
769
769
  O();
770
770
  O();
771
771
  O();
772
- const Rg = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250OiA0MDAgMTZweC8yMnB4IHZhcigtLWZvbnQteHRyYSk7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwp9Ci5zci1vbmx5IHsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIGJvcmRlci13aWR0aDogMDsKICBoZWlnaHQ6IDFweDsKICBtYXJnaW46IC0xcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxcHg7Cn0KOmlzKDpyb290LCA6aG9zdCkgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgOmhvc3QsCiAgOnJvb3QgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAuNjI1cmVtOwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBoZWlnaHQ6IDQwcHg7CiAgd2lkdGg6IDQwcHg7Cn0KLmF2YXRhci0tbGFyZ2UgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctNCk7CiAgZm9udC1zaXplOiAyLjYyNXJlbTsKICBoZWlnaHQ6IDEwMHB4OwogIHdpZHRoOiAxMDBweDsKfQouYXZhdGFyX19pbml0aWFscyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9CdXR0b24vQnV0dG9uLmNzcyAqLwouYnV0dG9uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmJ1dHRvbi0tcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIH0KfQouYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNjAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouYnV0dG9uLS1kaXNhYmxlZCwKLmJ1dHRvbi0tcHJpbWFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgfQp9Ci5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS02MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5LS1maWxsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctMSk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSwKLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXRlcnRpYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeTpkaXNhYmxlZCwKLmJ1dHRvbi0tdGVydGlhcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIH0KfQouYnV0dG9uLS13YXJuaW5nOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmc6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6Zm9jdXM6bm90KDpob3ZlcikgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1uZXV0cmFsOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbDpmb2N1cyB7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTIwMCksCiAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgaW5zZXQgMCAwIDAgNHB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLW5ldXRyYWw6YWN0aXZlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLW5ldXRyYWw6ZGlzYWJsZWQgewogIG9wYWNpdHk6IC42Owp9Ci5idXR0b24tLWljb24tLXByaW1hcnksCi5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IGF1dG87Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXByaW1hcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtOTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwp9Ci5idXR0b24tLXdpdGgtaWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYnV0dG9uX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuYnV0dG9uIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgfQogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAxNnB4OwogICAgaW5zZXQ6IDA7CiAgICBtYXJnaW46IGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICB9CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIEBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NhbGxUb0FjdGlvbi9DYWxsVG9BY3Rpb24uY3NzICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTc1NCcgaGVpZ2h0PScxNzk1JyBmaWxsPSdub25lJyUzRSUzQ2VsbGlwc2UgY3g9Jzg3Ni45MjMnIGN5PSc5MzcuNDU3JyBmaWxsPSclMjMwMDlBOEUnIHJ4PSczNDknIHJ5PSc4MDUuNScgdHJhbnNmb3JtPSdyb3RhdGUoNjMuOTMzIDg3Ni45MjMgOTM3LjQ1NyknLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMxOUIzQTgnIHN0cm9rZS13aWR0aD0nMicgZD0nTTU5NC4zMDQgMTAyNy4zOUM1MDguODYgODE1Ljg2OCA0NjcuNzI5IDYwOS43ODYgNDcwLjI2NyA0NDcuNjE0YzEuMjY5LTgxLjA4OCAxMy40NTYtMTUxLjE0NyAzNi40MzktMjA1LjQwNyAyMi45ODItNTQuMjU2IDU2LjcyNS05Mi42NDcgMTAxLjA4Ni0xMTAuNTY2IDQ0LjM2MS0xNy45MTkgOTUuMzAyLTEzLjczNiAxNDkuNTE5IDkuMzM2IDU0LjIyMiAyMy4wNzQgMTExLjY0OSA2NS4wMTMgMTY4Ljg4MiAxMjIuNDcgMTE0LjQ2NyAxMTQuOTEgMjI4LjAwNyAyOTEuNzQyIDMxMy40NDcgNTAzLjI2OCA4NS40NSAyMTEuNTI1IDEyNi41OCA0MTcuNjA1IDEyNC4wNCA1NzkuNzc1LTEuMjcgODEuMDktMTMuNDUgMTUxLjE1LTM2LjQ0IDIwNS40MS0yMi45OCA1NC4yNi01Ni43MiA5Mi42NS0xMDEuMDggMTEwLjU3LTQ0LjM3IDE3LjkyLTk1LjMxIDEzLjczLTE0OS41Mi05LjM0LTU0LjIzLTIzLjA3LTExMS42NTMtNjUuMDEtMTY4Ljg4Ni0xMjIuNDctMTE0LjQ2My0xMTQuOTEtMjI4LjAwNi0yOTEuNzQtMzEzLjQ1LTUwMy4yN1onLyUzRSUzQy9zdmclM0UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTUyNnB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE3OTQuMTFweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE3NTMuODVweDsKfQouY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy00KSA2NHB4IHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogNDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhbGwtdG8tYWN0aW9uIHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC02NzFweDsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAuY3NzICovCi5jaGlwLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNoaXAtZ3JvdXAsCi5jaGlwX19pbnB1dC13cmFwcGVyLAouY2hpcF9fbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQouY2hpcF9faW5wdXQgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBpbnNldDogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLmNoaXBfX2lucHV0OmRpc2FibGVkICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciArIC5jaGlwX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5jaGlwX19pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQpOmlzKDpjaGVja2VkLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGlwX19sYWJlbCB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9JbnB1dEZpZWxkL0lucHV0RmllbGQuY3NzICovCi5pbnB1dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMS4zNzU7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQtc2l6ZTogLjhyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBwYWRkaW5nOiAycHggdmFyKC0tc3BhY2luZy0yKTsKfQouc3RhdHVzLWNoaXAtLXN1Y2Nlc3MgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS13YXJuaW5nIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZXJyb3IgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZGlzYWJsZWQgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTQwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1N3aXRjaC9Td2l0Y2guY3NzICovCi5zd2l0Y2hfX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnN3aXRjaF9fdGh1bWIgewogIC0tc3dpdGNoLXdpZHRoOjUxcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTUwMCkgNTAlLCB2YXIoLS1uZXV0cmFsLTIwMCkgNTAlKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogMjAwJTsKICBib3JkZXItcmFkaXVzOiAyNHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBoZWlnaHQ6IDMxcHg7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKfQouc3dpdGNoX190aHVtYiwKYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQpidXR0b24uc3dpdGNoX190aHVtYiB7CiAgYm9yZGVyOiBub25lOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQsCi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF0gewogIGJhY2tncm91bmQtcG9zaXRpb246IDA7Cn0KLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIC0tc3dpdGNoLXRodW1iLXdpZHRoOjI3cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAuMTUpLCAwIDNweCAxcHggcmdiKDAgMCAwLzYlKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDI3cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMnB4OwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygzLjVweCAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkpKTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zd2l0Y2gtd2lkdGgpIC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSAtIDJweCkpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF06YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMy41cHgpOwp9Ci5zd2l0Y2hfX2xhYmVsLS1kaXNhYmxlZCB7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZDphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuc3dpdGNoX190aHVtYiB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1wb3NpdGlvbjsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KICAuc3dpdGNoX190aHVtYjphZnRlciB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvVGV4dEFyZWEvVGV4dEFyZWEuY3NzICovCi50ZXh0LWFyZWEgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtNDAwKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDFyZW07CiAgbGluZS1oZWlnaHQ6IDEuMzc1OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9faGVhZGVyX19hY3Rpb24gewogICAgZm9udC1zaXplOiAxLjEyNXJlbTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRCb2R5L0NhcmRCb2R5LmNzcyAqLwouY2FyZF9fYm9keSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRFbXB0eVN0YXRlL0NhcmRFbXB0eVN0YXRlLmNzcyAqLwouY2FyZF9fZW1wdHktc3RhdGUgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMTAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNzAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tZXJyb3IgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogIHBhZGRpbmc6IDA7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbjogYXV0bzsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBmbGV4LWRpcmVjdGlvbjogcm93OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uLAouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcik7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fZW1wdHktc3RhdGUgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uLAogIC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICBtYXgtd2lkdGg6IDUyNXB4OwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICAgIG1heC13aWR0aDogdW5zZXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkRm9vdGVyL0NhcmRGb290ZXIuY3NzICovCi5jYXJkX19mb290ZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19mb290ZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRIZWFkZXIvQ2FyZEhlYWRlci5jc3MgKi8KLmNhcmRfX2hlYWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19oZWFkZXItLXN0aWNreSB7CiAgLS1jYXJkLWhlYWRlci1zdGlja3ktdG9wOjA7CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IHZhcigtLWNhcmQtaGVhZGVyLXN0aWNreS10b3ApOwogIHotaW5kZXg6IDE7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgLnRhYnMgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSXRlbS9DYXJkSXRlbS5jc3MgKi8KLmNhcmRfX2JvZHlfX2l0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNik7Cn0KLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHsKICBtYXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5jYXJkX19ib2R5ID4gLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQouY2FyZF9fYm9keV9faXRlbSAubGlzdC1pdGVtLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAtMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSAubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW0gewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSAwOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmZpcnN0LW9mLXR5cGUgewogICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUsIDpmaXJzdC1vZi10eXBlKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktY2hpbGQgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogICAgcGFkZGluZy10b3A6IDA7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkVGl0bGUvQ2FyZFRpdGxlLmNzcyAqLwouY2FyZF9faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udC1zaXplOiAxLjI1cmVtOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fYm9keSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udC1zaXplOiAxcmVtOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBsaW5lLWhlaWdodDogMS4zNzU7Cn0KLmNoZWNrYm94X19zcGlubmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jaGVjaywKLmNoZWNrYm94X19zcGlubmVyIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICBtaW4td2lkdGg6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHZpc2liaWxpdHk6IHVuc2V0Owp9Ci5jaGVja2JveC5jaGVja2JveC0tZXJyb3IgLmNoZWNrYm94X19jaGVjayB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5jaGVja2JveF9faW5wdXQgewogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHotaW5kZXg6IDEwOwp9Ci5jaGVja2JveF9faW5wdXQgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC0wMDApOwogIHN0cm9rZS1kYXNob2Zmc2V0OiAtNzU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGVja2JveF9faW5wdXQ6aG92ZXIgfiAuY2hlY2tib3hfX2NoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5jaGVja2JveF9faW5wdXQ6Zm9jdXMtd2l0aGluIH4gLmNoZWNrYm94X19jaGVjayB7CiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lLW9mZnNldDogMnB4Owp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmRpc2FibGVkIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5jaGVja2JveF9fbGFiZWwgewogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udC1zaXplOiAxcmVtOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250LXNpemU6IC44NzVyZW07Cn0KLmNoZWNrYm94X19pbnB1dDppbmRldGVybWluYXRlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGVja2JveF9fY2hlY2sgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2UtaW4tb3V0OwogIH0KICAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjM1cyBlYXNlLW91dDsKICB9CiAgLmNoZWNrYm94X19zcGlubmVyIGNpcmNsZTpsYXN0LW9mLXR5cGUgewogICAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIH0KICBAa2V5ZnJhbWVzIGNoZWNrYm94LXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Db21ib2JveC9Db21ib2JveC5jc3MgKi8KLmNvbWJvYm94IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KdWxbcm9sZT1saXN0Ym94XS5jb21ib2JveF9fbGlzdC0tb3BlbiB7CiAgZGlzcGxheTogYmxvY2s7Cn0KdWxbcm9sZT1saXN0Ym94XSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IG5vbmU7CiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDNweCA4cHggcmdiKDQ2IDU5IDg2LzEwJSkpOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LWhlaWdodDogMTY1cHg7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKICBvdmVyZmxvdy14OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwMDsKfQp1bFtyb2xlPWxpc3Rib3hdIGxpW3JvbGU9b3B0aW9uXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl06bm90KDpsYXN0LWNoaWxkKSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tc2VsZWN0ZWQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0taGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWxvYWRpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKICBoZWlnaHQ6IDQ4cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZzphZnRlciB7CiAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3JkZXItdG9wOiA0cHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTZweDsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNnB4Owp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1lbXB0eSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IGRlZmF1bHQ7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGRkIHsKICBmb250LXdlaWdodDogNTAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkFjdGlvbi9EZXNjcmlwdGlvbkFjdGlvbi5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiB7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQ29udGVudC9EZXNjcmlwdGlvbkNvbnRlbnQuY3NzICovCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCA+ICogewogICAgZmxleDogMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25JdGVtL0Rlc2NyaXB0aW9uSXRlbS5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouZGVzY3JpcHRpb24tbGlzdF9faXRlbSA+ICogewogIGZsZXg6IDE7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25TdWZmaXgvRGVzY3JpcHRpb25TdWZmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19zdWZmaXggewogIGZsZXg6IDA7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EaWFsb2cvRGlhbG9nLmNzcyAqLwouZGlhbG9nW29wZW5dOjpiYWNrZHJvcCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC02MDApOwogIG9wYWNpdHk6IC4yNTsKfQpib2R5OmhhcyhkaWFsb2dbb3Blbl0pIHsKICBvdmVyZmxvdzogaGlkZGVuOwp9CmRpYWxvZzpub3QoW29wZW5dKSB7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwp9CmRpYWxvZzpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGJveC1zaGFkb3c6CiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwogIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDA7Cn0KLmRpYWxvZ19faGVhZGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQ6ICNmZmY7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IDA7CiAgei1pbmRleDogMTAwMDsKfQouZGlhbG9nX19oZWFkZXJfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNikgdmFyKC0tc3BhY2luZy00KTsKfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXh0cmEpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6Zm9jdXMsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tZXJyb3ItMjAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItMjAwKTsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlcjpsYXN0LW9mLXR5cGUgewogICAgYm94LXNoYWRvdzogbm9uZTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbUNvbnRlbnQvTGlzdEl0ZW1Db250ZW50LmNzcyAqLwoubGlzdC1pdGVtX19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtTWV0YS9MaXN0SXRlbU1ldGEuY3NzICovCi5saXN0LWl0ZW1fX21ldGEgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250LXdlaWdodDogNTAwOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtUHJlZml4L0xpc3RJdGVtUHJlZml4LmNzcyAqLwoubGlzdC1pdGVtX19wcmVmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVN1YnRpdGxlL0xpc3RJdGVtU3VidGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS40Owp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWZmaXgvTGlzdEl0ZW1TdWZmaXguY3NzICovCi5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UZXh0L0xpc3RJdGVtVGV4dC5jc3MgKi8KLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRpdGxlL0xpc3RJdGVtVGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3RpdGxlIHsKICBmb250LXdlaWdodDogNTAwOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9Db250ZW50L0NvbnRlbnQuY3NzICovCi5tZW51X19saXN0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbW9kYWwpLCBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC0xMDApOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1hcmdpbi10b3A6IDEwcHg7CiAgbWluLXdpZHRoOiAyMjBweDsKICBvcGFjaXR5OiAwOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdHJhbnNmb3JtOiBzY2FsZSguOCk7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIHotaW5kZXg6IDEwMDAwMDsKfQoubWVudV9fbGlzdC0tYWN0aXZlIHsKICBvcGFjaXR5OiAxOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKfQoubWVudV9fbGlzdC0tbGVmdCB7CiAgbGVmdDogMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoubWVudV9fbGlzdC0tcmlnaHQgewogIHJpZ2h0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X19saXN0IHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OgogICAgICB0cmFuc2Zvcm0sCiAgICAgIG9wYWNpdHksCiAgICAgIHJvdGF0ZSwKICAgICAgdmlzaWJpbGl0eTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudUl0ZW0vTWVudUl0ZW0uY3NzICovCi5tZW51X19saXN0LWl0ZW0gewogIGRpc3BsYXk6IGZsZXg7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+ICogewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMDsKICBjb2xvcjogaW5oZXJpdDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgZm9udDogaW5oZXJpdDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogIG1hcmdpbjogMCAxcHg7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycHgpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5tZW51X19saXN0LWl0ZW0gPiA6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQoubWVudV9fbGlzdC1pdGVtID4gOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmUgewogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmUsCi5tZW51X19saXN0LWl0ZW0gPiA6YWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0xMDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCAwIDAgdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbiB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQoubWVudV9fbGlzdC1pdGVtIC5idXR0b24tLXdpdGgtaWNvbiB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbjpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHJnYmEoMjU1LCA5MiwgOTIsIC4xKTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbjphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA5MiwgOTIsIC4xKTsKICBib3gtc2hhZG93OiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9UcmlnZ2VyL1RyaWdnZXIuY3NzICovCi5tZW51X190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAubWVudV9fdHJpZ2dlciAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L01lbnUuY3NzICovCi5tZW51IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGxpbmUtaGVpZ2h0OiAxLjU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2VjdGlvbk1lc3NhZ2UvU2VjdGlvbk1lc3NhZ2UuY3NzICovCi5zZWN0aW9uLW1lc3NhZ2UgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcik7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UsCi5zZWN0aW9uLW1lc3NhZ2VfX2ljb24gewogIGNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3IpOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWluZm8gewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tcHJpbWFyeSB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tcHJpbWFyeS03MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeS01MCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tc3VjY2VzcyB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXdhcm5pbmcgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1lcnJvciB7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLW5ldXRyYWwtNjAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgaGVpZ2h0OiAyNHB4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHdpZHRoOiAyNHB4Owp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLWluZm8gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbi0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS40Mjg1Owp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZzogMDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogIH0KfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjphY3RpdmUsCi5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiAuYW5jaG9yOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcik7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvciksIDAgMCAwIDEwcHggdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1kaXNhYmxlZCA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnNlY3Rpb24tbWVzc2FnZSB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy01KTsKICB9CiAgLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogICAgZm9udC1zaXplOiAuODc1cmVtOwogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTZweDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIGxpbmUtaGVpZ2h0OiAxLjQyODU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouc2VnbWVudGVkLWNvbnRyb2xfX3RyaWdnZXJbZGF0YS1zdGF0ZT1hY3RpdmVdOmZvY3VzLXZpc2libGUgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9aW5hY3RpdmVdOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0ycHggdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGFicy9UYWJzLmNzcyAqLwoudGFicyB7CiAgZGlzcGxheTogbm9uZTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAxMDAlOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhIHsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBkaXNwbGF5OiBibG9jazsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IC44NzVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy00KTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYS5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudGFicywKICAudGFicy5zZWdtZW50ZWQtY29udHJvbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZm9udC1zaXplOiAxcmVtOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbGluZS1oZWlnaHQ6IDEuMzc1OwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTgpIDAgdmFyKC0tc3BhY2luZy04KTsKICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICB0b3A6IHZhcigtLXNpdGUtaGVhZGVyLWhlaWdodCk7CiAgICB6LWluZGV4OiAxNTsKICB9CiAgLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgLnRhYnNfX2xpbmsgewogICAgd2lkdGg6IGF1dG87CiAgfQogIC50YWJzIGEsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBjb2xvcjogaW5oZXJpdDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZm9udC1zaXplOiAxMDAlOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KICAudGFicyBhOmJlZm9yZSB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KICBAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgICAudGFicyBhOmZvY3VzIHsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KICAgIC50YWJzIGE6bm90KC5hY3RpdmUpOmhvdmVyOmFmdGVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogICAgICBib3R0b206IDA7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICBoZWlnaHQ6IDJweDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KICB9CiAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6Zm9jdXM6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KICAudGFicyBhLmFjdGl2ZTphZnRlciwKICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBib3R0b206IDA7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Ub2FzdC9Ub2FzdC5jc3MgKi8KLnRvYXN0IHsKICAtLXNsaWRlLWluLWVuZDowOwogIC0tc2xpZGUtaW4tc3RhcnQ6Y2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy04KSk7CiAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwbXMsIHNsaWRlLW91dCAwbXMgNXMgZm9yd2FyZHM7CiAgYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwogIGhlaWdodDogYXV0bzsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IGZpeGVkOwogIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwp9Ci50b2FzdC0tZXJyb3IgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2IoMjMwIDQ1IDUwLzUlKSwgcmdiKDIzMCA0NSA1MC81JSkpLCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLWVycm9yLTQwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci50b2FzdC0taW5mbyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCksCiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnRvYXN0X190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogMXJlbTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgbGluZS1oZWlnaHQ6IDEuMzc1Owp9Ci50b2FzdF9fdGl0bGVfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLnRvYXN0LS1pbmZvIC50b2FzdF9fdGl0bGVfX2ljb24gewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50b2FzdCB7CiAgICAtLXNsaWRlLWluLXN0YXJ0OmNhbGMoMTAwJSArIHZhcigtLXNwYWNpbmctMTIpKTsKICAgIGJvdHRvbTogdmFyKC0tc3BhY2luZy0xMCk7CiAgICBsZWZ0OiBhdXRvOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICAgIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEwKTsKICAgIHdpZHRoOiA0MjBweDsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAudG9hc3QgewogICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAuM3MgZWFzZS1vdXQsIHNsaWRlLW91dCAuM3MgZWFzZS1pbiA1cyBmb3J3YXJkczsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1pbiB7CiAgMCUgewogICAgb3BhY2l0eTogLjg7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tc3RhcnQpKTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1lbmQpKTsKICB9Cn0KQGtleWZyYW1lcyBzbGlkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVG9nZ2xlL1RvZ2dsZS5jc3MgKi8KLnRvZ2dsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9nZ2xlX19pdGVtIHsKICB3aWR0aDogMTAwJTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1N0ZXBzL1N0ZXBzLmNzcyAqLwouc3RlcHMgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7Cn0KLnN0ZXBzX19saW5rIGEsCi5zdGVwc19fbGluayBzcGFuIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouc3RlcHNfX2xpbmsgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouc3RlcHNfX2xpbmsgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiAxLjI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lciB7CiAgZGlzcGxheTogbm9uZTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgd2lkdGg6IDFweDsKICB9CiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwogICAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwogICAgd2lkdGg6IDMycHg7CiAgICB6LWluZGV4OiAxMDsKICB9CiAgLnRpbWVsaW5lX19sYWJlbC0tcHJpbWFyeSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBib3JkZXI6IG5vbmU7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KICAudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRpbWVsaW5lLWNvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBncmlkOwogIH0KICAudGltZWxpbmUsCiAgLnRpbWVsaW5lX19sYWJlbCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBncmlkLWFyZWE6IDEvMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udC1zaXplOiAuOHJlbTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC13aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvUmFkaW8vUmFkaW8uY3NzICovCi5yYWRpby1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dC13cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTMpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5yYWRpb19faW5wdXQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0zMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwogIGRpc3BsYXk6IGdyaWQ7CiAgZm9udDogaW5oZXJpdDsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3BhY2luZy02KTsKICBwbGFjZS1jb250ZW50OiBjZW50ZXI7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgewogIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnJhZGlvX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpOwogIHdpZHRoOiAwOwp9Ci5yYWRpb19faW5wdXQ6Y2hlY2tlZDpiZWZvcmUgewogIGhlaWdodDogMTJweDsKICB3aWR0aDogMTJweDsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5yYWRpb19faW5wdXQ6YmVmb3JlIHsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQo=";
772
+ const Sg = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250OiA0MDAgMTZweC8yMnB4IHZhcigtLWZvbnQteHRyYSk7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwp9Ci5zci1vbmx5IHsKICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOwogIGJvcmRlci13aWR0aDogMDsKICBoZWlnaHQ6IDFweDsKICBtYXJnaW46IC0xcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxcHg7Cn0KOmlzKDpyb290LCA6aG9zdCkgKiB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgOmhvc3QsCiAgOnJvb3QgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAuNjI1cmVtOwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBoZWlnaHQ6IDQwcHg7CiAgd2lkdGg6IDQwcHg7Cn0KLmF2YXRhci0tbGFyZ2UgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctNCk7CiAgZm9udC1zaXplOiAyLjYyNXJlbTsKICBoZWlnaHQ6IDEwMHB4OwogIHdpZHRoOiAxMDBweDsKfQouYXZhdGFyX19pbml0aWFscyB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9CdXR0b24vQnV0dG9uLmNzcyAqLwouYnV0dG9uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CiAgd2lkdGg6IDEwMCU7Cn0KLmJ1dHRvbi0tcHJpbWFyeSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXByaW1hcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIH0KfQouYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNjAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouYnV0dG9uLS1kaXNhYmxlZCwKLmJ1dHRvbi0tcHJpbWFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgfQp9Ci5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS02MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTYwMCk7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5OmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLmJ1dHRvbi0tc2Vjb25kYXJ5LS1maWxsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctMSk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciB7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSwKLmJ1dHRvbi0tdGVydGlhcnk6Zm9jdXMgewogIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMS41cHg7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXRlcnRpYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXRlcnRpYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS10ZXJ0aWFyeTpkaXNhYmxlZCwKLmJ1dHRvbi0tdGVydGlhcnlbYXJpYS1kaXNhYmxlZD10cnVlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmcgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0td2FybmluZzpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIH0KfQouYnV0dG9uLS13YXJuaW5nOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLXdhcm5pbmc6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci00MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6Zm9jdXM6bm90KDpob3ZlcikgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1lcnJvci01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIH0KfQouYnV0dG9uLS1uZXV0cmFsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1uZXV0cmFsOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbDpmb2N1cyB7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTIwMCksCiAgICBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLAogICAgaW5zZXQgMCAwIDAgNHB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLW5ldXRyYWw6YWN0aXZlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5idXR0b24tLW5ldXRyYWw6ZGlzYWJsZWQgewogIG9wYWNpdHk6IC42Owp9Ci5idXR0b24tLWljb24tLXByaW1hcnksCi5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IGF1dG87Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXByaW1hcnk6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtOTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmJ1dHRvbi0taWNvbi0tc2Vjb25kYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwp9Ci5idXR0b24tLXdpdGgtaWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouYnV0dG9uX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuYnV0dG9uIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nIHsKICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgfQogIC5idXR0b24uYnV0dG9uLS1wZW5kaW5nOmFmdGVyIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAxNnB4OwogICAgaW5zZXQ6IDA7CiAgICBtYXJnaW46IGF1dG87CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICB9CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5LmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQogIEBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0NhbGxUb0FjdGlvbi9DYWxsVG9BY3Rpb24uY3NzICovCi5jYWxsLXRvLWFjdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQouY2FsbC10by1hY3Rpb25fX3dyYXBwZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5jYWxsLXRvLWFjdGlvbl9fYmFja2dyb3VuZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTc1NCcgaGVpZ2h0PScxNzk1JyBmaWxsPSdub25lJyUzRSUzQ2VsbGlwc2UgY3g9Jzg3Ni45MjMnIGN5PSc5MzcuNDU3JyBmaWxsPSclMjMwMDlBOEUnIHJ4PSczNDknIHJ5PSc4MDUuNScgdHJhbnNmb3JtPSdyb3RhdGUoNjMuOTMzIDg3Ni45MjMgOTM3LjQ1NyknLyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMxOUIzQTgnIHN0cm9rZS13aWR0aD0nMicgZD0nTTU5NC4zMDQgMTAyNy4zOUM1MDguODYgODE1Ljg2OCA0NjcuNzI5IDYwOS43ODYgNDcwLjI2NyA0NDcuNjE0YzEuMjY5LTgxLjA4OCAxMy40NTYtMTUxLjE0NyAzNi40MzktMjA1LjQwNyAyMi45ODItNTQuMjU2IDU2LjcyNS05Mi42NDcgMTAxLjA4Ni0xMTAuNTY2IDQ0LjM2MS0xNy45MTkgOTUuMzAyLTEzLjczNiAxNDkuNTE5IDkuMzM2IDU0LjIyMiAyMy4wNzQgMTExLjY0OSA2NS4wMTMgMTY4Ljg4MiAxMjIuNDcgMTE0LjQ2NyAxMTQuOTEgMjI4LjAwNyAyOTEuNzQyIDMxMy40NDcgNTAzLjI2OCA4NS40NSAyMTEuNTI1IDEyNi41OCA0MTcuNjA1IDEyNC4wNCA1NzkuNzc1LTEuMjcgODEuMDktMTMuNDUgMTUxLjE1LTM2LjQ0IDIwNS40MS0yMi45OCA1NC4yNi01Ni43MiA5Mi42NS0xMDEuMDggMTEwLjU3LTQ0LjM3IDE3LjkyLTk1LjMxIDEzLjczLTE0OS41Mi05LjM0LTU0LjIzLTIzLjA3LTExMS42NTMtNjUuMDEtMTY4Ljg4Ni0xMjIuNDctMTE0LjQ2My0xMTQuOTEtMjI4LjAwNi0yOTEuNzQtMzEzLjQ1LTUwMy4yN1onLyUzRSUzQy9zdmclM0UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzA0cHggLTUyNnB4OwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE3OTQuMTFweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE3NTMuODVweDsKfQouY2FsbC10by1hY3Rpb25fX2NvbnRlbnQgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy00KSA2NHB4IHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogNDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhbGwtdG8tYWN0aW9uIHsKICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICAuY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0NnB4IC02NzFweDsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgdmFyKC0tc3BhY2luZy0xMik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DaGlwL0NoaXAuY3NzICovCi5jaGlwLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLmNoaXAtZ3JvdXAsCi5jaGlwX19pbnB1dC13cmFwcGVyLAouY2hpcF9fbGFiZWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctOCk7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQouY2hpcF9faW5wdXQgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBpbnNldDogMDsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQouY2hpcF9faW5wdXQ6aXMoOmNoZWNrZWQsIDpmb2N1cywgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSkgewogIG91dGxpbmU6IG5vbmU7Cn0KLmNoaXBfX2lucHV0OmRpc2FibGVkICsgLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciArIC5jaGlwX19sYWJlbCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5jaGlwX19pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAuY2hpcF9fbGFiZWwgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNoaXBfX2lucHV0Om5vdCg6ZGlzYWJsZWQpOmlzKDpjaGVja2VkLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4pICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGlwX19sYWJlbCB7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjsKICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xNXM7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9JbnB1dEZpZWxkL0lucHV0RmllbGQuY3NzICovCi5pbnB1dCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMS4zNzU7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQtc2l6ZTogLjhyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKICBwYWRkaW5nOiAycHggdmFyKC0tc3BhY2luZy0yKTsKfQouc3RhdHVzLWNoaXAtLXN1Y2Nlc3MgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzLTUwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnN0YXR1cy1jaGlwLS13YXJuaW5nIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0td2FybmluZy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZXJyb3IgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0tZGlzYWJsZWQgewogIC0tc3RhdHVzLWNoaXAtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTQwMCk7CiAgLS1zdGF0dXMtY2hpcC1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1N3aXRjaC9Td2l0Y2guY3NzICovCi5zd2l0Y2hfX2xhYmVsIHsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnN3aXRjaF9fdGh1bWIgewogIC0tc3dpdGNoLXdpZHRoOjUxcHg7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1wcmltYXJ5LTUwMCkgNTAlLCB2YXIoLS1uZXV0cmFsLTIwMCkgNTAlKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogMjAwJTsKICBib3JkZXItcmFkaXVzOiAyNHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBoZWlnaHQ6IDMxcHg7CiAgbWFyZ2luOiAwOwogIG1pbi13aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXdpZHRoKTsKfQouc3dpdGNoX190aHVtYiwKYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQpidXR0b24uc3dpdGNoX190aHVtYiB7CiAgYm9yZGVyOiBub25lOwp9Ci5zd2l0Y2hfX3RodW1iOmNoZWNrZWQsCi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF0gewogIGJhY2tncm91bmQtcG9zaXRpb246IDA7Cn0KLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogIC0tc3dpdGNoLXRodW1iLXdpZHRoOjI3cHg7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3gtc2hhZG93OiAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAuMTUpLCAwIDNweCAxcHggcmdiKDAgMCAwLzYlKTsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDI3cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMnB4OwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOwogIHdpZHRoOiB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygzLjVweCAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkpKTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1zd2l0Y2gtd2lkdGgpIC0gdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKSAtIDJweCkpOwp9CmJ1dHRvbi5zd2l0Y2hfX3RodW1iW2RhdGEtc3RhdGU9Y2hlY2tlZF06YWZ0ZXIgewogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMy41cHgpOwp9Ci5zd2l0Y2hfX2xhYmVsLS1kaXNhYmxlZCB7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5zd2l0Y2hfX3RodW1iOmRpc2FibGVkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZDphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuc3dpdGNoX190aHVtYiB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1wb3NpdGlvbjsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KICAuc3dpdGNoX190aHVtYjphZnRlciB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvVGV4dEFyZWEvVGV4dEFyZWEuY3NzICovCi50ZXh0LWFyZWEgewogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtNDAwKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDFyZW07CiAgbGluZS1oZWlnaHQ6IDEuMzc1OwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9faGVhZGVyX19hY3Rpb24gewogICAgZm9udC1zaXplOiAxLjEyNXJlbTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRCb2R5L0NhcmRCb2R5LmNzcyAqLwouY2FyZF9fYm9keSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRFbXB0eVN0YXRlL0NhcmRFbXB0eVN0YXRlLmNzcyAqLwouY2FyZF9fZW1wdHktc3RhdGUgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW5ldXRyYWwtMTAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNzAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tZXJyb3IgewogIC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWVycm9yLTIwMCk7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWljb24tY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogIHBhZGRpbmc6IDA7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIG1hcmdpbjogYXV0bzsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBmbGV4LWRpcmVjdGlvbjogcm93OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uLAouY2FyZF9fZW1wdHktc3RhdGVfX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9faWNvbiB7CiAgY29sb3I6IHZhcigtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcik7CiAgZGlzcGxheTogZmxleDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fZW1wdHktc3RhdGUgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlLS1zdGFuZGFsb25lIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fd3JhcHBlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGVfX2Rlc2NyaXB0aW9uLAogIC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICBtYXgtd2lkdGg6IDUyNXB4OwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgOmlzKC5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUsIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24pIHsKICAgIG1heC13aWR0aDogdW5zZXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkRm9vdGVyL0NhcmRGb290ZXIuY3NzICovCi5jYXJkX19mb290ZXIgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19mb290ZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRIZWFkZXIvQ2FyZEhlYWRlci5jc3MgKi8KLmNhcmRfX2hlYWRlciB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19oZWFkZXItLXN0aWNreSB7CiAgLS1jYXJkLWhlYWRlci1zdGlja3ktdG9wOjA7CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IHZhcigtLWNhcmQtaGVhZGVyLXN0aWNreS10b3ApOwogIHotaW5kZXg6IDE7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19oZWFkZXIgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2hlYWRlci5jYXJkX19oZWFkZXItLXRhYnMgLnRhYnMgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSXRlbS9DYXJkSXRlbS5jc3MgKi8KLmNhcmRfX2JvZHlfX2l0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNik7Cn0KLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHsKICBtYXJnaW4tYm90dG9tOiAxNnB4Owp9Ci5jYXJkX19ib2R5ID4gLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQouY2FyZF9fYm9keV9faXRlbSAubGlzdC1pdGVtLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAtMXB4IDAgMCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSAubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW0gewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSAwOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmZpcnN0LW9mLXR5cGUgewogICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOmxhc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUsIDpmaXJzdC1vZi10eXBlKSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm9ubHktY2hpbGQgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogICAgcGFkZGluZy10b3A6IDA7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkVGl0bGUvQ2FyZFRpdGxlLmNzcyAqLwouY2FyZF9faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udC1zaXplOiAxLjI1cmVtOwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSAwOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fYm9keSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udC1zaXplOiAxLjEyNXJlbTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udC1zaXplOiAxcmVtOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBsaW5lLWhlaWdodDogMS4zNzU7Cn0KLmNoZWNrYm94X19zcGlubmVyIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jaGVjaywKLmNoZWNrYm94X19zcGlubmVyIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICBtaW4td2lkdGg6IHZhcigtLWNoZWNrYm94LXdpZHRoKTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHZpc2liaWxpdHk6IHVuc2V0Owp9Ci5jaGVja2JveC5jaGVja2JveC0tZXJyb3IgLmNoZWNrYm94X19jaGVjayB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5jaGVja2JveF9faW5wdXQgewogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1hcmdpbjogMDsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHotaW5kZXg6IDEwOwp9Ci5jaGVja2JveF9faW5wdXQgfiAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogIHN0cm9rZTogdmFyKC0tbmV1dHJhbC0wMDApOwogIHN0cm9rZS1kYXNob2Zmc2V0OiAtNzU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGVja2JveF9faW5wdXQ6aG92ZXIgfiAuY2hlY2tib3hfX2NoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9Ci5jaGVja2JveF9faW5wdXQ6Zm9jdXMtd2l0aGluIH4gLmNoZWNrYm94X19jaGVjayB7CiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lLW9mZnNldDogMnB4Owp9Ci5jaGVja2JveF9faW5wdXQ6bm90KDppbmRldGVybWluYXRlKTppcyg6Y2hlY2tlZCwgW2FyaWEtY2hlY2tlZD10cnVlXSkgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmRpc2FibGVkIH4gLmNoZWNrYm94X19jaGVjayB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1jb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5jaGVja2JveF9fbGFiZWwgewogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS41Owp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udC1zaXplOiAxcmVtOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250LXNpemU6IC44NzVyZW07Cn0KLmNoZWNrYm94X19pbnB1dDppbmRldGVybWluYXRlIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5jaGVja2JveF9fY2hlY2sgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2UtaW4tb3V0OwogIH0KICAuY2hlY2tib3hfX2NoZWNrIHBhdGggewogICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjM1cyBlYXNlLW91dDsKICB9CiAgLmNoZWNrYm94X19zcGlubmVyIGNpcmNsZTpsYXN0LW9mLXR5cGUgewogICAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIH0KICBAa2V5ZnJhbWVzIGNoZWNrYm94LXNwaW5uZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Db21ib2JveC9Db21ib2JveC5jc3MgKi8KLmNvbWJvYm94IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KdWxbcm9sZT1saXN0Ym94XS5jb21ib2JveF9fbGlzdC0tb3BlbiB7CiAgZGlzcGxheTogYmxvY2s7Cn0KdWxbcm9sZT1saXN0Ym94XSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IG5vbmU7CiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDNweCA4cHggcmdiKDQ2IDU5IDg2LzEwJSkpOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaXN0LXN0eWxlOiBub25lOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LWhlaWdodDogMTY1cHg7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKICBvdmVyZmxvdy14OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwMDsKfQp1bFtyb2xlPWxpc3Rib3hdIGxpW3JvbGU9b3B0aW9uXSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl06bm90KDpsYXN0LWNoaWxkKSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tc2VsZWN0ZWQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0taGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWxvYWRpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKICBoZWlnaHQ6IDQ4cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZzphZnRlciB7CiAgYW5pbWF0aW9uOiBidXR0b24tc3Bpbm5lciAxcyBlYXNlIGluZmluaXRlOwogIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBib3JkZXItdG9wOiA0cHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTZweDsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNnB4Owp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1lbXB0eSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBjdXJzb3I6IGRlZmF1bHQ7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5kZXNjcmlwdGlvbi1saXN0LS1mb3JtIGRkIHsKICBmb250LXdlaWdodDogNTAwOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkFjdGlvbi9EZXNjcmlwdGlvbkFjdGlvbi5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiB7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQ29udGVudC9EZXNjcmlwdGlvbkNvbnRlbnQuY3NzICovCkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIH0KICAuZGVzY3JpcHRpb24tbGlzdF9fY29udGVudCA+ICogewogICAgZmxleDogMTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25JdGVtL0Rlc2NyaXB0aW9uSXRlbS5jc3MgKi8KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouZGVzY3JpcHRpb24tbGlzdF9faXRlbSA+ICogewogIGZsZXg6IDE7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3RpcHRpb25TdWZmaXgvRGVzY3JpcHRpb25TdWZmaXguY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19zdWZmaXggewogIGZsZXg6IDA7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EaWFsb2cvRGlhbG9nLmNzcyAqLwouZGlhbG9nW29wZW5dOjpiYWNrZHJvcCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC02MDApOwogIG9wYWNpdHk6IC4yNTsKfQpib2R5OmhhcyhkaWFsb2dbb3Blbl0pIHsKICBvdmVyZmxvdzogaGlkZGVuOwp9CmRpYWxvZzpub3QoW29wZW5dKSB7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwp9CmRpYWxvZzpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGJveC1zaGFkb3c6CiAgICAwIDc2cHggODBweCByZ2IoMCAwIDAvNyUpLAogICAgMCAyMXB4IDI0cHggcmdiKDAgMCAwLzUlKSwKICAgIDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwKICAgIDAgM3B4IDNweCByZ2IoMCAwIDAvMiUpOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwogIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7CiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDA7Cn0KLmRpYWxvZ19faGVhZGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQ6ICNmZmY7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7CiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgcG9zaXRpb246IHN0aWNreTsKICB0b3A6IDA7CiAgei1pbmRleDogMTAwMDsKfQouZGlhbG9nX19oZWFkZXJfX2ljb24gewogIGRpc3BsYXk6IGZsZXg7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udC1zaXplOiAxLjI1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGxpbmUtaGVpZ2h0OiAxLjI7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspLAoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNikgdmFyKC0tc3BhY2luZy00KTsKfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBmb250OiBpbmhlcml0OwogIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXh0cmEpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIHsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKfQoubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6Zm9jdXMsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tZXJyb3ItMjAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItMjAwKTsKICBib3gtc2hhZG93OiBpbnNldCAycHggMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCiAgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlcjpsYXN0LW9mLXR5cGUgewogICAgYm94LXNoYWRvdzogbm9uZTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbUNvbnRlbnQvTGlzdEl0ZW1Db250ZW50LmNzcyAqLwoubGlzdC1pdGVtX19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtTWV0YS9MaXN0SXRlbU1ldGEuY3NzICovCi5saXN0LWl0ZW1fX21ldGEgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250LXdlaWdodDogNTAwOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtUHJlZml4L0xpc3RJdGVtUHJlZml4LmNzcyAqLwoubGlzdC1pdGVtX19wcmVmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVN1YnRpdGxlL0xpc3RJdGVtU3VidGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBsaW5lLWhlaWdodDogMS40Owp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1YnRpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1TdWZmaXgvTGlzdEl0ZW1TdWZmaXguY3NzICovCi5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayAubGlzdC1pdGVtX19zdWZmaXggewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0zMDApOwp9Ci5saXN0LWl0ZW0tLXdpdGgtbGluayA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UZXh0L0xpc3RJdGVtVGV4dC5jc3MgKi8KLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IGluaGVyaXQ7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmU6bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayk6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQsCi5saXN0LWl0ZW0ubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fdGV4dCB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbVRpdGxlL0xpc3RJdGVtVGl0bGUuY3NzICovCi5saXN0LWl0ZW1fX3RpdGxlIHsKICBmb250LXdlaWdodDogNTAwOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3RpdGxlIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9Db250ZW50L0NvbnRlbnQuY3NzICovCi5tZW51X19saXN0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbW9kYWwpLCBpbnNldCAwIDAgMCAxcHggdmFyKC0tbmV1dHJhbC0xMDApOwogIG1hcmdpbi10b3A6IDEwcHg7CiAgbWluLXdpZHRoOiAyMjBweDsKICBvcGFjaXR5OiAwOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdHJhbnNmb3JtOiBzY2FsZSguOCk7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIHotaW5kZXg6IDEwMDAwMDsKfQoubWVudV9fbGlzdCwKLm1lbnVfX2xpc3QgPiB1bCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoubWVudV9fbGlzdCA+IHVsIHsKICBnYXA6IHZhcigtLXNwYWNpbmctMSk7Cn0KLm1lbnVfX2xpc3QtLWFjdGl2ZSB7CiAgb3BhY2l0eTogMTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIHZpc2liaWxpdHk6IHZpc2libGU7Cn0KLm1lbnVfX2xpc3QtLWxlZnQgewogIGxlZnQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7Cn0KLm1lbnVfX2xpc3QtLXJpZ2h0IHsKICByaWdodDogMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAubWVudV9fbGlzdCB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eToKICAgICAgdHJhbnNmb3JtLAogICAgICBvcGFjaXR5LAogICAgICByb3RhdGUsCiAgICAgIHZpc2liaWxpdHk7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L01lbnVJdGVtL01lbnVJdGVtLmNzcyAqLwoubWVudV9fbGlzdC1pdGVtIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5tZW51X19saXN0LWl0ZW0gPiAqIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDA7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZvbnQ6IGluaGVyaXQ7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICBtYXJnaW46IDAgMXB4OwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gMnB4KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubWVudV9fbGlzdC1pdGVtID4gOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICB9Cn0KLm1lbnVfX2xpc3QtaXRlbSA+IDpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXByaW1hcnktMjAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5tZW51X19saXN0LWl0ZW0gPiA6YWN0aXZlIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci5tZW51X19saXN0LWl0ZW0gPiA6YWN0aXZlLAoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMTAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0gPiA6YWN0aXZlOmJlZm9yZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtIC5idXR0b24gewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uLS13aXRoLWljb24gewogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKfQoubWVudV9fbGlzdC1pdGVtLS1sb2dvdXQgLmJ1dHRvbiB7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b246Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCByZ2JhKDI1NSwgOTIsIDkyLCAuMSk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b246YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgOTIsIDkyLCAuMSk7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvVHJpZ2dlci9UcmlnZ2VyLmNzcyAqLwoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5tZW51X190cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmJ1dHRvbl9faWNvbi1yaWdodCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX3RyaWdnZXIgLmJ1dHRvbl9faWNvbi1yaWdodCB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51LmNzcyAqLwoubWVudSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250LXNpemU6IC44NzVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMS41OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250LXNpemU6IC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlICsgLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24gewogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMik7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIDA7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIDppcyhhLCBwLCBidXR0b24pIHsKICBjb2xvcjogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGhvbmVOdW1iZXIvUGhvbmVOdW1iZXIuY3NzICovCi5waG9uZS1udW1iZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5waG9uZS1udW1iZXIgLmlucHV0X193cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7Cn0KLnBob25lLW51bWJlciAucGhvbmUtbnVtYmVyX19jb3VudHJ5LWNvZGUtc2VsZWN0IHsKICBoZWlnaHQ6IDEwMCU7CiAgd2lkdGg6IDk2cHg7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1NlbGVjdC9TZWxlY3QuY3NzICovCi5zZWxlY3Qtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zZWxlY3Qtd3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMjRweDsKICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICBtYXNrLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS41JyBkPSdtOCAxMCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7CiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgbWFzay1wb3NpdGlvbjogY2VudGVyOwogIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsKICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjsKICBtYXNrLXNpemU6IGNvdmVyOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgd2lkdGg6IDI0cHg7Cn0KLnNlbGVjdCB7CiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogIC1tb3otYXBwZWFyYW5jZTogbm9uZTsKICBhcHBlYXJhbmNlOiBub25lOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250LWZhbWlseTogaW5oZXJpdDsKICBmb250LXNpemU6IDE2cHg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5zZWxlY3QtLXdpdGgtcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWxlY3Q6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQp9Ci5zZWxlY3Q6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnNlbGVjdC13cmFwcGVyLS1mb2N1czphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2VnbWVudGVkQ29udHJvbC9TZWdtZW50ZWRDb250cm9sLmNzcyAqLwouc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5zZWdtZW50ZWQtY29udHJvbF9fcGFuZWwgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX2xpc3QsCi5oYXMtanMgLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2wgW3JvbGU9dGFicGFuZWxdW2RhdGEtc3RhdGU9aW5hY3RpdmVdIHsKICBkaXNwbGF5OiBub25lOwp9Ci5zZWdtZW50ZWQtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fbGlzdF9fd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGN1cnNvcjogcG9pbnRlcjsKICBmbGV4OiAxOwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBsaW5lLWhlaWdodDogMS40Mjg1OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGV0dGVyLXNwYWNpbmc6IC4wMWVtOwogIGxpbmUtaGVpZ2h0OiAxLjQyODU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci50YWJzLnNlZ21lbnRlZC1jb250cm9sIGEuYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRhYnMsCiAgLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogICAgZGlzcGxheTogZmxleDsKICAgIGZvbnQtc2l6ZTogMXJlbTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQtc2l6ZTogMTAwJTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgfQogIC50YWJzIGEuYWN0aXZlLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYS5hY3RpdmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgaGVpZ2h0OiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICB9CiAgQG1lZGlhIChob3Zlcjpob3ZlcikgewogICAgLnRhYnMgYTpmb2N1cyB7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICB9CiAgICAudGFicyBhOm5vdCguYWN0aXZlKTpob3ZlcjphZnRlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICAgICAgYm90dG9tOiAwOwogICAgICBjb250ZW50OiAiIjsKICAgICAgaGVpZ2h0OiAycHg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgfQogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIsCiAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6Zm9jdXM6YWZ0ZXIgewogICAgYm90dG9tOiAwOwogICAgY29udGVudDogIiI7CiAgICBoZWlnaHQ6IDJweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAxMDAlOwogIH0KICAudGFicyBhLmFjdGl2ZTphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVG9hc3QvVG9hc3QuY3NzICovCi50b2FzdCB7CiAgLS1zbGlkZS1pbi1lbmQ6MDsKICAtLXNsaWRlLWluLXN0YXJ0OmNhbGMoMTAwJSArIHZhcigtLXNwYWNpbmctOCkpOwogIGFuaW1hdGlvbjogc2xpZGUtaW4gMG1zLCBzbGlkZS1vdXQgMG1zIDVzIGZvcndhcmRzOwogIGJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKICBoZWlnaHQ6IGF1dG87CiAgbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiBmaXhlZDsKICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKfQoudG9hc3QtLWVycm9yIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiKDIzMCA0NSA1MC81JSksIHJnYigyMzAgNDUgNTAvNSUpKSwgdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6CiAgICBpbnNldCAycHggMCB2YXIoLS1lcnJvci00MDApLAogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoudG9hc3QtLWluZm8gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tcHJpbWFyeS01MDApLAogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci50b2FzdF9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmb250LXNpemU6IDFyZW07CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIGxpbmUtaGVpZ2h0OiAxLjM3NTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtc2l6ZTogLjg3NXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBsaW5lLWhlaWdodDogMS4yOwogIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yKTsKICB3aWR0aDogdmFyKC0tc3BhY2luZy02KTsKfQouc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgbWFyZ2luOiAwIHZhcigtLXNwYWNpbmctNCk7Cn0KLnN0ZXBzX19saW5rOmZpcnN0LW9mLXR5cGUgLnN0ZXBzX19saW5rX19kaXZpZGVyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19jaGFyYWN0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouc3RlcHNfX2xpbmsuYWN0aXZlIC5zdGVwc19fbGlua19fZGl2aWRlciwKLnN0ZXBzX19saW5rLmFjdGl2ZSBhIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogICAgbWFyZ2luOiAwIHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvVGltZWxpbmUvVGltZWxpbmUuY3NzICovCi50aW1lbGluZS1jb250YWluZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50aW1lbGluZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHdpZHRoOiAxcHg7CiAgfQogIC50aW1lbGluZV9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgaGVpZ2h0OiAzMnB4OwogICAgbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTYpIGF1dG8gMDsKICAgIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKICAgIHdpZHRoOiAzMnB4OwogICAgei1pbmRleDogMTA7CiAgfQogIC50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgYm9yZGVyOiBub25lOwogICAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9CiAgLnRpbWVsaW5lX19sYWJlbC1jb250ZW50IHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiAxMDAlOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIgewogICAgZGlzcGxheTogZ3JpZDsKICB9CiAgLnRpbWVsaW5lLAogIC50aW1lbGluZV9fbGFiZWwgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZ3JpZC1hcmVhOiAxLzE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0Zvcm1Hcm91cC5jc3MgKi8KLmZvcm0tZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoKLyogc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0Zvcm1Hcm91cC9IaW50L0hpbnQuY3NzICovCi5mb3JtLWdyb3VwX19lcnJvciwKLmZvcm0tZ3JvdXBfX2hpbnQgewogIGZvbnQtc2l6ZTogLjhyZW07CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmZvcm0tZ3JvdXBfX2hpbnQgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7Cn0KLmZvcm0tZ3JvdXBfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0Zvcm1Hcm91cC9MYWJlbC9MYWJlbC5jc3MgKi8KLmZvcm0taXRlbV9fbGFiZWwgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZm9udC1zaXplOiAuODc1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjQyODU7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xKTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1JhZGlvL1JhZGlvLmNzcyAqLwoucmFkaW8tZ3JvdXAgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19faW5wdXQtd3JhcHBlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQoucmFkaW9fX2lucHV0IHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKICBkaXNwbGF5OiBncmlkOwogIGZvbnQ6IGluaGVyaXQ7CiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTYpOwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXNwYWNpbmctNik7CiAgcGxhY2UtY29udGVudDogY2VudGVyOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5yYWRpb19faW5wdXQ6aXMoOmNoZWNrZWQsIDphY3RpdmUpIHsKICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5yYWRpb19faW5wdXQ6bm90KDpkaXNhYmxlZCwgOmZvY3VzLXdpdGhpbiwgOmFjdGl2ZSwgOmNoZWNrZWQpOmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoucmFkaW9fX2lucHV0OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb250ZW50OiAiIjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiA1MCU7CiAgdG9wOiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsKICB3aWR0aDogMDsKfQoucmFkaW9fX2lucHV0OmNoZWNrZWQ6YmVmb3JlIHsKICBoZWlnaHQ6IDEycHg7CiAgd2lkdGg6IDEycHg7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAucmFkaW9fX2lucHV0OmJlZm9yZSB7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9Cn0K";
773
773
  var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
774
774
  /**
775
775
  * @license React
@@ -804,11 +804,11 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
804
804
  X[0] = N;
805
805
  e:
806
806
  for (var K = 0, J = X.length, _t = J >>> 1; K < _t; ) {
807
- var ve = 2 * (K + 1) - 1, $t = X[ve], Ie = ve + 1, tt = X[Ie];
807
+ var Ie = 2 * (K + 1) - 1, $t = X[Ie], ve = Ie + 1, tt = X[ve];
808
808
  if (0 > i($t, N))
809
- Ie < J && 0 > i(tt, $t) ? (X[K] = tt, X[Ie] = N, K = Ie) : (X[K] = $t, X[ve] = N, K = ve);
810
- else if (Ie < J && 0 > i(tt, N))
811
- X[K] = tt, X[Ie] = N, K = Ie;
809
+ ve < J && 0 > i(tt, $t) ? (X[K] = tt, X[ve] = N, K = ve) : (X[K] = $t, X[Ie] = N, K = Ie);
810
+ else if (ve < J && 0 > i(tt, N))
811
+ X[K] = tt, X[ve] = N, K = ve;
812
812
  else
813
813
  break e;
814
814
  }
@@ -830,7 +830,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
830
830
  return l.now() - a;
831
831
  };
832
832
  }
833
- var u = [], c = [], p = 1, g = null, f = 3, h = !1, C = !1, I = !1, w = typeof setTimeout == "function" ? setTimeout : null, d = typeof clearTimeout == "function" ? clearTimeout : null, s = typeof setImmediate < "u" ? setImmediate : null;
833
+ var u = [], c = [], p = 1, g = null, f = 3, h = !1, C = !1, v = !1, w = typeof setTimeout == "function" ? setTimeout : null, d = typeof clearTimeout == "function" ? clearTimeout : null, s = typeof setImmediate < "u" ? setImmediate : null;
834
834
  typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
835
835
  function m(X) {
836
836
  for (var A = n(c); A !== null; ) {
@@ -843,17 +843,17 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
843
843
  A = n(c);
844
844
  }
845
845
  }
846
- function v(X) {
847
- if (I = !1, m(X), !C)
846
+ function I(X) {
847
+ if (v = !1, m(X), !C)
848
848
  if (n(u) !== null)
849
849
  C = !0, ft(y);
850
850
  else {
851
851
  var A = n(c);
852
- A !== null && et(v, A.startTime - X);
852
+ A !== null && et(I, A.startTime - X);
853
853
  }
854
854
  }
855
855
  function y(X, A) {
856
- C = !1, I && (I = !1, d(L), L = -1), h = !0;
856
+ C = !1, v && (v = !1, d(L), L = -1), h = !0;
857
857
  var N = f;
858
858
  try {
859
859
  for (m(A), g = n(u); g !== null && (!(g.expirationTime > A) || X && !_()); ) {
@@ -869,8 +869,8 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
869
869
  if (g !== null)
870
870
  var _t = !0;
871
871
  else {
872
- var ve = n(c);
873
- ve !== null && et(v, ve.startTime - A), _t = !1;
872
+ var Ie = n(c);
873
+ Ie !== null && et(I, Ie.startTime - A), _t = !1;
874
874
  }
875
875
  return _t;
876
876
  } finally {
@@ -981,7 +981,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
981
981
  default:
982
982
  J = 5e3;
983
983
  }
984
- return J = N + J, X = { id: p++, callback: A, priorityLevel: X, startTime: N, expirationTime: J, sortIndex: -1 }, N > K ? (X.sortIndex = N, t(c, X), n(u) === null && X === n(c) && (I ? (d(L), L = -1) : I = !0, et(v, N - K))) : (X.sortIndex = J, t(u, X), C || h || (C = !0, ft(y))), X;
984
+ return J = N + J, X = { id: p++, callback: A, priorityLevel: X, startTime: N, expirationTime: J, sortIndex: -1 }, N > K ? (X.sortIndex = N, t(c, X), n(u) === null && X === n(c) && (v ? (d(L), L = -1) : v = !0, et(I, N - K))) : (X.sortIndex = J, t(u, X), C || h || (C = !0, ft(y))), X;
985
985
  }, e.unstable_shouldYield = _, e.unstable_wrapCallback = function(X) {
986
986
  var A = f;
987
987
  return function() {
@@ -996,7 +996,7 @@ var Ns = { exports: {} }, Le = {}, ks = { exports: {} }, Bs = {};
996
996
  };
997
997
  })(Bs);
998
998
  ks.exports = Bs;
999
- var Sg = ks.exports;
999
+ var Kg = ks.exports;
1000
1000
  /**
1001
1001
  * @license React
1002
1002
  * react-dom.production.min.js
@@ -1006,7 +1006,7 @@ var Sg = ks.exports;
1006
1006
  * This source code is licensed under the MIT license found in the
1007
1007
  * LICENSE file in the root directory of this source tree.
1008
1008
  */
1009
- var Os = Q, We = Sg;
1009
+ var Os = Q, We = Kg;
1010
1010
  function b(e) {
1011
1011
  for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)
1012
1012
  t += "&args[]=" + encodeURIComponent(arguments[n]);
@@ -1020,11 +1020,11 @@ function wn(e, t) {
1020
1020
  for (rr[e] = t, e = 0; e < t.length; e++)
1021
1021
  Rs.add(t[e]);
1022
1022
  }
1023
- var ut = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), Bo = Object.prototype.hasOwnProperty, Kg = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, Va = {}, Fa = {};
1024
- function jg(e) {
1025
- return Bo.call(Fa, e) ? !0 : Bo.call(Va, e) ? !1 : Kg.test(e) ? Fa[e] = !0 : (Va[e] = !0, !1);
1023
+ var ut = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), Bo = Object.prototype.hasOwnProperty, jg = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, Va = {}, Fa = {};
1024
+ function Vg(e) {
1025
+ return Bo.call(Fa, e) ? !0 : Bo.call(Va, e) ? !1 : jg.test(e) ? Fa[e] = !0 : (Va[e] = !0, !1);
1026
1026
  }
1027
- function Vg(e, t, n, r) {
1027
+ function Fg(e, t, n, r) {
1028
1028
  if (n !== null && n.type === 0)
1029
1029
  return !1;
1030
1030
  switch (typeof t) {
@@ -1037,8 +1037,8 @@ function Vg(e, t, n, r) {
1037
1037
  return !1;
1038
1038
  }
1039
1039
  }
1040
- function Fg(e, t, n, r) {
1041
- if (t === null || typeof t > "u" || Vg(e, t, n, r))
1040
+ function Hg(e, t, n, r) {
1041
+ if (t === null || typeof t > "u" || Fg(e, t, n, r))
1042
1042
  return !0;
1043
1043
  if (r)
1044
1044
  return !1;
@@ -1115,7 +1115,7 @@ ne.xlinkHref = new ge("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/
1115
1115
  });
1116
1116
  function Rl(e, t, n, r) {
1117
1117
  var i = ne.hasOwnProperty(t) ? ne[t] : null;
1118
- (i !== null ? i.type !== 0 : r || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (Fg(t, n, i, r) && (n = null), r || i === null ? jg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = n === null ? i.type === 3 ? !1 : "" : n : (t = i.attributeName, r = i.attributeNamespace, n === null ? e.removeAttribute(t) : (i = i.type, n = i === 3 || i === 4 && n === !0 ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));
1118
+ (i !== null ? i.type !== 0 : r || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (Hg(t, n, i, r) && (n = null), r || i === null ? Vg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = n === null ? i.type === 3 ? !1 : "" : n : (t = i.attributeName, r = i.attributeNamespace, n === null ? e.removeAttribute(t) : (i = i.type, n = i === 3 || i === 4 && n === !0 ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));
1119
1119
  }
1120
1120
  var gt = Os.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, Yr = Symbol.for("react.element"), rn = Symbol.for("react.portal"), on = Symbol.for("react.fragment"), Sl = Symbol.for("react.strict_mode"), Oo = Symbol.for("react.profiler"), Ss = Symbol.for("react.provider"), Ks = Symbol.for("react.context"), Kl = Symbol.for("react.forward_ref"), Ro = Symbol.for("react.suspense"), So = Symbol.for("react.suspense_list"), jl = Symbol.for("react.memo"), mt = Symbol.for("react.lazy"), js = Symbol.for("react.offscreen"), Ha = Symbol.iterator;
1121
1121
  function Bn(e) {
@@ -1193,7 +1193,7 @@ function oo(e, t) {
1193
1193
  }
1194
1194
  return (e = e ? e.displayName || e.name : "") ? xn(e) : "";
1195
1195
  }
1196
- function Hg(e) {
1196
+ function Mg(e) {
1197
1197
  switch (e.tag) {
1198
1198
  case 5:
1199
1199
  return xn(e.type);
@@ -1256,7 +1256,7 @@ function Ko(e) {
1256
1256
  }
1257
1257
  return null;
1258
1258
  }
1259
- function Mg(e) {
1259
+ function zg(e) {
1260
1260
  var t = e.type;
1261
1261
  switch (e.tag) {
1262
1262
  case 24:
@@ -1325,7 +1325,7 @@ function Vs(e) {
1325
1325
  var t = e.type;
1326
1326
  return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio");
1327
1327
  }
1328
- function zg(e) {
1328
+ function xg(e) {
1329
1329
  var t = Vs(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), r = "" + e[t];
1330
1330
  if (!e.hasOwnProperty(t) && typeof n < "u" && typeof n.get == "function" && typeof n.set == "function") {
1331
1331
  var i = n.get, o = n.set;
@@ -1343,7 +1343,7 @@ function zg(e) {
1343
1343
  }
1344
1344
  }
1345
1345
  function Ar(e) {
1346
- e._valueTracker || (e._valueTracker = zg(e));
1346
+ e._valueTracker || (e._valueTracker = xg(e));
1347
1347
  }
1348
1348
  function Fs(e) {
1349
1349
  if (!e)
@@ -1529,9 +1529,9 @@ var Qn = {
1529
1529
  strokeMiterlimit: !0,
1530
1530
  strokeOpacity: !0,
1531
1531
  strokeWidth: !0
1532
- }, xg = ["Webkit", "ms", "Moz", "O"];
1532
+ }, Dg = ["Webkit", "ms", "Moz", "O"];
1533
1533
  Object.keys(Qn).forEach(function(e) {
1534
- xg.forEach(function(t) {
1534
+ Dg.forEach(function(t) {
1535
1535
  t = t + e.charAt(0).toUpperCase() + e.substring(1), Qn[t] = Qn[e];
1536
1536
  });
1537
1537
  });
@@ -1546,10 +1546,10 @@ function Ts(e, t) {
1546
1546
  n === "float" && (n = "cssFloat"), r ? e.setProperty(n, i) : e[n] = i;
1547
1547
  }
1548
1548
  }
1549
- var Dg = x({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1549
+ var Tg = x({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
1550
1550
  function zo(e, t) {
1551
1551
  if (t) {
1552
- if (Dg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1552
+ if (Tg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
1553
1553
  throw Error(b(137, e));
1554
1554
  if (t.dangerouslySetInnerHTML != null) {
1555
1555
  if (t.children != null)
@@ -1582,7 +1582,7 @@ var Do = null;
1582
1582
  function Vl(e) {
1583
1583
  return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
1584
1584
  }
1585
- var To = null, Cn = null, vn = null;
1585
+ var To = null, Cn = null, In = null;
1586
1586
  function Ta(e) {
1587
1587
  if (e = Zr(e)) {
1588
1588
  if (typeof To != "function")
@@ -1592,12 +1592,12 @@ function Ta(e) {
1592
1592
  }
1593
1593
  }
1594
1594
  function Js(e) {
1595
- Cn ? vn ? vn.push(e) : vn = [e] : Cn = e;
1595
+ Cn ? In ? In.push(e) : In = [e] : Cn = e;
1596
1596
  }
1597
1597
  function Qs() {
1598
1598
  if (Cn) {
1599
- var e = Cn, t = vn;
1600
- if (vn = Cn = null, Ta(e), t)
1599
+ var e = Cn, t = In;
1600
+ if (In = Cn = null, Ta(e), t)
1601
1601
  for (e = 0; e < t.length; e++)
1602
1602
  Ta(t[e]);
1603
1603
  }
@@ -1615,7 +1615,7 @@ function Ps(e, t, n) {
1615
1615
  try {
1616
1616
  return Es(e, t, n);
1617
1617
  } finally {
1618
- lo = !1, (Cn !== null || vn !== null) && (Us(), Qs());
1618
+ lo = !1, (Cn !== null || In !== null) && (Us(), Qs());
1619
1619
  }
1620
1620
  }
1621
1621
  function or(e, t) {
@@ -1660,7 +1660,7 @@ if (ut)
1660
1660
  } catch {
1661
1661
  Jo = !1;
1662
1662
  }
1663
- function Tg(e, t, n, r, i, o, l, a, u) {
1663
+ function Jg(e, t, n, r, i, o, l, a, u) {
1664
1664
  var c = Array.prototype.slice.call(arguments, 3);
1665
1665
  try {
1666
1666
  t.apply(n, c);
@@ -1668,14 +1668,14 @@ function Tg(e, t, n, r, i, o, l, a, u) {
1668
1668
  this.onError(p);
1669
1669
  }
1670
1670
  }
1671
- var En = !1, ai = null, ui = !1, Qo = null, Jg = { onError: function(e) {
1671
+ var En = !1, ai = null, ui = !1, Qo = null, Qg = { onError: function(e) {
1672
1672
  En = !0, ai = e;
1673
1673
  } };
1674
- function Qg(e, t, n, r, i, o, l, a, u) {
1675
- En = !1, ai = null, Tg.apply(Jg, arguments);
1676
- }
1677
1674
  function Eg(e, t, n, r, i, o, l, a, u) {
1678
- if (Qg.apply(this, arguments), En) {
1675
+ En = !1, ai = null, Jg.apply(Qg, arguments);
1676
+ }
1677
+ function Ug(e, t, n, r, i, o, l, a, u) {
1678
+ if (Eg.apply(this, arguments), En) {
1679
1679
  if (En) {
1680
1680
  var c = ai;
1681
1681
  En = !1, ai = null;
@@ -1709,7 +1709,7 @@ function Ja(e) {
1709
1709
  if (Pt(e) !== e)
1710
1710
  throw Error(b(188));
1711
1711
  }
1712
- function Ug(e) {
1712
+ function Pg(e) {
1713
1713
  var t = e.alternate;
1714
1714
  if (!t) {
1715
1715
  if (t = Pt(e), t === null)
@@ -1776,7 +1776,7 @@ function Ug(e) {
1776
1776
  return n.stateNode.current === n ? e : t;
1777
1777
  }
1778
1778
  function $s(e) {
1779
- return e = Ug(e), e !== null ? qs(e) : null;
1779
+ return e = Pg(e), e !== null ? qs(e) : null;
1780
1780
  }
1781
1781
  function qs(e) {
1782
1782
  if (e.tag === 5 || e.tag === 6)
@@ -1789,17 +1789,17 @@ function qs(e) {
1789
1789
  }
1790
1790
  return null;
1791
1791
  }
1792
- var ec = We.unstable_scheduleCallback, Qa = We.unstable_cancelCallback, Pg = We.unstable_shouldYield, _g = We.unstable_requestPaint, T = We.unstable_now, $g = We.unstable_getCurrentPriorityLevel, Fl = We.unstable_ImmediatePriority, tc = We.unstable_UserBlockingPriority, si = We.unstable_NormalPriority, qg = We.unstable_LowPriority, nc = We.unstable_IdlePriority, Ri = null, Ue = null;
1793
- function ef(e) {
1792
+ var ec = We.unstable_scheduleCallback, Qa = We.unstable_cancelCallback, _g = We.unstable_shouldYield, $g = We.unstable_requestPaint, T = We.unstable_now, qg = We.unstable_getCurrentPriorityLevel, Fl = We.unstable_ImmediatePriority, tc = We.unstable_UserBlockingPriority, si = We.unstable_NormalPriority, ef = We.unstable_LowPriority, nc = We.unstable_IdlePriority, Ri = null, Ue = null;
1793
+ function tf(e) {
1794
1794
  if (Ue && typeof Ue.onCommitFiberRoot == "function")
1795
1795
  try {
1796
1796
  Ue.onCommitFiberRoot(Ri, e, void 0, (e.current.flags & 128) === 128);
1797
1797
  } catch {
1798
1798
  }
1799
1799
  }
1800
- var He = Math.clz32 ? Math.clz32 : rf, tf = Math.log, nf = Math.LN2;
1801
- function rf(e) {
1802
- return e >>>= 0, e === 0 ? 32 : 31 - (tf(e) / nf | 0) | 0;
1800
+ var He = Math.clz32 ? Math.clz32 : of, nf = Math.log, rf = Math.LN2;
1801
+ function of(e) {
1802
+ return e >>>= 0, e === 0 ? 32 : 31 - (nf(e) / rf | 0) | 0;
1803
1803
  }
1804
1804
  var kr = 64, Br = 4194304;
1805
1805
  function Tn(e) {
@@ -1870,7 +1870,7 @@ function ci(e, t) {
1870
1870
  n = 31 - He(t), i = 1 << n, r |= e[n], t &= ~i;
1871
1871
  return r;
1872
1872
  }
1873
- function of(e, t) {
1873
+ function lf(e, t) {
1874
1874
  switch (e) {
1875
1875
  case 1:
1876
1876
  case 2:
@@ -1911,10 +1911,10 @@ function of(e, t) {
1911
1911
  return -1;
1912
1912
  }
1913
1913
  }
1914
- function lf(e, t) {
1914
+ function af(e, t) {
1915
1915
  for (var n = e.suspendedLanes, r = e.pingedLanes, i = e.expirationTimes, o = e.pendingLanes; 0 < o; ) {
1916
1916
  var l = 31 - He(o), a = 1 << l, u = i[l];
1917
- u === -1 ? (!(a & n) || a & r) && (i[l] = of(a, t)) : u <= t && (e.expiredLanes |= a), o &= ~a;
1917
+ u === -1 ? (!(a & n) || a & r) && (i[l] = lf(a, t)) : u <= t && (e.expiredLanes |= a), o &= ~a;
1918
1918
  }
1919
1919
  }
1920
1920
  function Eo(e) {
@@ -1932,7 +1932,7 @@ function ao(e) {
1932
1932
  function br(e, t, n) {
1933
1933
  e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - He(t), e[t] = n;
1934
1934
  }
1935
- function af(e, t) {
1935
+ function uf(e, t) {
1936
1936
  var n = e.pendingLanes & ~t;
1937
1937
  e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
1938
1938
  var r = e.eventTimes;
@@ -1952,7 +1952,7 @@ var S = 0;
1952
1952
  function ic(e) {
1953
1953
  return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
1954
1954
  }
1955
- var oc, Ml, lc, ac, uc, Uo = !1, Or = [], bt = null, wt = null, Zt = null, lr = /* @__PURE__ */ new Map(), ar = /* @__PURE__ */ new Map(), Ct = [], uf = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
1955
+ var oc, Ml, lc, ac, uc, Uo = !1, Or = [], bt = null, wt = null, Zt = null, lr = /* @__PURE__ */ new Map(), ar = /* @__PURE__ */ new Map(), Ct = [], sf = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
1956
1956
  function Ea(e, t) {
1957
1957
  switch (e) {
1958
1958
  case "focusin":
@@ -1979,7 +1979,7 @@ function Ea(e, t) {
1979
1979
  function Rn(e, t, n, r, i, o) {
1980
1980
  return e === null || e.nativeEvent !== o ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: r, nativeEvent: o, targetContainers: [i] }, t !== null && (t = Zr(t), t !== null && Ml(t)), e) : (e.eventSystemFlags |= r, t = e.targetContainers, i !== null && t.indexOf(i) === -1 && t.push(i), e);
1981
1981
  }
1982
- function sf(e, t, n, r, i) {
1982
+ function cf(e, t, n, r, i) {
1983
1983
  switch (t) {
1984
1984
  case "focusin":
1985
1985
  return bt = Rn(bt, e, t, n, r, i), !0;
@@ -2033,11 +2033,11 @@ function Er(e) {
2033
2033
  function Ua(e, t, n) {
2034
2034
  Er(e) && n.delete(t);
2035
2035
  }
2036
- function cf() {
2036
+ function df() {
2037
2037
  Uo = !1, bt !== null && Er(bt) && (bt = null), wt !== null && Er(wt) && (wt = null), Zt !== null && Er(Zt) && (Zt = null), lr.forEach(Ua), ar.forEach(Ua);
2038
2038
  }
2039
2039
  function Sn(e, t) {
2040
- e.blockedOn === t && (e.blockedOn = null, Uo || (Uo = !0, We.unstable_scheduleCallback(We.unstable_NormalPriority, cf)));
2040
+ e.blockedOn === t && (e.blockedOn = null, Uo || (Uo = !0, We.unstable_scheduleCallback(We.unstable_NormalPriority, df)));
2041
2041
  }
2042
2042
  function ur(e) {
2043
2043
  function t(i) {
@@ -2055,42 +2055,42 @@ function ur(e) {
2055
2055
  for (; 0 < Ct.length && (n = Ct[0], n.blockedOn === null); )
2056
2056
  sc(n), n.blockedOn === null && Ct.shift();
2057
2057
  }
2058
- var In = gt.ReactCurrentBatchConfig, di = !0;
2059
- function df(e, t, n, r) {
2060
- var i = S, o = In.transition;
2061
- In.transition = null;
2058
+ var vn = gt.ReactCurrentBatchConfig, di = !0;
2059
+ function gf(e, t, n, r) {
2060
+ var i = S, o = vn.transition;
2061
+ vn.transition = null;
2062
2062
  try {
2063
2063
  S = 1, zl(e, t, n, r);
2064
2064
  } finally {
2065
- S = i, In.transition = o;
2065
+ S = i, vn.transition = o;
2066
2066
  }
2067
2067
  }
2068
- function gf(e, t, n, r) {
2069
- var i = S, o = In.transition;
2070
- In.transition = null;
2068
+ function ff(e, t, n, r) {
2069
+ var i = S, o = vn.transition;
2070
+ vn.transition = null;
2071
2071
  try {
2072
2072
  S = 4, zl(e, t, n, r);
2073
2073
  } finally {
2074
- S = i, In.transition = o;
2074
+ S = i, vn.transition = o;
2075
2075
  }
2076
2076
  }
2077
2077
  function zl(e, t, n, r) {
2078
2078
  if (di) {
2079
2079
  var i = Po(e, t, n, r);
2080
2080
  if (i === null)
2081
- vo(e, t, r, gi, n), Ea(e, r);
2082
- else if (sf(i, e, t, n, r))
2081
+ Io(e, t, r, gi, n), Ea(e, r);
2082
+ else if (cf(i, e, t, n, r))
2083
2083
  r.stopPropagation();
2084
- else if (Ea(e, r), t & 4 && -1 < uf.indexOf(e)) {
2084
+ else if (Ea(e, r), t & 4 && -1 < sf.indexOf(e)) {
2085
2085
  for (; i !== null; ) {
2086
2086
  var o = Zr(i);
2087
- if (o !== null && oc(o), o = Po(e, t, n, r), o === null && vo(e, t, r, gi, n), o === i)
2087
+ if (o !== null && oc(o), o = Po(e, t, n, r), o === null && Io(e, t, r, gi, n), o === i)
2088
2088
  break;
2089
2089
  i = o;
2090
2090
  }
2091
2091
  i !== null && r.stopPropagation();
2092
2092
  } else
2093
- vo(e, t, r, null, n);
2093
+ Io(e, t, r, null, n);
2094
2094
  }
2095
2095
  }
2096
2096
  var gi = null;
@@ -2185,13 +2185,13 @@ function cc(e) {
2185
2185
  case "pointerleave":
2186
2186
  return 4;
2187
2187
  case "message":
2188
- switch ($g()) {
2188
+ switch (qg()) {
2189
2189
  case Fl:
2190
2190
  return 1;
2191
2191
  case tc:
2192
2192
  return 4;
2193
2193
  case si:
2194
- case qg:
2194
+ case ef:
2195
2195
  return 16;
2196
2196
  case nc:
2197
2197
  return 536870912;
@@ -2202,11 +2202,11 @@ function cc(e) {
2202
2202
  return 16;
2203
2203
  }
2204
2204
  }
2205
- var It = null, xl = null, Ur = null;
2205
+ var vt = null, xl = null, Ur = null;
2206
2206
  function dc() {
2207
2207
  if (Ur)
2208
2208
  return Ur;
2209
- var e, t = xl, n = t.length, r, i = "value" in It ? It.value : It.textContent, o = i.length;
2209
+ var e, t = xl, n = t.length, r, i = "value" in vt ? vt.value : vt.textContent, o = i.length;
2210
2210
  for (e = 0; e < n && t[e] === i[e]; e++)
2211
2211
  ;
2212
2212
  var l = n - e;
@@ -2243,15 +2243,15 @@ function Xe(e) {
2243
2243
  }
2244
2244
  var Nn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2245
2245
  return e.timeStamp || Date.now();
2246
- }, defaultPrevented: 0, isTrusted: 0 }, Dl = Xe(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), ff = Xe(wr), uo, so, Kn, Si = x({}, wr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Tl, button: 0, buttons: 0, relatedTarget: function(e) {
2246
+ }, defaultPrevented: 0, isTrusted: 0 }, Dl = Xe(Nn), wr = x({}, Nn, { view: 0, detail: 0 }), pf = Xe(wr), uo, so, Kn, Si = x({}, wr, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Tl, button: 0, buttons: 0, relatedTarget: function(e) {
2247
2247
  return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
2248
2248
  }, movementX: function(e) {
2249
2249
  return "movementX" in e ? e.movementX : (e !== Kn && (Kn && e.type === "mousemove" ? (uo = e.screenX - Kn.screenX, so = e.screenY - Kn.screenY) : so = uo = 0, Kn = e), uo);
2250
2250
  }, movementY: function(e) {
2251
2251
  return "movementY" in e ? e.movementY : so;
2252
- } }), _a = Xe(Si), pf = x({}, Si, { dataTransfer: 0 }), mf = Xe(pf), hf = x({}, wr, { relatedTarget: 0 }), co = Xe(hf), Cf = x({}, Nn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), vf = Xe(Cf), If = x({}, Nn, { clipboardData: function(e) {
2252
+ } }), _a = Xe(Si), mf = x({}, Si, { dataTransfer: 0 }), hf = Xe(mf), Cf = x({}, wr, { relatedTarget: 0 }), co = Xe(Cf), If = x({}, Nn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), vf = Xe(If), yf = x({}, Nn, { clipboardData: function(e) {
2253
2253
  return "clipboardData" in e ? e.clipboardData : window.clipboardData;
2254
- } }), yf = Xe(If), bf = x({}, Nn, { data: 0 }), $a = Xe(bf), wf = {
2254
+ } }), bf = Xe(yf), wf = x({}, Nn, { data: 0 }), $a = Xe(wf), Zf = {
2255
2255
  Esc: "Escape",
2256
2256
  Spacebar: " ",
2257
2257
  Left: "ArrowLeft",
@@ -2264,7 +2264,7 @@ var Nn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2264
2264
  Apps: "ContextMenu",
2265
2265
  Scroll: "ScrollLock",
2266
2266
  MozPrintableKey: "Unidentified"
2267
- }, Zf = {
2267
+ }, Wf = {
2268
2268
  8: "Backspace",
2269
2269
  9: "Tab",
2270
2270
  12: "Clear",
@@ -2301,28 +2301,28 @@ var Nn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
2301
2301
  144: "NumLock",
2302
2302
  145: "ScrollLock",
2303
2303
  224: "Meta"
2304
- }, Wf = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
2305
- function Lf(e) {
2304
+ }, Lf = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
2305
+ function Xf(e) {
2306
2306
  var t = this.nativeEvent;
2307
- return t.getModifierState ? t.getModifierState(e) : (e = Wf[e]) ? !!t[e] : !1;
2307
+ return t.getModifierState ? t.getModifierState(e) : (e = Lf[e]) ? !!t[e] : !1;
2308
2308
  }
2309
2309
  function Tl() {
2310
- return Lf;
2310
+ return Xf;
2311
2311
  }
2312
- var Xf = x({}, wr, { key: function(e) {
2312
+ var Gf = x({}, wr, { key: function(e) {
2313
2313
  if (e.key) {
2314
- var t = wf[e.key] || e.key;
2314
+ var t = Zf[e.key] || e.key;
2315
2315
  if (t !== "Unidentified")
2316
2316
  return t;
2317
2317
  }
2318
- return e.type === "keypress" ? (e = Pr(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Zf[e.keyCode] || "Unidentified" : "";
2318
+ return e.type === "keypress" ? (e = Pr(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Wf[e.keyCode] || "Unidentified" : "";
2319
2319
  }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Tl, charCode: function(e) {
2320
2320
  return e.type === "keypress" ? Pr(e) : 0;
2321
2321
  }, keyCode: function(e) {
2322
2322
  return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2323
2323
  }, which: function(e) {
2324
2324
  return e.type === "keypress" ? Pr(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
2325
- } }), Gf = Xe(Xf), Yf = x({}, Si, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), qa = Xe(Yf), Af = x({}, wr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Tl }), Nf = Xe(Af), kf = x({}, Nn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Bf = Xe(kf), Of = x({}, Si, {
2325
+ } }), Yf = Xe(Gf), Af = x({}, Si, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), qa = Xe(Af), Nf = x({}, wr, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Tl }), kf = Xe(Nf), Bf = x({}, Nn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Of = Xe(Bf), Rf = x({}, Si, {
2326
2326
  deltaX: function(e) {
2327
2327
  return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
2328
2328
  },
@@ -2331,13 +2331,13 @@ var Xf = x({}, wr, { key: function(e) {
2331
2331
  },
2332
2332
  deltaZ: 0,
2333
2333
  deltaMode: 0
2334
- }), Rf = Xe(Of), Sf = [9, 13, 27, 32], Jl = ut && "CompositionEvent" in window, Un = null;
2334
+ }), Sf = Xe(Rf), Kf = [9, 13, 27, 32], Jl = ut && "CompositionEvent" in window, Un = null;
2335
2335
  ut && "documentMode" in document && (Un = document.documentMode);
2336
- var Kf = ut && "TextEvent" in window && !Un, gc = ut && (!Jl || Un && 8 < Un && 11 >= Un), eu = String.fromCharCode(32), tu = !1;
2336
+ var jf = ut && "TextEvent" in window && !Un, gc = ut && (!Jl || Un && 8 < Un && 11 >= Un), eu = String.fromCharCode(32), tu = !1;
2337
2337
  function fc(e, t) {
2338
2338
  switch (e) {
2339
2339
  case "keyup":
2340
- return Sf.indexOf(t.keyCode) !== -1;
2340
+ return Kf.indexOf(t.keyCode) !== -1;
2341
2341
  case "keydown":
2342
2342
  return t.keyCode !== 229;
2343
2343
  case "keypress":
@@ -2352,7 +2352,7 @@ function pc(e) {
2352
2352
  return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
2353
2353
  }
2354
2354
  var ln = !1;
2355
- function jf(e, t) {
2355
+ function Vf(e, t) {
2356
2356
  switch (e) {
2357
2357
  case "compositionend":
2358
2358
  return pc(t);
@@ -2364,9 +2364,9 @@ function jf(e, t) {
2364
2364
  return null;
2365
2365
  }
2366
2366
  }
2367
- function Vf(e, t) {
2367
+ function Ff(e, t) {
2368
2368
  if (ln)
2369
- return e === "compositionend" || !Jl && fc(e, t) ? (e = dc(), Ur = xl = It = null, ln = !1, e) : null;
2369
+ return e === "compositionend" || !Jl && fc(e, t) ? (e = dc(), Ur = xl = vt = null, ln = !1, e) : null;
2370
2370
  switch (e) {
2371
2371
  case "paste":
2372
2372
  return null;
@@ -2384,16 +2384,16 @@ function Vf(e, t) {
2384
2384
  return null;
2385
2385
  }
2386
2386
  }
2387
- var Ff = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2387
+ var Hf = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
2388
2388
  function nu(e) {
2389
2389
  var t = e && e.nodeName && e.nodeName.toLowerCase();
2390
- return t === "input" ? !!Ff[e.type] : t === "textarea";
2390
+ return t === "input" ? !!Hf[e.type] : t === "textarea";
2391
2391
  }
2392
2392
  function mc(e, t, n, r) {
2393
2393
  Js(r), t = fi(t, "onChange"), 0 < t.length && (n = new Dl("onChange", "change", null, n, r), e.push({ event: n, listeners: t }));
2394
2394
  }
2395
2395
  var Pn = null, sr = null;
2396
- function Hf(e) {
2396
+ function Mf(e) {
2397
2397
  Xc(e, 0);
2398
2398
  }
2399
2399
  function Ki(e) {
@@ -2401,7 +2401,7 @@ function Ki(e) {
2401
2401
  if (Fs(t))
2402
2402
  return e;
2403
2403
  }
2404
- function Mf(e, t) {
2404
+ function zf(e, t) {
2405
2405
  if (e === "change")
2406
2406
  return t;
2407
2407
  }
@@ -2425,28 +2425,28 @@ function iu() {
2425
2425
  function Cc(e) {
2426
2426
  if (e.propertyName === "value" && Ki(sr)) {
2427
2427
  var t = [];
2428
- mc(t, sr, e, Vl(e)), Ps(Hf, t);
2428
+ mc(t, sr, e, Vl(e)), Ps(Mf, t);
2429
2429
  }
2430
2430
  }
2431
- function zf(e, t, n) {
2431
+ function xf(e, t, n) {
2432
2432
  e === "focusin" ? (iu(), Pn = t, sr = n, Pn.attachEvent("onpropertychange", Cc)) : e === "focusout" && iu();
2433
2433
  }
2434
- function xf(e) {
2434
+ function Df(e) {
2435
2435
  if (e === "selectionchange" || e === "keyup" || e === "keydown")
2436
2436
  return Ki(sr);
2437
2437
  }
2438
- function Df(e, t) {
2438
+ function Tf(e, t) {
2439
2439
  if (e === "click")
2440
2440
  return Ki(t);
2441
2441
  }
2442
- function Tf(e, t) {
2442
+ function Jf(e, t) {
2443
2443
  if (e === "input" || e === "change")
2444
2444
  return Ki(t);
2445
2445
  }
2446
- function Jf(e, t) {
2446
+ function Qf(e, t) {
2447
2447
  return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;
2448
2448
  }
2449
- var ze = typeof Object.is == "function" ? Object.is : Jf;
2449
+ var ze = typeof Object.is == "function" ? Object.is : Qf;
2450
2450
  function cr(e, t) {
2451
2451
  if (ze(e, t))
2452
2452
  return !0;
@@ -2489,10 +2489,10 @@ function lu(e, t) {
2489
2489
  n = ou(n);
2490
2490
  }
2491
2491
  }
2492
- function vc(e, t) {
2493
- return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? vc(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
2492
+ function Ic(e, t) {
2493
+ return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? Ic(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
2494
2494
  }
2495
- function Ic() {
2495
+ function vc() {
2496
2496
  for (var e = window, t = li(); t instanceof e.HTMLIFrameElement; ) {
2497
2497
  try {
2498
2498
  var n = typeof t.contentWindow.location.href == "string";
@@ -2511,9 +2511,9 @@ function Ql(e) {
2511
2511
  var t = e && e.nodeName && e.nodeName.toLowerCase();
2512
2512
  return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
2513
2513
  }
2514
- function Qf(e) {
2515
- var t = Ic(), n = e.focusedElem, r = e.selectionRange;
2516
- if (t !== n && n && n.ownerDocument && vc(n.ownerDocument.documentElement, n)) {
2514
+ function Ef(e) {
2515
+ var t = vc(), n = e.focusedElem, r = e.selectionRange;
2516
+ if (t !== n && n && n.ownerDocument && Ic(n.ownerDocument.documentElement, n)) {
2517
2517
  if (r !== null && Ql(n)) {
2518
2518
  if (t = r.start, e = r.end, e === void 0 && (e = t), "selectionStart" in n)
2519
2519
  n.selectionStart = t, n.selectionEnd = Math.min(e, n.value.length);
@@ -2534,7 +2534,7 @@ function Qf(e) {
2534
2534
  e = t[n], e.element.scrollLeft = e.left, e.element.scrollTop = e.top;
2535
2535
  }
2536
2536
  }
2537
- var Ef = ut && "documentMode" in document && 11 >= document.documentMode, an = null, _o = null, _n = null, $o = !1;
2537
+ var Uf = ut && "documentMode" in document && 11 >= document.documentMode, an = null, _o = null, _n = null, $o = !1;
2538
2538
  function au(e, t, n) {
2539
2539
  var r = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
2540
2540
  $o || an == null || an !== li(r) || (r = an, "selectionStart" in r && Ql(r) ? r = { start: r.selectionStart, end: r.selectionEnd } : (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection(), r = { anchorNode: r.anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }), _n && cr(_n, r) || (_n = r, r = fi(_o, "onSelect"), 0 < r.length && (t = new Dl("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = an)));
@@ -2561,8 +2561,8 @@ function Ot(e, t) {
2561
2561
  Lc.set(e, t), Ut(t, [e]);
2562
2562
  }
2563
2563
  for (var mo = 0; mo < uu.length; mo++) {
2564
- var ho = uu[mo], Uf = ho.toLowerCase(), Pf = ho[0].toUpperCase() + ho.slice(1);
2565
- Ot(Uf, "on" + Pf);
2564
+ var ho = uu[mo], Pf = ho.toLowerCase(), _f = ho[0].toUpperCase() + ho.slice(1);
2565
+ Ot(Pf, "on" + _f);
2566
2566
  }
2567
2567
  Ot(bc, "onAnimationEnd");
2568
2568
  Ot(wc, "onAnimationIteration");
@@ -2581,10 +2581,10 @@ Ut("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
2581
2581
  Ut("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
2582
2582
  Ut("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
2583
2583
  Ut("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
2584
- var Jn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), _f = new Set("cancel close invalid load scroll toggle".split(" ").concat(Jn));
2584
+ var Jn = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), $f = new Set("cancel close invalid load scroll toggle".split(" ").concat(Jn));
2585
2585
  function su(e, t, n) {
2586
2586
  var r = e.type || "unknown-event";
2587
- e.currentTarget = n, Eg(r, t, void 0, e), e.currentTarget = null;
2587
+ e.currentTarget = n, Ug(r, t, void 0, e), e.currentTarget = null;
2588
2588
  }
2589
2589
  function Xc(e, t) {
2590
2590
  t = (t & 4) !== 0;
@@ -2625,7 +2625,7 @@ var Kr = "_reactListening" + Math.random().toString(36).slice(2);
2625
2625
  function dr(e) {
2626
2626
  if (!e[Kr]) {
2627
2627
  e[Kr] = !0, Rs.forEach(function(n) {
2628
- n !== "selectionchange" && (_f.has(n) || Co(n, !1, e), Co(n, !0, e));
2628
+ n !== "selectionchange" && ($f.has(n) || Co(n, !1, e), Co(n, !0, e));
2629
2629
  });
2630
2630
  var t = e.nodeType === 9 ? e : e.ownerDocument;
2631
2631
  t === null || t[Kr] || (t[Kr] = !0, Co("selectionchange", !1, t));
@@ -2634,17 +2634,17 @@ function dr(e) {
2634
2634
  function Gc(e, t, n, r) {
2635
2635
  switch (cc(t)) {
2636
2636
  case 1:
2637
- var i = df;
2637
+ var i = gf;
2638
2638
  break;
2639
2639
  case 4:
2640
- i = gf;
2640
+ i = ff;
2641
2641
  break;
2642
2642
  default:
2643
2643
  i = zl;
2644
2644
  }
2645
2645
  n = i.bind(null, t, n, e), i = void 0, !Jo || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (i = !0), r ? i !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: i }) : e.addEventListener(t, n, !0) : i !== void 0 ? e.addEventListener(t, n, { passive: i }) : e.addEventListener(t, n, !1);
2646
2646
  }
2647
- function vo(e, t, n, r, i) {
2647
+ function Io(e, t, n, r, i) {
2648
2648
  var o = r;
2649
2649
  if (!(t & 1) && !(t & 2) && r !== null)
2650
2650
  e:
@@ -2687,7 +2687,7 @@ function vo(e, t, n, r, i) {
2687
2687
  break e;
2688
2688
  case "keydown":
2689
2689
  case "keyup":
2690
- h = Gf;
2690
+ h = Yf;
2691
2691
  break;
2692
2692
  case "focusin":
2693
2693
  C = "focus", h = co;
@@ -2720,13 +2720,13 @@ function vo(e, t, n, r, i) {
2720
2720
  case "dragover":
2721
2721
  case "dragstart":
2722
2722
  case "drop":
2723
- h = mf;
2723
+ h = hf;
2724
2724
  break;
2725
2725
  case "touchcancel":
2726
2726
  case "touchend":
2727
2727
  case "touchmove":
2728
2728
  case "touchstart":
2729
- h = Nf;
2729
+ h = kf;
2730
2730
  break;
2731
2731
  case bc:
2732
2732
  case wc:
@@ -2734,18 +2734,18 @@ function vo(e, t, n, r, i) {
2734
2734
  h = vf;
2735
2735
  break;
2736
2736
  case Wc:
2737
- h = Bf;
2737
+ h = Of;
2738
2738
  break;
2739
2739
  case "scroll":
2740
- h = ff;
2740
+ h = pf;
2741
2741
  break;
2742
2742
  case "wheel":
2743
- h = Rf;
2743
+ h = Sf;
2744
2744
  break;
2745
2745
  case "copy":
2746
2746
  case "cut":
2747
2747
  case "paste":
2748
- h = yf;
2748
+ h = bf;
2749
2749
  break;
2750
2750
  case "gotpointercapture":
2751
2751
  case "lostpointercapture":
@@ -2757,16 +2757,16 @@ function vo(e, t, n, r, i) {
2757
2757
  case "pointerup":
2758
2758
  h = qa;
2759
2759
  }
2760
- var I = (t & 4) !== 0, w = !I && e === "scroll", d = I ? f !== null ? f + "Capture" : null : f;
2761
- I = [];
2760
+ var v = (t & 4) !== 0, w = !v && e === "scroll", d = v ? f !== null ? f + "Capture" : null : f;
2761
+ v = [];
2762
2762
  for (var s = c, m; s !== null; ) {
2763
2763
  m = s;
2764
- var v = m.stateNode;
2765
- if (m.tag === 5 && v !== null && (m = v, d !== null && (v = or(s, d), v != null && I.push(gr(s, v, m)))), w)
2764
+ var I = m.stateNode;
2765
+ if (m.tag === 5 && I !== null && (m = I, d !== null && (I = or(s, d), I != null && v.push(gr(s, I, m)))), w)
2766
2766
  break;
2767
2767
  s = s.return;
2768
2768
  }
2769
- 0 < I.length && (f = new h(f, C, null, n, p), g.push({ event: f, listeners: I }));
2769
+ 0 < v.length && (f = new h(f, C, null, n, p), g.push({ event: f, listeners: v }));
2770
2770
  }
2771
2771
  }
2772
2772
  if (!(t & 7)) {
@@ -2774,40 +2774,40 @@ function vo(e, t, n, r, i) {
2774
2774
  if (f = e === "mouseover" || e === "pointerover", h = e === "mouseout" || e === "pointerout", f && n !== Do && (C = n.relatedTarget || n.fromElement) && (Ft(C) || C[st]))
2775
2775
  break e;
2776
2776
  if ((h || f) && (f = p.window === p ? p : (f = p.ownerDocument) ? f.defaultView || f.parentWindow : window, h ? (C = n.relatedTarget || n.toElement, h = c, C = C ? Ft(C) : null, C !== null && (w = Pt(C), C !== w || C.tag !== 5 && C.tag !== 6) && (C = null)) : (h = null, C = c), h !== C)) {
2777
- if (I = _a, v = "onMouseLeave", d = "onMouseEnter", s = "mouse", (e === "pointerout" || e === "pointerover") && (I = qa, v = "onPointerLeave", d = "onPointerEnter", s = "pointer"), w = h == null ? f : sn(h), m = C == null ? f : sn(C), f = new I(v, s + "leave", h, n, p), f.target = w, f.relatedTarget = m, v = null, Ft(p) === c && (I = new I(d, s + "enter", C, n, p), I.target = m, I.relatedTarget = w, v = I), w = v, h && C)
2777
+ if (v = _a, I = "onMouseLeave", d = "onMouseEnter", s = "mouse", (e === "pointerout" || e === "pointerover") && (v = qa, I = "onPointerLeave", d = "onPointerEnter", s = "pointer"), w = h == null ? f : sn(h), m = C == null ? f : sn(C), f = new v(I, s + "leave", h, n, p), f.target = w, f.relatedTarget = m, I = null, Ft(p) === c && (v = new v(d, s + "enter", C, n, p), v.target = m, v.relatedTarget = w, I = v), w = I, h && C)
2778
2778
  t: {
2779
- for (I = h, d = C, s = 0, m = I; m; m = en(m))
2779
+ for (v = h, d = C, s = 0, m = v; m; m = en(m))
2780
2780
  s++;
2781
- for (m = 0, v = d; v; v = en(v))
2781
+ for (m = 0, I = d; I; I = en(I))
2782
2782
  m++;
2783
2783
  for (; 0 < s - m; )
2784
- I = en(I), s--;
2784
+ v = en(v), s--;
2785
2785
  for (; 0 < m - s; )
2786
2786
  d = en(d), m--;
2787
2787
  for (; s--; ) {
2788
- if (I === d || d !== null && I === d.alternate)
2788
+ if (v === d || d !== null && v === d.alternate)
2789
2789
  break t;
2790
- I = en(I), d = en(d);
2790
+ v = en(v), d = en(d);
2791
2791
  }
2792
- I = null;
2792
+ v = null;
2793
2793
  }
2794
2794
  else
2795
- I = null;
2796
- h !== null && cu(g, f, h, I, !1), C !== null && w !== null && cu(g, w, C, I, !0);
2795
+ v = null;
2796
+ h !== null && cu(g, f, h, v, !1), C !== null && w !== null && cu(g, w, C, v, !0);
2797
2797
  }
2798
2798
  }
2799
2799
  e: {
2800
2800
  if (f = c ? sn(c) : window, h = f.nodeName && f.nodeName.toLowerCase(), h === "select" || h === "input" && f.type === "file")
2801
- var y = Mf;
2801
+ var y = zf;
2802
2802
  else if (nu(f))
2803
2803
  if (hc)
2804
- y = Tf;
2804
+ y = Jf;
2805
2805
  else {
2806
- y = xf;
2807
- var Z = zf;
2806
+ y = Df;
2807
+ var Z = xf;
2808
2808
  }
2809
2809
  else
2810
- (h = f.nodeName) && h.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (y = Df);
2810
+ (h = f.nodeName) && h.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (y = Tf);
2811
2811
  if (y && (y = y(e, c))) {
2812
2812
  mc(g, y, n, p);
2813
2813
  break e;
@@ -2830,7 +2830,7 @@ function vo(e, t, n, r, i) {
2830
2830
  $o = !1, au(g, n, p);
2831
2831
  break;
2832
2832
  case "selectionchange":
2833
- if (Ef)
2833
+ if (Uf)
2834
2834
  break;
2835
2835
  case "keydown":
2836
2836
  case "keyup":
@@ -2854,7 +2854,7 @@ function vo(e, t, n, r, i) {
2854
2854
  }
2855
2855
  else
2856
2856
  ln ? fc(e, n) && (L = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (L = "onCompositionStart");
2857
- L && (gc && n.locale !== "ko" && (ln || L !== "onCompositionStart" ? L === "onCompositionEnd" && ln && (W = dc()) : (It = p, xl = "value" in It ? It.value : It.textContent, ln = !0)), Z = fi(c, L), 0 < Z.length && (L = new $a(L, e, null, n, p), g.push({ event: L, listeners: Z }), W ? L.data = W : (W = pc(n), W !== null && (L.data = W)))), (W = Kf ? jf(e, n) : Vf(e, n)) && (c = fi(c, "onBeforeInput"), 0 < c.length && (p = new $a("onBeforeInput", "beforeinput", null, n, p), g.push({ event: p, listeners: c }), p.data = W));
2857
+ L && (gc && n.locale !== "ko" && (ln || L !== "onCompositionStart" ? L === "onCompositionEnd" && ln && (W = dc()) : (vt = p, xl = "value" in vt ? vt.value : vt.textContent, ln = !0)), Z = fi(c, L), 0 < Z.length && (L = new $a(L, e, null, n, p), g.push({ event: L, listeners: Z }), W ? L.data = W : (W = pc(n), W !== null && (L.data = W)))), (W = jf ? Vf(e, n) : Ff(e, n)) && (c = fi(c, "onBeforeInput"), 0 < c.length && (p = new $a("onBeforeInput", "beforeinput", null, n, p), g.push({ event: p, listeners: c }), p.data = W));
2858
2858
  }
2859
2859
  Xc(g, t);
2860
2860
  });
@@ -2886,10 +2886,10 @@ function cu(e, t, n, r, i) {
2886
2886
  }
2887
2887
  l.length !== 0 && e.push({ event: t, listeners: l });
2888
2888
  }
2889
- var $f = /\r\n?/g, qf = /\u0000|\uFFFD/g;
2889
+ var qf = /\r\n?/g, ep = /\u0000|\uFFFD/g;
2890
2890
  function du(e) {
2891
- return (typeof e == "string" ? e : "" + e).replace($f, `
2892
- `).replace(qf, "");
2891
+ return (typeof e == "string" ? e : "" + e).replace(qf, `
2892
+ `).replace(ep, "");
2893
2893
  }
2894
2894
  function jr(e, t, n) {
2895
2895
  if (t = du(t), du(e) !== t && n)
@@ -2901,15 +2901,15 @@ var qo = null, el = null;
2901
2901
  function tl(e, t) {
2902
2902
  return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null;
2903
2903
  }
2904
- var nl = typeof setTimeout == "function" ? setTimeout : void 0, ep = typeof clearTimeout == "function" ? clearTimeout : void 0, gu = typeof Promise == "function" ? Promise : void 0, tp = typeof queueMicrotask == "function" ? queueMicrotask : typeof gu < "u" ? function(e) {
2905
- return gu.resolve(null).then(e).catch(np);
2904
+ var nl = typeof setTimeout == "function" ? setTimeout : void 0, tp = typeof clearTimeout == "function" ? clearTimeout : void 0, gu = typeof Promise == "function" ? Promise : void 0, np = typeof queueMicrotask == "function" ? queueMicrotask : typeof gu < "u" ? function(e) {
2905
+ return gu.resolve(null).then(e).catch(rp);
2906
2906
  } : nl;
2907
- function np(e) {
2907
+ function rp(e) {
2908
2908
  setTimeout(function() {
2909
2909
  throw e;
2910
2910
  });
2911
2911
  }
2912
- function Io(e, t) {
2912
+ function vo(e, t) {
2913
2913
  var n = t, r = 0;
2914
2914
  do {
2915
2915
  var i = n.nextSibling;
@@ -2956,7 +2956,7 @@ function fu(e) {
2956
2956
  }
2957
2957
  return null;
2958
2958
  }
2959
- var kn = Math.random().toString(36).slice(2), Qe = "__reactFiber$" + kn, fr = "__reactProps$" + kn, st = "__reactContainer$" + kn, rl = "__reactEvents$" + kn, rp = "__reactListeners$" + kn, ip = "__reactHandles$" + kn;
2959
+ var kn = Math.random().toString(36).slice(2), Qe = "__reactFiber$" + kn, fr = "__reactProps$" + kn, st = "__reactContainer$" + kn, rl = "__reactEvents$" + kn, ip = "__reactListeners$" + kn, op = "__reactHandles$" + kn;
2960
2960
  function Ft(e) {
2961
2961
  var t = e[Qe];
2962
2962
  if (t)
@@ -3027,7 +3027,7 @@ function Yc(e, t, n) {
3027
3027
  r = r.getChildContext();
3028
3028
  for (var i in r)
3029
3029
  if (!(i in t))
3030
- throw Error(b(108, Mg(e) || "Unknown", i));
3030
+ throw Error(b(108, zg(e) || "Unknown", i));
3031
3031
  return x({}, n, r);
3032
3032
  }
3033
3033
  function hi(e) {
@@ -3043,7 +3043,7 @@ var it = null, Fi = !1, yo = !1;
3043
3043
  function Ac(e) {
3044
3044
  it === null ? it = [e] : it.push(e);
3045
3045
  }
3046
- function op(e) {
3046
+ function lp(e) {
3047
3047
  Fi = !0, Ac(e);
3048
3048
  }
3049
3049
  function St() {
@@ -3067,9 +3067,9 @@ function St() {
3067
3067
  }
3068
3068
  return null;
3069
3069
  }
3070
- var dn = [], gn = 0, Ci = null, vi = 0, Ge = [], Ye = 0, Tt = null, ot = 1, lt = "";
3070
+ var dn = [], gn = 0, Ci = null, Ii = 0, Ge = [], Ye = 0, Tt = null, ot = 1, lt = "";
3071
3071
  function jt(e, t) {
3072
- dn[gn++] = vi, dn[gn++] = Ci, Ci = e, vi = t;
3072
+ dn[gn++] = Ii, dn[gn++] = Ci, Ci = e, Ii = t;
3073
3073
  }
3074
3074
  function Nc(e, t, n) {
3075
3075
  Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Tt, Tt = e;
@@ -3089,7 +3089,7 @@ function El(e) {
3089
3089
  }
3090
3090
  function Ul(e) {
3091
3091
  for (; e === Ci; )
3092
- Ci = dn[--gn], dn[gn] = null, vi = dn[--gn], dn[gn] = null;
3092
+ Ci = dn[--gn], dn[gn] = null, Ii = dn[--gn], dn[gn] = null;
3093
3093
  for (; e === Tt; )
3094
3094
  Tt = Ge[--Ye], Ge[Ye] = null, lt = Ge[--Ye], Ge[Ye] = null, ot = Ge[--Ye], Ge[Ye] = null;
3095
3095
  }
@@ -3184,7 +3184,7 @@ function Wn() {
3184
3184
  function Pl(e) {
3185
3185
  Fe === null ? Fe = [e] : Fe.push(e);
3186
3186
  }
3187
- var lp = gt.ReactCurrentBatchConfig;
3187
+ var ap = gt.ReactCurrentBatchConfig;
3188
3188
  function je(e, t) {
3189
3189
  if (e && e.defaultProps) {
3190
3190
  t = x({}, t), e = e.defaultProps;
@@ -3194,13 +3194,13 @@ function je(e, t) {
3194
3194
  }
3195
3195
  return t;
3196
3196
  }
3197
- var Ii = Rt(null), yi = null, fn = null, _l = null;
3197
+ var vi = Rt(null), yi = null, fn = null, _l = null;
3198
3198
  function $l() {
3199
3199
  _l = fn = yi = null;
3200
3200
  }
3201
3201
  function ql(e) {
3202
- var t = Ii.current;
3203
- F(Ii), e._currentValue = t;
3202
+ var t = vi.current;
3203
+ F(vi), e._currentValue = t;
3204
3204
  }
3205
3205
  function al(e, t, n) {
3206
3206
  for (; e !== null; ) {
@@ -3265,7 +3265,7 @@ function _r(e, t, n) {
3265
3265
  r &= e.pendingLanes, n |= r, t.lanes = n, Hl(e, n);
3266
3266
  }
3267
3267
  }
3268
- function vu(e, t) {
3268
+ function Iu(e, t) {
3269
3269
  var n = e.updateQueue, r = e.alternate;
3270
3270
  if (r !== null && (r = r.updateQueue, n === r)) {
3271
3271
  var i = null, o = null;
@@ -3308,10 +3308,10 @@ function bi(e, t, n, r) {
3308
3308
  next: null
3309
3309
  });
3310
3310
  e: {
3311
- var C = e, I = a;
3312
- switch (f = t, h = n, I.tag) {
3311
+ var C = e, v = a;
3312
+ switch (f = t, h = n, v.tag) {
3313
3313
  case 1:
3314
- if (C = I.payload, typeof C == "function") {
3314
+ if (C = v.payload, typeof C == "function") {
3315
3315
  g = C.call(h, g, f);
3316
3316
  break e;
3317
3317
  }
@@ -3320,7 +3320,7 @@ function bi(e, t, n, r) {
3320
3320
  case 3:
3321
3321
  C.flags = C.flags & -65537 | 128;
3322
3322
  case 0:
3323
- if (C = I.payload, f = typeof C == "function" ? C.call(h, g, f) : C, f == null)
3323
+ if (C = v.payload, f = typeof C == "function" ? C.call(h, g, f) : C, f == null)
3324
3324
  break e;
3325
3325
  g = x({}, g, f);
3326
3326
  break e;
@@ -3347,7 +3347,7 @@ function bi(e, t, n, r) {
3347
3347
  Qt |= l, e.lanes = l, e.memoizedState = g;
3348
3348
  }
3349
3349
  }
3350
- function Iu(e, t, n) {
3350
+ function vu(e, t, n) {
3351
3351
  if (e = t.effects, t.effects = null, e !== null)
3352
3352
  for (t = 0; t < e.length; t++) {
3353
3353
  var r = e[t], i = r.callback;
@@ -3451,18 +3451,18 @@ function jc(e) {
3451
3451
  function l(d) {
3452
3452
  return e && d.alternate === null && (d.flags |= 2), d;
3453
3453
  }
3454
- function a(d, s, m, v) {
3455
- return s === null || s.tag !== 6 ? (s = Go(m, d.mode, v), s.return = d, s) : (s = i(s, m), s.return = d, s);
3454
+ function a(d, s, m, I) {
3455
+ return s === null || s.tag !== 6 ? (s = Go(m, d.mode, I), s.return = d, s) : (s = i(s, m), s.return = d, s);
3456
3456
  }
3457
- function u(d, s, m, v) {
3457
+ function u(d, s, m, I) {
3458
3458
  var y = m.type;
3459
- return y === on ? p(d, s, m.props.children, v, m.key) : s !== null && (s.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === s.type) ? (v = i(s, m.props), v.ref = jn(d, s, m), v.return = d, v) : (v = ri(m.type, m.key, m.props, null, d.mode, v), v.ref = jn(d, s, m), v.return = d, v);
3459
+ return y === on ? p(d, s, m.props.children, I, m.key) : s !== null && (s.elementType === y || typeof y == "object" && y !== null && y.$$typeof === mt && wu(y) === s.type) ? (I = i(s, m.props), I.ref = jn(d, s, m), I.return = d, I) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref = jn(d, s, m), I.return = d, I);
3460
3460
  }
3461
- function c(d, s, m, v) {
3462
- return s === null || s.tag !== 4 || s.stateNode.containerInfo !== m.containerInfo || s.stateNode.implementation !== m.implementation ? (s = Yo(m, d.mode, v), s.return = d, s) : (s = i(s, m.children || []), s.return = d, s);
3461
+ function c(d, s, m, I) {
3462
+ return s === null || s.tag !== 4 || s.stateNode.containerInfo !== m.containerInfo || s.stateNode.implementation !== m.implementation ? (s = Yo(m, d.mode, I), s.return = d, s) : (s = i(s, m.children || []), s.return = d, s);
3463
3463
  }
3464
- function p(d, s, m, v, y) {
3465
- return s === null || s.tag !== 7 ? (s = xt(m, d.mode, v, y), s.return = d, s) : (s = i(s, m), s.return = d, s);
3464
+ function p(d, s, m, I, y) {
3465
+ return s === null || s.tag !== 7 ? (s = xt(m, d.mode, I, y), s.return = d, s) : (s = i(s, m), s.return = d, s);
3466
3466
  }
3467
3467
  function g(d, s, m) {
3468
3468
  if (typeof s == "string" && s !== "" || typeof s == "number")
@@ -3474,8 +3474,8 @@ function jc(e) {
3474
3474
  case rn:
3475
3475
  return s = Yo(s, d.mode, m), s.return = d, s;
3476
3476
  case mt:
3477
- var v = s._init;
3478
- return g(d, v(s._payload), m);
3477
+ var I = s._init;
3478
+ return g(d, I(s._payload), m);
3479
3479
  }
3480
3480
  if (Dn(s) || Bn(s))
3481
3481
  return s = xt(s, d.mode, m, null), s.return = d, s;
@@ -3483,53 +3483,53 @@ function jc(e) {
3483
3483
  }
3484
3484
  return null;
3485
3485
  }
3486
- function f(d, s, m, v) {
3486
+ function f(d, s, m, I) {
3487
3487
  var y = s !== null ? s.key : null;
3488
3488
  if (typeof m == "string" && m !== "" || typeof m == "number")
3489
- return y !== null ? null : a(d, s, "" + m, v);
3489
+ return y !== null ? null : a(d, s, "" + m, I);
3490
3490
  if (typeof m == "object" && m !== null) {
3491
3491
  switch (m.$$typeof) {
3492
3492
  case Yr:
3493
- return m.key === y ? u(d, s, m, v) : null;
3493
+ return m.key === y ? u(d, s, m, I) : null;
3494
3494
  case rn:
3495
- return m.key === y ? c(d, s, m, v) : null;
3495
+ return m.key === y ? c(d, s, m, I) : null;
3496
3496
  case mt:
3497
3497
  return y = m._init, f(
3498
3498
  d,
3499
3499
  s,
3500
3500
  y(m._payload),
3501
- v
3501
+ I
3502
3502
  );
3503
3503
  }
3504
3504
  if (Dn(m) || Bn(m))
3505
- return y !== null ? null : p(d, s, m, v, null);
3505
+ return y !== null ? null : p(d, s, m, I, null);
3506
3506
  Fr(d, m);
3507
3507
  }
3508
3508
  return null;
3509
3509
  }
3510
- function h(d, s, m, v, y) {
3511
- if (typeof v == "string" && v !== "" || typeof v == "number")
3512
- return d = d.get(m) || null, a(s, d, "" + v, y);
3513
- if (typeof v == "object" && v !== null) {
3514
- switch (v.$$typeof) {
3510
+ function h(d, s, m, I, y) {
3511
+ if (typeof I == "string" && I !== "" || typeof I == "number")
3512
+ return d = d.get(m) || null, a(s, d, "" + I, y);
3513
+ if (typeof I == "object" && I !== null) {
3514
+ switch (I.$$typeof) {
3515
3515
  case Yr:
3516
- return d = d.get(v.key === null ? m : v.key) || null, u(s, d, v, y);
3516
+ return d = d.get(I.key === null ? m : I.key) || null, u(s, d, I, y);
3517
3517
  case rn:
3518
- return d = d.get(v.key === null ? m : v.key) || null, c(s, d, v, y);
3518
+ return d = d.get(I.key === null ? m : I.key) || null, c(s, d, I, y);
3519
3519
  case mt:
3520
- var Z = v._init;
3521
- return h(d, s, m, Z(v._payload), y);
3520
+ var Z = I._init;
3521
+ return h(d, s, m, Z(I._payload), y);
3522
3522
  }
3523
- if (Dn(v) || Bn(v))
3524
- return d = d.get(m) || null, p(s, d, v, y, null);
3525
- Fr(s, v);
3523
+ if (Dn(I) || Bn(I))
3524
+ return d = d.get(m) || null, p(s, d, I, y, null);
3525
+ Fr(s, I);
3526
3526
  }
3527
3527
  return null;
3528
3528
  }
3529
- function C(d, s, m, v) {
3529
+ function C(d, s, m, I) {
3530
3530
  for (var y = null, Z = null, W = s, L = s = 0, k = null; W !== null && L < m.length; L++) {
3531
3531
  W.index > L ? (k = W, W = null) : k = W.sibling;
3532
- var Y = f(d, W, m[L], v);
3532
+ var Y = f(d, W, m[L], I);
3533
3533
  if (Y === null) {
3534
3534
  W === null && (W = k);
3535
3535
  break;
@@ -3540,16 +3540,16 @@ function jc(e) {
3540
3540
  return n(d, W), H && jt(d, L), y;
3541
3541
  if (W === null) {
3542
3542
  for (; L < m.length; L++)
3543
- W = g(d, m[L], v), W !== null && (s = o(W, s, L), Z === null ? y = W : Z.sibling = W, Z = W);
3543
+ W = g(d, m[L], I), W !== null && (s = o(W, s, L), Z === null ? y = W : Z.sibling = W, Z = W);
3544
3544
  return H && jt(d, L), y;
3545
3545
  }
3546
3546
  for (W = r(d, W); L < m.length; L++)
3547
- k = h(W, d, L, m[L], v), k !== null && (e && k.alternate !== null && W.delete(k.key === null ? L : k.key), s = o(k, s, L), Z === null ? y = k : Z.sibling = k, Z = k);
3547
+ k = h(W, d, L, m[L], I), k !== null && (e && k.alternate !== null && W.delete(k.key === null ? L : k.key), s = o(k, s, L), Z === null ? y = k : Z.sibling = k, Z = k);
3548
3548
  return e && W.forEach(function(_) {
3549
3549
  return t(d, _);
3550
3550
  }), H && jt(d, L), y;
3551
3551
  }
3552
- function I(d, s, m, v) {
3552
+ function v(d, s, m, I) {
3553
3553
  var y = Bn(m);
3554
3554
  if (typeof y != "function")
3555
3555
  throw Error(b(150));
@@ -3557,7 +3557,7 @@ function jc(e) {
3557
3557
  throw Error(b(151));
3558
3558
  for (var Z = y = null, W = s, L = s = 0, k = null, Y = m.next(); W !== null && !Y.done; L++, Y = m.next()) {
3559
3559
  W.index > L ? (k = W, W = null) : k = W.sibling;
3560
- var _ = f(d, W, Y.value, v);
3560
+ var _ = f(d, W, Y.value, I);
3561
3561
  if (_ === null) {
3562
3562
  W === null && (W = k);
3563
3563
  break;
@@ -3571,16 +3571,16 @@ function jc(e) {
3571
3571
  ), H && jt(d, L), y;
3572
3572
  if (W === null) {
3573
3573
  for (; !Y.done; L++, Y = m.next())
3574
- Y = g(d, Y.value, v), Y !== null && (s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3574
+ Y = g(d, Y.value, I), Y !== null && (s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3575
3575
  return H && jt(d, L), y;
3576
3576
  }
3577
3577
  for (W = r(d, W); !Y.done; L++, Y = m.next())
3578
- Y = h(W, d, L, Y.value, v), Y !== null && (e && Y.alternate !== null && W.delete(Y.key === null ? L : Y.key), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3578
+ Y = h(W, d, L, Y.value, I), Y !== null && (e && Y.alternate !== null && W.delete(Y.key === null ? L : Y.key), s = o(Y, s, L), Z === null ? y = Y : Z.sibling = Y, Z = Y);
3579
3579
  return e && W.forEach(function(xe) {
3580
3580
  return t(d, xe);
3581
3581
  }), H && jt(d, L), y;
3582
3582
  }
3583
- function w(d, s, m, v) {
3583
+ function w(d, s, m, I) {
3584
3584
  if (typeof m == "object" && m !== null && m.type === on && m.key === null && (m = m.props.children), typeof m == "object" && m !== null) {
3585
3585
  switch (m.$$typeof) {
3586
3586
  case Yr:
@@ -3602,7 +3602,7 @@ function jc(e) {
3602
3602
  t(d, Z);
3603
3603
  Z = Z.sibling;
3604
3604
  }
3605
- m.type === on ? (s = xt(m.props.children, d.mode, v, m.key), s.return = d, d = s) : (v = ri(m.type, m.key, m.props, null, d.mode, v), v.ref = jn(d, s, m), v.return = d, d = v);
3605
+ m.type === on ? (s = xt(m.props.children, d.mode, I, m.key), s.return = d, d = s) : (I = ri(m.type, m.key, m.props, null, d.mode, I), I.ref = jn(d, s, m), I.return = d, d = I);
3606
3606
  }
3607
3607
  return l(d);
3608
3608
  case rn:
@@ -3620,19 +3620,19 @@ function jc(e) {
3620
3620
  t(d, s);
3621
3621
  s = s.sibling;
3622
3622
  }
3623
- s = Yo(m, d.mode, v), s.return = d, d = s;
3623
+ s = Yo(m, d.mode, I), s.return = d, d = s;
3624
3624
  }
3625
3625
  return l(d);
3626
3626
  case mt:
3627
- return Z = m._init, w(d, s, Z(m._payload), v);
3627
+ return Z = m._init, w(d, s, Z(m._payload), I);
3628
3628
  }
3629
3629
  if (Dn(m))
3630
- return C(d, s, m, v);
3630
+ return C(d, s, m, I);
3631
3631
  if (Bn(m))
3632
- return I(d, s, m, v);
3632
+ return v(d, s, m, I);
3633
3633
  Fr(d, m);
3634
3634
  }
3635
- return typeof m == "string" && m !== "" || typeof m == "number" ? (m = "" + m, s !== null && s.tag === 6 ? (n(d, s.sibling), s = i(s, m), s.return = d, d = s) : (n(d, s), s = Go(m, d.mode, v), s.return = d, d = s), l(d)) : n(d, s);
3635
+ return typeof m == "string" && m !== "" || typeof m == "number" ? (m = "" + m, s !== null && s.tag === 6 ? (n(d, s.sibling), s = i(s, m), s.return = d, d = s) : (n(d, s), s = Go(m, d.mode, I), s.return = d, d = s), l(d)) : n(d, s);
3636
3636
  }
3637
3637
  return w;
3638
3638
  }
@@ -3695,7 +3695,7 @@ function ia() {
3695
3695
  bo[e]._workInProgressVersionPrimary = null;
3696
3696
  bo.length = 0;
3697
3697
  }
3698
- var $r = gt.ReactCurrentDispatcher, wo = gt.ReactCurrentBatchConfig, Jt = 0, z = null, U = null, $ = null, Zi = !1, $n = !1, hr = 0, ap = 0;
3698
+ var $r = gt.ReactCurrentDispatcher, wo = gt.ReactCurrentBatchConfig, Jt = 0, z = null, U = null, $ = null, Zi = !1, $n = !1, hr = 0, up = 0;
3699
3699
  function re() {
3700
3700
  throw Error(b(321));
3701
3701
  }
@@ -3708,12 +3708,12 @@ function oa(e, t) {
3708
3708
  return !0;
3709
3709
  }
3710
3710
  function la(e, t, n, r, i, o) {
3711
- if (Jt = o, z = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, $r.current = e === null || e.memoizedState === null ? dp : gp, e = n(r, i), $n) {
3711
+ if (Jt = o, z = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, $r.current = e === null || e.memoizedState === null ? gp : fp, e = n(r, i), $n) {
3712
3712
  o = 0;
3713
3713
  do {
3714
3714
  if ($n = !1, hr = 0, 25 <= o)
3715
3715
  throw Error(b(301));
3716
- o += 1, $ = U = null, t.updateQueue = null, $r.current = fp, e = n(r, i);
3716
+ o += 1, $ = U = null, t.updateQueue = null, $r.current = pp, e = n(r, i);
3717
3717
  } while ($n);
3718
3718
  }
3719
3719
  if ($r.current = Wi, t = U !== null && U.next !== null, Jt = 0, $ = U = z = null, Zi = !1, t)
@@ -3811,7 +3811,7 @@ function Hc() {
3811
3811
  function Mc(e, t) {
3812
3812
  var n = z, r = Be(), i = t(), o = !ze(r.memoizedState, i);
3813
3813
  if (o && (r.memoizedState = i, pe = !0), r = r.queue, ua(Dc.bind(null, n, r, e), [e]), r.getSnapshot !== t || o || $ !== null && $.memoizedState.tag & 1) {
3814
- if (n.flags |= 2048, vr(9, xc.bind(null, n, r, i, t), void 0, null), q === null)
3814
+ if (n.flags |= 2048, Ir(9, xc.bind(null, n, r, i, t), void 0, null), q === null)
3815
3815
  throw Error(b(349));
3816
3816
  Jt & 30 || zc(n, t, i);
3817
3817
  }
@@ -3844,9 +3844,9 @@ function Jc(e) {
3844
3844
  }
3845
3845
  function Zu(e) {
3846
3846
  var t = Je();
3847
- return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Cr, lastRenderedState: e }, t.queue = e, e = e.dispatch = cp.bind(null, z, e), [t.memoizedState, e];
3847
+ return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Cr, lastRenderedState: e }, t.queue = e, e = e.dispatch = dp.bind(null, z, e), [t.memoizedState, e];
3848
3848
  }
3849
- function vr(e, t, n, r) {
3849
+ function Ir(e, t, n, r) {
3850
3850
  return e = { tag: e, create: t, destroy: n, deps: r, next: null }, t = z.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, z.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e)), e;
3851
3851
  }
3852
3852
  function Qc() {
@@ -3854,7 +3854,7 @@ function Qc() {
3854
3854
  }
3855
3855
  function qr(e, t, n, r) {
3856
3856
  var i = Je();
3857
- z.flags |= e, i.memoizedState = vr(1 | t, n, void 0, r === void 0 ? null : r);
3857
+ z.flags |= e, i.memoizedState = Ir(1 | t, n, void 0, r === void 0 ? null : r);
3858
3858
  }
3859
3859
  function Mi(e, t, n, r) {
3860
3860
  var i = Be();
@@ -3863,11 +3863,11 @@ function Mi(e, t, n, r) {
3863
3863
  if (U !== null) {
3864
3864
  var l = U.memoizedState;
3865
3865
  if (o = l.destroy, r !== null && oa(r, l.deps)) {
3866
- i.memoizedState = vr(t, n, o, r);
3866
+ i.memoizedState = Ir(t, n, o, r);
3867
3867
  return;
3868
3868
  }
3869
3869
  }
3870
- z.flags |= e, i.memoizedState = vr(1 | t, n, o, r);
3870
+ z.flags |= e, i.memoizedState = Ir(1 | t, n, o, r);
3871
3871
  }
3872
3872
  function Wu(e, t) {
3873
3873
  return qr(8390656, 8, e, t);
@@ -3911,7 +3911,7 @@ function qc(e, t) {
3911
3911
  function ed(e, t, n) {
3912
3912
  return Jt & 21 ? (ze(n, t) || (n = rc(), z.lanes |= n, Qt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, pe = !0), e.memoizedState = n);
3913
3913
  }
3914
- function up(e, t) {
3914
+ function sp(e, t) {
3915
3915
  var n = S;
3916
3916
  S = n !== 0 && 4 > n ? n : 4, e(!0);
3917
3917
  var r = wo.transition;
@@ -3925,7 +3925,7 @@ function up(e, t) {
3925
3925
  function td() {
3926
3926
  return Be().memoizedState;
3927
3927
  }
3928
- function sp(e, t, n) {
3928
+ function cp(e, t, n) {
3929
3929
  var r = Gt(e);
3930
3930
  if (n = { lane: r, action: n, hasEagerState: !1, eagerState: null, next: null }, nd(e))
3931
3931
  rd(t, n);
@@ -3934,7 +3934,7 @@ function sp(e, t, n) {
3934
3934
  Me(n, e, r, i), id(n, t, r);
3935
3935
  }
3936
3936
  }
3937
- function cp(e, t, n) {
3937
+ function dp(e, t, n) {
3938
3938
  var r = Gt(e), i = { lane: r, action: n, hasEagerState: !1, eagerState: null, next: null };
3939
3939
  if (nd(e))
3940
3940
  rd(t, i);
@@ -3969,7 +3969,7 @@ function id(e, t, n) {
3969
3969
  r &= e.pendingLanes, n |= r, t.lanes = n, Hl(e, n);
3970
3970
  }
3971
3971
  }
3972
- var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useImperativeHandle: re, useInsertionEffect: re, useLayoutEffect: re, useMemo: re, useReducer: re, useRef: re, useState: re, useDebugValue: re, useDeferredValue: re, useTransition: re, useMutableSource: re, useSyncExternalStore: re, useId: re, unstable_isNewReconciler: !1 }, dp = { readContext: ke, useCallback: function(e, t) {
3972
+ var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useImperativeHandle: re, useInsertionEffect: re, useLayoutEffect: re, useMemo: re, useReducer: re, useRef: re, useState: re, useDebugValue: re, useDeferredValue: re, useTransition: re, useMutableSource: re, useSyncExternalStore: re, useId: re, unstable_isNewReconciler: !1 }, gp = { readContext: ke, useCallback: function(e, t) {
3973
3973
  return Je().memoizedState = [e, t === void 0 ? null : t], e;
3974
3974
  }, useContext: ke, useEffect: Wu, useImperativeHandle: function(e, t, n) {
3975
3975
  return n = n != null ? n.concat([e]) : null, qr(
@@ -3987,7 +3987,7 @@ var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useI
3987
3987
  return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
3988
3988
  }, useReducer: function(e, t, n) {
3989
3989
  var r = Je();
3990
- return t = n !== void 0 ? n(t) : t, r.memoizedState = r.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, r.queue = e, e = e.dispatch = sp.bind(null, z, e), [r.memoizedState, e];
3990
+ return t = n !== void 0 ? n(t) : t, r.memoizedState = r.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, r.queue = e, e = e.dispatch = cp.bind(null, z, e), [r.memoizedState, e];
3991
3991
  }, useRef: function(e) {
3992
3992
  var t = Je();
3993
3993
  return e = { current: e }, t.memoizedState = e;
@@ -3995,7 +3995,7 @@ var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useI
3995
3995
  return Je().memoizedState = e;
3996
3996
  }, useTransition: function() {
3997
3997
  var e = Zu(!1), t = e[0];
3998
- return e = up.bind(null, e[1]), Je().memoizedState = e, [t, e];
3998
+ return e = sp.bind(null, e[1]), Je().memoizedState = e, [t, e];
3999
3999
  }, useMutableSource: function() {
4000
4000
  }, useSyncExternalStore: function(e, t, n) {
4001
4001
  var r = z, i = Je();
@@ -4015,16 +4015,16 @@ var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useI
4015
4015
  r,
4016
4016
  o,
4017
4017
  e
4018
- ), [e]), r.flags |= 2048, vr(9, xc.bind(null, r, o, n, t), void 0, null), n;
4018
+ ), [e]), r.flags |= 2048, Ir(9, xc.bind(null, r, o, n, t), void 0, null), n;
4019
4019
  }, useId: function() {
4020
4020
  var e = Je(), t = q.identifierPrefix;
4021
4021
  if (H) {
4022
4022
  var n = lt, r = ot;
4023
4023
  n = (r & ~(1 << 32 - He(r) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = hr++, 0 < n && (t += "H" + n.toString(32)), t += ":";
4024
4024
  } else
4025
- n = ap++, t = ":" + t + "r" + n.toString(32) + ":";
4025
+ n = up++, t = ":" + t + "r" + n.toString(32) + ":";
4026
4026
  return e.memoizedState = t;
4027
- }, unstable_isNewReconciler: !1 }, gp = {
4027
+ }, unstable_isNewReconciler: !1 }, fp = {
4028
4028
  readContext: ke,
4029
4029
  useCallback: $c,
4030
4030
  useContext: ke,
@@ -4051,7 +4051,7 @@ var Wi = { readContext: ke, useCallback: re, useContext: re, useEffect: re, useI
4051
4051
  useSyncExternalStore: Mc,
4052
4052
  useId: td,
4053
4053
  unstable_isNewReconciler: !1
4054
- }, fp = { readContext: ke, useCallback: $c, useContext: ke, useEffect: ua, useImperativeHandle: _c, useInsertionEffect: Ec, useLayoutEffect: Uc, useMemo: qc, useReducer: Wo, useRef: Qc, useState: function() {
4054
+ }, pp = { readContext: ke, useCallback: $c, useContext: ke, useEffect: ua, useImperativeHandle: _c, useInsertionEffect: Ec, useLayoutEffect: Uc, useMemo: qc, useReducer: Wo, useRef: Qc, useState: function() {
4055
4055
  return Wo(Cr);
4056
4056
  }, useDebugValue: sa, useDeferredValue: function(e) {
4057
4057
  var t = Be();
@@ -4064,7 +4064,7 @@ function Gn(e, t) {
4064
4064
  try {
4065
4065
  var n = "", r = t;
4066
4066
  do
4067
- n += Hg(r), r = r.return;
4067
+ n += Mg(r), r = r.return;
4068
4068
  while (r);
4069
4069
  var i = n;
4070
4070
  } catch (o) {
@@ -4086,7 +4086,7 @@ function cl(e, t) {
4086
4086
  });
4087
4087
  }
4088
4088
  }
4089
- var pp = typeof WeakMap == "function" ? WeakMap : Map;
4089
+ var mp = typeof WeakMap == "function" ? WeakMap : Map;
4090
4090
  function od(e, t, n) {
4091
4091
  n = at(-1, n), n.tag = 3, n.payload = { element: null };
4092
4092
  var r = t.value;
@@ -4115,12 +4115,12 @@ function ld(e, t, n) {
4115
4115
  function Lu(e, t, n) {
4116
4116
  var r = e.pingCache;
4117
4117
  if (r === null) {
4118
- r = e.pingCache = new pp();
4118
+ r = e.pingCache = new mp();
4119
4119
  var i = /* @__PURE__ */ new Set();
4120
4120
  r.set(t, i);
4121
4121
  } else
4122
4122
  i = r.get(t), i === void 0 && (i = /* @__PURE__ */ new Set(), r.set(t, i));
4123
- i.has(n) || (i.add(n), e = Yp.bind(null, e, t, n), t.then(e, e));
4123
+ i.has(n) || (i.add(n), e = Ap.bind(null, e, t, n), t.then(e, e));
4124
4124
  }
4125
4125
  function Xu(e) {
4126
4126
  do {
@@ -4134,7 +4134,7 @@ function Xu(e) {
4134
4134
  function Gu(e, t, n, r, i) {
4135
4135
  return e.mode & 1 ? (e.flags |= 65536, e.lanes = i, e) : (e === t ? e.flags |= 65536 : (e.flags |= 128, n.flags |= 131072, n.flags &= -52805, n.tag === 1 && (n.alternate === null ? n.tag = 17 : (t = at(-1, 1), t.tag = 2, Lt(n, t, 1))), n.lanes |= 1), e);
4136
4136
  }
4137
- var mp = gt.ReactCurrentOwner, pe = !1;
4137
+ var hp = gt.ReactCurrentOwner, pe = !1;
4138
4138
  function se(e, t, n, r) {
4139
4139
  t.child = e === null ? Vc(t, null, n, r) : Ln(t, e.child, n, r);
4140
4140
  }
@@ -4219,7 +4219,7 @@ function gl(e, t, n, r, i, o) {
4219
4219
  var l = (t.flags & 128) !== 0;
4220
4220
  if (!r && !l)
4221
4221
  return i && mu(t, n, !1), dt(e, t, o);
4222
- r = t.stateNode, mp.current = t;
4222
+ r = t.stateNode, hp.current = t;
4223
4223
  var a = l && typeof n.getDerivedStateFromError != "function" ? null : r.render();
4224
4224
  return t.flags |= 1, e !== null && l ? (t.child = Ln(t, e.child, null, o), t.child = Ln(t, null, a, o)) : se(e, t, a, o), t.memoizedState = r.state, i && mu(t, n, !0), t.child;
4225
4225
  }
@@ -4239,7 +4239,7 @@ function dd(e, t, n) {
4239
4239
  if ((a = l) || (a = e !== null && e.memoizedState === null ? !1 : (i & 2) !== 0), a ? (o = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (i |= 1), j(M, i & 1), e === null)
4240
4240
  return ll(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (l = r.children, e = r.fallback, o ? (r = t.mode, o = t.child, l = { mode: "hidden", children: l }, !(r & 1) && o !== null ? (o.childLanes = 0, o.pendingProps = l) : o = Di(l, r, 0, null), e = xt(e, r, n, null), o.return = t, e.return = t, o.sibling = e, t.child = o, t.child.memoizedState = pl(n), t.memoizedState = fl, e) : ca(t, l));
4241
4241
  if (i = e.memoizedState, i !== null && (a = i.dehydrated, a !== null))
4242
- return hp(e, t, l, r, a, i, n);
4242
+ return Cp(e, t, l, r, a, i, n);
4243
4243
  if (o) {
4244
4244
  o = r.fallback, l = t.mode, i = e.child, a = i.sibling;
4245
4245
  var u = { mode: "hidden", children: r.children };
@@ -4253,7 +4253,7 @@ function ca(e, t) {
4253
4253
  function Hr(e, t, n, r) {
4254
4254
  return r !== null && Pl(r), Ln(t, e.child, null, n), e = ca(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
4255
4255
  }
4256
- function hp(e, t, n, r, i, o, l) {
4256
+ function Cp(e, t, n, r, i, o, l) {
4257
4257
  if (n)
4258
4258
  return t.flags & 256 ? (t.flags &= -257, r = Lo(Error(b(422))), Hr(e, t, l, r)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (o = r.fallback, i = t.mode, r = Di({ mode: "visible", children: r.children }, i, 0, null), o = xt(o, i, l, null), o.flags |= 2, r.return = t, o.return = t, r.sibling = o, t.child = r, t.mode & 1 && Ln(t, e.child, null, l), t.child.memoizedState = pl(l), t.memoizedState = fl, o);
4259
4259
  if (!(t.mode & 1))
@@ -4305,7 +4305,7 @@ function hp(e, t, n, r, i, o, l) {
4305
4305
  }
4306
4306
  return ha(), r = Lo(Error(b(421))), Hr(e, t, l, r);
4307
4307
  }
4308
- return i.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Ap.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, be = Wt(i.nextSibling), Ze = t, H = !0, Fe = null, e !== null && (Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Tt, ot = e.id, lt = e.overflow, Tt = t), t = ca(t, r.children), t.flags |= 4096, t);
4308
+ return i.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Np.bind(null, e), i._reactRetry = t, null) : (e = o.treeContext, be = Wt(i.nextSibling), Ze = t, H = !0, Fe = null, e !== null && (Ge[Ye++] = ot, Ge[Ye++] = lt, Ge[Ye++] = Tt, ot = e.id, lt = e.overflow, Tt = t), t = ca(t, r.children), t.flags |= 4096, t);
4309
4309
  }
4310
4310
  function Bu(e, t, n) {
4311
4311
  e.lanes |= t;
@@ -4385,7 +4385,7 @@ function dt(e, t, n) {
4385
4385
  }
4386
4386
  return t.child;
4387
4387
  }
4388
- function Cp(e, t, n) {
4388
+ function Ip(e, t, n) {
4389
4389
  switch (t.tag) {
4390
4390
  case 3:
4391
4391
  cd(t), Wn();
@@ -4401,7 +4401,7 @@ function Cp(e, t, n) {
4401
4401
  break;
4402
4402
  case 10:
4403
4403
  var r = t.type._context, i = t.memoizedProps.value;
4404
- j(Ii, r._currentValue), r._currentValue = i;
4404
+ j(vi, r._currentValue), r._currentValue = i;
4405
4405
  break;
4406
4406
  case 13:
4407
4407
  if (r = t.memoizedState, r !== null)
@@ -4794,7 +4794,7 @@ function vp(e, t, n) {
4794
4794
  }
4795
4795
  throw Error(b(156, t.tag));
4796
4796
  }
4797
- function Ip(e, t) {
4797
+ function yp(e, t) {
4798
4798
  switch (Ul(t), t.tag) {
4799
4799
  case 1:
4800
4800
  return he(t.type) && mi(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
@@ -4824,7 +4824,7 @@ function Ip(e, t) {
4824
4824
  return null;
4825
4825
  }
4826
4826
  }
4827
- var Mr = !1, le = !1, yp = typeof WeakSet == "function" ? WeakSet : Set, G = null;
4827
+ var Mr = !1, le = !1, bp = typeof WeakSet == "function" ? WeakSet : Set, G = null;
4828
4828
  function pn(e, t) {
4829
4829
  var n = e.ref;
4830
4830
  if (n !== null)
@@ -4845,8 +4845,8 @@ function hl(e, t, n) {
4845
4845
  }
4846
4846
  }
4847
4847
  var Ou = !1;
4848
- function bp(e, t) {
4849
- if (qo = di, e = Ic(), Ql(e)) {
4848
+ function wp(e, t) {
4849
+ if (qo = di, e = vc(), Ql(e)) {
4850
4850
  if ("selectionStart" in e)
4851
4851
  var n = { start: e.selectionStart, end: e.selectionEnd };
4852
4852
  else
@@ -4900,7 +4900,7 @@ function bp(e, t) {
4900
4900
  break;
4901
4901
  case 1:
4902
4902
  if (C !== null) {
4903
- var I = C.memoizedProps, w = C.memoizedState, d = t.stateNode, s = d.getSnapshotBeforeUpdate(t.elementType === t.type ? I : je(t.type, I), w);
4903
+ var v = C.memoizedProps, w = C.memoizedState, d = t.stateNode, s = d.getSnapshotBeforeUpdate(t.elementType === t.type ? v : je(t.type, v), w);
4904
4904
  d.__reactInternalSnapshotBeforeUpdate = s;
4905
4905
  }
4906
4906
  break;
@@ -4916,8 +4916,8 @@ function bp(e, t) {
4916
4916
  default:
4917
4917
  throw Error(b(163));
4918
4918
  }
4919
- } catch (v) {
4920
- D(t, t.return, v);
4919
+ } catch (I) {
4920
+ D(t, t.return, I);
4921
4921
  }
4922
4922
  if (e = t.sibling, e !== null) {
4923
4923
  e.return = t.return, G = e;
@@ -4968,7 +4968,7 @@ function Cl(e) {
4968
4968
  }
4969
4969
  function hd(e) {
4970
4970
  var t = e.alternate;
4971
- t !== null && (e.alternate = null, hd(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Qe], delete t[fr], delete t[rl], delete t[rp], delete t[ip])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
4971
+ t !== null && (e.alternate = null, hd(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Qe], delete t[fr], delete t[rl], delete t[ip], delete t[op])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
4972
4972
  }
4973
4973
  function Cd(e) {
4974
4974
  return e.tag === 5 || e.tag === 3 || e.tag === 4;
@@ -4990,28 +4990,28 @@ function Ru(e) {
4990
4990
  return e.stateNode;
4991
4991
  }
4992
4992
  }
4993
- function vl(e, t, n) {
4993
+ function Il(e, t, n) {
4994
4994
  var r = e.tag;
4995
4995
  if (r === 5 || r === 6)
4996
4996
  e = e.stateNode, t ? n.nodeType === 8 ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (n.nodeType === 8 ? (t = n.parentNode, t.insertBefore(e, n)) : (t = n, t.appendChild(e)), n = n._reactRootContainer, n != null || t.onclick !== null || (t.onclick = pi));
4997
4997
  else if (r !== 4 && (e = e.child, e !== null))
4998
- for (vl(e, t, n), e = e.sibling; e !== null; )
4999
- vl(e, t, n), e = e.sibling;
4998
+ for (Il(e, t, n), e = e.sibling; e !== null; )
4999
+ Il(e, t, n), e = e.sibling;
5000
5000
  }
5001
- function Il(e, t, n) {
5001
+ function vl(e, t, n) {
5002
5002
  var r = e.tag;
5003
5003
  if (r === 5 || r === 6)
5004
5004
  e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e);
5005
5005
  else if (r !== 4 && (e = e.child, e !== null))
5006
- for (Il(e, t, n), e = e.sibling; e !== null; )
5007
- Il(e, t, n), e = e.sibling;
5006
+ for (vl(e, t, n), e = e.sibling; e !== null; )
5007
+ vl(e, t, n), e = e.sibling;
5008
5008
  }
5009
5009
  var ee = null, Ve = !1;
5010
5010
  function pt(e, t, n) {
5011
5011
  for (n = n.child; n !== null; )
5012
- vd(e, t, n), n = n.sibling;
5012
+ Id(e, t, n), n = n.sibling;
5013
5013
  }
5014
- function vd(e, t, n) {
5014
+ function Id(e, t, n) {
5015
5015
  if (Ue && typeof Ue.onCommitFiberUnmount == "function")
5016
5016
  try {
5017
5017
  Ue.onCommitFiberUnmount(Ri, n);
@@ -5025,7 +5025,7 @@ function vd(e, t, n) {
5025
5025
  ee = null, pt(e, t, n), ee = r, Ve = i, ee !== null && (Ve ? (e = ee, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : ee.removeChild(n.stateNode));
5026
5026
  break;
5027
5027
  case 18:
5028
- ee !== null && (Ve ? (e = ee, n = n.stateNode, e.nodeType === 8 ? Io(e.parentNode, n) : e.nodeType === 1 && Io(e, n), ur(e)) : Io(ee, n.stateNode));
5028
+ ee !== null && (Ve ? (e = ee, n = n.stateNode, e.nodeType === 8 ? vo(e.parentNode, n) : e.nodeType === 1 && vo(e, n), ur(e)) : vo(ee, n.stateNode));
5029
5029
  break;
5030
5030
  case 4:
5031
5031
  r = ee, i = Ve, ee = n.stateNode.containerInfo, Ve = !0, pt(e, t, n), ee = r, Ve = i;
@@ -5067,8 +5067,8 @@ function Su(e) {
5067
5067
  if (t !== null) {
5068
5068
  e.updateQueue = null;
5069
5069
  var n = e.stateNode;
5070
- n === null && (n = e.stateNode = new yp()), t.forEach(function(r) {
5071
- var i = Np.bind(null, e, r);
5070
+ n === null && (n = e.stateNode = new bp()), t.forEach(function(r) {
5071
+ var i = kp.bind(null, e, r);
5072
5072
  n.has(r) || (n.add(r), r.then(i, i));
5073
5073
  });
5074
5074
  }
@@ -5097,7 +5097,7 @@ function Se(e, t) {
5097
5097
  }
5098
5098
  if (ee === null)
5099
5099
  throw Error(b(160));
5100
- vd(o, l, i), ee = null, Ve = !1;
5100
+ Id(o, l, i), ee = null, Ve = !1;
5101
5101
  var u = i.alternate;
5102
5102
  u !== null && (u.return = null), i.return = null;
5103
5103
  } catch (c) {
@@ -5106,9 +5106,9 @@ function Se(e, t) {
5106
5106
  }
5107
5107
  if (t.subtreeFlags & 12854)
5108
5108
  for (t = t.child; t !== null; )
5109
- Id(t, e), t = t.sibling;
5109
+ vd(t, e), t = t.sibling;
5110
5110
  }
5111
- function Id(e, t) {
5111
+ function vd(e, t) {
5112
5112
  var n = e.alternate, r = e.flags;
5113
5113
  switch (e.tag) {
5114
5114
  case 0:
@@ -5118,13 +5118,13 @@ function Id(e, t) {
5118
5118
  if (Se(t, e), De(e), r & 4) {
5119
5119
  try {
5120
5120
  qn(3, e, e.return), zi(3, e);
5121
- } catch (I) {
5122
- D(e, e.return, I);
5121
+ } catch (v) {
5122
+ D(e, e.return, v);
5123
5123
  }
5124
5124
  try {
5125
5125
  qn(5, e, e.return);
5126
- } catch (I) {
5127
- D(e, e.return, I);
5126
+ } catch (v) {
5127
+ D(e, e.return, v);
5128
5128
  }
5129
5129
  }
5130
5130
  break;
@@ -5136,8 +5136,8 @@ function Id(e, t) {
5136
5136
  var i = e.stateNode;
5137
5137
  try {
5138
5138
  ir(i, "");
5139
- } catch (I) {
5140
- D(e, e.return, I);
5139
+ } catch (v) {
5140
+ D(e, e.return, v);
5141
5141
  }
5142
5142
  }
5143
5143
  if (r & 4 && (i = e.stateNode, i != null)) {
@@ -5169,8 +5169,8 @@ function Id(e, t) {
5169
5169
  ) : hn(i, !!o.multiple, o.multiple ? [] : "", !1));
5170
5170
  }
5171
5171
  i[fr] = o;
5172
- } catch (I) {
5173
- D(e, e.return, I);
5172
+ } catch (v) {
5173
+ D(e, e.return, v);
5174
5174
  }
5175
5175
  }
5176
5176
  break;
@@ -5181,8 +5181,8 @@ function Id(e, t) {
5181
5181
  i = e.stateNode, o = e.memoizedProps;
5182
5182
  try {
5183
5183
  i.nodeValue = o;
5184
- } catch (I) {
5185
- D(e, e.return, I);
5184
+ } catch (v) {
5185
+ D(e, e.return, v);
5186
5186
  }
5187
5187
  }
5188
5188
  break;
@@ -5190,8 +5190,8 @@ function Id(e, t) {
5190
5190
  if (Se(t, e), De(e), r & 4 && n !== null && n.memoizedState.isDehydrated)
5191
5191
  try {
5192
5192
  ur(t.containerInfo);
5193
- } catch (I) {
5194
- D(e, e.return, I);
5193
+ } catch (v) {
5194
+ D(e, e.return, v);
5195
5195
  }
5196
5196
  break;
5197
5197
  case 4:
@@ -5219,8 +5219,8 @@ function Id(e, t) {
5219
5219
  r = f, n = f.return;
5220
5220
  try {
5221
5221
  t = r, C.props = t.memoizedProps, C.state = t.memoizedState, C.componentWillUnmount();
5222
- } catch (I) {
5223
- D(r, n, I);
5222
+ } catch (v) {
5223
+ D(r, n, v);
5224
5224
  }
5225
5225
  }
5226
5226
  break;
@@ -5244,16 +5244,16 @@ function Id(e, t) {
5244
5244
  p = g;
5245
5245
  try {
5246
5246
  i = g.stateNode, c ? (o = i.style, typeof o.setProperty == "function" ? o.setProperty("display", "none", "important") : o.display = "none") : (a = g.stateNode, u = g.memoizedProps.style, l = u != null && u.hasOwnProperty("display") ? u.display : null, a.style.display = Ds("display", l));
5247
- } catch (I) {
5248
- D(e, e.return, I);
5247
+ } catch (v) {
5248
+ D(e, e.return, v);
5249
5249
  }
5250
5250
  }
5251
5251
  } else if (g.tag === 6) {
5252
5252
  if (p === null)
5253
5253
  try {
5254
5254
  g.stateNode.nodeValue = c ? "" : g.memoizedProps;
5255
- } catch (I) {
5256
- D(e, e.return, I);
5255
+ } catch (v) {
5256
+ D(e, e.return, v);
5257
5257
  }
5258
5258
  } else if ((g.tag !== 22 && g.tag !== 23 || g.memoizedState === null || g === e) && g.child !== null) {
5259
5259
  g.child.return = g, g = g.child;
@@ -5301,12 +5301,12 @@ function De(e) {
5301
5301
  var i = r.stateNode;
5302
5302
  r.flags & 32 && (ir(i, ""), r.flags &= -33);
5303
5303
  var o = Ru(e);
5304
- Il(e, o, i);
5304
+ vl(e, o, i);
5305
5305
  break;
5306
5306
  case 3:
5307
5307
  case 4:
5308
5308
  var l = r.stateNode.containerInfo, a = Ru(e);
5309
- vl(e, a, l);
5309
+ Il(e, a, l);
5310
5310
  break;
5311
5311
  default:
5312
5312
  throw Error(b(161));
@@ -5318,7 +5318,7 @@ function De(e) {
5318
5318
  }
5319
5319
  t & 4096 && (e.flags &= -4097);
5320
5320
  }
5321
- function wp(e, t, n) {
5321
+ function Zp(e, t, n) {
5322
5322
  G = e, yd(e);
5323
5323
  }
5324
5324
  function yd(e, t, n) {
@@ -5365,7 +5365,7 @@ function Ku(e) {
5365
5365
  r.componentDidUpdate(i, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate);
5366
5366
  }
5367
5367
  var o = t.updateQueue;
5368
- o !== null && Iu(t, o, r);
5368
+ o !== null && vu(t, o, r);
5369
5369
  break;
5370
5370
  case 3:
5371
5371
  var l = t.updateQueue;
@@ -5378,7 +5378,7 @@ function Ku(e) {
5378
5378
  case 1:
5379
5379
  n = t.child.stateNode;
5380
5380
  }
5381
- Iu(t, l, n);
5381
+ vu(t, l, n);
5382
5382
  }
5383
5383
  break;
5384
5384
  case 5:
@@ -5512,27 +5512,27 @@ function Vu(e) {
5512
5512
  G = t.return;
5513
5513
  }
5514
5514
  }
5515
- var Zp = Math.ceil, Li = gt.ReactCurrentDispatcher, da = gt.ReactCurrentOwner, Ne = gt.ReactCurrentBatchConfig, R = 0, q = null, E = null, te = 0, ye = 0, mn = Rt(0), P = 0, Ir = null, Qt = 0, xi = 0, ga = 0, er = null, fe = null, fa = 0, Yn = 1 / 0, rt = null, Xi = !1, yl = null, Xt = null, zr = !1, yt = null, Gi = 0, tr = 0, bl = null, ti = -1, ni = 0;
5515
+ var Wp = Math.ceil, Li = gt.ReactCurrentDispatcher, da = gt.ReactCurrentOwner, Ne = gt.ReactCurrentBatchConfig, R = 0, q = null, E = null, te = 0, ye = 0, mn = Rt(0), P = 0, vr = null, Qt = 0, xi = 0, ga = 0, er = null, fe = null, fa = 0, Yn = 1 / 0, rt = null, Xi = !1, yl = null, Xt = null, zr = !1, yt = null, Gi = 0, tr = 0, bl = null, ti = -1, ni = 0;
5516
5516
  function ce() {
5517
5517
  return R & 6 ? T() : ti !== -1 ? ti : ti = T();
5518
5518
  }
5519
5519
  function Gt(e) {
5520
- return e.mode & 1 ? R & 2 && te !== 0 ? te & -te : lp.transition !== null ? (ni === 0 && (ni = rc()), ni) : (e = S, e !== 0 || (e = window.event, e = e === void 0 ? 16 : cc(e.type)), e) : 1;
5520
+ return e.mode & 1 ? R & 2 && te !== 0 ? te & -te : ap.transition !== null ? (ni === 0 && (ni = rc()), ni) : (e = S, e !== 0 || (e = window.event, e = e === void 0 ? 16 : cc(e.type)), e) : 1;
5521
5521
  }
5522
5522
  function Me(e, t, n, r) {
5523
5523
  if (50 < tr)
5524
5524
  throw tr = 0, bl = null, Error(b(185));
5525
- br(e, n, r), (!(R & 2) || e !== q) && (e === q && (!(R & 2) && (xi |= n), P === 4 && vt(e, te)), Ce(e, r), n === 1 && R === 0 && !(t.mode & 1) && (Yn = T() + 500, Fi && St()));
5525
+ br(e, n, r), (!(R & 2) || e !== q) && (e === q && (!(R & 2) && (xi |= n), P === 4 && It(e, te)), Ce(e, r), n === 1 && R === 0 && !(t.mode & 1) && (Yn = T() + 500, Fi && St()));
5526
5526
  }
5527
5527
  function Ce(e, t) {
5528
5528
  var n = e.callbackNode;
5529
- lf(e, t);
5529
+ af(e, t);
5530
5530
  var r = ci(e, e === q ? te : 0);
5531
5531
  if (r === 0)
5532
5532
  n !== null && Qa(n), e.callbackNode = null, e.callbackPriority = 0;
5533
5533
  else if (t = r & -r, e.callbackPriority !== t) {
5534
5534
  if (n != null && Qa(n), t === 1)
5535
- e.tag === 0 ? op(Fu.bind(null, e)) : Ac(Fu.bind(null, e)), tp(function() {
5535
+ e.tag === 0 ? lp(Fu.bind(null, e)) : Ac(Fu.bind(null, e)), np(function() {
5536
5536
  !(R & 6) && St();
5537
5537
  }), n = null;
5538
5538
  else {
@@ -5576,7 +5576,7 @@ function bd(e, t) {
5576
5576
  (q !== e || te !== t) && (rt = null, Yn = T() + 500, zt(e, t));
5577
5577
  do
5578
5578
  try {
5579
- Xp();
5579
+ Gp();
5580
5580
  break;
5581
5581
  } catch (a) {
5582
5582
  wd(e, a);
@@ -5586,12 +5586,12 @@ function bd(e, t) {
5586
5586
  }
5587
5587
  if (t !== 0) {
5588
5588
  if (t === 2 && (i = Eo(e), i !== 0 && (r = i, t = wl(e, i))), t === 1)
5589
- throw n = Ir, zt(e, 0), vt(e, r), Ce(e, T()), n;
5589
+ throw n = vr, zt(e, 0), It(e, r), Ce(e, T()), n;
5590
5590
  if (t === 6)
5591
- vt(e, r);
5591
+ It(e, r);
5592
5592
  else {
5593
- if (i = e.current.alternate, !(r & 30) && !Wp(i) && (t = Yi(e, r), t === 2 && (o = Eo(e), o !== 0 && (r = o, t = wl(e, o))), t === 1))
5594
- throw n = Ir, zt(e, 0), vt(e, r), Ce(e, T()), n;
5593
+ if (i = e.current.alternate, !(r & 30) && !Lp(i) && (t = Yi(e, r), t === 2 && (o = Eo(e), o !== 0 && (r = o, t = wl(e, o))), t === 1))
5594
+ throw n = vr, zt(e, 0), It(e, r), Ce(e, T()), n;
5595
5595
  switch (e.finishedWork = i, e.finishedLanes = r, t) {
5596
5596
  case 0:
5597
5597
  case 1:
@@ -5600,7 +5600,7 @@ function bd(e, t) {
5600
5600
  Vt(e, fe, rt);
5601
5601
  break;
5602
5602
  case 3:
5603
- if (vt(e, r), (r & 130023424) === r && (t = fa + 500 - T(), 10 < t)) {
5603
+ if (It(e, r), (r & 130023424) === r && (t = fa + 500 - T(), 10 < t)) {
5604
5604
  if (ci(e, 0) !== 0)
5605
5605
  break;
5606
5606
  if (i = e.suspendedLanes, (i & r) !== r) {
@@ -5613,13 +5613,13 @@ function bd(e, t) {
5613
5613
  Vt(e, fe, rt);
5614
5614
  break;
5615
5615
  case 4:
5616
- if (vt(e, r), (r & 4194240) === r)
5616
+ if (It(e, r), (r & 4194240) === r)
5617
5617
  break;
5618
5618
  for (t = e.eventTimes, i = -1; 0 < r; ) {
5619
5619
  var l = 31 - He(r);
5620
5620
  o = 1 << l, l = t[l], l > i && (i = l), r &= ~o;
5621
5621
  }
5622
- if (r = i, r = T() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Zp(r / 1960)) - r, 10 < r) {
5622
+ if (r = i, r = T() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * Wp(r / 1960)) - r, 10 < r) {
5623
5623
  e.timeoutHandle = nl(Vt.bind(null, e, fe, rt), r);
5624
5624
  break;
5625
5625
  }
@@ -5642,7 +5642,7 @@ function wl(e, t) {
5642
5642
  function Zl(e) {
5643
5643
  fe === null ? fe = e : fe.push.apply(fe, e);
5644
5644
  }
5645
- function Wp(e) {
5645
+ function Lp(e) {
5646
5646
  for (var t = e; ; ) {
5647
5647
  if (t.flags & 16384) {
5648
5648
  var n = t.updateQueue;
@@ -5673,7 +5673,7 @@ function Wp(e) {
5673
5673
  }
5674
5674
  return !0;
5675
5675
  }
5676
- function vt(e, t) {
5676
+ function It(e, t) {
5677
5677
  for (t &= ~ga, t &= ~xi, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t; ) {
5678
5678
  var n = 31 - He(t), r = 1 << n;
5679
5679
  e[n] = -1, t &= ~r;
@@ -5692,7 +5692,7 @@ function Fu(e) {
5692
5692
  r !== 0 && (t = r, n = wl(e, r));
5693
5693
  }
5694
5694
  if (n === 1)
5695
- throw n = Ir, zt(e, 0), vt(e, t), Ce(e, T()), n;
5695
+ throw n = vr, zt(e, 0), It(e, t), Ce(e, T()), n;
5696
5696
  if (n === 6)
5697
5697
  throw Error(b(345));
5698
5698
  return e.finishedWork = e.current.alternate, e.finishedLanes = t, Vt(e, fe, rt), Ce(e, T()), null;
@@ -5724,7 +5724,7 @@ function ma() {
5724
5724
  function zt(e, t) {
5725
5725
  e.finishedWork = null, e.finishedLanes = 0;
5726
5726
  var n = e.timeoutHandle;
5727
- if (n !== -1 && (e.timeoutHandle = -1, ep(n)), E !== null)
5727
+ if (n !== -1 && (e.timeoutHandle = -1, tp(n)), E !== null)
5728
5728
  for (n = E.return; n !== null; ) {
5729
5729
  var r = n;
5730
5730
  switch (Ul(r), r.tag) {
@@ -5755,7 +5755,7 @@ function zt(e, t) {
5755
5755
  }
5756
5756
  n = n.return;
5757
5757
  }
5758
- if (q = e, E = e = Yt(e.current, null), te = ye = t, P = 0, Ir = null, ga = xi = Qt = 0, fe = er = null, Ht !== null) {
5758
+ if (q = e, E = e = Yt(e.current, null), te = ye = t, P = 0, vr = null, ga = xi = Qt = 0, fe = er = null, Ht !== null) {
5759
5759
  for (t = 0; t < Ht.length; t++)
5760
5760
  if (n = Ht[t], r = n.interleaved, r !== null) {
5761
5761
  n.interleaved = null;
@@ -5782,7 +5782,7 @@ function wd(e, t) {
5782
5782
  Zi = !1;
5783
5783
  }
5784
5784
  if (Jt = 0, $ = U = z = null, $n = !1, hr = 0, da.current = null, n === null || n.return === null) {
5785
- P = 1, Ir = t, E = null;
5785
+ P = 1, vr = t, E = null;
5786
5786
  break;
5787
5787
  }
5788
5788
  e: {
@@ -5798,8 +5798,8 @@ function wd(e, t) {
5798
5798
  h.flags &= -257, Gu(h, l, a, o, t), h.mode & 1 && Lu(o, c, t), t = h, u = c;
5799
5799
  var C = t.updateQueue;
5800
5800
  if (C === null) {
5801
- var I = /* @__PURE__ */ new Set();
5802
- I.add(u), t.updateQueue = I;
5801
+ var v = /* @__PURE__ */ new Set();
5802
+ v.add(u), t.updateQueue = v;
5803
5803
  } else
5804
5804
  C.add(u);
5805
5805
  break e;
@@ -5823,15 +5823,15 @@ function wd(e, t) {
5823
5823
  case 3:
5824
5824
  o.flags |= 65536, t &= -t, o.lanes |= t;
5825
5825
  var d = od(o, u, t);
5826
- vu(o, d);
5826
+ Iu(o, d);
5827
5827
  break e;
5828
5828
  case 1:
5829
5829
  a = u;
5830
5830
  var s = o.type, m = o.stateNode;
5831
5831
  if (!(o.flags & 128) && (typeof s.getDerivedStateFromError == "function" || m !== null && typeof m.componentDidCatch == "function" && (Xt === null || !Xt.has(m)))) {
5832
5832
  o.flags |= 65536, t &= -t, o.lanes |= t;
5833
- var v = ld(o, a, t);
5834
- vu(o, v);
5833
+ var I = ld(o, a, t);
5834
+ Iu(o, I);
5835
5835
  break e;
5836
5836
  }
5837
5837
  }
@@ -5851,7 +5851,7 @@ function Zd() {
5851
5851
  return Li.current = Wi, e === null ? Wi : e;
5852
5852
  }
5853
5853
  function ha() {
5854
- (P === 0 || P === 3 || P === 2) && (P = 4), q === null || !(Qt & 268435455) && !(xi & 268435455) || vt(q, te);
5854
+ (P === 0 || P === 3 || P === 2) && (P = 4), q === null || !(Qt & 268435455) && !(xi & 268435455) || It(q, te);
5855
5855
  }
5856
5856
  function Yi(e, t) {
5857
5857
  var n = R;
@@ -5860,7 +5860,7 @@ function Yi(e, t) {
5860
5860
  (q !== e || te !== t) && (rt = null, zt(e, t));
5861
5861
  do
5862
5862
  try {
5863
- Lp();
5863
+ Xp();
5864
5864
  break;
5865
5865
  } catch (i) {
5866
5866
  wd(e, i);
@@ -5870,12 +5870,12 @@ function Yi(e, t) {
5870
5870
  throw Error(b(261));
5871
5871
  return q = null, te = 0, P;
5872
5872
  }
5873
- function Lp() {
5873
+ function Xp() {
5874
5874
  for (; E !== null; )
5875
5875
  Wd(E);
5876
5876
  }
5877
- function Xp() {
5878
- for (; E !== null && !Pg(); )
5877
+ function Gp() {
5878
+ for (; E !== null && !_g(); )
5879
5879
  Wd(E);
5880
5880
  }
5881
5881
  function Wd(e) {
@@ -5887,7 +5887,7 @@ function Ld(e) {
5887
5887
  do {
5888
5888
  var n = t.alternate;
5889
5889
  if (e = t.return, t.flags & 32768) {
5890
- if (n = Ip(n, t), n !== null) {
5890
+ if (n = yp(n, t), n !== null) {
5891
5891
  n.flags &= 32767, E = n;
5892
5892
  return;
5893
5893
  }
@@ -5912,13 +5912,13 @@ function Ld(e) {
5912
5912
  function Vt(e, t, n) {
5913
5913
  var r = S, i = Ne.transition;
5914
5914
  try {
5915
- Ne.transition = null, S = 1, Gp(e, t, n, r);
5915
+ Ne.transition = null, S = 1, Yp(e, t, n, r);
5916
5916
  } finally {
5917
5917
  Ne.transition = i, S = r;
5918
5918
  }
5919
5919
  return null;
5920
5920
  }
5921
- function Gp(e, t, n, r) {
5921
+ function Yp(e, t, n, r) {
5922
5922
  do
5923
5923
  bn();
5924
5924
  while (yt !== null);
@@ -5932,17 +5932,17 @@ function Gp(e, t, n, r) {
5932
5932
  throw Error(b(177));
5933
5933
  e.callbackNode = null, e.callbackPriority = 0;
5934
5934
  var o = n.lanes | n.childLanes;
5935
- if (af(e, o), e === q && (E = q = null, te = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || zr || (zr = !0, Yd(si, function() {
5935
+ if (uf(e, o), e === q && (E = q = null, te = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || zr || (zr = !0, Yd(si, function() {
5936
5936
  return bn(), null;
5937
5937
  })), o = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || o) {
5938
5938
  o = Ne.transition, Ne.transition = null;
5939
5939
  var l = S;
5940
5940
  S = 1;
5941
5941
  var a = R;
5942
- R |= 4, da.current = null, bp(e, n), Id(n, e), Qf(el), di = !!qo, el = qo = null, e.current = n, wp(n), _g(), R = a, S = l, Ne.transition = o;
5942
+ R |= 4, da.current = null, wp(e, n), vd(n, e), Ef(el), di = !!qo, el = qo = null, e.current = n, Zp(n), $g(), R = a, S = l, Ne.transition = o;
5943
5943
  } else
5944
5944
  e.current = n;
5945
- if (zr && (zr = !1, yt = e, Gi = i), o = e.pendingLanes, o === 0 && (Xt = null), ef(n.stateNode), Ce(e, T()), t !== null)
5945
+ if (zr && (zr = !1, yt = e, Gi = i), o = e.pendingLanes, o === 0 && (Xt = null), tf(n.stateNode), Ce(e, T()), t !== null)
5946
5946
  for (r = e.onRecoverableError, n = 0; n < t.length; n++)
5947
5947
  i = t[n], r(i.value, { componentStack: i.stack, digest: i.digest });
5948
5948
  if (Xi)
@@ -5995,13 +5995,13 @@ function bn() {
5995
5995
  }
5996
5996
  var C = o.alternate;
5997
5997
  if (C !== null) {
5998
- var I = C.child;
5999
- if (I !== null) {
5998
+ var v = C.child;
5999
+ if (v !== null) {
6000
6000
  C.child = null;
6001
6001
  do {
6002
- var w = I.sibling;
6003
- I.sibling = null, I = w;
6004
- } while (I !== null);
6002
+ var w = v.sibling;
6003
+ v.sibling = null, v = w;
6004
+ } while (v !== null);
6005
6005
  }
6006
6006
  }
6007
6007
  G = o;
@@ -6051,9 +6051,9 @@ function bn() {
6051
6051
  G = null;
6052
6052
  break e;
6053
6053
  }
6054
- var v = a.sibling;
6055
- if (v !== null) {
6056
- v.return = a.return, G = v;
6054
+ var I = a.sibling;
6055
+ if (I !== null) {
6056
+ I.return = a.return, G = I;
6057
6057
  break e;
6058
6058
  }
6059
6059
  G = a.return;
@@ -6094,7 +6094,7 @@ function D(e, t, n) {
6094
6094
  t = t.return;
6095
6095
  }
6096
6096
  }
6097
- function Yp(e, t, n) {
6097
+ function Ap(e, t, n) {
6098
6098
  var r = e.pingCache;
6099
6099
  r !== null && r.delete(t), t = ce(), e.pingedLanes |= e.suspendedLanes & n, q === e && (te & n) === n && (P === 4 || P === 3 && (te & 130023424) === te && 500 > T() - fa ? zt(e, 0) : ga |= n), Ce(e, t);
6100
6100
  }
@@ -6103,11 +6103,11 @@ function Xd(e, t) {
6103
6103
  var n = ce();
6104
6104
  e = ct(e, t), e !== null && (br(e, t, n), Ce(e, n));
6105
6105
  }
6106
- function Ap(e) {
6106
+ function Np(e) {
6107
6107
  var t = e.memoizedState, n = 0;
6108
6108
  t !== null && (n = t.retryLane), Xd(e, n);
6109
6109
  }
6110
- function Np(e, t) {
6110
+ function kp(e, t) {
6111
6111
  var n = 0;
6112
6112
  switch (e.tag) {
6113
6113
  case 13:
@@ -6129,11 +6129,11 @@ Gd = function(e, t, n) {
6129
6129
  pe = !0;
6130
6130
  else {
6131
6131
  if (!(e.lanes & n) && !(t.flags & 128))
6132
- return pe = !1, Cp(e, t, n);
6132
+ return pe = !1, Ip(e, t, n);
6133
6133
  pe = !!(e.flags & 131072);
6134
6134
  }
6135
6135
  else
6136
- pe = !1, H && t.flags & 1048576 && Nc(t, vi, t.index);
6136
+ pe = !1, H && t.flags & 1048576 && Nc(t, Ii, t.index);
6137
6137
  switch (t.lanes = 0, t.tag) {
6138
6138
  case 2:
6139
6139
  var r = t.type;
@@ -6145,7 +6145,7 @@ Gd = function(e, t, n) {
6145
6145
  case 16:
6146
6146
  r = t.elementType;
6147
6147
  e: {
6148
- switch (ei(e, t), e = t.pendingProps, i = r._init, r = i(r._payload), t.type = r, i = t.tag = Bp(r), e = je(r, e), i) {
6148
+ switch (ei(e, t), e = t.pendingProps, i = r._init, r = i(r._payload), t.type = r, i = t.tag = Op(r), e = je(r, e), i) {
6149
6149
  case 0:
6150
6150
  t = dl(null, t, r, e, n);
6151
6151
  break e;
@@ -6214,7 +6214,7 @@ Gd = function(e, t, n) {
6214
6214
  return se(e, t, t.pendingProps.children, n), t.child;
6215
6215
  case 10:
6216
6216
  e: {
6217
- if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, l = i.value, j(Ii, r._currentValue), r._currentValue = l, o !== null)
6217
+ if (r = t.type._context, i = t.pendingProps, o = t.memoizedProps, l = i.value, j(vi, r._currentValue), r._currentValue = l, o !== null)
6218
6218
  if (ze(o.value, l)) {
6219
6219
  if (o.children === i.children && !me.current) {
6220
6220
  t = dt(e, t, n);
@@ -6290,16 +6290,16 @@ Gd = function(e, t, n) {
6290
6290
  function Yd(e, t) {
6291
6291
  return ec(e, t);
6292
6292
  }
6293
- function kp(e, t, n, r) {
6293
+ function Bp(e, t, n, r) {
6294
6294
  this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
6295
6295
  }
6296
6296
  function Ae(e, t, n, r) {
6297
- return new kp(e, t, n, r);
6297
+ return new Bp(e, t, n, r);
6298
6298
  }
6299
6299
  function Ca(e) {
6300
6300
  return e = e.prototype, !(!e || !e.isReactComponent);
6301
6301
  }
6302
- function Bp(e) {
6302
+ function Op(e) {
6303
6303
  if (typeof e == "function")
6304
6304
  return Ca(e) ? 1 : 0;
6305
6305
  if (e != null) {
@@ -6371,13 +6371,13 @@ function Go(e, t, n) {
6371
6371
  function Yo(e, t, n) {
6372
6372
  return t = Ae(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;
6373
6373
  }
6374
- function Op(e, t, n, r, i) {
6374
+ function Rp(e, t, n, r, i) {
6375
6375
  this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = ao(0), this.expirationTimes = ao(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = ao(0), this.identifierPrefix = r, this.onRecoverableError = i, this.mutableSourceEagerHydrationData = null;
6376
6376
  }
6377
- function va(e, t, n, r, i, o, l, a, u) {
6378
- return e = new Op(e, t, n, a, u), t === 1 ? (t = 1, o === !0 && (t |= 8)) : t = 0, o = Ae(3, null, null, t), e.current = o, o.stateNode = e, o.memoizedState = { element: r, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, ta(o), e;
6377
+ function Ia(e, t, n, r, i, o, l, a, u) {
6378
+ return e = new Rp(e, t, n, a, u), t === 1 ? (t = 1, o === !0 && (t |= 8)) : t = 0, o = Ae(3, null, null, t), e.current = o, o.stateNode = e, o.memoizedState = { element: r, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, ta(o), e;
6379
6379
  }
6380
- function Rp(e, t, n) {
6380
+ function Sp(e, t, n) {
6381
6381
  var r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
6382
6382
  return { $$typeof: rn, key: r == null ? null : "" + r, children: e, containerInfo: t, implementation: n };
6383
6383
  }
@@ -6412,7 +6412,7 @@ function Ad(e) {
6412
6412
  return t;
6413
6413
  }
6414
6414
  function Nd(e, t, n, r, i, o, l, a, u) {
6415
- return e = va(n, r, !0, e, i, o, l, a, u), e.context = Ad(null), n = e.current, r = ce(), i = Gt(n), o = at(r, i), o.callback = t ?? null, Lt(n, o, i), e.current.lanes = i, br(e, i, r), Ce(e, r), e;
6415
+ return e = Ia(n, r, !0, e, i, o, l, a, u), e.context = Ad(null), n = e.current, r = ce(), i = Gt(n), o = at(r, i), o.callback = t ?? null, Lt(n, o, i), e.current.lanes = i, br(e, i, r), Ce(e, r), e;
6416
6416
  }
6417
6417
  function Ti(e, t, n, r) {
6418
6418
  var i = t.current, o = ce(), l = Gt(i);
@@ -6434,10 +6434,10 @@ function Mu(e, t) {
6434
6434
  e.retryLane = n !== 0 && n < t ? n : t;
6435
6435
  }
6436
6436
  }
6437
- function Ia(e, t) {
6437
+ function va(e, t) {
6438
6438
  Mu(e, t), (e = e.alternate) && Mu(e, t);
6439
6439
  }
6440
- function Sp() {
6440
+ function Kp() {
6441
6441
  return null;
6442
6442
  }
6443
6443
  var kd = typeof reportError == "function" ? reportError : function(e) {
@@ -6482,7 +6482,7 @@ function Qi(e) {
6482
6482
  }
6483
6483
  function zu() {
6484
6484
  }
6485
- function Kp(e, t, n, r, i) {
6485
+ function jp(e, t, n, r, i) {
6486
6486
  if (i) {
6487
6487
  if (typeof r == "function") {
6488
6488
  var o = r;
@@ -6503,7 +6503,7 @@ function Kp(e, t, n, r, i) {
6503
6503
  a.call(c);
6504
6504
  };
6505
6505
  }
6506
- var u = va(e, 0, !1, null, null, !1, !1, "", zu);
6506
+ var u = Ia(e, 0, !1, null, null, !1, !1, "", zu);
6507
6507
  return e._reactRootContainer = u, e[st] = u.current, dr(e.nodeType === 8 ? e.parentNode : e), Et(function() {
6508
6508
  Ti(t, u, n, r);
6509
6509
  }), u;
@@ -6521,7 +6521,7 @@ function Ei(e, t, n, r, i) {
6521
6521
  }
6522
6522
  Ti(t, l, e, i);
6523
6523
  } else
6524
- l = Kp(n, t, e, i, r);
6524
+ l = jp(n, t, e, i, r);
6525
6525
  return Ai(l);
6526
6526
  }
6527
6527
  oc = function(e) {
@@ -6540,7 +6540,7 @@ oc = function(e) {
6540
6540
  var i = ce();
6541
6541
  Me(r, e, 1, i);
6542
6542
  }
6543
- }), Ia(e, 1);
6543
+ }), va(e, 1);
6544
6544
  }
6545
6545
  };
6546
6546
  Ml = function(e) {
@@ -6550,7 +6550,7 @@ Ml = function(e) {
6550
6550
  var n = ce();
6551
6551
  Me(t, e, 134217728, n);
6552
6552
  }
6553
- Ia(e, 134217728);
6553
+ va(e, 134217728);
6554
6554
  }
6555
6555
  };
6556
6556
  lc = function(e) {
@@ -6560,7 +6560,7 @@ lc = function(e) {
6560
6560
  var r = ce();
6561
6561
  Me(n, e, t, r);
6562
6562
  }
6563
- Ia(e, t);
6563
+ va(e, t);
6564
6564
  }
6565
6565
  };
6566
6566
  ac = function() {
@@ -6600,29 +6600,29 @@ To = function(e, t, n) {
6600
6600
  };
6601
6601
  Es = pa;
6602
6602
  Us = Et;
6603
- var jp = { usingClientEntryPoint: !1, Events: [Zr, sn, Vi, Js, Qs, pa] }, Fn = { findFiberByHostInstance: Ft, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, Vp = { bundleType: Fn.bundleType, version: Fn.version, rendererPackageName: Fn.rendererPackageName, rendererConfig: Fn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: gt.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6603
+ var Vp = { usingClientEntryPoint: !1, Events: [Zr, sn, Vi, Js, Qs, pa] }, Fn = { findFiberByHostInstance: Ft, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, Fp = { bundleType: Fn.bundleType, version: Fn.version, rendererPackageName: Fn.rendererPackageName, rendererConfig: Fn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: gt.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
6604
6604
  return e = $s(e), e === null ? null : e.stateNode;
6605
- }, findFiberByHostInstance: Fn.findFiberByHostInstance || Sp, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6605
+ }, findFiberByHostInstance: Fn.findFiberByHostInstance || Kp, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
6606
6606
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
6607
6607
  var xr = __REACT_DEVTOOLS_GLOBAL_HOOK__;
6608
6608
  if (!xr.isDisabled && xr.supportsFiber)
6609
6609
  try {
6610
- Ri = xr.inject(Vp), Ue = xr;
6610
+ Ri = xr.inject(Fp), Ue = xr;
6611
6611
  } catch {
6612
6612
  }
6613
6613
  }
6614
- Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = jp;
6614
+ Le.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Vp;
6615
6615
  Le.createPortal = function(e, t) {
6616
6616
  var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
6617
6617
  if (!ba(t))
6618
6618
  throw Error(b(200));
6619
- return Rp(e, t, null, n);
6619
+ return Sp(e, t, null, n);
6620
6620
  };
6621
6621
  Le.createRoot = function(e, t) {
6622
6622
  if (!ba(e))
6623
6623
  throw Error(b(299));
6624
6624
  var n = !1, r = "", i = kd;
6625
- return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (i = t.onRecoverableError)), t = va(e, 1, !1, null, null, n, !1, r, i), e[st] = t.current, dr(e.nodeType === 8 ? e.parentNode : e), new ya(t);
6625
+ return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (i = t.onRecoverableError)), t = Ia(e, 1, !1, null, null, n, !1, r, i), e[st] = t.current, dr(e.nodeType === 8 ? e.parentNode : e), new ya(t);
6626
6626
  };
6627
6627
  Le.findDOMNode = function(e) {
6628
6628
  if (e == null)
@@ -6686,9 +6686,9 @@ function Bd() {
6686
6686
  }
6687
6687
  }
6688
6688
  Bd(), Ns.exports = Le;
6689
- var Fp = Ns.exports, Od, xu = Fp;
6689
+ var Hp = Ns.exports, Od, xu = Hp;
6690
6690
  Od = xu.createRoot, xu.hydrateRoot;
6691
- const Hp = "data:text/css;base64,Lm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQpIGE6bGFzdC1vZi10eXBlIHsKICBkaXNwbGF5OiBub25lOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", Mp = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpOwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTsKICBmb250LXNpemU6IDAuODc1cmVtOwogIGdhcDogMDsKICBsaW5lLWhlaWdodDogMS41Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9faWNvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5tZW51LS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IGJsb2NrOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC5tZW51LS11bmF1dGhlbnRpY2F0ZWQgewogICAgZGlzcGxheTogbm9uZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogICAgZGlzcGxheTogZmxleDsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTYpOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9fbGFiZWwgewogICAgZGlzcGxheTogaW5saW5lOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb246bm90KC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS1hdXRoZW50aWNhdGVkKSA+IC5idXR0b25fX2ljb24tcmlnaHQgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkgewogIC5zcGlubmVyOjphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBtYXJnaW46IGF1dG87CiAgICBhbmltYXRpb246IHNwaW4gMXMgZWFzZSBpbmZpbml0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgaW5zZXQ6IDA7CiAgfQoKICBAa2V5ZnJhbWVzIHNwaW4gewogICAgZnJvbSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KCiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0K", zp = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250LXNpemU6IDEuMjVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMS4yNTsKfQoKLmZvcm0tLXRjX19kZXNjcmlwdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5mb3JtLS10Y19fbGFiZWwgewogIGZvbnQtc2l6ZTogMXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGxpbmUtaGVpZ2h0OiAxLjM3NTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS4zNzU7Cn0KCi5mb3JtLS10Y19fZXJyb3IgewogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNik7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi5idXR0b24tLXRlcm1zLWFuZC1jb25kaXRpb25zIHsKICB3aWR0aDogYXV0bzsKfQo=", xp = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`;
6691
+ const Mp = "data:text/css;base64,Lm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQsIC5ib3UtbWVudS1pdGVtKSBhOmxhc3Qtb2YtdHlwZSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJvdS1tZW51X19saXN0IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", zp = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpOwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTsKICBmb250LXNpemU6IDAuODc1cmVtOwogIGdhcDogMDsKICBsaW5lLWhlaWdodDogMS41Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19sYWJlbCB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9faWNvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQgewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5tZW51LS11bmF1dGhlbnRpY2F0ZWQgewogIGRpc3BsYXk6IGJsb2NrOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC5tZW51LS11bmF1dGhlbnRpY2F0ZWQgewogICAgZGlzcGxheTogbm9uZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS11bmF1dGhlbnRpY2F0ZWQgewogICAgZGlzcGxheTogZmxleDsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTYpOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb24gLmJ1dHRvbl9fbGFiZWwgewogICAgZGlzcGxheTogaW5saW5lOwogIH0KCiAgLmJ1dHRvbi0tYXV0aGVudGljYXRpb246bm90KC5idXR0b24tLWF1dGhlbnRpY2F0aW9uLS1hdXRoZW50aWNhdGVkKSA+IC5idXR0b25fX2ljb24tcmlnaHQgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkgewogIC5zcGlubmVyOjphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTZweDsKICAgIGhlaWdodDogMTZweDsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBtYXJnaW46IGF1dG87CiAgICBhbmltYXRpb246IHNwaW4gMXMgZWFzZSBpbmZpbml0ZTsKICAgIGNvbnRlbnQ6ICcnOwogICAgaW5zZXQ6IDA7CiAgfQoKICBAa2V5ZnJhbWVzIHNwaW4gewogICAgZnJvbSB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDB0dXJuKTsKICAgIH0KCiAgICB0byB7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsKICAgIH0KICB9Cn0K", xp = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250LXNpemU6IDEuMjVyZW07CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBsaW5lLWhlaWdodDogMS4yNTsKfQoKLmZvcm0tLXRjX19kZXNjcmlwdGlvbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi5mb3JtLS10Y19fbGFiZWwgewogIGZvbnQtc2l6ZTogMXJlbTsKICBmb250LXdlaWdodDogNTAwOwogIGxpbmUtaGVpZ2h0OiAxLjM3NTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQtc2l6ZTogMXJlbTsKICBsaW5lLWhlaWdodDogMS4zNzU7Cn0KCi5mb3JtLS10Y19fZXJyb3IgewogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNik7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KCi5idXR0b24tLXRlcm1zLWFuZC1jb25kaXRpb25zIHsKICB3aWR0aDogYXV0bzsKfQo=", Dp = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`;
6692
6692
  function At(e) {
6693
6693
  if (e === void 0)
6694
6694
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -6724,12 +6724,12 @@ function _e(e) {
6724
6724
  return n.__proto__ || Object.getPrototypeOf(n);
6725
6725
  }, _e(e);
6726
6726
  }
6727
- function Dp(e) {
6727
+ function Tp(e) {
6728
6728
  if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null)
6729
6729
  return Array.from(e);
6730
6730
  }
6731
- function Tp(e) {
6732
- return Ls(e) || Dp(e) || Xs(e) || Gs();
6731
+ function Jp(e) {
6732
+ return Ls(e) || Tp(e) || Xs(e) || Gs();
6733
6733
  }
6734
6734
  function Du(e, t) {
6735
6735
  var n = Object.keys(e);
@@ -6752,7 +6752,7 @@ function Tu(e) {
6752
6752
  }
6753
6753
  return e;
6754
6754
  }
6755
- var Jp = {
6755
+ var Qp = {
6756
6756
  type: "logger",
6757
6757
  log: function(t) {
6758
6758
  this.output("log", t);
@@ -6766,7 +6766,7 @@ var Jp = {
6766
6766
  output: function(t, n) {
6767
6767
  console && console[t] && console[t].apply(console, n);
6768
6768
  }
6769
- }, Qp = function() {
6769
+ }, Ep = function() {
6770
6770
  function e(t) {
6771
6771
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6772
6772
  Oe(this, e), this.init(t, n);
@@ -6775,7 +6775,7 @@ var Jp = {
6775
6775
  key: "init",
6776
6776
  value: function(n) {
6777
6777
  var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
6778
- this.prefix = r.prefix || "i18next:", this.logger = n || Jp, this.options = r, this.debug = r.debug;
6778
+ this.prefix = r.prefix || "i18next:", this.logger = n || Qp, this.options = r, this.debug = r.debug;
6779
6779
  }
6780
6780
  }, {
6781
6781
  key: "setDebug",
@@ -6828,7 +6828,7 @@ var Jp = {
6828
6828
  return n = n || this.options, n.prefix = n.prefix || this.prefix, new e(this.logger, n);
6829
6829
  }
6830
6830
  }]), e;
6831
- }(), Ee = new Qp(), Bt = function() {
6831
+ }(), Ee = new Ep(), Bt = function() {
6832
6832
  function e() {
6833
6833
  Oe(this, e), this.observers = {};
6834
6834
  }
@@ -6882,7 +6882,7 @@ function Hn() {
6882
6882
  function Ju(e) {
6883
6883
  return e == null ? "" : "" + e;
6884
6884
  }
6885
- function Ep(e, t, n) {
6885
+ function Up(e, t, n) {
6886
6886
  e.forEach(function(r) {
6887
6887
  t[r] && (n[r] = t[r]);
6888
6888
  });
@@ -6909,7 +6909,7 @@ function Qu(e, t, n) {
6909
6909
  var r = wa(e, t, Object), i = r.obj, o = r.k;
6910
6910
  i[o] = n;
6911
6911
  }
6912
- function Up(e, t, n, r) {
6912
+ function Pp(e, t, n, r) {
6913
6913
  var i = wa(e, t, Object), o = i.obj, l = i.k;
6914
6914
  o[l] = o[l] || [], r && (o[l] = o[l].concat(n)), r || o[l].push(n);
6915
6915
  }
@@ -6918,7 +6918,7 @@ function Ni(e, t) {
6918
6918
  if (r)
6919
6919
  return r[i];
6920
6920
  }
6921
- function Pp(e, t, n) {
6921
+ function _p(e, t, n) {
6922
6922
  var r = Ni(e, n);
6923
6923
  return r !== void 0 ? r : Ni(t, n);
6924
6924
  }
@@ -6930,7 +6930,7 @@ function Rd(e, t, n) {
6930
6930
  function tn(e) {
6931
6931
  return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
6932
6932
  }
6933
- var _p = {
6933
+ var $p = {
6934
6934
  "&": "&amp;",
6935
6935
  "<": "&lt;",
6936
6936
  ">": "&gt;",
@@ -6938,15 +6938,15 @@ var _p = {
6938
6938
  "'": "&#39;",
6939
6939
  "/": "&#x2F;"
6940
6940
  };
6941
- function $p(e) {
6941
+ function qp(e) {
6942
6942
  return typeof e == "string" ? e.replace(/[&<>"'\/]/g, function(t) {
6943
- return _p[t];
6943
+ return $p[t];
6944
6944
  }) : e;
6945
6945
  }
6946
- var Pi = typeof window < "u" && window.navigator && typeof window.navigator.userAgentData > "u" && window.navigator.userAgent && window.navigator.userAgent.indexOf("MSIE") > -1, qp = [" ", ",", "?", "!", ";"];
6947
- function em(e, t, n) {
6946
+ var Pi = typeof window < "u" && window.navigator && typeof window.navigator.userAgentData > "u" && window.navigator.userAgent && window.navigator.userAgent.indexOf("MSIE") > -1, em = [" ", ",", "?", "!", ";"];
6947
+ function tm(e, t, n) {
6948
6948
  t = t || "", n = n || "";
6949
- var r = qp.filter(function(a) {
6949
+ var r = em.filter(function(a) {
6950
6950
  return t.indexOf(a) < 0 && n.indexOf(a) < 0;
6951
6951
  });
6952
6952
  if (r.length === 0)
@@ -7010,8 +7010,8 @@ function Dr(e) {
7010
7010
  }
7011
7011
  return e;
7012
7012
  }
7013
- function tm(e) {
7014
- var t = nm();
7013
+ function nm(e) {
7014
+ var t = rm();
7015
7015
  return function() {
7016
7016
  var r = _e(e), i;
7017
7017
  if (t) {
@@ -7022,7 +7022,7 @@ function tm(e) {
7022
7022
  return Lr(this, i);
7023
7023
  };
7024
7024
  }
7025
- function nm() {
7025
+ function rm() {
7026
7026
  if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
7027
7027
  return !1;
7028
7028
  if (typeof Proxy == "function")
@@ -7034,9 +7034,9 @@ function nm() {
7034
7034
  return !1;
7035
7035
  }
7036
7036
  }
7037
- var rm = function(e) {
7037
+ var im = function(e) {
7038
7038
  Ui(n, e);
7039
- var t = tm(n);
7039
+ var t = nm(n);
7040
7040
  function n(r) {
7041
7041
  var i, o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
7042
7042
  ns: ["translation"],
@@ -7160,8 +7160,8 @@ function oe(e) {
7160
7160
  }
7161
7161
  return e;
7162
7162
  }
7163
- function im(e) {
7164
- var t = om();
7163
+ function om(e) {
7164
+ var t = lm();
7165
7165
  return function() {
7166
7166
  var r = _e(e), i;
7167
7167
  if (t) {
@@ -7172,7 +7172,7 @@ function im(e) {
7172
7172
  return Lr(this, i);
7173
7173
  };
7174
7174
  }
7175
- function om() {
7175
+ function lm() {
7176
7176
  if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
7177
7177
  return !1;
7178
7178
  if (typeof Proxy == "function")
@@ -7186,10 +7186,10 @@ function om() {
7186
7186
  }
7187
7187
  var Pu = {}, _u = function(e) {
7188
7188
  Ui(n, e);
7189
- var t = im(n);
7189
+ var t = om(n);
7190
7190
  function n(r) {
7191
7191
  var i, o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7192
- return Oe(this, n), i = t.call(this), Pi && Bt.call(At(i)), Ep(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], r, At(i)), i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.logger = Ee.create("translator"), i;
7192
+ return Oe(this, n), i = t.call(this), Pi && Bt.call(At(i)), Up(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], r, At(i)), i.options = o, i.options.keySeparator === void 0 && (i.options.keySeparator = "."), i.logger = Ee.create("translator"), i;
7193
7193
  }
7194
7194
  return Re(n, [{
7195
7195
  key: "changeLanguage",
@@ -7212,7 +7212,7 @@ var Pu = {}, _u = function(e) {
7212
7212
  value: function(i, o) {
7213
7213
  var l = o.nsSeparator !== void 0 ? o.nsSeparator : this.options.nsSeparator;
7214
7214
  l === void 0 && (l = ":");
7215
- var a = o.keySeparator !== void 0 ? o.keySeparator : this.options.keySeparator, u = o.ns || this.options.defaultNS || [], c = l && i.indexOf(l) > -1, p = !this.options.userDefinedKeySeparator && !o.keySeparator && !this.options.userDefinedNsSeparator && !o.nsSeparator && !em(i, l, a);
7215
+ var a = o.keySeparator !== void 0 ? o.keySeparator : this.options.keySeparator, u = o.ns || this.options.defaultNS || [], c = l && i.indexOf(l) > -1, p = !this.options.userDefinedKeySeparator && !o.keySeparator && !this.options.userDefinedNsSeparator && !o.nsSeparator && !tm(i, l, a);
7216
7216
  if (c && !p) {
7217
7217
  var g = i.match(this.interpolator.nestingRegexp);
7218
7218
  if (g && g.length > 0)
@@ -7235,9 +7235,9 @@ var Pu = {}, _u = function(e) {
7235
7235
  if (we(o) !== "object" && this.options.overloadTranslationOptionHandler && (o = this.options.overloadTranslationOptionHandler(arguments)), we(o) === "object" && (o = oe({}, o)), o || (o = {}), i == null)
7236
7236
  return "";
7237
7237
  Array.isArray(i) || (i = [String(i)]);
7238
- var u = o.returnDetails !== void 0 ? o.returnDetails : this.options.returnDetails, c = o.keySeparator !== void 0 ? o.keySeparator : this.options.keySeparator, p = this.extractFromKey(i[i.length - 1], o), g = p.key, f = p.namespaces, h = f[f.length - 1], C = o.lng || this.language, I = o.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
7238
+ var u = o.returnDetails !== void 0 ? o.returnDetails : this.options.returnDetails, c = o.keySeparator !== void 0 ? o.keySeparator : this.options.keySeparator, p = this.extractFromKey(i[i.length - 1], o), g = p.key, f = p.namespaces, h = f[f.length - 1], C = o.lng || this.language, v = o.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
7239
7239
  if (C && C.toLowerCase() === "cimode") {
7240
- if (I) {
7240
+ if (v) {
7241
7241
  var w = o.nsSeparator || this.options.nsSeparator;
7242
7242
  return u ? {
7243
7243
  res: "".concat(h).concat(w).concat(g),
@@ -7255,7 +7255,7 @@ var Pu = {}, _u = function(e) {
7255
7255
  usedNS: h
7256
7256
  } : g;
7257
7257
  }
7258
- var d = this.resolve(i, o), s = d && d.res, m = d && d.usedKey || g, v = d && d.exactUsedKey || g, y = Object.prototype.toString.apply(s), Z = ["[object Number]", "[object Function]", "[object RegExp]"], W = o.joinArrays !== void 0 ? o.joinArrays : this.options.joinArrays, L = !this.i18nFormat || this.i18nFormat.handleAsObject, k = typeof s != "string" && typeof s != "boolean" && typeof s != "number";
7258
+ var d = this.resolve(i, o), s = d && d.res, m = d && d.usedKey || g, I = d && d.exactUsedKey || g, y = Object.prototype.toString.apply(s), Z = ["[object Number]", "[object Function]", "[object RegExp]"], W = o.joinArrays !== void 0 ? o.joinArrays : this.options.joinArrays, L = !this.i18nFormat || this.i18nFormat.handleAsObject, k = typeof s != "string" && typeof s != "boolean" && typeof s != "number";
7259
7259
  if (L && s && k && Z.indexOf(y) < 0 && !(typeof W == "string" && y === "[object Array]")) {
7260
7260
  if (!o.returnObjects && !this.options.returnObjects) {
7261
7261
  this.options.returnedObjectHandler || this.logger.warn("accessing an object - but returnObjects options is not enabled!");
@@ -7265,7 +7265,7 @@ var Pu = {}, _u = function(e) {
7265
7265
  return u ? (d.res = Y, d) : Y;
7266
7266
  }
7267
7267
  if (c) {
7268
- var _ = y === "[object Array]", xe = _ ? [] : {}, Kt = _ ? v : m;
7268
+ var _ = y === "[object Array]", xe = _ ? [] : {}, Kt = _ ? I : m;
7269
7269
  for (var qe in s)
7270
7270
  if (Object.prototype.hasOwnProperty.call(s, qe)) {
7271
7271
  var Xr = "".concat(Kt).concat(c).concat(qe);
@@ -7281,29 +7281,29 @@ var Pu = {}, _u = function(e) {
7281
7281
  else {
7282
7282
  var ft = !1, et = !1, X = o.count !== void 0 && typeof o.count != "string", A = n.hasDefaultValue(o), N = X ? this.pluralResolver.getSuffix(C, o.count, o) : "", K = o["defaultValue".concat(N)] || o.defaultValue;
7283
7283
  !this.isValidLookup(s) && A && (ft = !0, s = K), this.isValidLookup(s) || (et = !0, s = g);
7284
- var J = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = J && et ? void 0 : s, ve = A && K !== s && this.options.updateMissing;
7285
- if (et || ft || ve) {
7286
- if (this.logger.log(ve ? "updateKey" : "missingKey", C, h, g, ve ? K : s), c) {
7284
+ var J = o.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey, _t = J && et ? void 0 : s, Ie = A && K !== s && this.options.updateMissing;
7285
+ if (et || ft || Ie) {
7286
+ if (this.logger.log(Ie ? "updateKey" : "missingKey", C, h, g, Ie ? K : s), c) {
7287
7287
  var $t = this.resolve(g, oe(oe({}, o), {}, {
7288
7288
  keySeparator: !1
7289
7289
  }));
7290
7290
  $t && $t.res && this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.");
7291
7291
  }
7292
- var Ie = [], tt = this.languageUtils.getFallbackCodes(this.options.fallbackLng, o.lng || this.language);
7292
+ var ve = [], tt = this.languageUtils.getFallbackCodes(this.options.fallbackLng, o.lng || this.language);
7293
7293
  if (this.options.saveMissingTo === "fallback" && tt && tt[0])
7294
7294
  for (var _i = 0; _i < tt.length; _i++)
7295
- Ie.push(tt[_i]);
7295
+ ve.push(tt[_i]);
7296
7296
  else
7297
- this.options.saveMissingTo === "all" ? Ie = this.languageUtils.toResolveHierarchy(o.lng || this.language) : Ie.push(o.lng || this.language);
7297
+ this.options.saveMissingTo === "all" ? ve = this.languageUtils.toResolveHierarchy(o.lng || this.language) : ve.push(o.lng || this.language);
7298
7298
  var Za = function(qt, qi, Wa) {
7299
7299
  var La = A && Wa !== s ? Wa : _t;
7300
- a.options.missingKeyHandler ? a.options.missingKeyHandler(qt, h, qi, La, ve, o) : a.backendConnector && a.backendConnector.saveMissing && a.backendConnector.saveMissing(qt, h, qi, La, ve, o), a.emit("missingKey", qt, h, qi, s);
7300
+ a.options.missingKeyHandler ? a.options.missingKeyHandler(qt, h, qi, La, Ie, o) : a.backendConnector && a.backendConnector.saveMissing && a.backendConnector.saveMissing(qt, h, qi, La, Ie, o), a.emit("missingKey", qt, h, qi, s);
7301
7301
  };
7302
- this.options.saveMissing && (this.options.saveMissingPlurals && X ? Ie.forEach(function($i) {
7302
+ this.options.saveMissing && (this.options.saveMissingPlurals && X ? ve.forEach(function($i) {
7303
7303
  a.pluralResolver.getSuffixes($i, o).forEach(function(qt) {
7304
7304
  Za([$i], g + qt, o["defaultValue".concat(qt)] || K);
7305
7305
  });
7306
- }) : Za(Ie, g, K));
7306
+ }) : Za(ve, g, K));
7307
7307
  }
7308
7308
  s = this.extendTranslation(s, i, o, d, l), et && s === g && this.options.appendNamespaceToMissingKey && (s = "".concat(h, ":").concat(g)), (et || ft) && this.options.parseMissingKeyHandler && (this.options.compatibilityAPI !== "v1" ? s = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(h, ":").concat(g) : g, ft ? s : void 0) : s = this.options.parseMissingKeyHandler(s));
7309
7309
  }
@@ -7328,12 +7328,12 @@ var Pu = {}, _u = function(e) {
7328
7328
  }
7329
7329
  var h = l.replace && typeof l.replace != "string" ? l.replace : l;
7330
7330
  if (this.options.interpolation.defaultVariables && (h = oe(oe({}, this.options.interpolation.defaultVariables), h)), i = this.interpolator.interpolate(i, h, l.lng || this.language, l), p) {
7331
- var C = i.match(this.interpolator.nestingRegexp), I = C && C.length;
7332
- g < I && (l.nest = !1);
7331
+ var C = i.match(this.interpolator.nestingRegexp), v = C && C.length;
7332
+ g < v && (l.nest = !1);
7333
7333
  }
7334
7334
  !l.lng && this.options.compatibilityAPI !== "v1" && a && a.res && (l.lng = a.usedLng), l.nest !== !1 && (i = this.interpolator.nest(i, function() {
7335
- for (var s = arguments.length, m = new Array(s), v = 0; v < s; v++)
7336
- m[v] = arguments[v];
7335
+ for (var s = arguments.length, m = new Array(s), I = 0; I < s; I++)
7336
+ m[I] = arguments[I];
7337
7337
  return u && u[0] === m[0] && !l.context ? (c.logger.warn("It seems you are nesting recursively key: ".concat(m[0], " in key: ").concat(o[0])), null) : c.translate.apply(c, m.concat([o]));
7338
7338
  }, l)), l.interpolation && this.interpolator.reset();
7339
7339
  }
@@ -7350,16 +7350,16 @@ var Pu = {}, _u = function(e) {
7350
7350
  if (!o.isValidLookup(a)) {
7351
7351
  var h = o.extractFromKey(f, l), C = h.key;
7352
7352
  u = C;
7353
- var I = h.namespaces;
7354
- o.options.fallbackNS && (I = I.concat(o.options.fallbackNS));
7353
+ var v = h.namespaces;
7354
+ o.options.fallbackNS && (v = v.concat(o.options.fallbackNS));
7355
7355
  var w = l.count !== void 0 && typeof l.count != "string", d = w && !l.ordinal && l.count === 0 && o.pluralResolver.shouldUseIntlApi(), s = l.context !== void 0 && (typeof l.context == "string" || typeof l.context == "number") && l.context !== "", m = l.lngs ? l.lngs : o.languageUtils.toResolveHierarchy(l.lng || o.language, l.fallbackLng);
7356
- I.forEach(function(v) {
7357
- o.isValidLookup(a) || (g = v, !Pu["".concat(m[0], "-").concat(v)] && o.utils && o.utils.hasLoadedNamespace && !o.utils.hasLoadedNamespace(g) && (Pu["".concat(m[0], "-").concat(v)] = !0, o.logger.warn('key "'.concat(u, '" for languages "').concat(m.join(", "), `" won't get resolved as namespace "`).concat(g, '" was not yet loaded'), "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), m.forEach(function(y) {
7356
+ v.forEach(function(I) {
7357
+ o.isValidLookup(a) || (g = I, !Pu["".concat(m[0], "-").concat(I)] && o.utils && o.utils.hasLoadedNamespace && !o.utils.hasLoadedNamespace(g) && (Pu["".concat(m[0], "-").concat(I)] = !0, o.logger.warn('key "'.concat(u, '" for languages "').concat(m.join(", "), `" won't get resolved as namespace "`).concat(g, '" was not yet loaded'), "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), m.forEach(function(y) {
7358
7358
  if (!o.isValidLookup(a)) {
7359
7359
  p = y;
7360
7360
  var Z = [C];
7361
7361
  if (o.i18nFormat && o.i18nFormat.addLookupKeys)
7362
- o.i18nFormat.addLookupKeys(Z, C, y, v, l);
7362
+ o.i18nFormat.addLookupKeys(Z, C, y, I, l);
7363
7363
  else {
7364
7364
  var W;
7365
7365
  w && (W = o.pluralResolver.getSuffix(y, l.count, l));
@@ -7370,7 +7370,7 @@ var Pu = {}, _u = function(e) {
7370
7370
  }
7371
7371
  }
7372
7372
  for (var Y; Y = Z.pop(); )
7373
- o.isValidLookup(a) || (c = Y, a = o.getResource(y, v, Y, l));
7373
+ o.isValidLookup(a) || (c = Y, a = o.getResource(y, I, Y, l));
7374
7374
  }
7375
7375
  }));
7376
7376
  });
@@ -7493,7 +7493,7 @@ var $u = function() {
7493
7493
  }), l;
7494
7494
  }
7495
7495
  }]), e;
7496
- }(), lm = [{
7496
+ }(), am = [{
7497
7497
  lngs: ["ach", "ak", "am", "arn", "br", "fil", "gun", "ln", "mfe", "mg", "mi", "oc", "pt", "pt-BR", "tg", "tl", "ti", "tr", "uz", "wa"],
7498
7498
  nr: [1, 2],
7499
7499
  fc: 1
@@ -7585,7 +7585,7 @@ var $u = function() {
7585
7585
  lngs: ["he", "iw"],
7586
7586
  nr: [1, 2, 20, 21],
7587
7587
  fc: 22
7588
- }], am = {
7588
+ }], um = {
7589
7589
  1: function(t) {
7590
7590
  return +(t > 1);
7591
7591
  },
@@ -7652,7 +7652,7 @@ var $u = function() {
7652
7652
  22: function(t) {
7653
7653
  return t == 1 ? 0 : t == 2 ? 1 : (t < 0 || t > 10) && t % 10 == 0 ? 2 : 3;
7654
7654
  }
7655
- }, um = ["v1", "v2", "v3"], qu = {
7655
+ }, sm = ["v1", "v2", "v3"], qu = {
7656
7656
  zero: 0,
7657
7657
  one: 1,
7658
7658
  two: 2,
@@ -7660,21 +7660,21 @@ var $u = function() {
7660
7660
  many: 4,
7661
7661
  other: 5
7662
7662
  };
7663
- function sm() {
7663
+ function cm() {
7664
7664
  var e = {};
7665
- return lm.forEach(function(t) {
7665
+ return am.forEach(function(t) {
7666
7666
  t.lngs.forEach(function(n) {
7667
7667
  e[n] = {
7668
7668
  numbers: t.nr,
7669
- plurals: am[t.fc]
7669
+ plurals: um[t.fc]
7670
7670
  };
7671
7671
  });
7672
7672
  }), e;
7673
7673
  }
7674
- var cm = function() {
7674
+ var dm = function() {
7675
7675
  function e(t) {
7676
7676
  var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
7677
- Oe(this, e), this.languageUtils = t, this.options = n, this.logger = Ee.create("pluralResolver"), (!this.options.compatibilityJSON || this.options.compatibilityJSON === "v4") && (typeof Intl > "u" || !Intl.PluralRules) && (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = sm();
7677
+ Oe(this, e), this.languageUtils = t, this.options = n, this.logger = Ee.create("pluralResolver"), (!this.options.compatibilityJSON || this.options.compatibilityJSON === "v4") && (typeof Intl > "u" || !Intl.PluralRules) && (this.options.compatibilityJSON = "v3", this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")), this.rules = cm();
7678
7678
  }
7679
7679
  return Re(e, [{
7680
7680
  key: "addRule",
@@ -7740,7 +7740,7 @@ var cm = function() {
7740
7740
  }, {
7741
7741
  key: "shouldUseIntlApi",
7742
7742
  value: function() {
7743
- return !um.includes(this.options.compatibilityJSON);
7743
+ return !sm.includes(this.options.compatibilityJSON);
7744
7744
  }
7745
7745
  }]), e;
7746
7746
  }();
@@ -7766,10 +7766,10 @@ function Ke(e) {
7766
7766
  return e;
7767
7767
  }
7768
7768
  function ts(e, t, n) {
7769
- var r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".", i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, o = Pp(e, t, n);
7769
+ var r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".", i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, o = _p(e, t, n);
7770
7770
  return !o && i && typeof n == "string" && (o = ki(e, n, r), o === void 0 && (o = ki(t, n, r))), o;
7771
7771
  }
7772
- var dm = function() {
7772
+ var gm = function() {
7773
7773
  function e() {
7774
7774
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7775
7775
  Oe(this, e), this.logger = Ee.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || function(n) {
@@ -7784,7 +7784,7 @@ var dm = function() {
7784
7784
  escapeValue: !0
7785
7785
  });
7786
7786
  var r = n.interpolation;
7787
- this.escape = r.escape !== void 0 ? r.escape : $p, this.escapeValue = r.escapeValue !== void 0 ? r.escapeValue : !0, this.useRawValueToEscape = r.useRawValueToEscape !== void 0 ? r.useRawValueToEscape : !1, this.prefix = r.prefix ? tn(r.prefix) : r.prefixEscaped || "{{", this.suffix = r.suffix ? tn(r.suffix) : r.suffixEscaped || "}}", this.formatSeparator = r.formatSeparator ? r.formatSeparator : r.formatSeparator || ",", this.unescapePrefix = r.unescapeSuffix ? "" : r.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : r.unescapeSuffix || "", this.nestingPrefix = r.nestingPrefix ? tn(r.nestingPrefix) : r.nestingPrefixEscaped || tn("$t("), this.nestingSuffix = r.nestingSuffix ? tn(r.nestingSuffix) : r.nestingSuffixEscaped || tn(")"), this.nestingOptionsSeparator = r.nestingOptionsSeparator ? r.nestingOptionsSeparator : r.nestingOptionsSeparator || ",", this.maxReplaces = r.maxReplaces ? r.maxReplaces : 1e3, this.alwaysFormat = r.alwaysFormat !== void 0 ? r.alwaysFormat : !1, this.resetRegExp();
7787
+ this.escape = r.escape !== void 0 ? r.escape : qp, this.escapeValue = r.escapeValue !== void 0 ? r.escapeValue : !0, this.useRawValueToEscape = r.useRawValueToEscape !== void 0 ? r.useRawValueToEscape : !1, this.prefix = r.prefix ? tn(r.prefix) : r.prefixEscaped || "{{", this.suffix = r.suffix ? tn(r.suffix) : r.suffixEscaped || "}}", this.formatSeparator = r.formatSeparator ? r.formatSeparator : r.formatSeparator || ",", this.unescapePrefix = r.unescapeSuffix ? "" : r.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : r.unescapeSuffix || "", this.nestingPrefix = r.nestingPrefix ? tn(r.nestingPrefix) : r.nestingPrefixEscaped || tn("$t("), this.nestingSuffix = r.nestingSuffix ? tn(r.nestingSuffix) : r.nestingSuffixEscaped || tn(")"), this.nestingOptionsSeparator = r.nestingOptionsSeparator ? r.nestingOptionsSeparator : r.nestingOptionsSeparator || ",", this.maxReplaces = r.maxReplaces ? r.maxReplaces : 1e3, this.alwaysFormat = r.alwaysFormat !== void 0 ? r.alwaysFormat : !1, this.resetRegExp();
7788
7788
  }
7789
7789
  }, {
7790
7790
  key: "reset",
@@ -7815,13 +7815,13 @@ var dm = function() {
7815
7815
  interpolationkey: d
7816
7816
  })) : s;
7817
7817
  }
7818
- var m = d.split(l.formatSeparator), v = m.shift().trim(), y = m.join(l.formatSeparator).trim();
7819
- return l.format(ts(r, p, v, l.options.keySeparator, l.options.ignoreJSONStructure), y, i, Ke(Ke(Ke({}, o), r), {}, {
7820
- interpolationkey: v
7818
+ var m = d.split(l.formatSeparator), I = m.shift().trim(), y = m.join(l.formatSeparator).trim();
7819
+ return l.format(ts(r, p, I, l.options.keySeparator, l.options.ignoreJSONStructure), y, i, Ke(Ke(Ke({}, o), r), {}, {
7820
+ interpolationkey: I
7821
7821
  }));
7822
7822
  };
7823
7823
  this.resetRegExp();
7824
- var h = o && o.missingInterpolationHandler || this.options.missingInterpolationHandler, C = o && o.interpolation && o.interpolation.skipOnVariables !== void 0 ? o.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables, I = [{
7824
+ var h = o && o.missingInterpolationHandler || this.options.missingInterpolationHandler, C = o && o.interpolation && o.interpolation.skipOnVariables !== void 0 ? o.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables, v = [{
7825
7825
  regex: this.regexpUnescape,
7826
7826
  safeValue: function(d) {
7827
7827
  return g(d);
@@ -7832,7 +7832,7 @@ var dm = function() {
7832
7832
  return l.escapeValue ? g(l.escape(d)) : g(d);
7833
7833
  }
7834
7834
  }];
7835
- return I.forEach(function(w) {
7835
+ return v.forEach(function(w) {
7836
7836
  for (c = 0; a = w.regex.exec(n); ) {
7837
7837
  var d = a[1].trim();
7838
7838
  if (u = f(d), u === void 0)
@@ -7859,17 +7859,17 @@ var dm = function() {
7859
7859
  value: function(n, r) {
7860
7860
  var i = this, o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, l, a, u;
7861
7861
  function c(h, C) {
7862
- var I = this.nestingOptionsSeparator;
7863
- if (h.indexOf(I) < 0)
7862
+ var v = this.nestingOptionsSeparator;
7863
+ if (h.indexOf(v) < 0)
7864
7864
  return h;
7865
- var w = h.split(new RegExp("".concat(I, "[ ]*{"))), d = "{".concat(w[1]);
7865
+ var w = h.split(new RegExp("".concat(v, "[ ]*{"))), d = "{".concat(w[1]);
7866
7866
  h = w[0], d = this.interpolate(d, u);
7867
7867
  var s = d.match(/'/g), m = d.match(/"/g);
7868
7868
  (s && s.length % 2 === 0 && !m || m.length % 2 !== 0) && (d = d.replace(/'/g, '"'));
7869
7869
  try {
7870
7870
  u = JSON.parse(d), C && (u = Ke(Ke({}, C), u));
7871
- } catch (v) {
7872
- return this.logger.warn("failed parsing options string in nesting for key ".concat(h), v), "".concat(h).concat(I).concat(d);
7871
+ } catch (I) {
7872
+ return this.logger.warn("failed parsing options string in nesting for key ".concat(h), I), "".concat(h).concat(v).concat(d);
7873
7873
  }
7874
7874
  return delete u.defaultValue, h;
7875
7875
  }
@@ -7916,7 +7916,7 @@ function nt(e) {
7916
7916
  }
7917
7917
  return e;
7918
7918
  }
7919
- function gm(e) {
7919
+ function fm(e) {
7920
7920
  var t = e.toLowerCase().trim(), n = {};
7921
7921
  if (e.indexOf("(") > -1) {
7922
7922
  var r = e.split("(");
@@ -7930,7 +7930,7 @@ function gm(e) {
7930
7930
  var o = i.split(";");
7931
7931
  o.forEach(function(l) {
7932
7932
  if (l) {
7933
- var a = l.split(":"), u = Tp(a), c = u[0], p = u.slice(1), g = p.join(":").trim().replace(/^'+|'+$/g, "");
7933
+ var a = l.split(":"), u = Jp(a), c = u[0], p = u.slice(1), g = p.join(":").trim().replace(/^'+|'+$/g, "");
7934
7934
  n[c.trim()] || (n[c.trim()] = g), g === "false" && (n[c.trim()] = !1), g === "true" && (n[c.trim()] = !0), isNaN(g) || (n[c.trim()] = parseInt(g, 10));
7935
7935
  }
7936
7936
  });
@@ -7948,7 +7948,7 @@ function nn(e) {
7948
7948
  return a || (a = e(i, o), t[l] = a), a(r);
7949
7949
  };
7950
7950
  }
7951
- var fm = function() {
7951
+ var pm = function() {
7952
7952
  function e() {
7953
7953
  var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7954
7954
  Oe(this, e), this.logger = Ee.create("formatter"), this.options = t, this.formats = {
@@ -8008,12 +8008,12 @@ var fm = function() {
8008
8008
  key: "format",
8009
8009
  value: function(n, r, i) {
8010
8010
  var o = this, l = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {}, a = r.split(this.formatSeparator), u = a.reduce(function(c, p) {
8011
- var g = gm(p), f = g.formatName, h = g.formatOptions;
8011
+ var g = fm(p), f = g.formatName, h = g.formatOptions;
8012
8012
  if (o.formats[f]) {
8013
8013
  var C = c;
8014
8014
  try {
8015
- var I = l && l.formatParams && l.formatParams[l.interpolationkey] || {}, w = I.locale || I.lng || l.locale || l.lng || i;
8016
- C = o.formats[f](c, w, nt(nt(nt({}, h), l), I));
8015
+ var v = l && l.formatParams && l.formatParams[l.interpolationkey] || {}, w = v.locale || v.lng || l.locale || l.lng || i;
8016
+ C = o.formats[f](c, w, nt(nt(nt({}, h), l), v));
8017
8017
  } catch (d) {
8018
8018
  o.logger.warn(d);
8019
8019
  }
@@ -8047,8 +8047,8 @@ function is(e) {
8047
8047
  }
8048
8048
  return e;
8049
8049
  }
8050
- function pm(e) {
8051
- var t = mm();
8050
+ function mm(e) {
8051
+ var t = hm();
8052
8052
  return function() {
8053
8053
  var r = _e(e), i;
8054
8054
  if (t) {
@@ -8059,7 +8059,7 @@ function pm(e) {
8059
8059
  return Lr(this, i);
8060
8060
  };
8061
8061
  }
8062
- function mm() {
8062
+ function hm() {
8063
8063
  if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
8064
8064
  return !1;
8065
8065
  if (typeof Proxy == "function")
@@ -8071,12 +8071,12 @@ function mm() {
8071
8071
  return !1;
8072
8072
  }
8073
8073
  }
8074
- function hm(e, t) {
8074
+ function Cm(e, t) {
8075
8075
  e.pending[t] !== void 0 && (delete e.pending[t], e.pendingCount--);
8076
8076
  }
8077
- var Cm = function(e) {
8077
+ var Im = function(e) {
8078
8078
  Ui(n, e);
8079
- var t = pm(n);
8079
+ var t = mm(n);
8080
8080
  function n(r, i, o) {
8081
8081
  var l, a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
8082
8082
  return Oe(this, n), l = t.call(this), Pi && Bt.call(At(l)), l.backend = r, l.store = i, l.services = o, l.languageUtils = o.languageUtils, l.options = a, l.logger = Ee.create("backendConnector"), l.waitingReads = [], l.maxParallelReads = a.maxParallelReads || 10, l.readingCalls = 0, l.maxRetries = a.maxRetries >= 0 ? a.maxRetries : 5, l.retryTimeout = a.retryTimeout >= 1 ? a.retryTimeout : 350, l.state = {}, l.queue = [], l.backend && l.backend.init && l.backend.init(o, a.backend, a), l;
@@ -8087,9 +8087,9 @@ var Cm = function(e) {
8087
8087
  var u = this, c = {}, p = {}, g = {}, f = {};
8088
8088
  return i.forEach(function(h) {
8089
8089
  var C = !0;
8090
- o.forEach(function(I) {
8091
- var w = "".concat(h, "|").concat(I);
8092
- !l.reload && u.store.hasResourceBundle(h, I) ? u.state[w] = 2 : u.state[w] < 0 || (u.state[w] === 1 ? p[w] === void 0 && (p[w] = !0) : (u.state[w] = 1, C = !1, p[w] === void 0 && (p[w] = !0), c[w] === void 0 && (c[w] = !0), f[I] === void 0 && (f[I] = !0)));
8090
+ o.forEach(function(v) {
8091
+ var w = "".concat(h, "|").concat(v);
8092
+ !l.reload && u.store.hasResourceBundle(h, v) ? u.state[w] = 2 : u.state[w] < 0 || (u.state[w] === 1 ? p[w] === void 0 && (p[w] = !0) : (u.state[w] = 1, C = !1, p[w] === void 0 && (p[w] = !0), c[w] === void 0 && (c[w] = !0), f[v] === void 0 && (f[v] = !0)));
8093
8093
  }), C || (g[h] = !0);
8094
8094
  }), (Object.keys(c).length || Object.keys(p).length) && this.queue.push({
8095
8095
  pending: p,
@@ -8111,7 +8111,7 @@ var Cm = function(e) {
8111
8111
  o && this.emit("failedLoading", u, c, o), l && this.store.addResourceBundle(u, c, l), this.state[i] = o ? -1 : 2;
8112
8112
  var p = {};
8113
8113
  this.queue.forEach(function(g) {
8114
- Up(g.loaded, [u], c), hm(g, i), o && g.errors.push(o), g.pendingCount === 0 && !g.done && (Object.keys(g.loaded).forEach(function(f) {
8114
+ Pp(g.loaded, [u], c), Cm(g, i), o && g.errors.push(o), g.pendingCount === 0 && !g.done && (Object.keys(g.loaded).forEach(function(f) {
8115
8115
  p[f] || (p[f] = {});
8116
8116
  var h = g.loaded[f];
8117
8117
  h.length && h.forEach(function(C) {
@@ -8140,18 +8140,18 @@ var Cm = function(e) {
8140
8140
  return;
8141
8141
  }
8142
8142
  this.readingCalls++;
8143
- var g = function(I, w) {
8143
+ var g = function(v, w) {
8144
8144
  if (a.readingCalls--, a.waitingReads.length > 0) {
8145
8145
  var d = a.waitingReads.shift();
8146
8146
  a.read(d.lng, d.ns, d.fcName, d.tried, d.wait, d.callback);
8147
8147
  }
8148
- if (I && w && u < a.maxRetries) {
8148
+ if (v && w && u < a.maxRetries) {
8149
8149
  setTimeout(function() {
8150
8150
  a.read.call(a, i, o, l, u + 1, c * 2, p);
8151
8151
  }, c);
8152
8152
  return;
8153
8153
  }
8154
- p(I, w);
8154
+ p(v, w);
8155
8155
  }, f = this.backend[l].bind(this.backend);
8156
8156
  if (f.length === 2) {
8157
8157
  try {
@@ -8317,7 +8317,7 @@ function Te(e) {
8317
8317
  return e;
8318
8318
  }
8319
8319
  function vm(e) {
8320
- var t = Im();
8320
+ var t = ym();
8321
8321
  return function() {
8322
8322
  var r = _e(e), i;
8323
8323
  if (t) {
@@ -8328,7 +8328,7 @@ function vm(e) {
8328
8328
  return Lr(this, i);
8329
8329
  };
8330
8330
  }
8331
- function Im() {
8331
+ function ym() {
8332
8332
  if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
8333
8333
  return !1;
8334
8334
  if (typeof Proxy == "function")
@@ -8342,7 +8342,7 @@ function Im() {
8342
8342
  }
8343
8343
  function Tr() {
8344
8344
  }
8345
- function ym(e) {
8345
+ function bm(e) {
8346
8346
  var t = Object.getOwnPropertyNames(Object.getPrototypeOf(e));
8347
8347
  t.forEach(function(n) {
8348
8348
  typeof e[n] == "function" && (e[n] = e[n].bind(e));
@@ -8355,7 +8355,7 @@ var Bi = function(e) {
8355
8355
  var r, i = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, o = arguments.length > 1 ? arguments[1] : void 0;
8356
8356
  if (Oe(this, n), r = t.call(this), Pi && Bt.call(At(r)), r.options = ls(i), r.services = {}, r.logger = Ee, r.modules = {
8357
8357
  external: []
8358
- }, ym(At(r)), o && !r.isInitialized && !i.isClone) {
8358
+ }, bm(At(r)), o && !r.isInitialized && !i.isClone) {
8359
8359
  if (!r.options.initImmediate)
8360
8360
  return r.init(i, o), Lr(r, At(r));
8361
8361
  setTimeout(function() {
@@ -8377,23 +8377,23 @@ var Bi = function(e) {
8377
8377
  if (!this.options.isClone) {
8378
8378
  this.modules.logger ? Ee.init(u(this.modules.logger), this.options) : Ee.init(null, this.options);
8379
8379
  var c;
8380
- this.modules.formatter ? c = this.modules.formatter : typeof Intl < "u" && (c = fm);
8380
+ this.modules.formatter ? c = this.modules.formatter : typeof Intl < "u" && (c = pm);
8381
8381
  var p = new $u(this.options);
8382
- this.store = new rm(this.options.resources, this.options);
8382
+ this.store = new im(this.options.resources, this.options);
8383
8383
  var g = this.services;
8384
- g.logger = Ee, g.resourceStore = this.store, g.languageUtils = p, g.pluralResolver = new cm(p, {
8384
+ g.logger = Ee, g.resourceStore = this.store, g.languageUtils = p, g.pluralResolver = new dm(p, {
8385
8385
  prepend: this.options.pluralSeparator,
8386
8386
  compatibilityJSON: this.options.compatibilityJSON,
8387
8387
  simplifyPluralSuffix: this.options.simplifyPluralSuffix
8388
- }), c && (!this.options.interpolation.format || this.options.interpolation.format === a.interpolation.format) && (g.formatter = u(c), g.formatter.init(g, this.options), this.options.interpolation.format = g.formatter.format.bind(g.formatter)), g.interpolator = new dm(this.options), g.utils = {
8388
+ }), c && (!this.options.interpolation.format || this.options.interpolation.format === a.interpolation.format) && (g.formatter = u(c), g.formatter.init(g, this.options), this.options.interpolation.format = g.formatter.format.bind(g.formatter)), g.interpolator = new gm(this.options), g.utils = {
8389
8389
  hasLoadedNamespace: this.hasLoadedNamespace.bind(this)
8390
- }, g.backendConnector = new Cm(u(this.modules.backend), g.resourceStore, g, this.options), g.backendConnector.on("*", function(d) {
8391
- for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), v = 1; v < s; v++)
8392
- m[v - 1] = arguments[v];
8390
+ }, g.backendConnector = new Im(u(this.modules.backend), g.resourceStore, g, this.options), g.backendConnector.on("*", function(d) {
8391
+ for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), I = 1; I < s; I++)
8392
+ m[I - 1] = arguments[I];
8393
8393
  i.emit.apply(i, [d].concat(m));
8394
8394
  }), this.modules.languageDetector && (g.languageDetector = u(this.modules.languageDetector), g.languageDetector.init && g.languageDetector.init(g, this.options.detection, this.options)), this.modules.i18nFormat && (g.i18nFormat = u(this.modules.i18nFormat), g.i18nFormat.init && g.i18nFormat.init(this)), this.translator = new _u(this.services, this.options), this.translator.on("*", function(d) {
8395
- for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), v = 1; v < s; v++)
8396
- m[v - 1] = arguments[v];
8395
+ for (var s = arguments.length, m = new Array(s > 1 ? s - 1 : 0), I = 1; I < s; I++)
8396
+ m[I - 1] = arguments[I];
8397
8397
  i.emit.apply(i, [d].concat(m));
8398
8398
  }), this.modules.external.forEach(function(d) {
8399
8399
  d.init && d.init(i);
@@ -8418,15 +8418,15 @@ var Bi = function(e) {
8418
8418
  return (s = i.store)[d].apply(s, arguments), i;
8419
8419
  };
8420
8420
  });
8421
- var I = Hn(), w = function() {
8422
- var s = function(v, y) {
8423
- i.isInitialized && !i.initializedStoreOnce && i.logger.warn("init: i18next is already initialized. You should call init just once!"), i.isInitialized = !0, i.options.isClone || i.logger.log("initialized", i.options), i.emit("initialized", i.options), I.resolve(y), l(v, y);
8421
+ var v = Hn(), w = function() {
8422
+ var s = function(I, y) {
8423
+ i.isInitialized && !i.initializedStoreOnce && i.logger.warn("init: i18next is already initialized. You should call init just once!"), i.isInitialized = !0, i.options.isClone || i.logger.log("initialized", i.options), i.emit("initialized", i.options), v.resolve(y), l(I, y);
8424
8424
  };
8425
8425
  if (i.languages && i.options.compatibilityAPI !== "v1" && !i.isInitialized)
8426
8426
  return s(null, i.t.bind(i));
8427
8427
  i.changeLanguage(i.options.lng, s);
8428
8428
  };
8429
- return this.options.resources || !this.options.initImmediate ? w() : setTimeout(w, 0), I;
8429
+ return this.options.resources || !this.options.initImmediate ? w() : setTimeout(w, 0), v;
8430
8430
  }
8431
8431
  }, {
8432
8432
  key: "loadResources",
@@ -8438,8 +8438,8 @@ var Bi = function(e) {
8438
8438
  var c = [], p = function(h) {
8439
8439
  if (h) {
8440
8440
  var C = o.services.languageUtils.toResolveHierarchy(h);
8441
- C.forEach(function(I) {
8442
- c.indexOf(I) < 0 && c.push(I);
8441
+ C.forEach(function(v) {
8442
+ c.indexOf(v) < 0 && c.push(v);
8443
8443
  });
8444
8444
  }
8445
8445
  };
@@ -8518,8 +8518,8 @@ var Bi = function(e) {
8518
8518
  var a = this, u = function c(p, g) {
8519
8519
  var f;
8520
8520
  if (we(g) !== "object") {
8521
- for (var h = arguments.length, C = new Array(h > 2 ? h - 2 : 0), I = 2; I < h; I++)
8522
- C[I - 2] = arguments[I];
8521
+ for (var h = arguments.length, C = new Array(h > 2 ? h - 2 : 0), v = 2; v < h; v++)
8522
+ C[v - 2] = arguments[v];
8523
8523
  f = a.options.overloadTranslationOptionHandler([p, g].concat(C));
8524
8524
  } else
8525
8525
  f = Te({}, g);
@@ -8560,8 +8560,8 @@ var Bi = function(e) {
8560
8560
  if (a.toLowerCase() === "cimode")
8561
8561
  return !0;
8562
8562
  var p = function(h, C) {
8563
- var I = o.services.backendConnector.state["".concat(h, "|").concat(C)];
8564
- return I === -1 || I === 2;
8563
+ var v = o.services.backendConnector.state["".concat(h, "|").concat(C)];
8564
+ return v === -1 || v === 2;
8565
8565
  };
8566
8566
  if (l.precheck) {
8567
8567
  var g = l.precheck(this, p);
@@ -8653,15 +8653,15 @@ ue.setDefaultNamespace;
8653
8653
  ue.hasLoadedNamespace;
8654
8654
  ue.loadNamespaces;
8655
8655
  ue.loadLanguages;
8656
- var Kd = [], bm = Kd.forEach, wm = Kd.slice;
8657
- function Zm(e) {
8658
- return bm.call(wm.call(arguments, 1), function(t) {
8656
+ var Kd = [], wm = Kd.forEach, Zm = Kd.slice;
8657
+ function Wm(e) {
8658
+ return wm.call(Zm.call(arguments, 1), function(t) {
8659
8659
  if (t)
8660
8660
  for (var n in t)
8661
8661
  e[n] === void 0 && (e[n] = t[n]);
8662
8662
  }), e;
8663
8663
  }
8664
- var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8664
+ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Lm = function(t, n, r) {
8665
8665
  var i = r || {};
8666
8666
  i.path = i.path || "/";
8667
8667
  var o = encodeURIComponent(n), l = "".concat(t, "=").concat(o);
@@ -8712,7 +8712,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8712
8712
  path: "/",
8713
8713
  sameSite: "strict"
8714
8714
  };
8715
- r && (o.expires = /* @__PURE__ */ new Date(), o.expires.setTime(o.expires.getTime() + r * 60 * 1e3)), i && (o.domain = i), document.cookie = Wm(t, encodeURIComponent(n), o);
8715
+ r && (o.expires = /* @__PURE__ */ new Date(), o.expires.setTime(o.expires.getTime() + r * 60 * 1e3)), i && (o.domain = i), document.cookie = Lm(t, encodeURIComponent(n), o);
8716
8716
  },
8717
8717
  read: function(t) {
8718
8718
  for (var n = "".concat(t, "="), r = document.cookie.split(";"), i = 0; i < r.length; i++) {
@@ -8726,7 +8726,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8726
8726
  remove: function(t) {
8727
8727
  this.create(t, "", -1);
8728
8728
  }
8729
- }, Lm = {
8729
+ }, Xm = {
8730
8730
  name: "cookie",
8731
8731
  lookup: function(t) {
8732
8732
  var n;
@@ -8739,7 +8739,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8739
8739
  cacheUserLanguage: function(t, n) {
8740
8740
  n.lookupCookie && typeof document < "u" && ss.create(n.lookupCookie, t, n.cookieMinutes, n.cookieDomain, n.cookieOptions);
8741
8741
  }
8742
- }, Xm = {
8742
+ }, Gm = {
8743
8743
  name: "querystring",
8744
8744
  lookup: function(t) {
8745
8745
  var n;
@@ -8767,7 +8767,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8767
8767
  Mn = !1;
8768
8768
  }
8769
8769
  return Mn;
8770
- }, Gm = {
8770
+ }, Ym = {
8771
8771
  name: "localStorage",
8772
8772
  lookup: function(t) {
8773
8773
  var n;
@@ -8791,7 +8791,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8791
8791
  zn = !1;
8792
8792
  }
8793
8793
  return zn;
8794
- }, Ym = {
8794
+ }, Am = {
8795
8795
  name: "sessionStorage",
8796
8796
  lookup: function(t) {
8797
8797
  var n;
@@ -8804,7 +8804,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8804
8804
  cacheUserLanguage: function(t, n) {
8805
8805
  n.lookupSessionStorage && ds() && window.sessionStorage.setItem(n.lookupSessionStorage, t);
8806
8806
  }
8807
- }, Am = {
8807
+ }, Nm = {
8808
8808
  name: "navigator",
8809
8809
  lookup: function(t) {
8810
8810
  var n = [];
@@ -8816,13 +8816,13 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8816
8816
  }
8817
8817
  return n.length > 0 ? n : void 0;
8818
8818
  }
8819
- }, Nm = {
8819
+ }, km = {
8820
8820
  name: "htmlTag",
8821
8821
  lookup: function(t) {
8822
8822
  var n, r = t.htmlTag || (typeof document < "u" ? document.documentElement : null);
8823
8823
  return r && typeof r.getAttribute == "function" && (n = r.getAttribute("lang")), n;
8824
8824
  }
8825
- }, km = {
8825
+ }, Bm = {
8826
8826
  name: "path",
8827
8827
  lookup: function(t) {
8828
8828
  var n;
@@ -8838,7 +8838,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8838
8838
  }
8839
8839
  return n;
8840
8840
  }
8841
- }, Bm = {
8841
+ }, Om = {
8842
8842
  name: "subdomain",
8843
8843
  lookup: function(t) {
8844
8844
  var n = typeof t.lookupFromSubdomainIndex == "number" ? t.lookupFromSubdomainIndex + 1 : 1, r = typeof window < "u" && window.location && window.location.hostname && window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);
@@ -8846,7 +8846,7 @@ var us = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Wm = function(t, n, r) {
8846
8846
  return r[n];
8847
8847
  }
8848
8848
  };
8849
- function Om() {
8849
+ function Rm() {
8850
8850
  return {
8851
8851
  order: ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"],
8852
8852
  lookupQuerystring: "lng",
@@ -8874,9 +8874,9 @@ var jd = /* @__PURE__ */ function() {
8874
8874
  var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
8875
8875
  this.services = n || {
8876
8876
  languageUtils: {}
8877
- }, this.options = Zm(r, this.options || {}, Om()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(o) {
8877
+ }, this.options = Wm(r, this.options || {}, Rm()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(o) {
8878
8878
  return o.replace("-", "_");
8879
- }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = i, this.addDetector(Lm), this.addDetector(Xm), this.addDetector(Gm), this.addDetector(Ym), this.addDetector(Am), this.addDetector(Nm), this.addDetector(km), this.addDetector(Bm);
8879
+ }), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = i, this.addDetector(Xm), this.addDetector(Gm), this.addDetector(Ym), this.addDetector(Am), this.addDetector(Nm), this.addDetector(km), this.addDetector(Bm), this.addDetector(Om);
8880
8880
  }
8881
8881
  }, {
8882
8882
  key: "addDetector",
@@ -8909,56 +8909,56 @@ var jd = /* @__PURE__ */ function() {
8909
8909
  }]), e;
8910
8910
  }();
8911
8911
  jd.type = "languageDetector";
8912
- const Rm = "Se connecter", Sm = "Se déconnecter", Km = "Gérer le profil", jm = "Charger un plein", Vm = "Xtra navigation", Fm = "S'inscrire", Hm = {
8912
+ const Sm = "Se connecter", Km = "Se déconnecter", jm = "Gérer le profil", Vm = "Charger un plein", Fm = "Xtra navigation", Hm = "S'inscrire", Mm = {
8913
8913
  title: "Conditions générales",
8914
8914
  description: "J'ai pu prendre connaisance de la Déclaration de confidentialité Xtra et j'accepte les conditions générales suivantes",
8915
8915
  error: {
8916
8916
  required: "Pour poursuivre, veuillez d'abord accepter les Conditions Générales"
8917
8917
  },
8918
8918
  action: "Lire les {{ title }}"
8919
- }, Mm = "Continuer", zm = {
8919
+ }, zm = "Continuer", xm = {
8920
8920
  form: {
8921
8921
  genericError: "Pour continuer, veuillez compléter tous les champs correctement",
8922
8922
  detailedError: "Pour continuer, veuillez compléter ces champs : { invalidFormFieldLabels }}. Commencez par {{ firstInvalidFormFieldLabel }}"
8923
8923
  }
8924
- }, xm = "Code Xtra QR", Dm = "Vie privée", Tm = "Payer avec Xtra", Jm = {
8925
- login: Rm,
8926
- logout: Sm,
8927
- manageProfile: Km,
8928
- loading: jm,
8929
- xtraMenuAriaLabel: Vm,
8930
- register: Fm,
8931
- termsAndConditions: Hm,
8932
- confirm: Mm,
8933
- common: zm,
8934
- qrCode: xm,
8935
- privacy: Dm,
8936
- payment: Tm
8937
- }, Qm = "Aanmelden", Em = "Afmelden", Um = "Profiel beheren", Pm = "Laden", _m = "Xtra navigatie", $m = "Registreren", qm = {
8924
+ }, Dm = "Code Xtra QR", Tm = "Vie privée", Jm = "Payer avec Xtra", Qm = {
8925
+ login: Sm,
8926
+ logout: Km,
8927
+ manageProfile: jm,
8928
+ loading: Vm,
8929
+ xtraMenuAriaLabel: Fm,
8930
+ register: Hm,
8931
+ termsAndConditions: Mm,
8932
+ confirm: zm,
8933
+ common: xm,
8934
+ qrCode: Dm,
8935
+ privacy: Tm,
8936
+ payment: Jm
8937
+ }, Em = "Aanmelden", Um = "Afmelden", Pm = "Profiel beheren", _m = "Laden", $m = "Xtra navigatie", qm = "Registreren", eh = {
8938
8938
  title: "Algemene voorwaarden",
8939
8939
  description: "Ik heb kennis kunnen nemen van de Privacyverklaring van Xtra, en ga akkoord met de volgende algemene voorwaarden",
8940
8940
  error: {
8941
8941
  required: "Om verder te gaan, aanvaard eerst de Algemene Voorwaarden"
8942
8942
  },
8943
8943
  action: "Bekijk hier de {{ title }}"
8944
- }, eh = "Verder", th = {
8944
+ }, th = "Verder", nh = {
8945
8945
  form: {
8946
8946
  genericError: "Om verder te gaan, vul alle velden correct in",
8947
8947
  detailedError: "Om verder te gaan, vul deze velden in: {{ invalidFormFieldLabels }}. Start met {{ firstInvalidFormFieldLabel }}"
8948
8948
  }
8949
- }, nh = "Xtra QR-code", rh = "Privacy", ih = "Betalen met Xtra", oh = {
8950
- login: Qm,
8951
- logout: Em,
8952
- manageProfile: Um,
8953
- loading: Pm,
8954
- xtraMenuAriaLabel: _m,
8955
- register: $m,
8956
- termsAndConditions: qm,
8957
- confirm: eh,
8958
- common: th,
8959
- qrCode: nh,
8960
- privacy: rh,
8961
- payment: ih
8949
+ }, rh = "Xtra QR-code", ih = "Privacy", oh = "Betalen met Xtra", lh = {
8950
+ login: Em,
8951
+ logout: Um,
8952
+ manageProfile: Pm,
8953
+ loading: _m,
8954
+ xtraMenuAriaLabel: $m,
8955
+ register: qm,
8956
+ termsAndConditions: eh,
8957
+ confirm: th,
8958
+ common: nh,
8959
+ qrCode: rh,
8960
+ privacy: ih,
8961
+ payment: oh
8962
8962
  };
8963
8963
  ue.use(jd).use(vg).init({
8964
8964
  detection: { order: ["htmlTag", "navigator"] },
@@ -8967,27 +8967,27 @@ ue.use(jd).use(vg).init({
8967
8967
  defaultNS: "authentication",
8968
8968
  nonExplicitSupportedLngs: !0,
8969
8969
  resources: {
8970
- nl: { authentication: oh },
8971
- fr: { authentication: Jm }
8970
+ nl: { authentication: lh },
8971
+ fr: { authentication: Qm }
8972
8972
  },
8973
8973
  fallbackLng: "nl",
8974
8974
  interpolation: { escapeValue: !1 }
8975
8975
  }).catch((e) => console.error(e));
8976
- const lh = (e) => {
8976
+ const ah = (e) => {
8977
8977
  const t = document.createElement("link");
8978
8978
  return t.rel = "stylesheet", t.href = e, t;
8979
- }, ah = (e) => {
8980
- [Mp, zp, Rg, Hp].forEach((t) => {
8981
- const n = lh(t);
8979
+ }, uh = (e) => {
8980
+ [zp, xp, Sg, Mp].forEach((t) => {
8981
+ const n = ah(t);
8982
8982
  return e.prepend(n);
8983
8983
  });
8984
8984
  };
8985
- let ii, Ll, Xl, Vd;
8986
- class uh extends HTMLElement {
8985
+ let ii, Ll, Xl, Vd, Fd;
8986
+ class sh extends HTMLElement {
8987
8987
  async connectedCallback() {
8988
8988
  const t = this.attachShadow({ mode: "open" });
8989
- ah(t);
8990
- const n = Od(t), r = (await import("./App-68194ae6.mjs")).default;
8989
+ uh(t);
8990
+ const n = Od(t), r = (await import("./App-31fb8116.mjs")).default;
8991
8991
  n.render(
8992
8992
  /* @__PURE__ */ nr.jsx(
8993
8993
  r,
@@ -8995,28 +8995,29 @@ class uh extends HTMLElement {
8995
8995
  environment: ii,
8996
8996
  redirectUrl: Ll,
8997
8997
  apiUrl: Xl,
8998
- position: Vd
8998
+ position: Vd,
8999
+ bouMenuItems: Fd
8999
9000
  }
9000
9001
  )
9001
9002
  );
9002
9003
  }
9003
9004
  }
9004
- const gh = (e) => {
9005
+ const fh = (e) => {
9005
9006
  if (window.frameElement)
9006
9007
  return;
9007
- if (ii = e.environment, Ll = e.redirectUrl || window.location.href, Xl = e.apiUrl || "http://localhost:3000", Vd = e.position || "left", !Object.values(kl).includes(ii))
9008
- throw new Gg(ii);
9009
- return customElements.define("xtra-authentication", uh), { loginWithXtra: () => {
9010
- const r = xp({ apiUrl: Xl, redirectUrl: Ll });
9008
+ if (ii = e.environment, Ll = e.redirectUrl || window.location.href, Xl = e.apiUrl || "http://localhost:3000", Vd = e.position || "left", Fd = e.bouMenuItems || [], !Object.values(kl).includes(ii))
9009
+ throw new Yg(ii);
9010
+ return customElements.define("xtra-authentication", sh), { loginWithXtra: () => {
9011
+ const r = Dp({ apiUrl: Xl, redirectUrl: Ll });
9011
9012
  window.location.replace(r);
9012
9013
  } };
9013
9014
  };
9014
9015
  export {
9015
- sh as E,
9016
- ch as a,
9017
- dh as b,
9018
- gh as c,
9019
- xp as g,
9016
+ ch as E,
9017
+ dh as a,
9018
+ gh as b,
9019
+ fh as c,
9020
+ Dp as g,
9020
9021
  nr as j,
9021
9022
  Q as r,
9022
9023
  Ys as u