@myxtra/authentication-green 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -268,7 +268,7 @@ var J = Ku.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 Zd = J,
|
|
271
|
+
var Zd = J, bd = Symbol.for("react.element"), vd = Symbol.for("react.fragment"), wd = Object.prototype.hasOwnProperty, Wd = Zd.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Ld = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
272
272
|
function Tu(e, t, n) {
|
|
273
273
|
var i, r = {}, l = null, o = null;
|
|
274
274
|
n !== void 0 && (l = "" + n), t.key !== void 0 && (l = "" + t.key), t.ref !== void 0 && (o = t.ref);
|
|
@@ -277,9 +277,9 @@ function Tu(e, t, n) {
|
|
|
277
277
|
if (e && e.defaultProps)
|
|
278
278
|
for (i in t = e.defaultProps, t)
|
|
279
279
|
r[i] === void 0 && (r[i] = t[i]);
|
|
280
|
-
return { $$typeof:
|
|
280
|
+
return { $$typeof: bd, type: e, key: l, ref: o, props: r, _owner: Wd.current };
|
|
281
281
|
}
|
|
282
|
-
Zr.Fragment =
|
|
282
|
+
Zr.Fragment = vd;
|
|
283
283
|
Zr.jsx = Tu;
|
|
284
284
|
Zr.jsxs = Tu;
|
|
285
285
|
Vu.exports = Zr;
|
|
@@ -422,7 +422,7 @@ function Qu(e) {
|
|
|
422
422
|
} = J.useContext(Hd) || {}, l = n || i || Kd();
|
|
423
423
|
if (l && !l.reportNamespaces && (l.reportNamespaces = new Fd()), !l) {
|
|
424
424
|
gl("You will need to pass in an i18next instance by using initReactI18next");
|
|
425
|
-
const f = (Z,
|
|
425
|
+
const f = (Z, v) => typeof v == "string" ? v : v && typeof v == "object" && typeof v.defaultValue == "string" ? v.defaultValue : Array.isArray(Z) ? Z[Z.length - 1] : Z, C = [f, {}, !1];
|
|
426
426
|
return C.t = f, C.i18n = {}, C.ready = !1, C;
|
|
427
427
|
}
|
|
428
428
|
l.options.react && l.options.react.wait !== void 0 && gl("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");
|
|
@@ -458,7 +458,7 @@ function Qu(e) {
|
|
|
458
458
|
G.current && I(m);
|
|
459
459
|
}
|
|
460
460
|
return f && l && l.on(f, Z), C && l && l.store.on(C, Z), () => {
|
|
461
|
-
G.current = !1, f && l && f.split(" ").forEach((
|
|
461
|
+
G.current = !1, f && l && f.split(" ").forEach((v) => l.off(v, Z)), C && l && C.split(" ").forEach((v) => l.store.off(v, Z));
|
|
462
462
|
};
|
|
463
463
|
}, [l, h]);
|
|
464
464
|
const g = J.useRef(!0);
|
|
@@ -501,7 +501,7 @@ Ti.exports;
|
|
|
501
501
|
h = String(h), /[^\0-\xFF]/.test(h) && s(
|
|
502
502
|
"The string to be encoded contains characters outside of the Latin1 range."
|
|
503
503
|
);
|
|
504
|
-
for (var y = h.length % 3, G = "", g = -1, d, f, C, Z,
|
|
504
|
+
for (var y = h.length % 3, G = "", g = -1, d, f, C, Z, v = h.length - y; ++g < v; )
|
|
505
505
|
d = h.charCodeAt(g) << 16, f = h.charCodeAt(++g) << 8, C = h.charCodeAt(++g), Z = d + f + C, G += u.charAt(Z >> 18 & 63) + u.charAt(Z >> 12 & 63) + u.charAt(Z >> 6 & 63) + u.charAt(Z & 63);
|
|
506
506
|
return y == 2 ? (d = h.charCodeAt(g) << 8, f = h.charCodeAt(++g), Z = d + f, G += u.charAt(Z >> 10) + u.charAt(Z >> 4 & 63) + u.charAt(Z << 2 & 63) + "=") : y == 1 && (Z = h.charCodeAt(g), G += u.charAt(Z >> 2) + u.charAt(Z << 4 & 63) + "=="), G;
|
|
507
507
|
}, c = {
|
|
@@ -527,7 +527,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
|
|
|
527
527
|
for (var n of gs(t))
|
|
528
528
|
Jd.call(t, n) && ps(e, n, t[n]);
|
|
529
529
|
return e;
|
|
530
|
-
}, Qd = (e, t) => zd(e, xd(t)), Eu = J.createContext(void 0),
|
|
530
|
+
}, Qd = (e, t) => zd(e, xd(t)), Eu = J.createContext(void 0), Ym = ({ environment: e, children: t }) => {
|
|
531
531
|
const [n] = J.useState(() => e);
|
|
532
532
|
return /* @__PURE__ */ Mn.jsx(Eu.Provider, { value: n, children: t });
|
|
533
533
|
}, Ed = () => {
|
|
@@ -552,7 +552,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
|
|
|
552
552
|
case "prod":
|
|
553
553
|
return t === "fr" ? "https://profil.monxtra.be" : "https://profiel.mijnxtra.be";
|
|
554
554
|
}
|
|
555
|
-
}, _d = Pd,
|
|
555
|
+
}, _d = Pd, Am = () => {
|
|
556
556
|
const { i18n: e } = Qu(), t = Ed();
|
|
557
557
|
return _d(t, e.language);
|
|
558
558
|
}, fs = ({ error: e }) => e ? /* @__PURE__ */ Mn.jsx("span", { "aria-live": "assertive", className: "sr-only", tabIndex: -1, children: e }) : null, $d = (e, t) => e.getAttribute("name") === t, qd = (e, t) => {
|
|
@@ -570,7 +570,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
|
|
|
570
570
|
}, ""), tg = (e, t, n) => {
|
|
571
571
|
const i = eg(e, t), r = i == null ? void 0 : i.split(",")[0], l = qd(e, t);
|
|
572
572
|
return l == null || l.focus(), l == null || l.scrollIntoView({ block: "center" }), n("accessibleForm.detailedError", { invalidFormFieldLabels: i, firstInvalidFormFieldLabel: r });
|
|
573
|
-
},
|
|
573
|
+
}, Nm = ({ submitCount: e, errors: t }) => {
|
|
574
574
|
const { t: n } = Qu(), i = J.useRef(null), r = i.current, [l, o] = J.useState(!1), [s] = Object.entries(t), [u, a] = J.useState(), [p, m] = J.useState(e);
|
|
575
575
|
return J.useEffect(() => o(!0), []), J.useEffect(() => {
|
|
576
576
|
if (!e || !s || p === e)
|
|
@@ -581,7 +581,7 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
|
|
|
581
581
|
formRef: i,
|
|
582
582
|
AccessibleFormMessage: /* @__PURE__ */ Mn.jsx(fs, { error: n("accessibleForm.genericError") })
|
|
583
583
|
} : { formRef: i, AccessibleFormMessage: /* @__PURE__ */ Mn.jsx(fs, { error: u }) };
|
|
584
|
-
}, ng = {
|
|
584
|
+
}, ng = /* @__PURE__ */ ((e) => (e.Mobile = "mobile", e.Fixed = "fixed", e))(ng || {}), ig = {
|
|
585
585
|
missingMandatoryData: [],
|
|
586
586
|
firstName: "Lukas",
|
|
587
587
|
lastName: "Cornille",
|
|
@@ -595,10 +595,10 @@ var Md = Object.defineProperty, zd = Object.defineProperties, xd = Object.getOwn
|
|
|
595
595
|
createdAt: "2020-03-09T07:44:01Z",
|
|
596
596
|
updatedAt: "2022-07-18T14:28:01Z"
|
|
597
597
|
};
|
|
598
|
-
Qd(Dd({},
|
|
598
|
+
Qd(Dd({}, ig), {
|
|
599
599
|
phone: [{ type: "mobile", countryCode: "32", number: "0499999999" }]
|
|
600
600
|
});
|
|
601
|
-
const ig = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9Cg==";
|
|
601
|
+
const rg = "data:text/css;base64,Lyogc3JjL3N0eWxlcy9yZXNldC5jc3MgKi8KYSwKYWJiciwKYWNyb255bSwKYWRkcmVzcywKYXBwbGV0LAphcnRpY2xlLAphc2lkZSwKYXVkaW8sCmIsCmJpZywKYmxvY2txdW90ZSwKYm9keSwKY2FudmFzLApjYXB0aW9uLApjZW50ZXIsCmNpdGUsCmNvZGUsCmRkLApkZWwsCmRldGFpbHMsCmRmbiwKZGl2LApkbCwKZHQsCmVtLAplbWJlZCwKZmllbGRzZXQsCmZpZ2NhcHRpb24sCmZpZ3VyZSwKZm9vdGVyLApmb3JtLApoMSwKaDIsCmgzLApoNCwKaDUsCmg2LApoZWFkZXIsCmhncm91cCwKaHRtbCwKaSwKaWZyYW1lLAppbWcsCmlucywKa2JkLApsYWJlbCwKbGVnZW5kLApsaSwKbWFyaywKbWVudSwKbmF2LApvYmplY3QsCm9sLApvdXRwdXQsCnAsCnByZSwKcSwKcnVieSwKcywKc2FtcCwKc2VjdGlvbiwKc21hbGwsCnNwYW4sCnN0cmlrZSwKc3Ryb25nLApzdWIsCnN1bW1hcnksCnN1cCwKdGFibGUsCnRib2R5LAp0ZCwKdGZvb3QsCnRoLAp0aGVhZCwKdGltZSwKdHIsCnR0LAp1LAp1bCwKdmFyLAp2aWRlbyB7CiAgYm9yZGVyOiAwOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1zaXplOiAxMDAlOwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAwOwogIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKfQphcnRpY2xlLAphc2lkZSwKZGV0YWlscywKZmlnY2FwdGlvbiwKZmlndXJlLApmb290ZXIsCmhlYWRlciwKaGdyb3VwLAptZW51LApuYXYsCnNlY3Rpb24gewogIGRpc3BsYXk6IGJsb2NrOwp9CmJvZHkgewogIGxpbmUtaGVpZ2h0OiAxOwp9Cm9sLAp1bCB7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQpibG9ja3F1b3RlLApxIHsKICBxdW90ZXM6IG5vbmU7Cn0KYmxvY2txdW90ZTphZnRlciwKYmxvY2txdW90ZTpiZWZvcmUsCnE6YWZ0ZXIsCnE6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBjb250ZW50OiBub25lOwp9CnRhYmxlIHsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogIGJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBzcmMvc3R5bGVzL2dsb2JhbC5jc3MgKi8KOjpiYWNrZHJvcCwKOmhvc3QsCjpyb290IHsKICAtLW5ldXRyYWwtOTk5OiMwMDA7CiAgLS1uZXV0cmFsLTkwMDojMWIxZjI3OwogIC0tbmV1dHJhbC04MDA6IzJlM2I1NjsKICAtLW5ldXRyYWwtNzAwOiM0ODUyNmQ7CiAgLS1uZXV0cmFsLTYwMDojNjM3MDhhOwogIC0tbmV1dHJhbC01MDA6IzdjODlhMzsKICAtLW5ldXRyYWwtNDAwOiM5ZmFhYzA7CiAgLS1uZXV0cmFsLTMwMDojYmJjMWQzOwogIC0tbmV1dHJhbC0yMDA6I2ViZWRmNTsKICAtLW5ldXRyYWwtMTAwOiNmM2Y0ZmE7CiAgLS1uZXV0cmFsLTUwOiNmOWZhZmM7CiAgLS1uZXV0cmFsLTAwMDojZmZmOwogIC0tcHJpbWFyeS05MDA6IzAwM2MzNzsKICAtLXByaW1hcnktODAwOiMwMDU2NGY7CiAgLS1wcmltYXJ5LTcwMDojMDA4MDc3OwogIC0tcHJpbWFyeS02MDA6IzAwOWE4ZTsKICAtLXByaW1hcnktNTAwOiMwMGFiOWU7CiAgLS1wcmltYXJ5LTQwMDojMTliM2E4OwogIC0tcHJpbWFyeS0zMDA6IzgwZDVjZjsKICAtLXByaW1hcnktMjAwOiNjY2VlZWM7CiAgLS1wcmltYXJ5LTEwMDojZTVmN2Y1OwogIC0tcHJpbWFyeS01MDojZWZmOWY5OwogIC0tc3VjY2Vzcy0yMDA6I2YyZjllYzsKICAtLXN1Y2Nlc3MtNTAwOiMwMDlhM2U7CiAgLS1lcnJvci0yMDA6I2ZlZjRmNTsKICAtLWVycm9yLTQwMDojZmY1YzVjOwogIC0tZXJyb3ItNTAwOiNlNjJkMzI7CiAgLS13YXJuaW5nLTIwMDojZmZmYWYzOwogIC0td2FybmluZy01MDA6I2RjODYzMzsKICAtLXByaW1hcnktZ3JhZGllbnQ6bGluZWFyLWdyYWRpZW50KDEzMy41M2RlZywjMTU5YTk1IDI1LjU3JSwjMTBiOGIxIDc0LjI5JSk7CiAgLS1zaGFkb3ctY2FyZDowIDNweCA4cHggcmdiYSg0Niw1OSw4NiwuMSk7CiAgLS1zaGFkb3ctbmF2OjAgMCAxMnB4IHJnYmEoNDYsNTksODYsLjEyKTsKICAtLXNoYWRvdy1idXR0b246MCA4cHggOHB4IC01cHggcmdiYSgxLDE0MSwxMzYsLjIpOwogIC0tc2hhZG93LWZhYjowIDRweCA4cHggLTVweCByZ2JhKDEsMTQxLDEzNiwuMik7CiAgLS1zaGFkb3ctbW9kYWw6MCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLDAgOHB4IDEwcHggcmdiKDAgMCAwLzQlKSwwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICAtLWJvcmRlci1yYWRpdXMtc206NnB4OwogIC0tYm9yZGVyLXJhZGl1cy1tZDoxMHB4OwogIC0tYm9yZGVyLXJhZGl1cy1sZzoxOHB4OwogIC0tc3BhY2luZy0xOjRweDsKICAtLXNwYWNpbmctMjo4cHg7CiAgLS1zcGFjaW5nLTM6MTJweDsKICAtLXNwYWNpbmctNDoxNnB4OwogIC0tc3BhY2luZy01OjIwcHg7CiAgLS1zcGFjaW5nLTY6MjRweDsKICAtLXNwYWNpbmctNzoyOHB4OwogIC0tc3BhY2luZy04OjMycHg7CiAgLS1zcGFjaW5nLTk6NDBweDsKICAtLXNwYWNpbmctMTA6NDhweDsKICAtLXNwYWNpbmctMTE6NTZweDsKICAtLXNwYWNpbmctMTI6NjRweDsKICAtLWZvbnQteHRyYToiTmV1ZSIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxibGlua21hY3N5c3RlbWZvbnQsIlNlZ29lIFVJIixyb2JvdG8sIkhlbHZldGljYSBOZXVlIixhcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7CiAgLS1kaXNwbGF5LTEtbWVkaXVtOjUwMCAzcmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0yLW1lZGl1bTo1MDAgMi41cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tZGlzcGxheS0zLW1lZGl1bTo1MDAgMnJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTEtcmVndWxhcjo0MDAgMS41cmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMS1tZWRpdW06NTAwIDEuNXJlbS8xLjMgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItcmVndWxhcjo0MDAgMS4yNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTItbWVkaXVtOjUwMCAxLjI1cmVtLzEuMiB2YXIoLS1mb250LXh0cmEpOwogIC0tdGl0bGUtMy1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLXRpdGxlLTMtbWVkaXVtOjUwMCAxLjEyNXJlbS8xLjIgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1yZWd1bGFyOjQwMCAxLjEyNXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWJvZHktMS1tZWRpdW06NTAwIDEuMTI1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIC0tYm9keS0yLXJlZ3VsYXI6NDAwIDFyZW0vMS4zIHZhcigtLWZvbnQteHRyYSk7CiAgLS1ib2R5LTItbWVkaXVtOjUwMCAxcmVtLzEuMyB2YXIoLS1mb250LXh0cmEpOwogIC0tc3VidGV4dC1yZWd1bGFyOjQwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLXN1YnRleHQtbWVkaXVtOjUwMCAwLjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLXJlZ3VsYXI6NDAwIDAuNjg3NXJlbS8xLjUgdmFyKC0tZm9udC14dHJhKTsKICAtLWxhYmVsLW1lZGl1bTo1MDAgMC42ODc1cmVtLzEuNSB2YXIoLS1mb250LXh0cmEpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKfQouc3Itb25seSB7CiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsKICBib3JkZXItd2lkdGg6IDA7CiAgaGVpZ2h0OiAxcHg7CiAgbWFyZ2luOiAtMXB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICB3aWR0aDogMXB4Owp9Cjppcyg6cm9vdCwgOmhvc3QpICogewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIDpob3N0LAogIDpyb290IHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL0FuY2hvci9BbmNob3IuY3NzICovCi5hbmNob3IgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXdlaWdodDogNTAwOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogLW1vei1maXQtY29udGVudDsKICB3aWR0aDogZml0LWNvbnRlbnQ7Cn0KLmFuY2hvci0taW5saW5lIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0taW5saW5lOmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB9Cn0KLmFuY2hvci0taW5saW5lOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0taW5saW5lOm5vdCg6YWN0aXZlKTpmb2N1cyB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHZhcigtLXByaW1hcnktNzAwKTsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgfQp9Ci5hbmNob3ItLW5ldXRyYWw6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKfQouYW5jaG9yLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tbmV1dHJhbDpmb2N1czphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMTAwKSwgMCAwIDAgMTBweCB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeSB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmFuY2hvci0tbmV1dHJhbDpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5hbmNob3ItLXByaW1hcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1zcGFjaW5nLTIpIHZhcigtLW5ldXRyYWwtMDAwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7Cn0KLmFuY2hvci0tcHJpbWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNzAwKTsKfQouYW5jaG9yLS1wcmltYXJ5OmZvY3VzOmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS01MCk7CiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1wcmltYXJ5LTUwKSwgMCAwIDAgOS41cHggdmFyKC0tcHJpbWFyeS03MDApOwp9Ci5hbmNob3ItLWRpc2FibGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9BdmF0YXIvQXZhdGFyLmNzcyAqLwouYXZhdGFyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtODAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmF2YXRhci0tc21hbGwgewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMSk7CiAgZm9udC1zaXplOiAxMHB4OwogIGhlaWdodDogMjRweDsKICB3aWR0aDogMjRweDsKfQouYXZhdGFyLS1tZWRpdW0gewogIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMik7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogNDBweDsKICB3aWR0aDogNDBweDsKfQouYXZhdGFyLS1sYXJnZSB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTsKICBmb250LXNpemU6IDQycHg7CiAgaGVpZ2h0OiAxMDBweDsKICB3aWR0aDogMTAwcHg7Cn0KLmF2YXRhcl9faW5pdGlhbHMgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQnV0dG9uL0J1dHRvbi5jc3MgKi8KLmJ1dHRvbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAwOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZm9udDogaW5oZXJpdDsKICBmb250LXdlaWdodDogNTAwOwogIGxldHRlci1zcGFjaW5nOiAuMDFlbTsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIHdpZHRoOiAxMDAlOwp9Ci5idXR0b24tLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNjAwKTsKICB9Cn0KLmJ1dHRvbi0tcHJpbWFyeTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTYwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1wcmltYXJ5OmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KLmJ1dHRvbi0tZGlzYWJsZWQsCi5idXR0b24tLXByaW1hcnk6ZGlzYWJsZWQgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKfQouYnV0dG9uLS1zZWNvbmRhcnkgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIH0KfQouYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNjAwKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS02MDApOwp9Ci5idXR0b24tLXNlY29uZGFyeTpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwp9Ci5idXR0b24tLXNlY29uZGFyeS0tZmlsbGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTEpOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIgewogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAxLjVweDsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUsCi5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHsKICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4OwogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDEuNXB4Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS10ZXJ0aWFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS03MDApOwogIH0KfQouYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS10ZXJ0aWFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTApOwogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0tdGVydGlhcnk6ZGlzYWJsZWQsCi5idXR0b24tLXRlcnRpYXJ5W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLXdhcm5pbmc6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICB9Cn0KLmJ1dHRvbi0td2FybmluZzpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4IHZhcigtLWVycm9yLTQwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItNDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS13YXJuaW5nOmZvY3VzOm5vdCg6aG92ZXIpIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLTUwMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tZXJyb3ItNTAwKSwgaW5zZXQgMCAwIDAgNXB4IHZhcigtLW5ldXRyYWwtMDAwKTsKICB9Cn0KLmJ1dHRvbi0tbmV1dHJhbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmJ1dHRvbi0tbmV1dHJhbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5idXR0b24tLW5ldXRyYWw6Zm9jdXMgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAwIDAgMCAxcHggdmFyKC0tcHJpbWFyeS0yMDApLAogICAgaW5zZXQgMCAwIDAgM3B4IHZhcigtLW5ldXRyYWwtMDAwKSwKICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouYnV0dG9uLS1uZXV0cmFsOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQouYnV0dG9uLS1uZXV0cmFsOmRpc2FibGVkIHsKICBvcGFjaXR5OiAuNjsKfQouYnV0dG9uLS1pY29uLS1wcmltYXJ5LAouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiBhdXRvOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmJ1dHRvbi0taWNvbi0tcHJpbWFyeVthcmlhLWRpc2FibGVkPXRydWVdIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuYnV0dG9uLS1pY29uLS1wcmltYXJ5OmhvdmVyIHsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTcwMCk7CiAgfQp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXByaW1hcnk6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnkgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5idXR0b24tLWljb24tLXNlY29uZGFyeTpob3ZlciB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIH0KfQouYnV0dG9uLS1pY29uLS1zZWNvbmRhcnk6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBvdXRsaW5lOiBub25lOwp9Ci5idXR0b24tLWljb24tLXNlY29uZGFyeTphY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouYnV0dG9uLS13aXRoLWljb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmJ1dHRvbl9faWNvbiB7CiAgZGlzcGxheTogZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmJ1dHRvbiB7CiAgICB3aWR0aDogYXV0bzsKICB9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZyB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KICAuYnV0dG9uLmJ1dHRvbi0tcGVuZGluZzphZnRlciB7CiAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgICBjb250ZW50OiAiIjsKICAgIGhlaWdodDogMTZweDsKICAgIGluc2V0OiAwOwogICAgbWFyZ2luOiBhdXRvOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgfQogIC5idXR0b24tLXNlY29uZGFyeS5idXR0b24tLXBlbmRpbmc6YWZ0ZXIgewogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICBAa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9DYWxsVG9BY3Rpb24vQ2FsbFRvQWN0aW9uLmNzcyAqLwouY2FsbC10by1hY3Rpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLmNhbGwtdG8tYWN0aW9uX193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouY2FsbC10by1hY3Rpb25fX2JhY2tncm91bmQgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3NTQnIGhlaWdodD0nMTc5NScgZmlsbD0nbm9uZSclM0UlM0NlbGxpcHNlIGN4PSc4NzYuOTIzJyBjeT0nOTM3LjQ1NycgZmlsbD0nJTIzMDA5QThFJyByeD0nMzQ5JyByeT0nODA1LjUnIHRyYW5zZm9ybT0ncm90YXRlKDYzLjkzMyA4NzYuOTIzIDkzNy40NTcpJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzMTlCM0E4JyBzdHJva2Utd2lkdGg9JzInIGQ9J001OTQuMzA0IDEwMjcuMzlDNTA4Ljg2IDgxNS44NjggNDY3LjcyOSA2MDkuNzg2IDQ3MC4yNjcgNDQ3LjYxNGMxLjI2OS04MS4wODggMTMuNDU2LTE1MS4xNDcgMzYuNDM5LTIwNS40MDcgMjIuOTgyLTU0LjI1NiA1Ni43MjUtOTIuNjQ3IDEwMS4wODYtMTEwLjU2NiA0NC4zNjEtMTcuOTE5IDk1LjMwMi0xMy43MzYgMTQ5LjUxOSA5LjMzNiA1NC4yMjIgMjMuMDc0IDExMS42NDkgNjUuMDEzIDE2OC44ODIgMTIyLjQ3IDExNC40NjcgMTE0LjkxIDIyOC4wMDcgMjkxLjc0MiAzMTMuNDQ3IDUwMy4yNjggODUuNDUgMjExLjUyNSAxMjYuNTggNDE3LjYwNSAxMjQuMDQgNTc5Ljc3NS0xLjI3IDgxLjA5LTEzLjQ1IDE1MS4xNS0zNi40NCAyMDUuNDEtMjIuOTggNTQuMjYtNTYuNzIgOTIuNjUtMTAxLjA4IDExMC41Ny00NC4zNyAxNy45Mi05NS4zMSAxMy43My0xNDkuNTItOS4zNC01NC4yMy0yMy4wNy0xMTEuNjUzLTY1LjAxLTE2OC44ODYtMTIyLjQ3LTExNC40NjMtMTE0LjkxLTIyOC4wMDYtMjkxLjc0LTMxMy40NS01MDMuMjdaJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMwNHB4IC01MjZweDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNzk0LjExcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxNzUzLjg1cHg7Cn0KLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctNCkgNjRweCB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYWxsLXRvLWFjdGlvbiB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fd3JhcHBlciB7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICB9CiAgLmNhbGwtdG8tYWN0aW9uX19iYWNrZ3JvdW5kIHsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNDZweCAtNjcxcHg7CiAgfQogIC5jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTIpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvQ2hpcC9DaGlwLmNzcyAqLwouY2hpcC1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LXdyYXA6IHdyYXA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jaGlwLWdyb3VwLAouY2hpcF9faW5wdXQtd3JhcHBlciwKLmNoaXBfX2xhYmVsIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmNoaXBfX2xhYmVsIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmNoaXBfX2lucHV0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLmNoaXBfX2lucHV0OmlzKDpjaGVja2VkLCA6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9Ci5jaGlwX19pbnB1dDpkaXNhYmxlZCArIC5jaGlwX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jaGlwX19pbnB1dDppcyg6Y2hlY2tlZCwgOmFjdGl2ZSkgKyAuY2hpcF9fbGFiZWwgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlLCA6Y2hlY2tlZCk6aG92ZXIgKyAuY2hpcF9fbGFiZWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIH0KfQouY2hpcF9faW5wdXQ6Y2hlY2tlZDpmb2N1cy12aXNpYmxlICsgLmNoaXBfX2xhYmVsIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5jaGlwX19pbnB1dDpub3QoOmRpc2FibGVkKTppcyg6Y2hlY2tlZCwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluKSArIC5jaGlwX19sYWJlbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hpcF9fbGFiZWwgewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgY29sb3I7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTVzOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvSW5wdXRGaWVsZC9JbnB1dEZpZWxkLmNzcyAqLwouaW5wdXQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwogIHdpZHRoOiAxMDAlOwp9Ci5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQouaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC00MDApOwp9Ci5pbnB1dC0tc3VjY2VzIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hbGVydC1zdWNjZXMtNTAwKTsKfQouaW5wdXRbYXJpYS1pbnZhbGlkPXRydWVdIHsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1lcnJvci01MDApOwp9Ci5pbnB1dDpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBkZWZhdWx0Owp9Ci5pbnB1dDppcyg6Zm9jdXMsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUpIHsKICBvdXRsaW5lOiBub25lOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC5pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS0zMDApOwogIH0KfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDotbW96LXJlYWQtb25seSwgOmRpc2FibGVkKSB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpIHsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXQtLXdpdGgtcHJlZml4IHsKICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy00KSoyICsgMjRweCk7Cn0KLmlucHV0LS13aXRoLXN1ZmZpeCB7CiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nLTQpKjIgKyAyNHB4KTsKfQouaW5wdXRfX3ByZWZpeCwKLmlucHV0X19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAyNHB4Owp9Ci5pbnB1dF9fcHJlZml4IHsKICBsZWZ0OiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5pbnB1dF9fc3VmZml4IHsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKfQppbnB1dFt0eXBlPWRhdGVdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgaGVpZ2h0OiAyNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogdmFyKC0tc3BhY2luZy00KTsKICB3aWR0aDogMjRweDsKICB6LWluZGV4OiAxOwp9CmlucHV0W3R5cGU9ZGF0ZV0gewogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7CiAgYXBwZWFyYW5jZTogbm9uZTsKfQppbnB1dDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9Ci5pbnB1dF9fc3VmZml4ICsgaW5wdXRbdHlwZT1kYXRlXTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmlucHV0X193cmFwcGVyIHsKICBkaXNwbGF5OiBmbGV4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU3RhdHVzQ2hpcC9TdGF0dXNDaGlwLmNzcyAqLwouc3RhdHVzLWNoaXAgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tc3RhdHVzLWNoaXAtY29sb3IpOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEpIHZhcigtLXNwYWNpbmctMik7Cn0KLnN0YXR1cy1jaGlwLS1zdWNjZXNzIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tc3VjY2Vzcy01MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zdGF0dXMtY2hpcC0td2FybmluZyB7CiAgLS1zdGF0dXMtY2hpcC1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmctNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWVycm9yIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItNTAwKTsKICAtLXN0YXR1cy1jaGlwLWNvbG9yOnZhcigtLW5ldXRyYWwtMDAwKTsKfQouc3RhdHVzLWNoaXAtLWRpc2FibGVkIHsKICAtLXN0YXR1cy1jaGlwLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC00MDApOwogIC0tc3RhdHVzLWNoaXAtY29sb3I6dmFyKC0tbmV1dHJhbC0wMDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Td2l0Y2gvU3dpdGNoLmNzcyAqLwouc3dpdGNoX19sYWJlbCB7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci5zd2l0Y2hfX3RodW1iIHsKICAtLXN3aXRjaC13aWR0aDo1MXB4OwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tcHJpbWFyeS01MDApIDUwJSwgdmFyKC0tbmV1dHJhbC0yMDApIDUwJSk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTsKICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7CiAgYm9yZGVyLXJhZGl1czogMjRweDsKICBjdXJzb3I6IHBvaW50ZXI7CiAgaGVpZ2h0OiAzMXB4OwogIG1hcmdpbjogMDsKICBtaW4td2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7CiAgcGFkZGluZzogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IHZhcigtLXN3aXRjaC13aWR0aCk7Cn0KLnN3aXRjaF9fdGh1bWIsCmJ1dHRvbi5zd2l0Y2hfX3RodW1iIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7Cn0KYnV0dG9uLnN3aXRjaF9fdGh1bWIgewogIGJvcmRlcjogbm9uZTsKfQouc3dpdGNoX190aHVtYjpjaGVja2VkLAouc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdIHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwOwp9Ci5zd2l0Y2hfX3RodW1iOmFmdGVyIHsKICAtLXN3aXRjaC10aHVtYi13aWR0aDoyN3B4OwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAzcHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KSwgMCAzcHggMXB4IHJnYigwIDAgMC82JSk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyN3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDJweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsKICB3aWR0aDogdmFyKC0tc3dpdGNoLXRodW1iLXdpZHRoKTsKfQpidXR0b24uc3dpdGNoX190aHVtYjphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMy41cHggLSB2YXIoLS1zd2l0Y2gtdGh1bWItd2lkdGgpKSk7Cn0KLnN3aXRjaF9fdGh1bWI6Y2hlY2tlZDphZnRlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3dpdGNoLXdpZHRoKSAtIHZhcigtLXN3aXRjaC10aHVtYi13aWR0aCkgLSAycHgpKTsKfQpidXR0b24uc3dpdGNoX190aHVtYltkYXRhLXN0YXRlPWNoZWNrZWRdOmFmdGVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMuNXB4KTsKfQouc3dpdGNoX19sYWJlbC0tZGlzYWJsZWQgewogIGN1cnNvcjogZGVmYXVsdDsKfQouc3dpdGNoX190aHVtYjpkaXNhYmxlZCB7CiAgYmFja2dyb3VuZDogdmFyKC0tbmV1dHJhbC0xMDApOwogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KLnN3aXRjaF9fdGh1bWI6ZGlzYWJsZWQ6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBub25lOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnN3aXRjaF9fdGh1bWIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtczsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtcG9zaXRpb247CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICB9CiAgLnN3aXRjaF9fdGh1bWI6YWZ0ZXIgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL2F0b21zL1RleHRBcmVhL1RleHRBcmVhLmNzcyAqLwoudGV4dC1hcmVhIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRleHQtYXJlYVthcmlhLWludmFsaWQ9dHJ1ZV0gewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1lcnJvci01MDApOwp9Ci50ZXh0LWFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KLnRleHQtYXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC50ZXh0LWFyZWE6aG92ZXIgewogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnRleHQtYXJlYTpmb2N1cyB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKICBvdXRsaW5lOiBub25lOwp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9Vbm9yZGVyZWRMaXN0L1Vub3JkZXJlZExpc3QuY3NzICovCi51bm9yZGVyZWQtbGlzdC0tY2hlY2sgPiBsaSB7CiAgLS1tb2JpbGUtY2hlY2s6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgLS1kZXNrdG9wLWNoZWNrOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMEFCOUUnIGQ9J004LjAwMi4wMzdjNC41MDQuNTMyIDkuMjc1IDEuODEgMTMuNDQzIDMuNjAyLjg5NC4zODUgMS41OTYuOTYgMi4wNCAxLjczLjQ0NC43Ny41OTIgMS42NjUuNDc4IDIuNjMyLS41MzIgNC41MDUtMS44MSA5LjI3Ni0zLjYwMiAxMy40NDMtLjM4NC44OTUtLjk2IDEuNTk3LTEuNzMgMi4wNDEtLjc3LjQ0NC0xLjY2NS41OTItMi42MzIuNDc4LTQuNTA1LS41MzItOS4yNzYtMS44MS0xMy40NDMtMy42MDItLjg5NS0uMzg1LTEuNTk3LS45Ni0yLjA0MS0xLjczLS40NDQtLjc3LS41OTItMS42NjUtLjQ3OC0yLjYzMy41MzItNC41MDQgMS44MS05LjI3NiAzLjYwMi0xMy40NDMuMzg1LS44OTQuOTYtMS41OTYgMS43My0yLjA0QzYuMTQuMDcgNy4wMzQtLjA3NyA4LjAwMi4wMzdaJy8lM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMS4yNScgZD0nTTE3LjMzMyA4LjMzMyAxMCAxNS42NjZsLTMuMzMzLTMuMzMzJy8lM0UlM0Mvc3ZnJTNFIik7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGdhcDogdmFyKC0tc3BhY2luZy0zKTsKfQoudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tb2JpbGUtY2hlY2spOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIHdpZHRoOiAyNHB4Owp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudW5vcmRlcmVkLWxpc3QtLWNoZWNrID4gbGk6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRlc2t0b3AtY2hlY2spOwogICAgaGVpZ2h0OiAzMnB4OwogICAgd2lkdGg6IDMycHg7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkQWN0aW9uL0NhcmRBY3Rpb24uY3NzICovCi5jYXJkX19oZWFkZXJfX2FjdGlvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEJvZHkvQ2FyZEJvZHkuY3NzICovCi5jYXJkX19ib2R5IHsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEVtcHR5U3RhdGUvQ2FyZEVtcHR5U3RhdGUuY3NzICovCi5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tbmV1dHJhbC0xMDApOwogIC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yOnZhcigtLW5ldXRyYWwtODAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC03MDApOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlLS1lcnJvciB7CiAgLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tZXJyb3ItMjAwKTsKICAtLWNhcmQtZW1wdHktc3RhdGUtaWNvbi1jb2xvcjp2YXIoLS1lcnJvci01MDApOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSB7CiAgcGFkZGluZzogMDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQouY2FyZF9fZW1wdHktc3RhdGVfX2ljb24sCi5jYXJkX19lbXB0eS1zdGF0ZV9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX19pY29uIHsKICBjb2xvcjogdmFyKC0tY2FyZC1lbXB0eS1zdGF0ZS1pY29uLWNvbG9yKTsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMyk7Cn0KLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkX19lbXB0eS1zdGF0ZSB7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpOwogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNhcmQtYm9yZGVyLXJhZGl1cyk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9fZW1wdHktc3RhdGUtLXN0YW5kYWxvbmUgewogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcmRfX2VtcHR5LXN0YXRlX193cmFwcGVyIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSAuY2FyZF9fZW1wdHktc3RhdGVfX3dyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMjAwKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZV9fZGVzY3JpcHRpb24sCiAgLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSB7CiAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1heC13aWR0aDogNTI1cHg7CiAgfQogIC5jYXJkX19lbXB0eS1zdGF0ZS0tc3RhbmRhbG9uZSA6aXMoLmNhcmRfX2VtcHR5LXN0YXRlX190aXRsZSwgLmNhcmRfX2VtcHR5LXN0YXRlX19kZXNjcmlwdGlvbikgewogICAgbWF4LXdpZHRoOiB1bnNldDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRGb290ZXIvQ2FyZEZvb3Rlci5jc3MgKi8KLmNhcmRfX2Zvb3RlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2Zvb3RlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NhcmQvQ2FyZEhlYWRlci9DYXJkSGVhZGVyLmNzcyAqLwouY2FyZF9faGVhZGVyIHsKICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmNhcmRfX2hlYWRlci0tc3RpY2t5IHsKICAtLWNhcmQtaGVhZGVyLXN0aWNreS10b3A6MDsKICBwb3NpdGlvbjogc3RpY2t5OwogIHRvcDogdmFyKC0tY2FyZC1oZWFkZXItc3RpY2t5LXRvcCk7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9faGVhZGVyLmNhcmRfX2hlYWRlci0tdGFicyAudGFicyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRJdGVtL0NhcmRJdGVtLmNzcyAqLwouY2FyZF9fYm9keV9faXRlbSB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGdhcDogdmFyKC0tc3BhY2luZy02KTsKfQouY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkgewogIG1hcmdpbi1ib3R0b206IDE2cHg7Cn0KLmNhcmRfX2JvZHkgPiAuY2FyZF9fYm9keV9faXRlbTpvbmx5LW9mLXR5cGUgewogIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5jYXJkX19ib2R5X19pdGVtIC5saXN0LWl0ZW0ubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6CiAgICBpbnNldCAxcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IC0xcHggMCAwIHZhcigtLW5ldXRyYWwtMjAwKSwKICAgIGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIC5saXN0LWl0ZW0tLXdpdGgtZGl2aWRlciB7CiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbSB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIDA7CiAgfQogIC5jYXJkX19ib2R5IC5jYXJkX19ib2R5X19pdGVtOm5vdCg6bGFzdC1vZi10eXBlKSB7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggdmFyKC0tbmV1dHJhbC0yMDApOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06Zmlyc3Qtb2YtdHlwZSB7CiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KTsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06bGFzdC1vZi10eXBlIHsKICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogIH0KICAuY2FyZF9fYm9keSAuY2FyZF9fYm9keV9faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSwgOmZpcnN0LW9mLXR5cGUpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1vZi10eXBlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICB9CiAgLmNhcmRfX2JvZHkgLmNhcmRfX2JvZHlfX2l0ZW06b25seS1jaGlsZCB7CiAgICBwYWRkaW5nOiAwOwogIH0KICAuY2FyZF9fYm9keSA+IC5jYXJkX19ib2R5X19pdGVtOm9ubHktb2YtdHlwZSB7CiAgICBwYWRkaW5nLXRvcDogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRTdWJ0aXRsZS9DYXJkU3VidGl0bGUuY3NzICovCi5jYXJkX19ib2R5X19zdWJ0aXRsZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCB2YXIoLS1uZXV0cmFsLTIwMCksIGluc2V0IDFweCAwIHZhcigtLW5ldXRyYWwtMjAwKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2JvZHlfX3N1YnRpdGxlIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRUaXRsZS9DYXJkVGl0bGUuY3NzICovCi5jYXJkX19oZWFkZXJfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogZmxleDsKICBmb250OiB2YXIoLS10aXRsZS0zLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQouY2FyZF9faGVhZGVyX190aXRsZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogICAgZm9udDogdmFyKC0tdGl0bGUtMi1yZWd1bGFyKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmQuY3NzICovCi5jYXJkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHZhcigtLW5ldXRyYWwtMjAwKSwgaW5zZXQgMCAxcHggdmFyKC0tbmV1dHJhbC0yMDApOwp9Ci5jYXJkLS1kaXNhYmxlZCAqIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC01MDApICFpbXBvcnRhbnQ7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5jYXJkIHsKICAgIC0tY2FyZC1ib3JkZXItcmFkaXVzOnZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgICBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7CiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OwogIH0KICB1bC5jYXJkIC5saXN0LWl0ZW0gewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIHVsLmNhcmQgLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmZvY3VzIHsKICAgIGJveC1zaGFkb3c6CiAgICAgIGluc2V0IDAgMCAwIDFweCB2YXIoLS1uZXV0cmFsLTIwMCksCiAgICAgIGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksCiAgICAgIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgfQogIHVsLmNhcmQgOmlzKC5saXN0LWl0ZW06Zmlyc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpmaXJzdC1vZi10eXBlIGEpIHsKICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIH0KICB1bC5jYXJkIDppcygubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSwgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgYSkgewogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2FyZC9DYXJkSW1hZ2VWYXJpYW50LmNzcyAqLwouY2FyZC0taW1hZ2UgewogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luOiBhdXRvOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jYXJkLS1pbWFnZSwKLmNhcmQtLWltYWdlIC5jYXJkX19pbGx1c3RyYXRpb24gewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2hlYWRlcl9fdGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tdGl0bGUtMi1tZWRpdW0pOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgMDsKfQouY2FyZC0taW1hZ2UgLmNhcmRfX2JvZHkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogIGZvbnQ6IHZhcigtLWJvZHktMS1yZWd1bGFyKTsKICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjaW5nLTYpOwogIG1heC13aWR0aDogNDIwcHg7CiAgcGFkZGluZzogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmNhcmQtLWltYWdlIC5jYXJkX19mb290ZXIgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5jYXJkLS1pbWFnZSAuY2FyZF9fZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuY2FyZC0taW1hZ2UgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTEpOwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciB7CiAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogIH0KICAuY2FyZC0taW1hZ2UgLmNhcmRfX2Zvb3RlciA+IDpub3QoOmZpcnN0LWNoaWxkKSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy00KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DYXJkL0NhcmRMaXN0L0NhcmRMaXN0LmNzcyAqLwouY2FyZC1saXN0ID4gLmNhcmQ6bm90KDpsYXN0LWNoaWxkKSB7CiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmNhcmQtbGlzdCB7CiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctOCk7CiAgfQogIC5jYXJkLWxpc3QgPiAuY2FyZDpub3QoOmxhc3QtY2hpbGQpIHsKICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNik7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hlY2tib3gvQ2hlY2tib3guY3NzICovCi5jaGVja2JveCB7CiAgLS1jaGVja2JveC13aWR0aDoyNHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgOmlzKC5jaGVja2JveF9faW5wdXQsIC5jaGVja2JveF9fbGFiZWwpOmhvdmVyIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICB9Cn0KLmNoZWNrYm94LS1uZXV0cmFsLAouY2hlY2tib3gtLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLmNoZWNrYm94X19jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouY2hlY2tib3hfX3NwaW5uZXIgewogIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2NoZWNrLAouY2hlY2tib3hfX3NwaW5uZXIgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMzAwKTsKICBib3JkZXItcmFkaXVzOiA2cHg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIG1pbi13aWR0aDogdmFyKC0tY2hlY2tib3gtd2lkdGgpOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdmlzaWJpbGl0eTogdW5zZXQ7Cn0KLmNoZWNrYm94LmNoZWNrYm94LS1lcnJvciAuY2hlY2tib3hfX2NoZWNrIHsKICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLmNoZWNrYm94X19pbnB1dCB7CiAgaGVpZ2h0OiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgbWFyZ2luOiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiB2YXIoLS1jaGVja2JveC13aWR0aCk7CiAgei1pbmRleDogMTA7Cn0KLmNoZWNrYm94X19pbnB1dCB+IC5jaGVja2JveF9fY2hlY2sgcGF0aCB7CiAgc3Ryb2tlOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC03NTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLmNoZWNrYm94X19pbnB1dDpob3ZlciB+IC5jaGVja2JveF9fY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmNoZWNrYm94X19pbnB1dDpmb2N1cy13aXRoaW4gfiAuY2hlY2tib3hfX2NoZWNrIHsKICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmUtb2Zmc2V0OiAycHg7Cn0KLmNoZWNrYm94X19pbnB1dDpub3QoOmluZGV0ZXJtaW5hdGUpOmlzKDpjaGVja2VkLCBbYXJpYS1jaGVja2VkPXRydWVdKSB+IC5jaGVja2JveF9fY2hlY2sgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6aXMoOmNoZWNrZWQsIFthcmlhLWNoZWNrZWQ9dHJ1ZV0pIH4gLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICBzdHJva2UtZGFzaG9mZnNldDogMDsKfQouY2hlY2tib3hfX2lucHV0Om5vdCg6aW5kZXRlcm1pbmF0ZSk6ZGlzYWJsZWQgfiAuY2hlY2tib3hfX2NoZWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7Cn0KLmNoZWNrYm94X19sYWJlbCB7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faGludCB7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQouY2hlY2tib3hfX2Vycm9yIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5jaGVja2JveF9faW5wdXQ6aW5kZXRlcm1pbmF0ZSB7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2UpIHsKICAuY2hlY2tib3hfX2NoZWNrIHsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsKICB9CiAgLmNoZWNrYm94X19jaGVjayBwYXRoIHsKICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4zNXMgZWFzZS1vdXQ7CiAgfQogIC5jaGVja2JveF9fc3Bpbm5lciBjaXJjbGU6bGFzdC1vZi10eXBlIHsKICAgIGFuaW1hdGlvbjogYnV0dG9uLXNwaW5uZXIgMXMgZWFzZSBpbmZpbml0ZTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB9CiAgQGtleWZyYW1lcyBjaGVja2JveC1zcGlubmVyIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMHR1cm4pOwogICAgfQogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ29tYm9ib3gvQ29tYm9ib3guY3NzICovCi5jb21ib2JveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnVsW3JvbGU9bGlzdGJveF0uY29tYm9ib3hfX2xpc3QtLW9wZW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CnVsW3JvbGU9bGlzdGJveF0gewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBub25lOwogIGZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggOHB4IHJnYig0NiA1OSA4Ni8xMCUpKTsKICBmb250OiB2YXIoLS1ib2R5LTItcmVndWxhcik7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIG1heC1oZWlnaHQ6IDE2NXB4OwogIG92ZXJmbG93OiBzY3JvbGw7CiAgb3ZlcmZsb3cteDogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDEwMDA7Cn0KdWxbcm9sZT1saXN0Ym94XSBsaVtyb2xlPW9wdGlvbl0gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTQwMCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0zKSB2YXIoLS1zcGFjaW5nLTQpOwp9CnVsW3JvbGU9bGlzdGJveF0gbGlbcm9sZT1vcHRpb25dOm5vdCg6bGFzdC1jaGlsZCkgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTEwMCk7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLXNlbGVjdGVkIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtMTAwKTsKfQouY29tYm9ib3hfX2xpc3QtaXRlbS0tbG9hZGluZyB7CiAgY29sb3I6IHRyYW5zcGFyZW50OwogIGhlaWdodDogNDhweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIHVzZXItc2VsZWN0OiBub25lOwp9Ci5jb21ib2JveF9fbGlzdC1pdGVtLS1sb2FkaW5nOmFmdGVyIHsKICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDFzIGVhc2UgaW5maW5pdGU7CiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGJvcmRlci10b3A6IDRweCBzb2xpZCB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxNnB4OwogIGluc2V0OiAwOwogIG1hcmdpbjogYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDE2cHg7Cn0KLmNvbWJvYm94X19saXN0LWl0ZW0tLWVtcHR5IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGN1cnNvcjogZGVmYXVsdDsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9EZXNjcmlwdGlvbkxpc3QvRGVzY3JpcHRpb25MaXN0LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdC0tZm9ybSBkdCB7CiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogICAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3QtLWZvcm0gZGQgewogICAgZm9udDogdmFyKC0tYm9keS0xLW1lZGl1bSk7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uQWN0aW9uL0Rlc2NyaXB0aW9uQWN0aW9uLmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LW1lZGl1bSk7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2FjdGlvbiA+IGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAuZGVzY3JpcHRpb24tbGlzdF9faXRlbSAuZGVzY3JpcHRpb24tbGlzdF9fYWN0aW9uIHsKICAgIGZvbnQ6IHZhcigtLWJvZHktMS1tZWRpdW0pOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0Rlc2NyaXB0aW9uTGlzdC9EZXNjcmlwdGlvbkNvbnRlbnQvRGVzY3JpcHRpb25Db250ZW50LmNzcyAqLwpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICB9CiAgLmRlc2NyaXB0aW9uLWxpc3RfX2NvbnRlbnQgPiAqIHsKICAgIGZsZXg6IDE7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2NyaXB0aW9uSXRlbS9EZXNjcmlwdGlvbkl0ZW0uY3NzICovCi5kZXNjcmlwdGlvbi1saXN0X19pdGVtIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLmRlc2NyaXB0aW9uLWxpc3RfX2l0ZW0gPiAqIHsKICBmbGV4OiAxOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGVzY3JpcHRpb25MaXN0L0Rlc2N0aXB0aW9uU3VmZml4L0Rlc2NyaXB0aW9uU3VmZml4LmNzcyAqLwouZGVzY3JpcHRpb24tbGlzdF9fc3VmZml4IHsKICBmbGV4OiAwOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvRGlhbG9nL0RpYWxvZy5jc3MgKi8KLmRpYWxvZ1tvcGVuXTo6YmFja2Ryb3AgewogIGJhY2tncm91bmQ6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBvcGFjaXR5OiAuMjU7Cn0KYm9keTpoYXMoZGlhbG9nW29wZW5dKSB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpkaWFsb2c6bm90KFtvcGVuXSkgewogIHZpc2liaWxpdHk6IGhpZGRlbjsKfQpkaWFsb2c6Zm9jdXMgewogIG91dGxpbmU6IG5vbmU7Cn0KLmRpYWxvZyB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3gtc2hhZG93OgogICAgMCA3NnB4IDgwcHggcmdiKDAgMCAwLzclKSwKICAgIDAgMjFweCAyNHB4IHJnYigwIDAgMC81JSksCiAgICAwIDhweCAxMHB4IHJnYigwIDAgMC80JSksCiAgICAwIDNweCAzcHggcmdiKDAgMCAwLzIlKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTsKICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nLTQpKjIpOwogIG1heC13aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tc3BhY2luZy00KSoyKTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTAwOwp9Ci5kaWFsb2dfX2hlYWRlciB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHBvc2l0aW9uOiBzdGlja3k7CiAgdG9wOiAwOwogIHotaW5kZXg6IDEwMDA7Cn0KLmRpYWxvZ19faGVhZGVyX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci5kaWFsb2dfX2hlYWRlcl9fdGl0bGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtOTAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXRpdGxlLTItbWVkaXVtKTsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19faGVhZGVyX190aXRsZTpmb2N1cyB7CiAgb3V0bGluZTogbm9uZTsKfQouZGlhbG9nX19ib2R5LAouZGlhbG9nX19mb290ZXIsCi5kaWFsb2dfX2hlYWRlciB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKfQouZGlhbG9nX19ib2R5IHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9Ci5kaWFsb2dfX2JvZHksCi5kaWFsb2dfX2Zvb3RlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLmRpYWxvZ19fZm9vdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4OwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTIwMCk7CiAgYm90dG9tOiAwOwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogIHBvc2l0aW9uOiBzdGlja3k7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5kaWFsb2dfX2JvZHksCiAgLmRpYWxvZ19fZm9vdGVyLAogIC5kaWFsb2dfX2hlYWRlciB7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTYpOwogIH0KICAuZGlhbG9nX19ib2R5IHsKICAgIGdhcDogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmRpYWxvZyB7CiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9CiAgLmRpYWxvZ19fZm9vdGVyIHsKICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLmRpYWxvZ1tvcGVuXS5kaWFsb2ctLWFuaW1hdGVkIHsKICAgIGFuaW1hdGlvbjogem9vbS1pbiAuMTVzOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZCB7CiAgICBhbmltYXRpb246IHpvb20tb3V0IC4xNXM7CiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IC4xNXM7CiAgfQogIC5kaWFsb2dbb3Blbl0uZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLWluIC4xNXM7CiAgfQogIC5kaWFsb2c6bm90KFtvcGVuXSkuZGlhbG9nLS1hbmltYXRlZDo6YmFja2Ryb3AgewogICAgYW5pbWF0aW9uOiBmYWRlLW91dCAuMTVzOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20taW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICB9CiAgMC4wMDAwMDAwMDAxJSB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIHpvb20tb3V0IHsKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogIH0KfQpAa2V5ZnJhbWVzIGZhZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CkBrZXlmcmFtZXMgZmFkZS1vdXQgewogIDAlIHsKICAgIG9wYWNpdHk6IC4yNTsKICB9CiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9MaXN0SXRlbS9MaXN0SXRlbS5jc3MgKi8KLmxpc3QtaXRlbSwKLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwp9Ci5saXN0LWl0ZW0gewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5saXN0LWl0ZW06bm90KC5saXN0LWl0ZW0tLXdpdGgtbGluayksCi5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTQpOwp9Ci5saXN0LWl0ZW0gPiA6aXMoYSwgYnV0dG9uKSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IGluaGVyaXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZvbnQ6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQteHRyYSk7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAxMDAlOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogICAgYm9yZGVyOiBub25lOwogIH0KfQoubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tcHJpbWFyeS0yMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLmxpc3QtaXRlbSA+IDppcyhhLCBidXR0b24pOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWRpdmlkZXIgewogIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCB2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLmxpc3QtaXRlbS0tZGlzYWJsZWQgewogIHBvaW50ZXItZXZlbnRzOiBub25lOwp9Ci5saXN0LWl0ZW0tLWRlc3RydWN0aXZlIHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTpmb2N1cywKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1lcnJvci0yMDApOwp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZSAubGlzdC1pdGVtOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSwKLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvci0yMDApOwogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLmxpc3QtaXRlbTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKSwKICAubGlzdC1pdGVtID4gOmlzKGEsIGJ1dHRvbikgewogICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy02KTsKICB9CiAgLmxpc3QtaXRlbS0td2l0aC1kaXZpZGVyOmxhc3Qtb2YtdHlwZSB7CiAgICBib3gtc2hhZG93OiBub25lOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtQ29udGVudC9MaXN0SXRlbUNvbnRlbnQuY3NzICovCi5saXN0LWl0ZW1fX2NvbnRlbnQgewogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1NZXRhL0xpc3RJdGVtTWV0YS5jc3MgKi8KLmxpc3QtaXRlbV9fbWV0YSB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1QcmVmaXgvTGlzdEl0ZW1QcmVmaXguY3NzICovCi5saXN0LWl0ZW1fX3ByZWZpeCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBjb2xvcjogaW5oZXJpdDsKICBkaXNwbGF5OiBmbGV4Owp9Ci5saXN0LWl0ZW0ubGlzdC1pdGVtLS1kZXN0cnVjdGl2ZTpub3QoLmxpc3QtaXRlbS0td2l0aC1saW5rKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4LAoubGlzdC1pdGVtLmxpc3QtaXRlbS0tZGVzdHJ1Y3RpdmUgPiA6aXMoYSwgYnV0dG9uKTphY3RpdmUgLmxpc3QtaXRlbV9fcHJlZml4IHsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VidGl0bGUvTGlzdEl0ZW1TdWJ0aXRsZS5jc3MgKi8KLmxpc3QtaXRlbV9fc3VidGl0bGUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTUwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX19zdWJ0aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtU3VmZml4L0xpc3RJdGVtU3VmZml4LmNzcyAqLwoubGlzdC1pdGVtX19zdWZmaXggewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgLmxpc3QtaXRlbV9fc3VmZml4IHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC02MDApOwp9Ci5saXN0LWl0ZW0tLWRpc2FibGVkIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMzAwKTsKfQoubGlzdC1pdGVtLS13aXRoLWxpbmsgOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3N1ZmZpeCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0xpc3RJdGVtL0xpc3RJdGVtVGV4dC9MaXN0SXRlbVRleHQuY3NzICovCi5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiBpbmhlcml0OwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlOm5vdCgubGlzdC1pdGVtLS13aXRoLWxpbmspOmFjdGl2ZSAubGlzdC1pdGVtX190ZXh0LAoubGlzdC1pdGVtLmxpc3QtaXRlbS5saXN0LWl0ZW0tLWRlc3RydWN0aXZlID4gOmlzKGEsIGJ1dHRvbik6YWN0aXZlIC5saXN0LWl0ZW1fX3RleHQgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTGlzdEl0ZW0vTGlzdEl0ZW1UaXRsZS9MaXN0SXRlbVRpdGxlLmNzcyAqLwoubGlzdC1pdGVtX190aXRsZSB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoubGlzdC1pdGVtLS1kaXNhYmxlZCAubGlzdC1pdGVtX190aXRsZSB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvQ29udGVudC9Db250ZW50LmNzcyAqLwoubWVudV9fbGlzdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1vZGFsKSwgaW5zZXQgMCAwIDAgMXB4IHZhcigtLW5ldXRyYWwtMTAwKTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1pbi13aWR0aDogMjIwcHg7CiAgb3BhY2l0eTogMDsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTIpIDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybTogc2NhbGUoLjgpOwogIHZpc2liaWxpdHk6IGhpZGRlbjsKICB6LWluZGV4OiAxMDAwMDA7Cn0KLm1lbnVfX2xpc3QsCi5tZW51X19saXN0ID4gdWwgewogIGRpc3BsYXk6IGlubGluZS1mbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLm1lbnVfX2xpc3QgPiB1bCB7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTEpOwp9Ci5tZW51X19saXN0LS1hY3RpdmUgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51X19saXN0LS1sZWZ0IHsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9Ci5tZW51X19saXN0LS1yaWdodCB7CiAgcmlnaHQ6IDA7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLm1lbnVfX2xpc3QgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6CiAgICAgIHRyYW5zZm9ybSwKICAgICAgb3BhY2l0eSwKICAgICAgcm90YXRlLAogICAgICB2aXNpYmlsaXR5OwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvTWVudS9NZW51SXRlbS9NZW51SXRlbS5jc3MgKi8KLm1lbnVfX2xpc3QtaXRlbSB7CiAgZGlzcGxheTogZmxleDsKfQoubWVudV9fbGlzdC1pdGVtID4gKiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgYm9yZGVyOiAwOwogIGNvbG9yOiBpbmhlcml0OwogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICBmb250OiBpbmhlcml0OwogIGdhcDogdmFyKC0tc3BhY2luZy00KTsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgbWFyZ2luOiAwIDFweDsKICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTYpOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB3aWR0aDogMTAwJTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLm1lbnVfX2xpc3QtaXRlbSA+IDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgfQp9Ci5tZW51X19saXN0LWl0ZW0gPiA6Zm9jdXMgewogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDNweCB2YXIoLS1uZXV0cmFsLTAwMCksIGluc2V0IDAgMCAwIDVweCB2YXIoLS1wcmltYXJ5LTIwMCk7CiAgb3V0bGluZTogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZSwKLm1lbnVfX2xpc3QtaXRlbSA+IDphY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTEwMCk7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fbGlzdC1pdGVtID4gOmFjdGl2ZTpiZWZvcmUgewogIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDAgMCB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLm1lbnVfX2xpc3QtaXRlbSAuYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5tZW51X19saXN0LWl0ZW0gLmJ1dHRvbi0td2l0aC1pY29uIHsKICBnYXA6IHZhcigtLXNwYWNpbmctNCk7Cn0KLm1lbnVfX2xpc3QtaXRlbS0tbG9nb3V0IC5idXR0b24gewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmZvY3VzIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tbmV1dHJhbC0wMDApLCBpbnNldCAwIDAgMCA1cHggcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwp9Ci5tZW51X19saXN0LWl0ZW0tLWxvZ291dCAuYnV0dG9uOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDkyLCA5MiwgLjEpOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9NZW51L1RyaWdnZXIvVHJpZ2dlci5jc3MgKi8KLm1lbnVfX3RyaWdnZXJbYXJpYS1leHBhbmRlZD10cnVlXSB7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoubWVudV9fdHJpZ2dlclthcmlhLWV4cGFuZGVkPXRydWVdIC5idXR0b25fX2ljb24tcmlnaHQgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSkgewogIC5tZW51X190cmlnZ2VyIC5idXR0b25fX2ljb24tcmlnaHQgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsKICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL01lbnUvTWVudS5jc3MgKi8KLm1lbnUgewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1NlY3Rpb25NZXNzYWdlL1NlY3Rpb25NZXNzYWdlLmNzcyAqLwouc2VjdGlvbi1tZXNzYWdlIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTAwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMykgdmFyKC0tc3BhY2luZy00KTsKfQouc2VjdGlvbi1tZXNzYWdlLAouc2VjdGlvbi1tZXNzYWdlX19pY29uIHsKICBjb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yKTsKfQouc2VjdGlvbi1tZXNzYWdlLS1pbmZvIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXByaW1hcnkgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXByaW1hcnktNzAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktNTApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLXN1Y2Nlc3MgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLXN1Y2Nlc3MtNTAwKTsKICAtLXNlY3Rpb24tbWVzc2FnZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MtMjAwKTsKfQouc2VjdGlvbi1tZXNzYWdlLS13YXJuaW5nIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS13YXJuaW5nLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZXJyb3IgewogIC0tc2VjdGlvbi1tZXNzYWdlLWNvbG9yOnZhcigtLWVycm9yLTUwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1lcnJvci0yMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2UtLWRpc2FibGVkIHsKICAtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcjp2YXIoLS1uZXV0cmFsLTYwMCk7CiAgLS1zZWN0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1uZXV0cmFsLTIwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9faWNvbiB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGhlaWdodDogMjRweDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICB3aWR0aDogMjRweDsKfQouc2VjdGlvbi1tZXNzYWdlX19pY29uLS1pbmZvIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2ljb24tLXByaW1hcnkgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KLnNlY3Rpb24tbWVzc2FnZV9fZGVzY3JpcHRpb24sCi5zZWN0aW9uLW1lc3NhZ2VfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwp9Ci5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiwKLnNlY3Rpb24tbWVzc2FnZV9fdGl0bGUgKyAuc2VjdGlvbi1tZXNzYWdlX19kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yKTsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gewogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSkgMDsKfQouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gOmlzKGEsIHAsIGJ1dHRvbikgewogIGNvbG9yOiBpbmhlcml0OwogIGZvbnQ6IHZhcigtLWJvZHktMi1tZWRpdW0pOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6aG92ZXIgewogICAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9Cn0KLnNlY3Rpb24tbWVzc2FnZV9fYWN0aW9uIC5hbmNob3I6YWN0aXZlLAouc2VjdGlvbi1tZXNzYWdlX19hY3Rpb24gLmFuY2hvcjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpOwogIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXNwYWNpbmctMikgdmFyKC0tc2VjdGlvbi1tZXNzYWdlLWJhY2tncm91bmQtY29sb3IpLCAwIDAgMCAxMHB4IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7CiAgY29sb3I6IHZhcigtLXNlY3Rpb24tbWVzc2FnZS1jb2xvcik7Cn0KLnNlY3Rpb24tbWVzc2FnZS0tZGlzYWJsZWQgOmlzKGEsIHAsIGJ1dHRvbikgewogIGN1cnNvcjogbm90LWFsbG93ZWQ7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zZWN0aW9uLW1lc3NhZ2UgewogICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7CiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctNSk7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2Rlc2NyaXB0aW9uIHsKICAgIGZvbnQ6IHZhcigtLXN1YnRleHQtcmVndWxhcik7CiAgfQogIC5zZWN0aW9uLW1lc3NhZ2VfX2FjdGlvbiA6aXMoYSwgcCwgYnV0dG9uKSB7CiAgICBmb250OiB2YXIoLS1ib2R5LTEtbWVkaXVtKTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9QaG9uZU51bWJlci9QaG9uZU51bWJlci5jc3MgKi8KLnBob25lLW51bWJlciB7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7Cn0KLnBob25lLW51bWJlciAuaW5wdXRfX3dyYXBwZXIgewogIGZsZXgtZ3JvdzogMTsKfQoucGhvbmUtbnVtYmVyIC5waG9uZS1udW1iZXJfX2NvdW50cnktY29kZS1zZWxlY3QgewogIGhlaWdodDogMTAwJTsKICB3aWR0aDogOTZweDsKfQoKLyogc3JjL2NvbXBvbmVudHMvYXRvbXMvU2VsZWN0L1NlbGVjdC5jc3MgKi8KLnNlbGVjdC13cmFwcGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlbGVjdC13cmFwcGVyOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTkwMCk7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAyNHB4OwogIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTggMTAgNCA0IDQtNCcvJTNFJTNDL3N2ZyUzRSIpOwogIG1hc2staW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J204IDEwIDQgNCA0LTQnLyUzRSUzQy9zdmclM0UiKTsKICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlcjsKICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7CiAgLXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OwogIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7CiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyOwogIG1hc2stc2l6ZTogY292ZXI7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICB3aWR0aDogMjRweDsKfQouc2VsZWN0IHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtMjAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC05MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTMpIHZhcigtLXNwYWNpbmctNCk7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlbGVjdC0td2l0aC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKfQpAbWVkaWEgKGhvdmVyOmhvdmVyKSB7CiAgLnNlbGVjdDpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktMzAwKTsKICB9Cn0KLnNlbGVjdDpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgb3V0bGluZTogbm9uZTsKfQouc2VsZWN0LXdyYXBwZXItLWZvY3VzOmFmdGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TZWdtZW50ZWRDb250cm9sL1NlZ21lbnRlZENvbnRyb2wuY3NzICovCi5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLnNlZ21lbnRlZC1jb250cm9sX19wYW5lbCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbF9fbGlzdCwKLmhhcy1qcyAuc2VnbWVudGVkLWNvbnRyb2xfX3BhbmVsIHsKICBkaXNwbGF5OiBibG9jazsKfQouaGFzLWpzIC5zZWdtZW50ZWQtY29udHJvbCBbcm9sZT10YWJwYW5lbF1bZGF0YS1zdGF0ZT1pbmFjdGl2ZV0gewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlZ21lbnRlZC1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX19saXN0X193cmFwcGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTEwMCk7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTIpOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMSk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgY3Vyc29yOiBwb2ludGVyOwogIGZsZXg6IDE7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KLnNlZ21lbnRlZC1jb250cm9sX190cmlnZ2VyW2RhdGEtc3RhdGU9YWN0aXZlXTpmb2N1cy12aXNpYmxlIHsKICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdmFyKC0tcHJpbWFyeS01MDApLCBpbnNldCAwIDAgMCA1cHggdmFyKC0tbmV1dHJhbC0wMDApOwogIG91dGxpbmU6IG5vbmU7Cn0KQG1lZGlhIChob3Zlcjpob3ZlcikgewogIC5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7CiAgfQp9Ci5zZWdtZW50ZWQtY29udHJvbF9fdHJpZ2dlcltkYXRhLXN0YXRlPWluYWN0aXZlXTpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IHZhcigtLXByaW1hcnktNTAwKTsKfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RhYnMvVGFicy5jc3MgKi8KLnRhYnMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMTAwKTsKICBib3JkZXItcmFkaXVzOiA4cHg7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0xKTsKICB3aWR0aDogMTAwJTsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCAudGFic19fbGluayB7CiAgd2lkdGg6IDEwMCU7Cn0KLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTYwMCk7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udDogdmFyKC0tc3VidGV4dC1tZWRpdW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKSB2YXIoLS1zcGFjaW5nLTQpOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKfQoudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTAwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC50YWJzLAogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGdhcDogdmFyKC0tc3BhY2luZy04KTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy04KSAwIHZhcigtLXNwYWNpbmctOCk7CiAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgdG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpOwogICAgei1pbmRleDogMTU7CiAgfQogIC50YWJzLnNlZ21lbnRlZC1jb250cm9sIC50YWJzX19saW5rIHsKICAgIHdpZHRoOiBhdXRvOwogIH0KICAudGFicyBhLAogIC50YWJzLnRhYnMuc2VnbWVudGVkLWNvbnRyb2wgYSB7CiAgICBib3JkZXItcmFkaXVzOiAwOwogICAgY29sb3I6IGluaGVyaXQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICB9CiAgLnRhYnMgYS5hY3RpdmUsCiAgLnRhYnMudGFicy5zZWdtZW50ZWQtY29udHJvbCBhLmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICB9CiAgLnRhYnMgYTpiZWZvcmUgewogICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29udGVudDogYXR0cihkYXRhLXRleHQpOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgfQogIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAgIC50YWJzIGE6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQogICAgLnRhYnMgYTpub3QoLmFjdGl2ZSk6aG92ZXI6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgICAgIGJvdHRvbTogMDsKICAgICAgY29udGVudDogIiI7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogIH0KICAudGFicyBhOm5vdCguYWN0aXZlKTpmb2N1czphZnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTMwMCk7CiAgfQogIC50YWJzIGEuYWN0aXZlOmFmdGVyLAogIC50YWJzIGE6bm90KC5hY3RpdmUpOmZvY3VzOmFmdGVyIHsKICAgIGJvdHRvbTogMDsKICAgIGNvbnRlbnQ6ICIiOwogICAgaGVpZ2h0OiAycHg7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnRhYnMgYS5hY3RpdmU6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvYXN0L1RvYXN0LmNzcyAqLwoudG9hc3QgewogIC0tc2xpZGUtaW4tZW5kOjA7CiAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTgpKTsKICBhbmltYXRpb246IHNsaWRlLWluIDBtcywgc2xpZGUtb3V0IDBtcyA1cyBmb3J3YXJkczsKICBib3R0b206IHZhcigtLXNwYWNpbmctNCk7CiAgaGVpZ2h0OiBhdXRvOwogIGxlZnQ6IHZhcigtLXNwYWNpbmctNCk7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy00KTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLXNwYWNpbmctNCkqMik7Cn0KLnRvYXN0LS1lcnJvciB7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigyMzAgNDUgNTAvNSUpLCByZ2IoMjMwIDQ1IDUwLzUlKSksIHZhcigtLW5ldXRyYWwtMDAwKTsKICBib3gtc2hhZG93OgogICAgaW5zZXQgMnB4IDAgdmFyKC0tZXJyb3ItNDAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLWVycm9yLTUwMCk7Cn0KLnRvYXN0LS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgYm94LXNoYWRvdzoKICAgIGluc2V0IDJweCAwIHZhcigtLXByaW1hcnktNTAwKSwKICAgIDAgNzZweCA4MHB4IHJnYigwIDAgMC83JSksCiAgICAwIDIxcHggMjRweCByZ2IoMCAwIDAvNSUpLAogICAgMCA4cHggMTBweCByZ2IoMCAwIDAvNCUpLAogICAgMCAzcHggM3B4IHJnYigwIDAgMC8yJSk7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudG9hc3RfX3RpdGxlIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZm9udDogdmFyKC0tYm9keS0yLXJlZ3VsYXIpOwogIGdhcDogdmFyKC0tc3BhY2luZy0yKTsKfQoudG9hc3RfX3RpdGxlX19pY29uIHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50b2FzdC0taW5mbyAudG9hc3RfX3RpdGxlX19pY29uIHsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjRyZW0pIHsKICAudG9hc3QgewogICAgLS1zbGlkZS1pbi1zdGFydDpjYWxjKDEwMCUgKyB2YXIoLS1zcGFjaW5nLTEyKSk7CiAgICBib3R0b206IHZhcigtLXNwYWNpbmctMTApOwogICAgbGVmdDogYXV0bzsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNik7CiAgICByaWdodDogdmFyKC0tc3BhY2luZy0xMCk7CiAgICB3aWR0aDogNDIwcHg7CiAgfQp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnRvYXN0IHsKICAgIGFuaW1hdGlvbjogc2xpZGUtaW4gLjNzIGVhc2Utb3V0LCBzbGlkZS1vdXQgLjNzIGVhc2UtaW4gNXMgZm9yd2FyZHM7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtaW4gewogIDAlIHsKICAgIG9wYWNpdHk6IC44OwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLXN0YXJ0KSk7CiAgfQogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tc2xpZGUtaW4tZW5kKSk7CiAgfQp9CkBrZXlmcmFtZXMgc2xpZGUtb3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXNsaWRlLWluLWVuZCkpOwogIH0KICB0byB7CiAgICBvcGFjaXR5OiAuODsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1zbGlkZS1pbi1zdGFydCkpOwogIH0KfQoKLyogc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL1RvZ2dsZS9Ub2dnbGUuY3NzICovCi50b2dnbGUgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0xMDApOwogIGJvcmRlci1yYWRpdXM6IDhweDsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7Cn0KLnRvZ2dsZV9faXRlbSB7CiAgd2lkdGg6IDEwMCU7Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TdGVwcy9TdGVwcy5jc3MgKi8KLnN0ZXBzIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7CiAgZmxleC13cmFwOiB3cmFwOwp9Ci5zdGVwc19fbGluayBhLAouc3RlcHNfX2xpbmsgc3BhbiB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnN0ZXBzX19saW5rIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGRpc3BsYXk6IGZsZXg7Cn0KLnN0ZXBzX19saW5rIC5zdGVwc19fbGlua19fY2hhcmFjdGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKICBkaXNwbGF5OiBmbGV4OwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctNik7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTIpOwogIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwp9Ci5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNDAwKTsKICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy00KTsKfQouc3RlcHNfX2xpbms6Zmlyc3Qtb2YtdHlwZSAuc3RlcHNfX2xpbmtfX2RpdmlkZXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnN0ZXBzX19saW5rLmFjdGl2ZSAuc3RlcHNfX2xpbmtfX2NoYXJhY3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwp9Ci5zdGVwc19fbGluay5hY3RpdmUgLnN0ZXBzX19saW5rX19kaXZpZGVyLAouc3RlcHNfX2xpbmsuYWN0aXZlIGEgewogIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NHJlbSkgewogIC5zdGVwc19fbGlua19fZGl2aWRlciB7CiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2luZy02KTsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL21vbGVjdWxlcy9UaW1lbGluZS9UaW1lbGluZS5jc3MgKi8KLnRpbWVsaW5lLWNvbnRhaW5lci5tb2JpbGUtb25seSB7CiAgZGlzcGxheTogbm9uZTsKfQoudGltZWxpbmUtY29udGFpbmVyIHsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMyk7Cn0KLnRpbWVsaW5lIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwMCk7CiAgbWFyZ2luOiAwIGF1dG87Cn0KLnRpbWVsaW5lLmhvcml6b250YWwgewogIGhlaWdodDogMXB4OwogIHdpZHRoOiAxMDAlOwp9Ci50aW1lbGluZS52ZXJ0aWNhbCB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxcHg7Cn0KLnRpbWVsaW5lX19sYWJlbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC0wMDApOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKTsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIGhlaWdodDogMzJweDsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7CiAgd2lkdGg6IDMycHg7CiAgei1pbmRleDogMTA7Cn0KLnRpbWVsaW5lX19sYWJlbC5ob3Jpem9udGFsIHsKICBtYXJnaW4tbGVmdDogLTE3MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoudGltZWxpbmVfX2xhYmVsLnZlcnRpY2FsIHsKICBtYXJnaW46IHZhcigtLXNwYWNpbmctNikgYXV0byAwOwp9Ci50aW1lbGluZV9fbGFiZWwtLXByaW1hcnkgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXI6IG5vbmU7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtMDAwKTsKfQoudGltZWxpbmVfX2xhYmVsLWNvbnRlbnQgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDEwMCU7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtY29udGFpbmVyLmhvcml6b250YWw6bm90KC5tb2JpbGUtb25seSkgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBoZWlnaHQ6IDUwcHg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnRpbWVsaW5lLWNvbnRhaW5lci52ZXJ0aWNhbDpub3QoLm1vYmlsZS1vbmx5KSB7CiAgZGlzcGxheTogZ3JpZDsKfQoudGltZWxpbmUsCi50aW1lbGluZV9fbGFiZWwgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBncmlkLWFyZWE6IDEvMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnRpbWVsaW5lLWNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgaGVpZ2h0OiA1MHB4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDEwMCU7CiAgfQogIC50aW1lbGluZS1jb250YWluZXIudmVydGljYWwgewogICAgZGlzcGxheTogZ3JpZDsKICB9Cn0KCi8qIHNyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9Gb3JtR3JvdXAvRm9ybUdyb3VwLmNzcyAqLwouZm9ybS1ncm91cCB7CiAgZGlzcGxheTogZmxleDsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0hpbnQvSGludC5jc3MgKi8KLmZvcm0tZ3JvdXBfX2Vycm9yLAouZm9ybS1ncm91cF9faGludCB7CiAgZm9udDogdmFyKC0tc3VidGV4dC1yZWd1bGFyKTsKICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEpOwogIHdpZHRoOiAtbW96LWZpdC1jb250ZW50OwogIHdpZHRoOiBmaXQtY29udGVudDsKfQouZm9ybS1ncm91cF9faGludCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKfQouZm9ybS1ncm91cF9fZXJyb3IgewogIGNvbG9yOiB2YXIoLS1lcnJvci01MDApOwp9CgovKiBzcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvRm9ybUdyb3VwL0xhYmVsL0xhYmVsLmNzcyAqLwouZm9ybS1pdGVtX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLW5ldXRyYWwtNjAwKTsKICBmb250OiB2YXIoLS1zdWJ0ZXh0LXJlZ3VsYXIpOwogIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMSk7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CgovKiBzcmMvY29tcG9uZW50cy9hdG9tcy9SYWRpby9SYWRpby5jc3MgKi8KLnJhZGlvLWdyb3VwIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTQpOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucmFkaW9fX2lucHV0LXdyYXBwZXIgewogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgZGlzcGxheTogZmxleDsKICBnYXA6IHZhcigtLXNwYWNpbmctMyk7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yYWRpb19fbGFiZWwgewogIGN1cnNvcjogcG9pbnRlcjsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47Cn0KLnJhZGlvX19pbnB1dCB7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTMwMCk7CiAgZGlzcGxheTogZ3JpZDsKICBmb250OiBpbmhlcml0OwogIGhlaWdodDogdmFyKC0tc3BhY2luZy02KTsKICBtYXJnaW46IDA7CiAgbWluLXdpZHRoOiB2YXIoLS1zcGFjaW5nLTYpOwogIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnJhZGlvX19pbnB1dDppcyg6Y2hlY2tlZCwgOmZvY3VzLCA6Zm9jdXMtd2l0aGluLCA6YWN0aXZlKSB7CiAgb3V0bGluZTogbm9uZTsKfQoucmFkaW9fX2lucHV0OmlzKDpjaGVja2VkLCA6YWN0aXZlKSB7CiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAucmFkaW9fX2lucHV0Om5vdCg6ZGlzYWJsZWQsIDpmb2N1cy13aXRoaW4sIDphY3RpdmUsIDpjaGVja2VkKTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LTUwKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLnJhZGlvX19pbnB1dDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7CiAgd2lkdGg6IDA7Cn0KLnJhZGlvX19pbnB1dDpjaGVja2VkOmJlZm9yZSB7CiAgaGVpZ2h0OiAxMnB4OwogIHdpZHRoOiAxMnB4Owp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKSB7CiAgLnJhZGlvX19pbnB1dDpiZWZvcmUgewogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjE1czsKICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7CiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgfQp9CgovKiBzcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvUGFzc3dvcmQvUGFzc3dvcmQuY3NzICovCi5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IHsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICByaWdodDogdmFyKC0tc3BhY2luZy02KTsKfQoucGFzc3dvcmQgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uIHsKICBwYWRkaW5nOiAwOwp9Ci5wYXNzd29yZCArIC5pbnB1dF9fc3VmZml4IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7CiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS01MDApOwogIGJvcmRlci1yYWRpdXM6IDRweDsKICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIG91dGxpbmU6IG5vbmU7Cn0KLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogIGRpc3BsYXk6IGZsZXg7CiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7CiAgd2lkdGg6IGZpdC1jb250ZW50Owp9CkBtZWRpYSAoaG92ZXI6aG92ZXIpIHsKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogIH0KICAuaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCwKICAuaW5wdXRfX3dyYXBwZXI6aG92ZXIgLmlucHV0Om5vdCg6cmVhZC1vbmx5LCA6ZGlzYWJsZWQpICsgLmlucHV0X19zdWZmaXggLmJ1dHRvbl9fbGFiZWwgewogICAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKICB9Cn0KLmlucHV0X193cmFwcGVyIC5pbnB1dDppcyg6Zm9jdXMsIDphY3RpdmUpOm5vdCg6LW1vei1yZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQouaW5wdXRfX3dyYXBwZXIgLmlucHV0OmlzKDpmb2N1cywgOmFjdGl2ZSk6bm90KDpyZWFkLW9ubHksIDpkaXNhYmxlZCkgKyAuaW5wdXRfX3N1ZmZpeCAuYnV0dG9uX19sYWJlbCB7CiAgY29sb3I6IHZhcigtLXByaW1hcnktNTAwKTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0cmVtKSB7CiAgLnBhc3N3b3JkICsgLmlucHV0X19zdWZmaXggewogICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctNCk7CiAgfQp9Cg==";
|
|
602
602
|
var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
603
603
|
/**
|
|
604
604
|
* @license React
|
|
@@ -633,11 +633,11 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
633
633
|
W[0] = N;
|
|
634
634
|
e:
|
|
635
635
|
for (var x = 0, U = W.length, gi = U >>> 1; x < gi; ) {
|
|
636
|
-
var
|
|
636
|
+
var bt = 2 * (x + 1) - 1, Or = W[bt], vt = bt + 1, pi = W[vt];
|
|
637
637
|
if (0 > r(Or, N))
|
|
638
|
-
|
|
639
|
-
else if (
|
|
640
|
-
W[x] = pi, W[
|
|
638
|
+
vt < U && 0 > r(pi, Or) ? (W[x] = pi, W[vt] = N, x = vt) : (W[x] = Or, W[bt] = N, x = bt);
|
|
639
|
+
else if (vt < U && 0 > r(pi, N))
|
|
640
|
+
W[x] = pi, W[vt] = N, x = vt;
|
|
641
641
|
else
|
|
642
642
|
break e;
|
|
643
643
|
}
|
|
@@ -685,7 +685,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
685
685
|
h = !1, y && (y = !1, g(X), X = -1), I = !0;
|
|
686
686
|
var N = c;
|
|
687
687
|
try {
|
|
688
|
-
for (f(Y), m = n(u); m !== null && (!(m.expirationTime > Y) || W && !
|
|
688
|
+
for (f(Y), m = n(u); m !== null && (!(m.expirationTime > Y) || W && !ve()); ) {
|
|
689
689
|
var x = m.callback;
|
|
690
690
|
if (typeof x == "function") {
|
|
691
691
|
m.callback = null, c = m.priorityLevel;
|
|
@@ -698,16 +698,16 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
698
698
|
if (m !== null)
|
|
699
699
|
var gi = !0;
|
|
700
700
|
else {
|
|
701
|
-
var
|
|
702
|
-
|
|
701
|
+
var bt = n(a);
|
|
702
|
+
bt !== null && $(C, bt.startTime - Y), gi = !1;
|
|
703
703
|
}
|
|
704
704
|
return gi;
|
|
705
705
|
} finally {
|
|
706
706
|
m = null, c = N, I = !1;
|
|
707
707
|
}
|
|
708
708
|
}
|
|
709
|
-
var
|
|
710
|
-
function
|
|
709
|
+
var v = !1, w = null, X = -1, H = 5, A = -1;
|
|
710
|
+
function ve() {
|
|
711
711
|
return !(e.unstable_now() - A < H);
|
|
712
712
|
}
|
|
713
713
|
function Zt() {
|
|
@@ -718,10 +718,10 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
718
718
|
try {
|
|
719
719
|
Y = w(!0, W);
|
|
720
720
|
} finally {
|
|
721
|
-
Y ? Ae() : (
|
|
721
|
+
Y ? Ae() : (v = !1, w = null);
|
|
722
722
|
}
|
|
723
723
|
} else
|
|
724
|
-
|
|
724
|
+
v = !1;
|
|
725
725
|
}
|
|
726
726
|
var Ae;
|
|
727
727
|
if (typeof d == "function")
|
|
@@ -738,7 +738,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
738
738
|
G(Zt, 0);
|
|
739
739
|
};
|
|
740
740
|
function Ht(W) {
|
|
741
|
-
w = W,
|
|
741
|
+
w = W, v || (v = !0, Ae());
|
|
742
742
|
}
|
|
743
743
|
function $(W, Y) {
|
|
744
744
|
X = G(function() {
|
|
@@ -811,7 +811,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
811
811
|
U = 5e3;
|
|
812
812
|
}
|
|
813
813
|
return U = N + U, W = { id: p++, callback: Y, priorityLevel: W, startTime: N, expirationTime: U, sortIndex: -1 }, N > x ? (W.sortIndex = N, t(a, W), n(u) === null && W === n(a) && (y ? (g(X), X = -1) : y = !0, $(C, N - x))) : (W.sortIndex = U, t(u, W), h || I || (h = !0, Ht(Z))), W;
|
|
814
|
-
}, e.unstable_shouldYield =
|
|
814
|
+
}, e.unstable_shouldYield = ve, e.unstable_wrapCallback = function(W) {
|
|
815
815
|
var Y = c;
|
|
816
816
|
return function() {
|
|
817
817
|
var N = c;
|
|
@@ -825,7 +825,7 @@ var Uu = { exports: {} }, Ze = {}, Pu = { exports: {} }, _u = {};
|
|
|
825
825
|
};
|
|
826
826
|
})(_u);
|
|
827
827
|
Pu.exports = _u;
|
|
828
|
-
var
|
|
828
|
+
var lg = Pu.exports;
|
|
829
829
|
/**
|
|
830
830
|
* @license React
|
|
831
831
|
* react-dom.production.min.js
|
|
@@ -835,8 +835,8 @@ var rg = Pu.exports;
|
|
|
835
835
|
* This source code is licensed under the MIT license found in the
|
|
836
836
|
* LICENSE file in the root directory of this source tree.
|
|
837
837
|
*/
|
|
838
|
-
var $u = J, ye =
|
|
839
|
-
function
|
|
838
|
+
var $u = J, ye = lg;
|
|
839
|
+
function b(e) {
|
|
840
840
|
for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)
|
|
841
841
|
t += "&args[]=" + encodeURIComponent(arguments[n]);
|
|
842
842
|
return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
|
|
@@ -849,11 +849,11 @@ function sn(e, t) {
|
|
|
849
849
|
for (zn[e] = t, e = 0; e < t.length; e++)
|
|
850
850
|
qu.add(t[e]);
|
|
851
851
|
}
|
|
852
|
-
var Ee = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), fl = Object.prototype.hasOwnProperty,
|
|
853
|
-
function
|
|
854
|
-
return fl.call(hs, e) ? !0 : fl.call(ms, e) ? !1 :
|
|
852
|
+
var Ee = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), fl = Object.prototype.hasOwnProperty, og = /^[: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]*$/, ms = {}, hs = {};
|
|
853
|
+
function sg(e) {
|
|
854
|
+
return fl.call(hs, e) ? !0 : fl.call(ms, e) ? !1 : og.test(e) ? hs[e] = !0 : (ms[e] = !0, !1);
|
|
855
855
|
}
|
|
856
|
-
function
|
|
856
|
+
function ug(e, t, n, i) {
|
|
857
857
|
if (n !== null && n.type === 0)
|
|
858
858
|
return !1;
|
|
859
859
|
switch (typeof t) {
|
|
@@ -866,8 +866,8 @@ function sg(e, t, n, i) {
|
|
|
866
866
|
return !1;
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
|
-
function
|
|
870
|
-
if (t === null || typeof t > "u" ||
|
|
869
|
+
function ag(e, t, n, i) {
|
|
870
|
+
if (t === null || typeof t > "u" || ug(e, t, n, i))
|
|
871
871
|
return !0;
|
|
872
872
|
if (i)
|
|
873
873
|
return !1;
|
|
@@ -944,7 +944,7 @@ te.xlinkHref = new ce("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/
|
|
|
944
944
|
});
|
|
945
945
|
function Co(e, t, n, i) {
|
|
946
946
|
var r = te.hasOwnProperty(t) ? te[t] : null;
|
|
947
|
-
(r !== null ? r.type !== 0 : i || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (
|
|
947
|
+
(r !== null ? r.type !== 0 : i || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (ag(t, n, r, i) && (n = null), i || r === null ? sg(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : r.mustUseProperty ? e[r.propertyName] = n === null ? r.type === 3 ? !1 : "" : n : (t = r.attributeName, i = r.attributeNamespace, n === null ? e.removeAttribute(t) : (r = r.type, n = r === 3 || r === 4 && n === !0 ? "" : "" + n, i ? e.setAttributeNS(i, t, n) : e.setAttribute(t, n))));
|
|
948
948
|
}
|
|
949
949
|
var $e = $u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, mi = Symbol.for("react.element"), zt = Symbol.for("react.portal"), xt = Symbol.for("react.fragment"), Io = Symbol.for("react.strict_mode"), ml = Symbol.for("react.profiler"), ea = Symbol.for("react.provider"), ta = Symbol.for("react.context"), yo = Symbol.for("react.forward_ref"), hl = Symbol.for("react.suspense"), Cl = Symbol.for("react.suspense_list"), Zo = Symbol.for("react.memo"), tt = Symbol.for("react.lazy"), na = Symbol.for("react.offscreen"), Cs = Symbol.iterator;
|
|
950
950
|
function Cn(e) {
|
|
@@ -1022,7 +1022,7 @@ function zr(e, t) {
|
|
|
1022
1022
|
}
|
|
1023
1023
|
return (e = e ? e.displayName || e.name : "") ? Yn(e) : "";
|
|
1024
1024
|
}
|
|
1025
|
-
function
|
|
1025
|
+
function cg(e) {
|
|
1026
1026
|
switch (e.tag) {
|
|
1027
1027
|
case 5:
|
|
1028
1028
|
return Yn(e.type);
|
|
@@ -1085,7 +1085,7 @@ function Il(e) {
|
|
|
1085
1085
|
}
|
|
1086
1086
|
return null;
|
|
1087
1087
|
}
|
|
1088
|
-
function
|
|
1088
|
+
function dg(e) {
|
|
1089
1089
|
var t = e.type;
|
|
1090
1090
|
switch (e.tag) {
|
|
1091
1091
|
case 24:
|
|
@@ -1154,7 +1154,7 @@ function ia(e) {
|
|
|
1154
1154
|
var t = e.type;
|
|
1155
1155
|
return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio");
|
|
1156
1156
|
}
|
|
1157
|
-
function
|
|
1157
|
+
function gg(e) {
|
|
1158
1158
|
var t = ia(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), i = "" + e[t];
|
|
1159
1159
|
if (!e.hasOwnProperty(t) && typeof n < "u" && typeof n.get == "function" && typeof n.set == "function") {
|
|
1160
1160
|
var r = n.get, l = n.set;
|
|
@@ -1172,7 +1172,7 @@ function dg(e) {
|
|
|
1172
1172
|
}
|
|
1173
1173
|
}
|
|
1174
1174
|
function hi(e) {
|
|
1175
|
-
e._valueTracker || (e._valueTracker =
|
|
1175
|
+
e._valueTracker || (e._valueTracker = gg(e));
|
|
1176
1176
|
}
|
|
1177
1177
|
function ra(e) {
|
|
1178
1178
|
if (!e)
|
|
@@ -1212,7 +1212,7 @@ function Zl(e, t) {
|
|
|
1212
1212
|
e.removeAttribute("value");
|
|
1213
1213
|
return;
|
|
1214
1214
|
}
|
|
1215
|
-
t.hasOwnProperty("value") ?
|
|
1215
|
+
t.hasOwnProperty("value") ? bl(e, t.type, n) : t.hasOwnProperty("defaultValue") && bl(e, t.type, mt(t.defaultValue)), t.checked == null && t.defaultChecked != null && (e.defaultChecked = !!t.defaultChecked);
|
|
1216
1216
|
}
|
|
1217
1217
|
function ys(e, t, n) {
|
|
1218
1218
|
if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {
|
|
@@ -1223,7 +1223,7 @@ function ys(e, t, n) {
|
|
|
1223
1223
|
}
|
|
1224
1224
|
n = e.name, n !== "" && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, n !== "" && (e.name = n);
|
|
1225
1225
|
}
|
|
1226
|
-
function
|
|
1226
|
+
function bl(e, t, n) {
|
|
1227
1227
|
(t !== "number" || Ji(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
|
|
1228
1228
|
}
|
|
1229
1229
|
var An = Array.isArray;
|
|
@@ -1245,9 +1245,9 @@ function en(e, t, n, i) {
|
|
|
1245
1245
|
t !== null && (t.selected = !0);
|
|
1246
1246
|
}
|
|
1247
1247
|
}
|
|
1248
|
-
function
|
|
1248
|
+
function vl(e, t) {
|
|
1249
1249
|
if (t.dangerouslySetInnerHTML != null)
|
|
1250
|
-
throw Error(
|
|
1250
|
+
throw Error(b(91));
|
|
1251
1251
|
return M({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
|
|
1252
1252
|
}
|
|
1253
1253
|
function Zs(e, t) {
|
|
@@ -1255,10 +1255,10 @@ function Zs(e, t) {
|
|
|
1255
1255
|
if (n == null) {
|
|
1256
1256
|
if (n = t.children, t = t.defaultValue, n != null) {
|
|
1257
1257
|
if (t != null)
|
|
1258
|
-
throw Error(
|
|
1258
|
+
throw Error(b(92));
|
|
1259
1259
|
if (An(n)) {
|
|
1260
1260
|
if (1 < n.length)
|
|
1261
|
-
throw Error(
|
|
1261
|
+
throw Error(b(93));
|
|
1262
1262
|
n = n[0];
|
|
1263
1263
|
}
|
|
1264
1264
|
t = n;
|
|
@@ -1271,7 +1271,7 @@ function oa(e, t) {
|
|
|
1271
1271
|
var n = mt(t.value), i = mt(t.defaultValue);
|
|
1272
1272
|
n != null && (n = "" + n, n !== e.value && (e.value = n), t.defaultValue == null && e.defaultValue !== n && (e.defaultValue = n)), i != null && (e.defaultValue = "" + i);
|
|
1273
1273
|
}
|
|
1274
|
-
function
|
|
1274
|
+
function bs(e) {
|
|
1275
1275
|
var t = e.textContent;
|
|
1276
1276
|
t === e._wrapperState.initialValue && t !== "" && t !== null && (e.value = t);
|
|
1277
1277
|
}
|
|
@@ -1358,9 +1358,9 @@ var Rn = {
|
|
|
1358
1358
|
strokeMiterlimit: !0,
|
|
1359
1359
|
strokeOpacity: !0,
|
|
1360
1360
|
strokeWidth: !0
|
|
1361
|
-
},
|
|
1361
|
+
}, pg = ["Webkit", "ms", "Moz", "O"];
|
|
1362
1362
|
Object.keys(Rn).forEach(function(e) {
|
|
1363
|
-
|
|
1363
|
+
pg.forEach(function(t) {
|
|
1364
1364
|
t = t + e.charAt(0).toUpperCase() + e.substring(1), Rn[t] = Rn[e];
|
|
1365
1365
|
});
|
|
1366
1366
|
});
|
|
@@ -1375,19 +1375,19 @@ function ca(e, t) {
|
|
|
1375
1375
|
n === "float" && (n = "cssFloat"), i ? e.setProperty(n, r) : e[n] = r;
|
|
1376
1376
|
}
|
|
1377
1377
|
}
|
|
1378
|
-
var
|
|
1378
|
+
var fg = M({ 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 });
|
|
1379
1379
|
function Wl(e, t) {
|
|
1380
1380
|
if (t) {
|
|
1381
|
-
if (
|
|
1382
|
-
throw Error(
|
|
1381
|
+
if (fg[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
|
|
1382
|
+
throw Error(b(137, e));
|
|
1383
1383
|
if (t.dangerouslySetInnerHTML != null) {
|
|
1384
1384
|
if (t.children != null)
|
|
1385
|
-
throw Error(
|
|
1385
|
+
throw Error(b(60));
|
|
1386
1386
|
if (typeof t.dangerouslySetInnerHTML != "object" || !("__html" in t.dangerouslySetInnerHTML))
|
|
1387
|
-
throw Error(
|
|
1387
|
+
throw Error(b(61));
|
|
1388
1388
|
}
|
|
1389
1389
|
if (t.style != null && typeof t.style != "object")
|
|
1390
|
-
throw Error(
|
|
1390
|
+
throw Error(b(62));
|
|
1391
1391
|
}
|
|
1392
1392
|
}
|
|
1393
1393
|
function Ll(e, t) {
|
|
@@ -1408,14 +1408,14 @@ function Ll(e, t) {
|
|
|
1408
1408
|
}
|
|
1409
1409
|
}
|
|
1410
1410
|
var Gl = null;
|
|
1411
|
-
function
|
|
1411
|
+
function bo(e) {
|
|
1412
1412
|
return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
|
|
1413
1413
|
}
|
|
1414
1414
|
var Xl = null, tn = null, nn = null;
|
|
1415
|
-
function
|
|
1415
|
+
function vs(e) {
|
|
1416
1416
|
if (e = ci(e)) {
|
|
1417
1417
|
if (typeof Xl != "function")
|
|
1418
|
-
throw Error(
|
|
1418
|
+
throw Error(b(280));
|
|
1419
1419
|
var t = e.stateNode;
|
|
1420
1420
|
t && (t = Lr(t), Xl(e.stateNode, e.type, t));
|
|
1421
1421
|
}
|
|
@@ -1426,9 +1426,9 @@ function da(e) {
|
|
|
1426
1426
|
function ga() {
|
|
1427
1427
|
if (tn) {
|
|
1428
1428
|
var e = tn, t = nn;
|
|
1429
|
-
if (nn = tn = null,
|
|
1429
|
+
if (nn = tn = null, vs(e), t)
|
|
1430
1430
|
for (e = 0; e < t.length; e++)
|
|
1431
|
-
|
|
1431
|
+
vs(t[e]);
|
|
1432
1432
|
}
|
|
1433
1433
|
}
|
|
1434
1434
|
function pa(e, t) {
|
|
@@ -1476,7 +1476,7 @@ function Tn(e, t) {
|
|
|
1476
1476
|
if (e)
|
|
1477
1477
|
return null;
|
|
1478
1478
|
if (n && typeof n != "function")
|
|
1479
|
-
throw Error(
|
|
1479
|
+
throw Error(b(231, t, typeof n));
|
|
1480
1480
|
return n;
|
|
1481
1481
|
}
|
|
1482
1482
|
var Yl = !1;
|
|
@@ -1489,7 +1489,7 @@ if (Ee)
|
|
|
1489
1489
|
} catch {
|
|
1490
1490
|
Yl = !1;
|
|
1491
1491
|
}
|
|
1492
|
-
function
|
|
1492
|
+
function mg(e, t, n, i, r, l, o, s, u) {
|
|
1493
1493
|
var a = Array.prototype.slice.call(arguments, 3);
|
|
1494
1494
|
try {
|
|
1495
1495
|
t.apply(n, a);
|
|
@@ -1497,19 +1497,19 @@ function fg(e, t, n, i, r, l, o, s, u) {
|
|
|
1497
1497
|
this.onError(p);
|
|
1498
1498
|
}
|
|
1499
1499
|
}
|
|
1500
|
-
var kn = !1, Di = null, Qi = !1, Al = null,
|
|
1500
|
+
var kn = !1, Di = null, Qi = !1, Al = null, hg = { onError: function(e) {
|
|
1501
1501
|
kn = !0, Di = e;
|
|
1502
1502
|
} };
|
|
1503
|
-
function hg(e, t, n, i, r, l, o, s, u) {
|
|
1504
|
-
kn = !1, Di = null, fg.apply(mg, arguments);
|
|
1505
|
-
}
|
|
1506
1503
|
function Cg(e, t, n, i, r, l, o, s, u) {
|
|
1507
|
-
|
|
1504
|
+
kn = !1, Di = null, mg.apply(hg, arguments);
|
|
1505
|
+
}
|
|
1506
|
+
function Ig(e, t, n, i, r, l, o, s, u) {
|
|
1507
|
+
if (Cg.apply(this, arguments), kn) {
|
|
1508
1508
|
if (kn) {
|
|
1509
1509
|
var a = Di;
|
|
1510
1510
|
kn = !1, Di = null;
|
|
1511
1511
|
} else
|
|
1512
|
-
throw Error(
|
|
1512
|
+
throw Error(b(198));
|
|
1513
1513
|
Qi || (Qi = !0, Al = a);
|
|
1514
1514
|
}
|
|
1515
1515
|
}
|
|
@@ -1536,13 +1536,13 @@ function ha(e) {
|
|
|
1536
1536
|
}
|
|
1537
1537
|
function ws(e) {
|
|
1538
1538
|
if (Kt(e) !== e)
|
|
1539
|
-
throw Error(
|
|
1539
|
+
throw Error(b(188));
|
|
1540
1540
|
}
|
|
1541
|
-
function
|
|
1541
|
+
function yg(e) {
|
|
1542
1542
|
var t = e.alternate;
|
|
1543
1543
|
if (!t) {
|
|
1544
1544
|
if (t = Kt(e), t === null)
|
|
1545
|
-
throw Error(
|
|
1545
|
+
throw Error(b(188));
|
|
1546
1546
|
return t !== e ? null : e;
|
|
1547
1547
|
}
|
|
1548
1548
|
for (var n = e, i = t; ; ) {
|
|
@@ -1565,7 +1565,7 @@ function Ig(e) {
|
|
|
1565
1565
|
return ws(r), t;
|
|
1566
1566
|
l = l.sibling;
|
|
1567
1567
|
}
|
|
1568
|
-
throw Error(
|
|
1568
|
+
throw Error(b(188));
|
|
1569
1569
|
}
|
|
1570
1570
|
if (n.return !== i.return)
|
|
1571
1571
|
n = r, i = l;
|
|
@@ -1594,18 +1594,18 @@ function Ig(e) {
|
|
|
1594
1594
|
s = s.sibling;
|
|
1595
1595
|
}
|
|
1596
1596
|
if (!o)
|
|
1597
|
-
throw Error(
|
|
1597
|
+
throw Error(b(189));
|
|
1598
1598
|
}
|
|
1599
1599
|
}
|
|
1600
1600
|
if (n.alternate !== i)
|
|
1601
|
-
throw Error(
|
|
1601
|
+
throw Error(b(190));
|
|
1602
1602
|
}
|
|
1603
1603
|
if (n.tag !== 3)
|
|
1604
|
-
throw Error(
|
|
1604
|
+
throw Error(b(188));
|
|
1605
1605
|
return n.stateNode.current === n ? e : t;
|
|
1606
1606
|
}
|
|
1607
1607
|
function Ca(e) {
|
|
1608
|
-
return e =
|
|
1608
|
+
return e = yg(e), e !== null ? Ia(e) : null;
|
|
1609
1609
|
}
|
|
1610
1610
|
function Ia(e) {
|
|
1611
1611
|
if (e.tag === 5 || e.tag === 6)
|
|
@@ -1618,17 +1618,17 @@ function Ia(e) {
|
|
|
1618
1618
|
}
|
|
1619
1619
|
return null;
|
|
1620
1620
|
}
|
|
1621
|
-
var ya = ye.unstable_scheduleCallback, Ws = ye.unstable_cancelCallback,
|
|
1622
|
-
function
|
|
1621
|
+
var ya = ye.unstable_scheduleCallback, Ws = ye.unstable_cancelCallback, Zg = ye.unstable_shouldYield, bg = ye.unstable_requestPaint, T = ye.unstable_now, vg = ye.unstable_getCurrentPriorityLevel, vo = ye.unstable_ImmediatePriority, Za = ye.unstable_UserBlockingPriority, Ei = ye.unstable_NormalPriority, wg = ye.unstable_LowPriority, ba = ye.unstable_IdlePriority, br = null, Me = null;
|
|
1622
|
+
function Wg(e) {
|
|
1623
1623
|
if (Me && typeof Me.onCommitFiberRoot == "function")
|
|
1624
1624
|
try {
|
|
1625
|
-
Me.onCommitFiberRoot(
|
|
1625
|
+
Me.onCommitFiberRoot(br, e, void 0, (e.current.flags & 128) === 128);
|
|
1626
1626
|
} catch {
|
|
1627
1627
|
}
|
|
1628
1628
|
}
|
|
1629
|
-
var Be = Math.clz32 ? Math.clz32 :
|
|
1630
|
-
function
|
|
1631
|
-
return e >>>= 0, e === 0 ? 32 : 31 - (
|
|
1629
|
+
var Be = Math.clz32 ? Math.clz32 : Xg, Lg = Math.log, Gg = Math.LN2;
|
|
1630
|
+
function Xg(e) {
|
|
1631
|
+
return e >>>= 0, e === 0 ? 32 : 31 - (Lg(e) / Gg | 0) | 0;
|
|
1632
1632
|
}
|
|
1633
1633
|
var Ii = 64, yi = 4194304;
|
|
1634
1634
|
function Nn(e) {
|
|
@@ -1699,7 +1699,7 @@ function Ui(e, t) {
|
|
|
1699
1699
|
n = 31 - Be(t), r = 1 << n, i |= e[n], t &= ~r;
|
|
1700
1700
|
return i;
|
|
1701
1701
|
}
|
|
1702
|
-
function
|
|
1702
|
+
function Yg(e, t) {
|
|
1703
1703
|
switch (e) {
|
|
1704
1704
|
case 1:
|
|
1705
1705
|
case 2:
|
|
@@ -1740,16 +1740,16 @@ function Xg(e, t) {
|
|
|
1740
1740
|
return -1;
|
|
1741
1741
|
}
|
|
1742
1742
|
}
|
|
1743
|
-
function
|
|
1743
|
+
function Ag(e, t) {
|
|
1744
1744
|
for (var n = e.suspendedLanes, i = e.pingedLanes, r = e.expirationTimes, l = e.pendingLanes; 0 < l; ) {
|
|
1745
1745
|
var o = 31 - Be(l), s = 1 << o, u = r[o];
|
|
1746
|
-
u === -1 ? (!(s & n) || s & i) && (r[o] =
|
|
1746
|
+
u === -1 ? (!(s & n) || s & i) && (r[o] = Yg(s, t)) : u <= t && (e.expiredLanes |= s), l &= ~s;
|
|
1747
1747
|
}
|
|
1748
1748
|
}
|
|
1749
1749
|
function Nl(e) {
|
|
1750
1750
|
return e = e.pendingLanes & -1073741825, e !== 0 ? e : e & 1073741824 ? 1073741824 : 0;
|
|
1751
1751
|
}
|
|
1752
|
-
function
|
|
1752
|
+
function va() {
|
|
1753
1753
|
var e = Ii;
|
|
1754
1754
|
return Ii <<= 1, !(Ii & 4194240) && (Ii = 64), e;
|
|
1755
1755
|
}
|
|
@@ -1761,7 +1761,7 @@ function Tr(e) {
|
|
|
1761
1761
|
function ui(e, t, n) {
|
|
1762
1762
|
e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - Be(t), e[t] = n;
|
|
1763
1763
|
}
|
|
1764
|
-
function
|
|
1764
|
+
function Ng(e, t) {
|
|
1765
1765
|
var n = e.pendingLanes & ~t;
|
|
1766
1766
|
e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
|
|
1767
1767
|
var i = e.eventTimes;
|
|
@@ -1781,7 +1781,7 @@ var k = 0;
|
|
|
1781
1781
|
function wa(e) {
|
|
1782
1782
|
return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
|
|
1783
1783
|
}
|
|
1784
|
-
var Wa, Wo, La, Ga, Xa, Sl = !1, Zi = [], st = null, ut = null, at = null, Jn = /* @__PURE__ */ new Map(), Dn = /* @__PURE__ */ new Map(), it = [],
|
|
1784
|
+
var Wa, Wo, La, Ga, Xa, Sl = !1, Zi = [], st = null, ut = null, at = null, Jn = /* @__PURE__ */ new Map(), Dn = /* @__PURE__ */ new Map(), it = [], Sg = "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(" ");
|
|
1785
1785
|
function Ls(e, t) {
|
|
1786
1786
|
switch (e) {
|
|
1787
1787
|
case "focusin":
|
|
@@ -1808,7 +1808,7 @@ function Ls(e, t) {
|
|
|
1808
1808
|
function yn(e, t, n, i, r, l) {
|
|
1809
1809
|
return e === null || e.nativeEvent !== l ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: i, nativeEvent: l, targetContainers: [r] }, t !== null && (t = ci(t), t !== null && Wo(t)), e) : (e.eventSystemFlags |= i, t = e.targetContainers, r !== null && t.indexOf(r) === -1 && t.push(r), e);
|
|
1810
1810
|
}
|
|
1811
|
-
function
|
|
1811
|
+
function Rg(e, t, n, i, r) {
|
|
1812
1812
|
switch (t) {
|
|
1813
1813
|
case "focusin":
|
|
1814
1814
|
return st = yn(st, e, t, n, i, r), !0;
|
|
@@ -1862,11 +1862,11 @@ function Bi(e) {
|
|
|
1862
1862
|
function Gs(e, t, n) {
|
|
1863
1863
|
Bi(e) && n.delete(t);
|
|
1864
1864
|
}
|
|
1865
|
-
function
|
|
1865
|
+
function kg() {
|
|
1866
1866
|
Sl = !1, st !== null && Bi(st) && (st = null), ut !== null && Bi(ut) && (ut = null), at !== null && Bi(at) && (at = null), Jn.forEach(Gs), Dn.forEach(Gs);
|
|
1867
1867
|
}
|
|
1868
1868
|
function Zn(e, t) {
|
|
1869
|
-
e.blockedOn === t && (e.blockedOn = null, Sl || (Sl = !0, ye.unstable_scheduleCallback(ye.unstable_NormalPriority,
|
|
1869
|
+
e.blockedOn === t && (e.blockedOn = null, Sl || (Sl = !0, ye.unstable_scheduleCallback(ye.unstable_NormalPriority, kg)));
|
|
1870
1870
|
}
|
|
1871
1871
|
function Qn(e) {
|
|
1872
1872
|
function t(r) {
|
|
@@ -1885,7 +1885,7 @@ function Qn(e) {
|
|
|
1885
1885
|
Ya(n), n.blockedOn === null && it.shift();
|
|
1886
1886
|
}
|
|
1887
1887
|
var rn = $e.ReactCurrentBatchConfig, Pi = !0;
|
|
1888
|
-
function
|
|
1888
|
+
function Bg(e, t, n, i) {
|
|
1889
1889
|
var r = k, l = rn.transition;
|
|
1890
1890
|
rn.transition = null;
|
|
1891
1891
|
try {
|
|
@@ -1894,7 +1894,7 @@ function kg(e, t, n, i) {
|
|
|
1894
1894
|
k = r, rn.transition = l;
|
|
1895
1895
|
}
|
|
1896
1896
|
}
|
|
1897
|
-
function
|
|
1897
|
+
function Vg(e, t, n, i) {
|
|
1898
1898
|
var r = k, l = rn.transition;
|
|
1899
1899
|
rn.transition = null;
|
|
1900
1900
|
try {
|
|
@@ -1908,9 +1908,9 @@ function Lo(e, t, n, i) {
|
|
|
1908
1908
|
var r = Rl(e, t, n, i);
|
|
1909
1909
|
if (r === null)
|
|
1910
1910
|
el(e, t, i, _i, n), Ls(e, i);
|
|
1911
|
-
else if (
|
|
1911
|
+
else if (Rg(r, e, t, n, i))
|
|
1912
1912
|
i.stopPropagation();
|
|
1913
|
-
else if (Ls(e, i), t & 4 && -1 <
|
|
1913
|
+
else if (Ls(e, i), t & 4 && -1 < Sg.indexOf(e)) {
|
|
1914
1914
|
for (; r !== null; ) {
|
|
1915
1915
|
var l = ci(r);
|
|
1916
1916
|
if (l !== null && Wa(l), l = Rl(e, t, n, i), l === null && el(e, t, i, _i, n), l === r)
|
|
@@ -1924,7 +1924,7 @@ function Lo(e, t, n, i) {
|
|
|
1924
1924
|
}
|
|
1925
1925
|
var _i = null;
|
|
1926
1926
|
function Rl(e, t, n, i) {
|
|
1927
|
-
if (_i = null, e =
|
|
1927
|
+
if (_i = null, e = bo(i), e = Lt(e), e !== null)
|
|
1928
1928
|
if (t = Kt(e), t === null)
|
|
1929
1929
|
e = null;
|
|
1930
1930
|
else if (n = t.tag, n === 13) {
|
|
@@ -2015,14 +2015,14 @@ function Aa(e) {
|
|
|
2015
2015
|
return 4;
|
|
2016
2016
|
case "message":
|
|
2017
2017
|
switch (vg()) {
|
|
2018
|
-
case
|
|
2018
|
+
case vo:
|
|
2019
2019
|
return 1;
|
|
2020
2020
|
case Za:
|
|
2021
2021
|
return 4;
|
|
2022
2022
|
case Ei:
|
|
2023
|
-
case
|
|
2023
|
+
case wg:
|
|
2024
2024
|
return 16;
|
|
2025
|
-
case
|
|
2025
|
+
case ba:
|
|
2026
2026
|
return 536870912;
|
|
2027
2027
|
default:
|
|
2028
2028
|
return 16;
|
|
@@ -2047,40 +2047,40 @@ function Ki(e) {
|
|
|
2047
2047
|
var t = e.keyCode;
|
|
2048
2048
|
return "charCode" in e ? (e = e.charCode, e === 0 && t === 13 && (e = 13)) : e = t, e === 10 && (e = 13), 32 <= e || e === 13 ? e : 0;
|
|
2049
2049
|
}
|
|
2050
|
-
function
|
|
2050
|
+
function bi() {
|
|
2051
2051
|
return !0;
|
|
2052
2052
|
}
|
|
2053
2053
|
function Xs() {
|
|
2054
2054
|
return !1;
|
|
2055
2055
|
}
|
|
2056
|
-
function
|
|
2056
|
+
function be(e) {
|
|
2057
2057
|
function t(n, i, r, l, o) {
|
|
2058
2058
|
this._reactName = n, this._targetInst = r, this.type = i, this.nativeEvent = l, this.target = o, this.currentTarget = null;
|
|
2059
2059
|
for (var s in e)
|
|
2060
2060
|
e.hasOwnProperty(s) && (n = e[s], this[s] = n ? n(l) : l[s]);
|
|
2061
|
-
return this.isDefaultPrevented = (l.defaultPrevented != null ? l.defaultPrevented : l.returnValue === !1) ?
|
|
2061
|
+
return this.isDefaultPrevented = (l.defaultPrevented != null ? l.defaultPrevented : l.returnValue === !1) ? bi : Xs, this.isPropagationStopped = Xs, this;
|
|
2062
2062
|
}
|
|
2063
2063
|
return M(t.prototype, { preventDefault: function() {
|
|
2064
2064
|
this.defaultPrevented = !0;
|
|
2065
2065
|
var n = this.nativeEvent;
|
|
2066
|
-
n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented =
|
|
2066
|
+
n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = bi);
|
|
2067
2067
|
}, stopPropagation: function() {
|
|
2068
2068
|
var n = this.nativeEvent;
|
|
2069
|
-
n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped =
|
|
2069
|
+
n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = bi);
|
|
2070
2070
|
}, persist: function() {
|
|
2071
|
-
}, isPersistent:
|
|
2071
|
+
}, isPersistent: bi }), t;
|
|
2072
2072
|
}
|
|
2073
2073
|
var mn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
|
|
2074
2074
|
return e.timeStamp || Date.now();
|
|
2075
|
-
}, defaultPrevented: 0, isTrusted: 0 }, Xo =
|
|
2075
|
+
}, defaultPrevented: 0, isTrusted: 0 }, Xo = be(mn), ai = M({}, mn, { view: 0, detail: 0 }), Kg = be(ai), Jr, Dr, bn, vr = M({}, ai, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Yo, button: 0, buttons: 0, relatedTarget: function(e) {
|
|
2076
2076
|
return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
|
|
2077
2077
|
}, movementX: function(e) {
|
|
2078
|
-
return "movementX" in e ? e.movementX : (e !==
|
|
2078
|
+
return "movementX" in e ? e.movementX : (e !== bn && (bn && e.type === "mousemove" ? (Jr = e.screenX - bn.screenX, Dr = e.screenY - bn.screenY) : Dr = Jr = 0, bn = e), Jr);
|
|
2079
2079
|
}, movementY: function(e) {
|
|
2080
2080
|
return "movementY" in e ? e.movementY : Dr;
|
|
2081
|
-
} }), Ys =
|
|
2081
|
+
} }), Ys = be(vr), Og = M({}, vr, { dataTransfer: 0 }), Hg = be(Og), Fg = M({}, ai, { relatedTarget: 0 }), Qr = be(Fg), jg = M({}, mn, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Mg = be(jg), zg = M({}, mn, { clipboardData: function(e) {
|
|
2082
2082
|
return "clipboardData" in e ? e.clipboardData : window.clipboardData;
|
|
2083
|
-
} }),
|
|
2083
|
+
} }), xg = be(zg), Tg = M({}, mn, { data: 0 }), As = be(Tg), Jg = {
|
|
2084
2084
|
Esc: "Escape",
|
|
2085
2085
|
Spacebar: " ",
|
|
2086
2086
|
Left: "ArrowLeft",
|
|
@@ -2093,7 +2093,7 @@ var mn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
|
|
|
2093
2093
|
Apps: "ContextMenu",
|
|
2094
2094
|
Scroll: "ScrollLock",
|
|
2095
2095
|
MozPrintableKey: "Unidentified"
|
|
2096
|
-
},
|
|
2096
|
+
}, Dg = {
|
|
2097
2097
|
8: "Backspace",
|
|
2098
2098
|
9: "Tab",
|
|
2099
2099
|
12: "Clear",
|
|
@@ -2130,28 +2130,28 @@ var mn = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
|
|
|
2130
2130
|
144: "NumLock",
|
|
2131
2131
|
145: "ScrollLock",
|
|
2132
2132
|
224: "Meta"
|
|
2133
|
-
},
|
|
2134
|
-
function
|
|
2133
|
+
}, Qg = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
|
|
2134
|
+
function Eg(e) {
|
|
2135
2135
|
var t = this.nativeEvent;
|
|
2136
|
-
return t.getModifierState ? t.getModifierState(e) : (e =
|
|
2136
|
+
return t.getModifierState ? t.getModifierState(e) : (e = Qg[e]) ? !!t[e] : !1;
|
|
2137
2137
|
}
|
|
2138
2138
|
function Yo() {
|
|
2139
|
-
return
|
|
2139
|
+
return Eg;
|
|
2140
2140
|
}
|
|
2141
|
-
var
|
|
2141
|
+
var Ug = M({}, ai, { key: function(e) {
|
|
2142
2142
|
if (e.key) {
|
|
2143
|
-
var t =
|
|
2143
|
+
var t = Jg[e.key] || e.key;
|
|
2144
2144
|
if (t !== "Unidentified")
|
|
2145
2145
|
return t;
|
|
2146
2146
|
}
|
|
2147
|
-
return e.type === "keypress" ? (e = Ki(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ?
|
|
2147
|
+
return e.type === "keypress" ? (e = Ki(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? Dg[e.keyCode] || "Unidentified" : "";
|
|
2148
2148
|
}, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Yo, charCode: function(e) {
|
|
2149
2149
|
return e.type === "keypress" ? Ki(e) : 0;
|
|
2150
2150
|
}, keyCode: function(e) {
|
|
2151
2151
|
return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
|
|
2152
2152
|
}, which: function(e) {
|
|
2153
2153
|
return e.type === "keypress" ? Ki(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
|
|
2154
|
-
} }),
|
|
2154
|
+
} }), Pg = be(Ug), _g = M({}, vr, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Ns = be(_g), $g = M({}, ai, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Yo }), qg = be($g), ep = M({}, mn, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), tp = be(ep), np = M({}, vr, {
|
|
2155
2155
|
deltaX: function(e) {
|
|
2156
2156
|
return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
|
|
2157
2157
|
},
|
|
@@ -2160,13 +2160,13 @@ var Eg = M({}, ai, { key: function(e) {
|
|
|
2160
2160
|
},
|
|
2161
2161
|
deltaZ: 0,
|
|
2162
2162
|
deltaMode: 0
|
|
2163
|
-
}),
|
|
2163
|
+
}), ip = be(np), rp = [9, 13, 27, 32], Ao = Ee && "CompositionEvent" in window, Bn = null;
|
|
2164
2164
|
Ee && "documentMode" in document && (Bn = document.documentMode);
|
|
2165
|
-
var
|
|
2165
|
+
var lp = Ee && "TextEvent" in window && !Bn, Sa = Ee && (!Ao || Bn && 8 < Bn && 11 >= Bn), Ss = String.fromCharCode(32), Rs = !1;
|
|
2166
2166
|
function Ra(e, t) {
|
|
2167
2167
|
switch (e) {
|
|
2168
2168
|
case "keyup":
|
|
2169
|
-
return
|
|
2169
|
+
return rp.indexOf(t.keyCode) !== -1;
|
|
2170
2170
|
case "keydown":
|
|
2171
2171
|
return t.keyCode !== 229;
|
|
2172
2172
|
case "keypress":
|
|
@@ -2181,7 +2181,7 @@ function ka(e) {
|
|
|
2181
2181
|
return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
|
|
2182
2182
|
}
|
|
2183
2183
|
var Tt = !1;
|
|
2184
|
-
function
|
|
2184
|
+
function op(e, t) {
|
|
2185
2185
|
switch (e) {
|
|
2186
2186
|
case "compositionend":
|
|
2187
2187
|
return ka(t);
|
|
@@ -2193,7 +2193,7 @@ function lp(e, t) {
|
|
|
2193
2193
|
return null;
|
|
2194
2194
|
}
|
|
2195
2195
|
}
|
|
2196
|
-
function
|
|
2196
|
+
function sp(e, t) {
|
|
2197
2197
|
if (Tt)
|
|
2198
2198
|
return e === "compositionend" || !Ao && Ra(e, t) ? (e = Na(), Vi = Go = lt = null, Tt = !1, e) : null;
|
|
2199
2199
|
switch (e) {
|
|
@@ -2213,16 +2213,16 @@ function op(e, t) {
|
|
|
2213
2213
|
return null;
|
|
2214
2214
|
}
|
|
2215
2215
|
}
|
|
2216
|
-
var
|
|
2216
|
+
var up = { 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 };
|
|
2217
2217
|
function ks(e) {
|
|
2218
2218
|
var t = e && e.nodeName && e.nodeName.toLowerCase();
|
|
2219
|
-
return t === "input" ? !!
|
|
2219
|
+
return t === "input" ? !!up[e.type] : t === "textarea";
|
|
2220
2220
|
}
|
|
2221
2221
|
function Ba(e, t, n, i) {
|
|
2222
2222
|
da(i), t = $i(t, "onChange"), 0 < t.length && (n = new Xo("onChange", "change", null, n, i), e.push({ event: n, listeners: t }));
|
|
2223
2223
|
}
|
|
2224
2224
|
var Vn = null, En = null;
|
|
2225
|
-
function
|
|
2225
|
+
function ap(e) {
|
|
2226
2226
|
Ja(e, 0);
|
|
2227
2227
|
}
|
|
2228
2228
|
function wr(e) {
|
|
@@ -2230,7 +2230,7 @@ function wr(e) {
|
|
|
2230
2230
|
if (ra(t))
|
|
2231
2231
|
return e;
|
|
2232
2232
|
}
|
|
2233
|
-
function
|
|
2233
|
+
function cp(e, t) {
|
|
2234
2234
|
if (e === "change")
|
|
2235
2235
|
return t;
|
|
2236
2236
|
}
|
|
@@ -2254,28 +2254,28 @@ function Vs() {
|
|
|
2254
2254
|
function Ka(e) {
|
|
2255
2255
|
if (e.propertyName === "value" && wr(En)) {
|
|
2256
2256
|
var t = [];
|
|
2257
|
-
Ba(t, En, e,
|
|
2257
|
+
Ba(t, En, e, bo(e)), ma(ap, t);
|
|
2258
2258
|
}
|
|
2259
2259
|
}
|
|
2260
|
-
function
|
|
2260
|
+
function dp(e, t, n) {
|
|
2261
2261
|
e === "focusin" ? (Vs(), Vn = t, En = n, Vn.attachEvent("onpropertychange", Ka)) : e === "focusout" && Vs();
|
|
2262
2262
|
}
|
|
2263
|
-
function
|
|
2263
|
+
function gp(e) {
|
|
2264
2264
|
if (e === "selectionchange" || e === "keyup" || e === "keydown")
|
|
2265
2265
|
return wr(En);
|
|
2266
2266
|
}
|
|
2267
|
-
function
|
|
2267
|
+
function pp(e, t) {
|
|
2268
2268
|
if (e === "click")
|
|
2269
2269
|
return wr(t);
|
|
2270
2270
|
}
|
|
2271
|
-
function
|
|
2271
|
+
function fp(e, t) {
|
|
2272
2272
|
if (e === "input" || e === "change")
|
|
2273
2273
|
return wr(t);
|
|
2274
2274
|
}
|
|
2275
|
-
function
|
|
2275
|
+
function mp(e, t) {
|
|
2276
2276
|
return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;
|
|
2277
2277
|
}
|
|
2278
|
-
var Ke = typeof Object.is == "function" ? Object.is :
|
|
2278
|
+
var Ke = typeof Object.is == "function" ? Object.is : mp;
|
|
2279
2279
|
function Un(e, t) {
|
|
2280
2280
|
if (Ke(e, t))
|
|
2281
2281
|
return !0;
|
|
@@ -2340,7 +2340,7 @@ function No(e) {
|
|
|
2340
2340
|
var t = e && e.nodeName && e.nodeName.toLowerCase();
|
|
2341
2341
|
return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
|
|
2342
2342
|
}
|
|
2343
|
-
function
|
|
2343
|
+
function hp(e) {
|
|
2344
2344
|
var t = Ha(), n = e.focusedElem, i = e.selectionRange;
|
|
2345
2345
|
if (t !== n && n && n.ownerDocument && Oa(n.ownerDocument.documentElement, n)) {
|
|
2346
2346
|
if (i !== null && No(n)) {
|
|
@@ -2363,16 +2363,16 @@ function mp(e) {
|
|
|
2363
2363
|
e = t[n], e.element.scrollLeft = e.left, e.element.scrollTop = e.top;
|
|
2364
2364
|
}
|
|
2365
2365
|
}
|
|
2366
|
-
var
|
|
2366
|
+
var Cp = Ee && "documentMode" in document && 11 >= document.documentMode, Jt = null, kl = null, Kn = null, Bl = !1;
|
|
2367
2367
|
function Hs(e, t, n) {
|
|
2368
2368
|
var i = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
|
|
2369
2369
|
Bl || Jt == null || Jt !== Ji(i) || (i = Jt, "selectionStart" in i && No(i) ? i = { start: i.selectionStart, end: i.selectionEnd } : (i = (i.ownerDocument && i.ownerDocument.defaultView || window).getSelection(), i = { anchorNode: i.anchorNode, anchorOffset: i.anchorOffset, focusNode: i.focusNode, focusOffset: i.focusOffset }), Kn && Un(Kn, i) || (Kn = i, i = $i(kl, "onSelect"), 0 < i.length && (t = new Xo("onSelect", "select", null, t, n), e.push({ event: t, listeners: i }), t.target = Jt)));
|
|
2370
2370
|
}
|
|
2371
|
-
function
|
|
2371
|
+
function vi(e, t) {
|
|
2372
2372
|
var n = {};
|
|
2373
2373
|
return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;
|
|
2374
2374
|
}
|
|
2375
|
-
var Dt = { animationend:
|
|
2375
|
+
var Dt = { animationend: vi("Animation", "AnimationEnd"), animationiteration: vi("Animation", "AnimationIteration"), animationstart: vi("Animation", "AnimationStart"), transitionend: vi("Transition", "TransitionEnd") }, Pr = {}, Fa = {};
|
|
2376
2376
|
Ee && (Fa = document.createElement("div").style, "AnimationEvent" in window || (delete Dt.animationend.animation, delete Dt.animationiteration.animation, delete Dt.animationstart.animation), "TransitionEvent" in window || delete Dt.transitionend.transition);
|
|
2377
2377
|
function Wr(e) {
|
|
2378
2378
|
if (Pr[e])
|
|
@@ -2390,8 +2390,8 @@ function Ct(e, t) {
|
|
|
2390
2390
|
Ta.set(e, t), Vt(t, [e]);
|
|
2391
2391
|
}
|
|
2392
2392
|
for (var _r = 0; _r < Fs.length; _r++) {
|
|
2393
|
-
var $r = Fs[_r],
|
|
2394
|
-
Ct(
|
|
2393
|
+
var $r = Fs[_r], Ip = $r.toLowerCase(), yp = $r[0].toUpperCase() + $r.slice(1);
|
|
2394
|
+
Ct(Ip, "on" + yp);
|
|
2395
2395
|
}
|
|
2396
2396
|
Ct(ja, "onAnimationEnd");
|
|
2397
2397
|
Ct(Ma, "onAnimationIteration");
|
|
@@ -2410,10 +2410,10 @@ Vt("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
|
|
|
2410
2410
|
Vt("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
|
|
2411
2411
|
Vt("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
|
|
2412
2412
|
Vt("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
|
|
2413
|
-
var Sn = "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(" "),
|
|
2413
|
+
var Sn = "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(" "), Zp = new Set("cancel close invalid load scroll toggle".split(" ").concat(Sn));
|
|
2414
2414
|
function js(e, t, n) {
|
|
2415
2415
|
var i = e.type || "unknown-event";
|
|
2416
|
-
e.currentTarget = n,
|
|
2416
|
+
e.currentTarget = n, Ig(i, t, void 0, e), e.currentTarget = null;
|
|
2417
2417
|
}
|
|
2418
2418
|
function Ja(e, t) {
|
|
2419
2419
|
t = (t & 4) !== 0;
|
|
@@ -2454,7 +2454,7 @@ var wi = "_reactListening" + Math.random().toString(36).slice(2);
|
|
|
2454
2454
|
function Pn(e) {
|
|
2455
2455
|
if (!e[wi]) {
|
|
2456
2456
|
e[wi] = !0, qu.forEach(function(n) {
|
|
2457
|
-
n !== "selectionchange" && (
|
|
2457
|
+
n !== "selectionchange" && (Zp.has(n) || qr(n, !1, e), qr(n, !0, e));
|
|
2458
2458
|
});
|
|
2459
2459
|
var t = e.nodeType === 9 ? e : e.ownerDocument;
|
|
2460
2460
|
t === null || t[wi] || (t[wi] = !0, qr("selectionchange", !1, t));
|
|
@@ -2463,10 +2463,10 @@ function Pn(e) {
|
|
|
2463
2463
|
function Da(e, t, n, i) {
|
|
2464
2464
|
switch (Aa(t)) {
|
|
2465
2465
|
case 1:
|
|
2466
|
-
var r =
|
|
2466
|
+
var r = Bg;
|
|
2467
2467
|
break;
|
|
2468
2468
|
case 4:
|
|
2469
|
-
r =
|
|
2469
|
+
r = Vg;
|
|
2470
2470
|
break;
|
|
2471
2471
|
default:
|
|
2472
2472
|
r = Lo;
|
|
@@ -2505,7 +2505,7 @@ function el(e, t, n, i, r) {
|
|
|
2505
2505
|
i = i.return;
|
|
2506
2506
|
}
|
|
2507
2507
|
ma(function() {
|
|
2508
|
-
var a = l, p =
|
|
2508
|
+
var a = l, p = bo(n), m = [];
|
|
2509
2509
|
e: {
|
|
2510
2510
|
var c = Ta.get(e);
|
|
2511
2511
|
if (c !== void 0) {
|
|
@@ -2516,7 +2516,7 @@ function el(e, t, n, i, r) {
|
|
|
2516
2516
|
break e;
|
|
2517
2517
|
case "keydown":
|
|
2518
2518
|
case "keyup":
|
|
2519
|
-
I =
|
|
2519
|
+
I = Pg;
|
|
2520
2520
|
break;
|
|
2521
2521
|
case "focusin":
|
|
2522
2522
|
h = "focus", I = Qr;
|
|
@@ -2549,32 +2549,32 @@ function el(e, t, n, i, r) {
|
|
|
2549
2549
|
case "dragover":
|
|
2550
2550
|
case "dragstart":
|
|
2551
2551
|
case "drop":
|
|
2552
|
-
I =
|
|
2552
|
+
I = Hg;
|
|
2553
2553
|
break;
|
|
2554
2554
|
case "touchcancel":
|
|
2555
2555
|
case "touchend":
|
|
2556
2556
|
case "touchmove":
|
|
2557
2557
|
case "touchstart":
|
|
2558
|
-
I =
|
|
2558
|
+
I = qg;
|
|
2559
2559
|
break;
|
|
2560
2560
|
case ja:
|
|
2561
2561
|
case Ma:
|
|
2562
2562
|
case za:
|
|
2563
|
-
I =
|
|
2563
|
+
I = Mg;
|
|
2564
2564
|
break;
|
|
2565
2565
|
case xa:
|
|
2566
|
-
I =
|
|
2566
|
+
I = tp;
|
|
2567
2567
|
break;
|
|
2568
2568
|
case "scroll":
|
|
2569
|
-
I =
|
|
2569
|
+
I = Kg;
|
|
2570
2570
|
break;
|
|
2571
2571
|
case "wheel":
|
|
2572
|
-
I =
|
|
2572
|
+
I = ip;
|
|
2573
2573
|
break;
|
|
2574
2574
|
case "copy":
|
|
2575
2575
|
case "cut":
|
|
2576
2576
|
case "paste":
|
|
2577
|
-
I =
|
|
2577
|
+
I = xg;
|
|
2578
2578
|
break;
|
|
2579
2579
|
case "gotpointercapture":
|
|
2580
2580
|
case "lostpointercapture":
|
|
@@ -2627,25 +2627,25 @@ function el(e, t, n, i, r) {
|
|
|
2627
2627
|
}
|
|
2628
2628
|
e: {
|
|
2629
2629
|
if (c = a ? Qt(a) : window, I = c.nodeName && c.nodeName.toLowerCase(), I === "select" || I === "input" && c.type === "file")
|
|
2630
|
-
var Z =
|
|
2630
|
+
var Z = cp;
|
|
2631
2631
|
else if (ks(c))
|
|
2632
2632
|
if (Va)
|
|
2633
|
-
Z =
|
|
2633
|
+
Z = fp;
|
|
2634
2634
|
else {
|
|
2635
|
-
Z =
|
|
2636
|
-
var
|
|
2635
|
+
Z = gp;
|
|
2636
|
+
var v = dp;
|
|
2637
2637
|
}
|
|
2638
2638
|
else
|
|
2639
|
-
(I = c.nodeName) && I.toLowerCase() === "input" && (c.type === "checkbox" || c.type === "radio") && (Z =
|
|
2639
|
+
(I = c.nodeName) && I.toLowerCase() === "input" && (c.type === "checkbox" || c.type === "radio") && (Z = pp);
|
|
2640
2640
|
if (Z && (Z = Z(e, a))) {
|
|
2641
2641
|
Ba(m, Z, n, p);
|
|
2642
2642
|
break e;
|
|
2643
2643
|
}
|
|
2644
|
-
|
|
2644
|
+
v && v(e, c, a), e === "focusout" && (v = c._wrapperState) && v.controlled && c.type === "number" && bl(c, "number", c.value);
|
|
2645
2645
|
}
|
|
2646
|
-
switch (
|
|
2646
|
+
switch (v = a ? Qt(a) : window, e) {
|
|
2647
2647
|
case "focusin":
|
|
2648
|
-
(ks(
|
|
2648
|
+
(ks(v) || v.contentEditable === "true") && (Jt = v, kl = a, Kn = null);
|
|
2649
2649
|
break;
|
|
2650
2650
|
case "focusout":
|
|
2651
2651
|
Kn = kl = Jt = null;
|
|
@@ -2659,7 +2659,7 @@ function el(e, t, n, i, r) {
|
|
|
2659
2659
|
Bl = !1, Hs(m, n, p);
|
|
2660
2660
|
break;
|
|
2661
2661
|
case "selectionchange":
|
|
2662
|
-
if (
|
|
2662
|
+
if (Cp)
|
|
2663
2663
|
break;
|
|
2664
2664
|
case "keydown":
|
|
2665
2665
|
case "keyup":
|
|
@@ -2683,7 +2683,7 @@ function el(e, t, n, i, r) {
|
|
|
2683
2683
|
}
|
|
2684
2684
|
else
|
|
2685
2685
|
Tt ? Ra(e, n) && (X = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (X = "onCompositionStart");
|
|
2686
|
-
X && (Sa && n.locale !== "ko" && (Tt || X !== "onCompositionStart" ? X === "onCompositionEnd" && Tt && (w = Na()) : (lt = p, Go = "value" in lt ? lt.value : lt.textContent, Tt = !0)),
|
|
2686
|
+
X && (Sa && n.locale !== "ko" && (Tt || X !== "onCompositionStart" ? X === "onCompositionEnd" && Tt && (w = Na()) : (lt = p, Go = "value" in lt ? lt.value : lt.textContent, Tt = !0)), v = $i(a, X), 0 < v.length && (X = new As(X, e, null, n, p), m.push({ event: X, listeners: v }), w ? X.data = w : (w = ka(n), w !== null && (X.data = w)))), (w = lp ? op(e, n) : sp(e, n)) && (a = $i(a, "onBeforeInput"), 0 < a.length && (p = new As("onBeforeInput", "beforeinput", null, n, p), m.push({ event: p, listeners: a }), p.data = w));
|
|
2687
2687
|
}
|
|
2688
2688
|
Ja(m, t);
|
|
2689
2689
|
});
|
|
@@ -2715,14 +2715,14 @@ function Ms(e, t, n, i, r) {
|
|
|
2715
2715
|
}
|
|
2716
2716
|
o.length !== 0 && e.push({ event: t, listeners: o });
|
|
2717
2717
|
}
|
|
2718
|
-
var
|
|
2718
|
+
var bp = /\r\n?/g, vp = /\u0000|\uFFFD/g;
|
|
2719
2719
|
function zs(e) {
|
|
2720
|
-
return (typeof e == "string" ? e : "" + e).replace(
|
|
2720
|
+
return (typeof e == "string" ? e : "" + e).replace(bp, `
|
|
2721
2721
|
`).replace(vp, "");
|
|
2722
2722
|
}
|
|
2723
2723
|
function Wi(e, t, n) {
|
|
2724
2724
|
if (t = zs(t), zs(e) !== t && n)
|
|
2725
|
-
throw Error(
|
|
2725
|
+
throw Error(b(425));
|
|
2726
2726
|
}
|
|
2727
2727
|
function qi() {
|
|
2728
2728
|
}
|
|
@@ -2730,10 +2730,10 @@ var Vl = null, Kl = null;
|
|
|
2730
2730
|
function Ol(e, t) {
|
|
2731
2731
|
return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null;
|
|
2732
2732
|
}
|
|
2733
|
-
var Hl = typeof setTimeout == "function" ? setTimeout : void 0,
|
|
2734
|
-
return xs.resolve(null).then(e).catch(
|
|
2733
|
+
var Hl = typeof setTimeout == "function" ? setTimeout : void 0, wp = typeof clearTimeout == "function" ? clearTimeout : void 0, xs = typeof Promise == "function" ? Promise : void 0, Wp = typeof queueMicrotask == "function" ? queueMicrotask : typeof xs < "u" ? function(e) {
|
|
2734
|
+
return xs.resolve(null).then(e).catch(Lp);
|
|
2735
2735
|
} : Hl;
|
|
2736
|
-
function
|
|
2736
|
+
function Lp(e) {
|
|
2737
2737
|
setTimeout(function() {
|
|
2738
2738
|
throw e;
|
|
2739
2739
|
});
|
|
@@ -2785,7 +2785,7 @@ function Ts(e) {
|
|
|
2785
2785
|
}
|
|
2786
2786
|
return null;
|
|
2787
2787
|
}
|
|
2788
|
-
var hn = Math.random().toString(36).slice(2), Fe = "__reactFiber$" + hn, $n = "__reactProps$" + hn, Ue = "__reactContainer$" + hn, Fl = "__reactEvents$" + hn,
|
|
2788
|
+
var hn = Math.random().toString(36).slice(2), Fe = "__reactFiber$" + hn, $n = "__reactProps$" + hn, Ue = "__reactContainer$" + hn, Fl = "__reactEvents$" + hn, Gp = "__reactListeners$" + hn, Xp = "__reactHandles$" + hn;
|
|
2789
2789
|
function Lt(e) {
|
|
2790
2790
|
var t = e[Fe];
|
|
2791
2791
|
if (t)
|
|
@@ -2810,7 +2810,7 @@ function ci(e) {
|
|
|
2810
2810
|
function Qt(e) {
|
|
2811
2811
|
if (e.tag === 5 || e.tag === 6)
|
|
2812
2812
|
return e.stateNode;
|
|
2813
|
-
throw Error(
|
|
2813
|
+
throw Error(b(33));
|
|
2814
2814
|
}
|
|
2815
2815
|
function Lr(e) {
|
|
2816
2816
|
return e[$n] || null;
|
|
@@ -2846,7 +2846,7 @@ function er() {
|
|
|
2846
2846
|
}
|
|
2847
2847
|
function Js(e, t, n) {
|
|
2848
2848
|
if (le.current !== ht)
|
|
2849
|
-
throw Error(
|
|
2849
|
+
throw Error(b(168));
|
|
2850
2850
|
B(le, t), B(pe, n);
|
|
2851
2851
|
}
|
|
2852
2852
|
function Qa(e, t, n) {
|
|
@@ -2856,7 +2856,7 @@ function Qa(e, t, n) {
|
|
|
2856
2856
|
i = i.getChildContext();
|
|
2857
2857
|
for (var r in i)
|
|
2858
2858
|
if (!(r in t))
|
|
2859
|
-
throw Error(
|
|
2859
|
+
throw Error(b(108, dg(e) || "Unknown", r));
|
|
2860
2860
|
return M({}, n, i);
|
|
2861
2861
|
}
|
|
2862
2862
|
function tr(e) {
|
|
@@ -2865,14 +2865,14 @@ function tr(e) {
|
|
|
2865
2865
|
function Ds(e, t, n) {
|
|
2866
2866
|
var i = e.stateNode;
|
|
2867
2867
|
if (!i)
|
|
2868
|
-
throw Error(
|
|
2868
|
+
throw Error(b(169));
|
|
2869
2869
|
n ? (e = Qa(e, t, Nt), i.__reactInternalMemoizedMergedChildContext = e, K(pe), K(le), B(le, e)) : K(pe), B(pe, n);
|
|
2870
2870
|
}
|
|
2871
2871
|
var Te = null, Gr = !1, nl = !1;
|
|
2872
2872
|
function Ea(e) {
|
|
2873
2873
|
Te === null ? Te = [e] : Te.push(e);
|
|
2874
2874
|
}
|
|
2875
|
-
function
|
|
2875
|
+
function Yp(e) {
|
|
2876
2876
|
Gr = !0, Ea(e);
|
|
2877
2877
|
}
|
|
2878
2878
|
function yt() {
|
|
@@ -2889,7 +2889,7 @@ function yt() {
|
|
|
2889
2889
|
}
|
|
2890
2890
|
Te = null, Gr = !1;
|
|
2891
2891
|
} catch (r) {
|
|
2892
|
-
throw Te !== null && (Te = Te.slice(e + 1)), ya(
|
|
2892
|
+
throw Te !== null && (Te = Te.slice(e + 1)), ya(vo, yt), r;
|
|
2893
2893
|
} finally {
|
|
2894
2894
|
k = t, nl = !1;
|
|
2895
2895
|
}
|
|
@@ -2950,14 +2950,14 @@ function zl(e) {
|
|
|
2950
2950
|
var n = t;
|
|
2951
2951
|
if (!Qs(e, t)) {
|
|
2952
2952
|
if (Ml(e))
|
|
2953
|
-
throw Error(
|
|
2953
|
+
throw Error(b(418));
|
|
2954
2954
|
t = ct(n.nextSibling);
|
|
2955
2955
|
var i = Ie;
|
|
2956
2956
|
t && Qs(e, t) ? Pa(i, n) : (e.flags = e.flags & -4097 | 2, O = !1, Ie = e);
|
|
2957
2957
|
}
|
|
2958
2958
|
} else {
|
|
2959
2959
|
if (Ml(e))
|
|
2960
|
-
throw Error(
|
|
2960
|
+
throw Error(b(418));
|
|
2961
2961
|
e.flags = e.flags & -4097 | 2, O = !1, Ie = e;
|
|
2962
2962
|
}
|
|
2963
2963
|
}
|
|
@@ -2975,13 +2975,13 @@ function Li(e) {
|
|
|
2975
2975
|
var t;
|
|
2976
2976
|
if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !Ol(e.type, e.memoizedProps)), t && (t = Ce)) {
|
|
2977
2977
|
if (Ml(e))
|
|
2978
|
-
throw _a(), Error(
|
|
2978
|
+
throw _a(), Error(b(418));
|
|
2979
2979
|
for (; t; )
|
|
2980
2980
|
Pa(e, t), t = ct(t.nextSibling);
|
|
2981
2981
|
}
|
|
2982
2982
|
if (Es(e), e.tag === 13) {
|
|
2983
2983
|
if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e)
|
|
2984
|
-
throw Error(
|
|
2984
|
+
throw Error(b(317));
|
|
2985
2985
|
e: {
|
|
2986
2986
|
for (e = e.nextSibling, t = 0; e; ) {
|
|
2987
2987
|
if (e.nodeType === 8) {
|
|
@@ -3013,7 +3013,7 @@ function an() {
|
|
|
3013
3013
|
function ko(e) {
|
|
3014
3014
|
ke === null ? ke = [e] : ke.push(e);
|
|
3015
3015
|
}
|
|
3016
|
-
var
|
|
3016
|
+
var Ap = $e.ReactCurrentBatchConfig;
|
|
3017
3017
|
function Se(e, t) {
|
|
3018
3018
|
if (e && e.defaultProps) {
|
|
3019
3019
|
t = M({}, t), e = e.defaultProps;
|
|
@@ -3047,7 +3047,7 @@ function Xe(e) {
|
|
|
3047
3047
|
if (Bo !== e)
|
|
3048
3048
|
if (e = { context: e, memoizedValue: t, next: null }, _t === null) {
|
|
3049
3049
|
if (lr === null)
|
|
3050
|
-
throw Error(
|
|
3050
|
+
throw Error(b(308));
|
|
3051
3051
|
_t = e, lr.dependencies = { lanes: 0, firstContext: e };
|
|
3052
3052
|
} else
|
|
3053
3053
|
_t = _t.next = e;
|
|
@@ -3182,7 +3182,7 @@ function Ps(e, t, n) {
|
|
|
3182
3182
|
var i = e[t], r = i.callback;
|
|
3183
3183
|
if (r !== null) {
|
|
3184
3184
|
if (i.callback = null, i = n, typeof r != "function")
|
|
3185
|
-
throw Error(
|
|
3185
|
+
throw Error(b(191, r));
|
|
3186
3186
|
r.call(i);
|
|
3187
3187
|
}
|
|
3188
3188
|
}
|
|
@@ -3222,16 +3222,16 @@ function Jl(e, t, n, i) {
|
|
|
3222
3222
|
var l = t.contextType;
|
|
3223
3223
|
typeof l == "object" && l !== null ? r.context = Xe(l) : (l = fe(t) ? Nt : le.current, r.context = un(e, l)), r.state = e.memoizedState, l = t.getDerivedStateFromProps, typeof l == "function" && (Tl(e, t, l, n), r.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof r.getSnapshotBeforeUpdate == "function" || typeof r.UNSAFE_componentWillMount != "function" && typeof r.componentWillMount != "function" || (t = r.state, typeof r.componentWillMount == "function" && r.componentWillMount(), typeof r.UNSAFE_componentWillMount == "function" && r.UNSAFE_componentWillMount(), t !== r.state && Xr.enqueueReplaceState(r, r.state, null), or(e, n, r, i), r.state = e.memoizedState), typeof r.componentDidMount == "function" && (e.flags |= 4194308);
|
|
3224
3224
|
}
|
|
3225
|
-
function
|
|
3225
|
+
function vn(e, t, n) {
|
|
3226
3226
|
if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
|
|
3227
3227
|
if (n._owner) {
|
|
3228
3228
|
if (n = n._owner, n) {
|
|
3229
3229
|
if (n.tag !== 1)
|
|
3230
|
-
throw Error(
|
|
3230
|
+
throw Error(b(309));
|
|
3231
3231
|
var i = n.stateNode;
|
|
3232
3232
|
}
|
|
3233
3233
|
if (!i)
|
|
3234
|
-
throw Error(
|
|
3234
|
+
throw Error(b(147, e));
|
|
3235
3235
|
var r = i, l = "" + e;
|
|
3236
3236
|
return t !== null && t.ref !== null && typeof t.ref == "function" && t.ref._stringRef === l ? t.ref : (t = function(o) {
|
|
3237
3237
|
var s = r.refs;
|
|
@@ -3239,14 +3239,14 @@ function bn(e, t, n) {
|
|
|
3239
3239
|
}, t._stringRef = l, t);
|
|
3240
3240
|
}
|
|
3241
3241
|
if (typeof e != "string")
|
|
3242
|
-
throw Error(
|
|
3242
|
+
throw Error(b(284));
|
|
3243
3243
|
if (!n._owner)
|
|
3244
|
-
throw Error(
|
|
3244
|
+
throw Error(b(290, e));
|
|
3245
3245
|
}
|
|
3246
3246
|
return e;
|
|
3247
3247
|
}
|
|
3248
3248
|
function Gi(e, t) {
|
|
3249
|
-
throw e = Object.prototype.toString.call(t), Error(
|
|
3249
|
+
throw e = Object.prototype.toString.call(t), Error(b(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e));
|
|
3250
3250
|
}
|
|
3251
3251
|
function qs(e) {
|
|
3252
3252
|
var t = e._init;
|
|
@@ -3285,7 +3285,7 @@ function nc(e) {
|
|
|
3285
3285
|
}
|
|
3286
3286
|
function u(g, d, f, C) {
|
|
3287
3287
|
var Z = f.type;
|
|
3288
|
-
return Z === xt ? p(g, d, f.props.children, C, f.key) : d !== null && (d.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === d.type) ? (C = r(d, f.props), C.ref =
|
|
3288
|
+
return Z === xt ? p(g, d, f.props.children, C, f.key) : d !== null && (d.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === d.type) ? (C = r(d, f.props), C.ref = vn(g, d, f), C.return = g, C) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref = vn(g, d, f), C.return = g, C);
|
|
3289
3289
|
}
|
|
3290
3290
|
function a(g, d, f, C) {
|
|
3291
3291
|
return d === null || d.tag !== 4 || d.stateNode.containerInfo !== f.containerInfo || d.stateNode.implementation !== f.implementation ? (d = cl(f, g.mode, C), d.return = g, d) : (d = r(d, f.children || []), d.return = g, d);
|
|
@@ -3299,7 +3299,7 @@ function nc(e) {
|
|
|
3299
3299
|
if (typeof d == "object" && d !== null) {
|
|
3300
3300
|
switch (d.$$typeof) {
|
|
3301
3301
|
case mi:
|
|
3302
|
-
return f = xi(d.type, d.key, d.props, null, g.mode, f), f.ref =
|
|
3302
|
+
return f = xi(d.type, d.key, d.props, null, g.mode, f), f.ref = vn(g, null, d), f.return = g, f;
|
|
3303
3303
|
case zt:
|
|
3304
3304
|
return d = cl(d, g.mode, f), d.return = g, d;
|
|
3305
3305
|
case tt:
|
|
@@ -3346,8 +3346,8 @@ function nc(e) {
|
|
|
3346
3346
|
case zt:
|
|
3347
3347
|
return g = g.get(C.key === null ? f : C.key) || null, a(d, g, C, Z);
|
|
3348
3348
|
case tt:
|
|
3349
|
-
var
|
|
3350
|
-
return I(g, d, f,
|
|
3349
|
+
var v = C._init;
|
|
3350
|
+
return I(g, d, f, v(C._payload), Z);
|
|
3351
3351
|
}
|
|
3352
3352
|
if (An(C) || Cn(C))
|
|
3353
3353
|
return g = g.get(f) || null, p(d, g, C, Z, null);
|
|
@@ -3356,42 +3356,42 @@ function nc(e) {
|
|
|
3356
3356
|
return null;
|
|
3357
3357
|
}
|
|
3358
3358
|
function h(g, d, f, C) {
|
|
3359
|
-
for (var Z = null,
|
|
3359
|
+
for (var Z = null, v = null, w = d, X = d = 0, H = null; w !== null && X < f.length; X++) {
|
|
3360
3360
|
w.index > X ? (H = w, w = null) : H = w.sibling;
|
|
3361
3361
|
var A = c(g, w, f[X], C);
|
|
3362
3362
|
if (A === null) {
|
|
3363
3363
|
w === null && (w = H);
|
|
3364
3364
|
break;
|
|
3365
3365
|
}
|
|
3366
|
-
e && w && A.alternate === null && t(g, w), d = l(A, d, X),
|
|
3366
|
+
e && w && A.alternate === null && t(g, w), d = l(A, d, X), v === null ? Z = A : v.sibling = A, v = A, w = H;
|
|
3367
3367
|
}
|
|
3368
3368
|
if (X === f.length)
|
|
3369
3369
|
return n(g, w), O && wt(g, X), Z;
|
|
3370
3370
|
if (w === null) {
|
|
3371
3371
|
for (; X < f.length; X++)
|
|
3372
|
-
w = m(g, f[X], C), w !== null && (d = l(w, d, X),
|
|
3372
|
+
w = m(g, f[X], C), w !== null && (d = l(w, d, X), v === null ? Z = w : v.sibling = w, v = w);
|
|
3373
3373
|
return O && wt(g, X), Z;
|
|
3374
3374
|
}
|
|
3375
3375
|
for (w = i(g, w); X < f.length; X++)
|
|
3376
|
-
H = I(w, g, X, f[X], C), H !== null && (e && H.alternate !== null && w.delete(H.key === null ? X : H.key), d = l(H, d, X),
|
|
3377
|
-
return e && w.forEach(function(
|
|
3378
|
-
return t(g,
|
|
3376
|
+
H = I(w, g, X, f[X], C), H !== null && (e && H.alternate !== null && w.delete(H.key === null ? X : H.key), d = l(H, d, X), v === null ? Z = H : v.sibling = H, v = H);
|
|
3377
|
+
return e && w.forEach(function(ve) {
|
|
3378
|
+
return t(g, ve);
|
|
3379
3379
|
}), O && wt(g, X), Z;
|
|
3380
3380
|
}
|
|
3381
3381
|
function y(g, d, f, C) {
|
|
3382
3382
|
var Z = Cn(f);
|
|
3383
3383
|
if (typeof Z != "function")
|
|
3384
|
-
throw Error(
|
|
3384
|
+
throw Error(b(150));
|
|
3385
3385
|
if (f = Z.call(f), f == null)
|
|
3386
|
-
throw Error(
|
|
3387
|
-
for (var
|
|
3386
|
+
throw Error(b(151));
|
|
3387
|
+
for (var v = Z = null, w = d, X = d = 0, H = null, A = f.next(); w !== null && !A.done; X++, A = f.next()) {
|
|
3388
3388
|
w.index > X ? (H = w, w = null) : H = w.sibling;
|
|
3389
|
-
var
|
|
3390
|
-
if (
|
|
3389
|
+
var ve = c(g, w, A.value, C);
|
|
3390
|
+
if (ve === null) {
|
|
3391
3391
|
w === null && (w = H);
|
|
3392
3392
|
break;
|
|
3393
3393
|
}
|
|
3394
|
-
e && w &&
|
|
3394
|
+
e && w && ve.alternate === null && t(g, w), d = l(ve, d, X), v === null ? Z = ve : v.sibling = ve, v = ve, w = H;
|
|
3395
3395
|
}
|
|
3396
3396
|
if (A.done)
|
|
3397
3397
|
return n(
|
|
@@ -3400,11 +3400,11 @@ function nc(e) {
|
|
|
3400
3400
|
), O && wt(g, X), Z;
|
|
3401
3401
|
if (w === null) {
|
|
3402
3402
|
for (; !A.done; X++, A = f.next())
|
|
3403
|
-
A = m(g, A.value, C), A !== null && (d = l(A, d, X),
|
|
3403
|
+
A = m(g, A.value, C), A !== null && (d = l(A, d, X), v === null ? Z = A : v.sibling = A, v = A);
|
|
3404
3404
|
return O && wt(g, X), Z;
|
|
3405
3405
|
}
|
|
3406
3406
|
for (w = i(g, w); !A.done; X++, A = f.next())
|
|
3407
|
-
A = I(w, g, X, A.value, C), A !== null && (e && A.alternate !== null && w.delete(A.key === null ? X : A.key), d = l(A, d, X),
|
|
3407
|
+
A = I(w, g, X, A.value, C), A !== null && (e && A.alternate !== null && w.delete(A.key === null ? X : A.key), d = l(A, d, X), v === null ? Z = A : v.sibling = A, v = A);
|
|
3408
3408
|
return e && w.forEach(function(Zt) {
|
|
3409
3409
|
return t(g, Zt);
|
|
3410
3410
|
}), O && wt(g, X), Z;
|
|
@@ -3414,30 +3414,30 @@ function nc(e) {
|
|
|
3414
3414
|
switch (f.$$typeof) {
|
|
3415
3415
|
case mi:
|
|
3416
3416
|
e: {
|
|
3417
|
-
for (var Z = f.key,
|
|
3418
|
-
if (
|
|
3417
|
+
for (var Z = f.key, v = d; v !== null; ) {
|
|
3418
|
+
if (v.key === Z) {
|
|
3419
3419
|
if (Z = f.type, Z === xt) {
|
|
3420
|
-
if (
|
|
3421
|
-
n(g,
|
|
3420
|
+
if (v.tag === 7) {
|
|
3421
|
+
n(g, v.sibling), d = r(v, f.props.children), d.return = g, g = d;
|
|
3422
3422
|
break e;
|
|
3423
3423
|
}
|
|
3424
|
-
} else if (
|
|
3425
|
-
n(g,
|
|
3424
|
+
} else if (v.elementType === Z || typeof Z == "object" && Z !== null && Z.$$typeof === tt && qs(Z) === v.type) {
|
|
3425
|
+
n(g, v.sibling), d = r(v, f.props), d.ref = vn(g, v, f), d.return = g, g = d;
|
|
3426
3426
|
break e;
|
|
3427
3427
|
}
|
|
3428
|
-
n(g,
|
|
3428
|
+
n(g, v);
|
|
3429
3429
|
break;
|
|
3430
3430
|
} else
|
|
3431
|
-
t(g,
|
|
3432
|
-
|
|
3431
|
+
t(g, v);
|
|
3432
|
+
v = v.sibling;
|
|
3433
3433
|
}
|
|
3434
|
-
f.type === xt ? (d = At(f.props.children, g.mode, C, f.key), d.return = g, g = d) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref =
|
|
3434
|
+
f.type === xt ? (d = At(f.props.children, g.mode, C, f.key), d.return = g, g = d) : (C = xi(f.type, f.key, f.props, null, g.mode, C), C.ref = vn(g, d, f), C.return = g, g = C);
|
|
3435
3435
|
}
|
|
3436
3436
|
return o(g);
|
|
3437
3437
|
case zt:
|
|
3438
3438
|
e: {
|
|
3439
|
-
for (
|
|
3440
|
-
if (d.key ===
|
|
3439
|
+
for (v = f.key; d !== null; ) {
|
|
3440
|
+
if (d.key === v)
|
|
3441
3441
|
if (d.tag === 4 && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) {
|
|
3442
3442
|
n(g, d.sibling), d = r(d, f.children || []), d.return = g, g = d;
|
|
3443
3443
|
break e;
|
|
@@ -3453,7 +3453,7 @@ function nc(e) {
|
|
|
3453
3453
|
}
|
|
3454
3454
|
return o(g);
|
|
3455
3455
|
case tt:
|
|
3456
|
-
return
|
|
3456
|
+
return v = f._init, G(g, d, v(f._payload), C);
|
|
3457
3457
|
}
|
|
3458
3458
|
if (An(f))
|
|
3459
3459
|
return h(g, d, f, C);
|
|
@@ -3468,7 +3468,7 @@ function nc(e) {
|
|
|
3468
3468
|
var cn = nc(!0), ic = nc(!1), di = {}, ze = It(di), qn = It(di), ei = It(di);
|
|
3469
3469
|
function Xt(e) {
|
|
3470
3470
|
if (e === di)
|
|
3471
|
-
throw Error(
|
|
3471
|
+
throw Error(b(174));
|
|
3472
3472
|
return e;
|
|
3473
3473
|
}
|
|
3474
3474
|
function Fo(e, t) {
|
|
@@ -3524,9 +3524,9 @@ function Mo() {
|
|
|
3524
3524
|
il[e]._workInProgressVersionPrimary = null;
|
|
3525
3525
|
il.length = 0;
|
|
3526
3526
|
}
|
|
3527
|
-
var Hi = $e.ReactCurrentDispatcher, rl = $e.ReactCurrentBatchConfig, Rt = 0, j = null, Q = null, P = null, ur = !1, On = !1, ti = 0,
|
|
3527
|
+
var Hi = $e.ReactCurrentDispatcher, rl = $e.ReactCurrentBatchConfig, Rt = 0, j = null, Q = null, P = null, ur = !1, On = !1, ti = 0, Np = 0;
|
|
3528
3528
|
function ne() {
|
|
3529
|
-
throw Error(
|
|
3529
|
+
throw Error(b(321));
|
|
3530
3530
|
}
|
|
3531
3531
|
function zo(e, t) {
|
|
3532
3532
|
if (t === null)
|
|
@@ -3537,16 +3537,16 @@ function zo(e, t) {
|
|
|
3537
3537
|
return !0;
|
|
3538
3538
|
}
|
|
3539
3539
|
function xo(e, t, n, i, r, l) {
|
|
3540
|
-
if (Rt = l, j = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Hi.current = e === null || e.memoizedState === null ?
|
|
3540
|
+
if (Rt = l, j = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Hi.current = e === null || e.memoizedState === null ? Bp : Vp, e = n(i, r), On) {
|
|
3541
3541
|
l = 0;
|
|
3542
3542
|
do {
|
|
3543
3543
|
if (On = !1, ti = 0, 25 <= l)
|
|
3544
|
-
throw Error(
|
|
3545
|
-
l += 1, P = Q = null, t.updateQueue = null, Hi.current =
|
|
3544
|
+
throw Error(b(301));
|
|
3545
|
+
l += 1, P = Q = null, t.updateQueue = null, Hi.current = Kp, e = n(i, r);
|
|
3546
3546
|
} while (On);
|
|
3547
3547
|
}
|
|
3548
3548
|
if (Hi.current = ar, t = Q !== null && Q.next !== null, Rt = 0, P = Q = j = null, ur = !1, t)
|
|
3549
|
-
throw Error(
|
|
3549
|
+
throw Error(b(300));
|
|
3550
3550
|
return e;
|
|
3551
3551
|
}
|
|
3552
3552
|
function To() {
|
|
@@ -3568,7 +3568,7 @@ function Ye() {
|
|
|
3568
3568
|
P = t, Q = e;
|
|
3569
3569
|
else {
|
|
3570
3570
|
if (e === null)
|
|
3571
|
-
throw Error(
|
|
3571
|
+
throw Error(b(310));
|
|
3572
3572
|
Q = e, e = { memoizedState: Q.memoizedState, baseState: Q.baseState, baseQueue: Q.baseQueue, queue: Q.queue, next: null }, P === null ? j.memoizedState = P = e : P = P.next = e;
|
|
3573
3573
|
}
|
|
3574
3574
|
return P;
|
|
@@ -3579,7 +3579,7 @@ function ni(e, t) {
|
|
|
3579
3579
|
function ll(e) {
|
|
3580
3580
|
var t = Ye(), n = t.queue;
|
|
3581
3581
|
if (n === null)
|
|
3582
|
-
throw Error(
|
|
3582
|
+
throw Error(b(311));
|
|
3583
3583
|
n.lastRenderedReducer = e;
|
|
3584
3584
|
var i = Q, r = i.baseQueue, l = n.pending;
|
|
3585
3585
|
if (l !== null) {
|
|
@@ -3622,7 +3622,7 @@ function ll(e) {
|
|
|
3622
3622
|
function ol(e) {
|
|
3623
3623
|
var t = Ye(), n = t.queue;
|
|
3624
3624
|
if (n === null)
|
|
3625
|
-
throw Error(
|
|
3625
|
+
throw Error(b(311));
|
|
3626
3626
|
n.lastRenderedReducer = e;
|
|
3627
3627
|
var i = n.dispatch, r = n.pending, l = t.memoizedState;
|
|
3628
3628
|
if (r !== null) {
|
|
@@ -3641,7 +3641,7 @@ function oc(e, t) {
|
|
|
3641
3641
|
var n = j, i = Ye(), r = t(), l = !Ke(i.memoizedState, r);
|
|
3642
3642
|
if (l && (i.memoizedState = r, ge = !0), i = i.queue, Jo(ac.bind(null, n, i, e), [e]), i.getSnapshot !== t || l || P !== null && P.memoizedState.tag & 1) {
|
|
3643
3643
|
if (n.flags |= 2048, ii(9, uc.bind(null, n, i, r, t), void 0, null), _ === null)
|
|
3644
|
-
throw Error(
|
|
3644
|
+
throw Error(b(349));
|
|
3645
3645
|
Rt & 30 || sc(n, t, r);
|
|
3646
3646
|
}
|
|
3647
3647
|
return r;
|
|
@@ -3673,7 +3673,7 @@ function dc(e) {
|
|
|
3673
3673
|
}
|
|
3674
3674
|
function eu(e) {
|
|
3675
3675
|
var t = He();
|
|
3676
|
-
return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ni, lastRenderedState: e }, t.queue = e, e = e.dispatch =
|
|
3676
|
+
return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ni, lastRenderedState: e }, t.queue = e, e = e.dispatch = kp.bind(null, j, e), [t.memoizedState, e];
|
|
3677
3677
|
}
|
|
3678
3678
|
function ii(e, t, n, i) {
|
|
3679
3679
|
return e = { tag: e, create: t, destroy: n, deps: i, next: null }, t = j.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, j.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (i = n.next, n.next = e, e.next = i, t.lastEffect = e)), e;
|
|
@@ -3738,9 +3738,9 @@ function Ic(e, t) {
|
|
|
3738
3738
|
return i !== null && t !== null && zo(t, i[1]) ? i[0] : (e = e(), n.memoizedState = [e, t], e);
|
|
3739
3739
|
}
|
|
3740
3740
|
function yc(e, t, n) {
|
|
3741
|
-
return Rt & 21 ? (Ke(n, t) || (n =
|
|
3741
|
+
return Rt & 21 ? (Ke(n, t) || (n = va(), j.lanes |= n, kt |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, ge = !0), e.memoizedState = n);
|
|
3742
3742
|
}
|
|
3743
|
-
function
|
|
3743
|
+
function Sp(e, t) {
|
|
3744
3744
|
var n = k;
|
|
3745
3745
|
k = n !== 0 && 4 > n ? n : 4, e(!0);
|
|
3746
3746
|
var i = rl.transition;
|
|
@@ -3754,19 +3754,19 @@ function Np(e, t) {
|
|
|
3754
3754
|
function Zc() {
|
|
3755
3755
|
return Ye().memoizedState;
|
|
3756
3756
|
}
|
|
3757
|
-
function
|
|
3757
|
+
function Rp(e, t, n) {
|
|
3758
3758
|
var i = pt(e);
|
|
3759
|
-
if (n = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null },
|
|
3760
|
-
|
|
3759
|
+
if (n = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null }, bc(e))
|
|
3760
|
+
vc(t, n);
|
|
3761
3761
|
else if (n = $a(e, t, n, i), n !== null) {
|
|
3762
3762
|
var r = ue();
|
|
3763
3763
|
Ve(n, e, i, r), wc(n, t, i);
|
|
3764
3764
|
}
|
|
3765
3765
|
}
|
|
3766
|
-
function
|
|
3766
|
+
function kp(e, t, n) {
|
|
3767
3767
|
var i = pt(e), r = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null };
|
|
3768
|
-
if (
|
|
3769
|
-
|
|
3768
|
+
if (bc(e))
|
|
3769
|
+
vc(t, r);
|
|
3770
3770
|
else {
|
|
3771
3771
|
var l = e.alternate;
|
|
3772
3772
|
if (e.lanes === 0 && (l === null || l.lanes === 0) && (l = t.lastRenderedReducer, l !== null))
|
|
@@ -3783,11 +3783,11 @@ function Rp(e, t, n) {
|
|
|
3783
3783
|
n = $a(e, t, r, i), n !== null && (r = ue(), Ve(n, e, i, r), wc(n, t, i));
|
|
3784
3784
|
}
|
|
3785
3785
|
}
|
|
3786
|
-
function
|
|
3786
|
+
function bc(e) {
|
|
3787
3787
|
var t = e.alternate;
|
|
3788
3788
|
return e === j || t !== null && t === j;
|
|
3789
3789
|
}
|
|
3790
|
-
function
|
|
3790
|
+
function vc(e, t) {
|
|
3791
3791
|
On = ur = !0;
|
|
3792
3792
|
var n = e.pending;
|
|
3793
3793
|
n === null ? t.next = t : (t.next = n.next, n.next = t), e.pending = t;
|
|
@@ -3798,7 +3798,7 @@ function wc(e, t, n) {
|
|
|
3798
3798
|
i &= e.pendingLanes, n |= i, t.lanes = n, wo(e, n);
|
|
3799
3799
|
}
|
|
3800
3800
|
}
|
|
3801
|
-
var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useImperativeHandle: ne, useInsertionEffect: ne, useLayoutEffect: ne, useMemo: ne, useReducer: ne, useRef: ne, useState: ne, useDebugValue: ne, useDeferredValue: ne, useTransition: ne, useMutableSource: ne, useSyncExternalStore: ne, useId: ne, unstable_isNewReconciler: !1 },
|
|
3801
|
+
var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useImperativeHandle: ne, useInsertionEffect: ne, useLayoutEffect: ne, useMemo: ne, useReducer: ne, useRef: ne, useState: ne, useDebugValue: ne, useDeferredValue: ne, useTransition: ne, useMutableSource: ne, useSyncExternalStore: ne, useId: ne, unstable_isNewReconciler: !1 }, Bp = { readContext: Xe, useCallback: function(e, t) {
|
|
3802
3802
|
return He().memoizedState = [e, t === void 0 ? null : t], e;
|
|
3803
3803
|
}, useContext: Xe, useEffect: tu, useImperativeHandle: function(e, t, n) {
|
|
3804
3804
|
return n = n != null ? n.concat([e]) : null, Fi(
|
|
@@ -3816,7 +3816,7 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
|
|
|
3816
3816
|
return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
|
|
3817
3817
|
}, useReducer: function(e, t, n) {
|
|
3818
3818
|
var i = He();
|
|
3819
|
-
return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch =
|
|
3819
|
+
return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch = Rp.bind(null, j, e), [i.memoizedState, e];
|
|
3820
3820
|
}, useRef: function(e) {
|
|
3821
3821
|
var t = He();
|
|
3822
3822
|
return e = { current: e }, t.memoizedState = e;
|
|
@@ -3824,17 +3824,17 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
|
|
|
3824
3824
|
return He().memoizedState = e;
|
|
3825
3825
|
}, useTransition: function() {
|
|
3826
3826
|
var e = eu(!1), t = e[0];
|
|
3827
|
-
return e =
|
|
3827
|
+
return e = Sp.bind(null, e[1]), He().memoizedState = e, [t, e];
|
|
3828
3828
|
}, useMutableSource: function() {
|
|
3829
3829
|
}, useSyncExternalStore: function(e, t, n) {
|
|
3830
3830
|
var i = j, r = He();
|
|
3831
3831
|
if (O) {
|
|
3832
3832
|
if (n === void 0)
|
|
3833
|
-
throw Error(
|
|
3833
|
+
throw Error(b(407));
|
|
3834
3834
|
n = n();
|
|
3835
3835
|
} else {
|
|
3836
3836
|
if (n = t(), _ === null)
|
|
3837
|
-
throw Error(
|
|
3837
|
+
throw Error(b(349));
|
|
3838
3838
|
Rt & 30 || sc(i, t, n);
|
|
3839
3839
|
}
|
|
3840
3840
|
r.memoizedState = n;
|
|
@@ -3851,9 +3851,9 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
|
|
|
3851
3851
|
var n = De, i = Je;
|
|
3852
3852
|
n = (i & ~(1 << 32 - Be(i) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = ti++, 0 < n && (t += "H" + n.toString(32)), t += ":";
|
|
3853
3853
|
} else
|
|
3854
|
-
n =
|
|
3854
|
+
n = Np++, t = ":" + t + "r" + n.toString(32) + ":";
|
|
3855
3855
|
return e.memoizedState = t;
|
|
3856
|
-
}, unstable_isNewReconciler: !1 },
|
|
3856
|
+
}, unstable_isNewReconciler: !1 }, Vp = {
|
|
3857
3857
|
readContext: Xe,
|
|
3858
3858
|
useCallback: Cc,
|
|
3859
3859
|
useContext: Xe,
|
|
@@ -3880,7 +3880,7 @@ var ar = { readContext: Xe, useCallback: ne, useContext: ne, useEffect: ne, useI
|
|
|
3880
3880
|
useSyncExternalStore: oc,
|
|
3881
3881
|
useId: Zc,
|
|
3882
3882
|
unstable_isNewReconciler: !1
|
|
3883
|
-
},
|
|
3883
|
+
}, Kp = { readContext: Xe, useCallback: Cc, useContext: Xe, useEffect: Jo, useImperativeHandle: hc, useInsertionEffect: pc, useLayoutEffect: fc, useMemo: Ic, useReducer: ol, useRef: gc, useState: function() {
|
|
3884
3884
|
return ol(ni);
|
|
3885
3885
|
}, useDebugValue: Do, useDeferredValue: function(e) {
|
|
3886
3886
|
var t = Ye();
|
|
@@ -3893,7 +3893,7 @@ function gn(e, t) {
|
|
|
3893
3893
|
try {
|
|
3894
3894
|
var n = "", i = t;
|
|
3895
3895
|
do
|
|
3896
|
-
n +=
|
|
3896
|
+
n += cg(i), i = i.return;
|
|
3897
3897
|
while (i);
|
|
3898
3898
|
var r = n;
|
|
3899
3899
|
} catch (l) {
|
|
@@ -3915,7 +3915,7 @@ function Dl(e, t) {
|
|
|
3915
3915
|
});
|
|
3916
3916
|
}
|
|
3917
3917
|
}
|
|
3918
|
-
var
|
|
3918
|
+
var Op = typeof WeakMap == "function" ? WeakMap : Map;
|
|
3919
3919
|
function Wc(e, t, n) {
|
|
3920
3920
|
n = Qe(-1, n), n.tag = 3, n.payload = { element: null };
|
|
3921
3921
|
var i = t.value;
|
|
@@ -3944,12 +3944,12 @@ function Lc(e, t, n) {
|
|
|
3944
3944
|
function nu(e, t, n) {
|
|
3945
3945
|
var i = e.pingCache;
|
|
3946
3946
|
if (i === null) {
|
|
3947
|
-
i = e.pingCache = new
|
|
3947
|
+
i = e.pingCache = new Op();
|
|
3948
3948
|
var r = /* @__PURE__ */ new Set();
|
|
3949
3949
|
i.set(t, r);
|
|
3950
3950
|
} else
|
|
3951
3951
|
r = i.get(t), r === void 0 && (r = /* @__PURE__ */ new Set(), i.set(t, r));
|
|
3952
|
-
r.has(n) || (r.add(n), e =
|
|
3952
|
+
r.has(n) || (r.add(n), e = _p.bind(null, e, t, n), t.then(e, e));
|
|
3953
3953
|
}
|
|
3954
3954
|
function iu(e) {
|
|
3955
3955
|
do {
|
|
@@ -3963,7 +3963,7 @@ function iu(e) {
|
|
|
3963
3963
|
function ru(e, t, n, i, r) {
|
|
3964
3964
|
return e.mode & 1 ? (e.flags |= 65536, e.lanes = r, 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 = Qe(-1, 1), t.tag = 2, dt(n, t, 1))), n.lanes |= 1), e);
|
|
3965
3965
|
}
|
|
3966
|
-
var
|
|
3966
|
+
var Hp = $e.ReactCurrentOwner, ge = !1;
|
|
3967
3967
|
function se(e, t, n, i) {
|
|
3968
3968
|
t.child = e === null ? ic(t, null, n, i) : cn(t, e.child, n, i);
|
|
3969
3969
|
}
|
|
@@ -4048,7 +4048,7 @@ function El(e, t, n, i, r, l) {
|
|
|
4048
4048
|
var o = (t.flags & 128) !== 0;
|
|
4049
4049
|
if (!i && !o)
|
|
4050
4050
|
return r && Ds(t, n, !1), _e(e, t, l);
|
|
4051
|
-
i = t.stateNode,
|
|
4051
|
+
i = t.stateNode, Hp.current = t;
|
|
4052
4052
|
var s = o && typeof n.getDerivedStateFromError != "function" ? null : i.render();
|
|
4053
4053
|
return t.flags |= 1, e !== null && o ? (t.child = cn(t, e.child, null, l), t.child = cn(t, null, s, l)) : se(e, t, s, l), t.memoizedState = i.state, r && Ds(t, n, !0), t.child;
|
|
4054
4054
|
}
|
|
@@ -4068,7 +4068,7 @@ function Nc(e, t, n) {
|
|
|
4068
4068
|
if ((s = o) || (s = e !== null && e.memoizedState === null ? !1 : (r & 2) !== 0), s ? (l = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (r |= 1), B(F, r & 1), e === null)
|
|
4069
4069
|
return zl(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) : (o = i.children, e = i.fallback, l ? (i = t.mode, l = t.child, o = { mode: "hidden", children: o }, !(i & 1) && l !== null ? (l.childLanes = 0, l.pendingProps = o) : l = Sr(o, i, 0, null), e = At(e, i, n, null), l.return = t, e.return = t, l.sibling = e, t.child = l, t.child.memoizedState = Pl(n), t.memoizedState = Ul, e) : Qo(t, o));
|
|
4070
4070
|
if (r = e.memoizedState, r !== null && (s = r.dehydrated, s !== null))
|
|
4071
|
-
return
|
|
4071
|
+
return Fp(e, t, o, i, s, r, n);
|
|
4072
4072
|
if (l) {
|
|
4073
4073
|
l = i.fallback, o = t.mode, r = e.child, s = r.sibling;
|
|
4074
4074
|
var u = { mode: "hidden", children: i.children };
|
|
@@ -4082,15 +4082,15 @@ function Qo(e, t) {
|
|
|
4082
4082
|
function Xi(e, t, n, i) {
|
|
4083
4083
|
return i !== null && ko(i), cn(t, e.child, null, n), e = Qo(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
|
|
4084
4084
|
}
|
|
4085
|
-
function
|
|
4085
|
+
function Fp(e, t, n, i, r, l, o) {
|
|
4086
4086
|
if (n)
|
|
4087
|
-
return t.flags & 256 ? (t.flags &= -257, i = sl(Error(
|
|
4087
|
+
return t.flags & 256 ? (t.flags &= -257, i = sl(Error(b(422))), Xi(e, t, o, i)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (l = i.fallback, r = t.mode, i = Sr({ mode: "visible", children: i.children }, r, 0, null), l = At(l, r, o, null), l.flags |= 2, i.return = t, l.return = t, i.sibling = l, t.child = i, t.mode & 1 && cn(t, e.child, null, o), t.child.memoizedState = Pl(o), t.memoizedState = Ul, l);
|
|
4088
4088
|
if (!(t.mode & 1))
|
|
4089
4089
|
return Xi(e, t, o, null);
|
|
4090
4090
|
if (r.data === "$!") {
|
|
4091
4091
|
if (i = r.nextSibling && r.nextSibling.dataset, i)
|
|
4092
4092
|
var s = i.dgst;
|
|
4093
|
-
return i = s, l = Error(
|
|
4093
|
+
return i = s, l = Error(b(419)), i = sl(l, i, void 0), Xi(e, t, o, i);
|
|
4094
4094
|
}
|
|
4095
4095
|
if (s = (o & e.childLanes) !== 0, ge || s) {
|
|
4096
4096
|
if (i = _, i !== null) {
|
|
@@ -4132,9 +4132,9 @@ function Hp(e, t, n, i, r, l, o) {
|
|
|
4132
4132
|
}
|
|
4133
4133
|
r = r & (i.suspendedLanes | o) ? 0 : r, r !== 0 && r !== l.retryLane && (l.retryLane = r, Pe(e, r), Ve(i, e, r, -1));
|
|
4134
4134
|
}
|
|
4135
|
-
return qo(), i = sl(Error(
|
|
4135
|
+
return qo(), i = sl(Error(b(421))), Xi(e, t, o, i);
|
|
4136
4136
|
}
|
|
4137
|
-
return r.data === "$?" ? (t.flags |= 128, t.child = e.child, t =
|
|
4137
|
+
return r.data === "$?" ? (t.flags |= 128, t.child = e.child, t = $p.bind(null, e), r._reactRetry = t, null) : (e = l.treeContext, Ce = ct(r.nextSibling), Ie = t, O = !0, ke = null, e !== null && (we[We++] = Je, we[We++] = De, we[We++] = St, Je = e.id, De = e.overflow, St = t), t = Qo(t, i.children), t.flags |= 4096, t);
|
|
4138
4138
|
}
|
|
4139
4139
|
function au(e, t, n) {
|
|
4140
4140
|
e.lanes |= t;
|
|
@@ -4206,7 +4206,7 @@ function _e(e, t, n) {
|
|
|
4206
4206
|
if (e !== null && (t.dependencies = e.dependencies), kt |= t.lanes, !(n & t.childLanes))
|
|
4207
4207
|
return null;
|
|
4208
4208
|
if (e !== null && t.child !== e.child)
|
|
4209
|
-
throw Error(
|
|
4209
|
+
throw Error(b(153));
|
|
4210
4210
|
if (t.child !== null) {
|
|
4211
4211
|
for (e = t.child, n = ft(e, e.pendingProps), t.child = n, n.return = t; e.sibling !== null; )
|
|
4212
4212
|
e = e.sibling, n = n.sibling = ft(e, e.pendingProps), n.return = t;
|
|
@@ -4214,7 +4214,7 @@ function _e(e, t, n) {
|
|
|
4214
4214
|
}
|
|
4215
4215
|
return t.child;
|
|
4216
4216
|
}
|
|
4217
|
-
function
|
|
4217
|
+
function jp(e, t, n) {
|
|
4218
4218
|
switch (t.tag) {
|
|
4219
4219
|
case 3:
|
|
4220
4220
|
Ac(t), an();
|
|
@@ -4286,7 +4286,7 @@ kc = function(e, t, n, i) {
|
|
|
4286
4286
|
r = M({}, r, { value: void 0 }), i = M({}, i, { value: void 0 }), l = [];
|
|
4287
4287
|
break;
|
|
4288
4288
|
case "textarea":
|
|
4289
|
-
r =
|
|
4289
|
+
r = vl(e, r), i = vl(e, i), l = [];
|
|
4290
4290
|
break;
|
|
4291
4291
|
default:
|
|
4292
4292
|
typeof r.onClick != "function" && typeof i.onClick == "function" && (e.onclick = qi);
|
|
@@ -4353,7 +4353,7 @@ function ie(e) {
|
|
|
4353
4353
|
n |= r.lanes | r.childLanes, i |= r.subtreeFlags, i |= r.flags, r.return = e, r = r.sibling;
|
|
4354
4354
|
return e.subtreeFlags |= i, e.childLanes = n, t;
|
|
4355
4355
|
}
|
|
4356
|
-
function
|
|
4356
|
+
function Mp(e, t, n) {
|
|
4357
4357
|
var i = t.pendingProps;
|
|
4358
4358
|
switch (Ro(t), t.tag) {
|
|
4359
4359
|
case 2:
|
|
@@ -4379,7 +4379,7 @@ function jp(e, t, n) {
|
|
|
4379
4379
|
else {
|
|
4380
4380
|
if (!i) {
|
|
4381
4381
|
if (t.stateNode === null)
|
|
4382
|
-
throw Error(
|
|
4382
|
+
throw Error(b(166));
|
|
4383
4383
|
return ie(t), null;
|
|
4384
4384
|
}
|
|
4385
4385
|
if (e = Xt(ze.current), Li(t)) {
|
|
@@ -4437,7 +4437,7 @@ function jp(e, t, n) {
|
|
|
4437
4437
|
hi(i), ys(i, l, !0);
|
|
4438
4438
|
break;
|
|
4439
4439
|
case "textarea":
|
|
4440
|
-
hi(i),
|
|
4440
|
+
hi(i), bs(i);
|
|
4441
4441
|
break;
|
|
4442
4442
|
case "select":
|
|
4443
4443
|
case "option":
|
|
@@ -4488,7 +4488,7 @@ function jp(e, t, n) {
|
|
|
4488
4488
|
e._wrapperState = { wasMultiple: !!i.multiple }, r = M({}, i, { value: void 0 }), V("invalid", e);
|
|
4489
4489
|
break;
|
|
4490
4490
|
case "textarea":
|
|
4491
|
-
Zs(e, i), r =
|
|
4491
|
+
Zs(e, i), r = vl(e, i), V("invalid", e);
|
|
4492
4492
|
break;
|
|
4493
4493
|
default:
|
|
4494
4494
|
r = i;
|
|
@@ -4504,7 +4504,7 @@ function jp(e, t, n) {
|
|
|
4504
4504
|
hi(e), ys(e, i, !1);
|
|
4505
4505
|
break;
|
|
4506
4506
|
case "textarea":
|
|
4507
|
-
hi(e),
|
|
4507
|
+
hi(e), bs(e);
|
|
4508
4508
|
break;
|
|
4509
4509
|
case "option":
|
|
4510
4510
|
i.value != null && e.setAttribute("value", "" + mt(i.value));
|
|
@@ -4544,7 +4544,7 @@ function jp(e, t, n) {
|
|
|
4544
4544
|
Bc(e, t, e.memoizedProps, i);
|
|
4545
4545
|
else {
|
|
4546
4546
|
if (typeof i != "string" && t.stateNode === null)
|
|
4547
|
-
throw Error(
|
|
4547
|
+
throw Error(b(166));
|
|
4548
4548
|
if (n = Xt(ei.current), Xt(ze.current), Li(t)) {
|
|
4549
4549
|
if (i = t.stateNode, n = t.memoizedProps, i[Fe] = t, (l = i.nodeValue !== n) && (e = Ie, e !== null))
|
|
4550
4550
|
switch (e.tag) {
|
|
@@ -4566,9 +4566,9 @@ function jp(e, t, n) {
|
|
|
4566
4566
|
else if (l = Li(t), i !== null && i.dehydrated !== null) {
|
|
4567
4567
|
if (e === null) {
|
|
4568
4568
|
if (!l)
|
|
4569
|
-
throw Error(
|
|
4569
|
+
throw Error(b(318));
|
|
4570
4570
|
if (l = t.memoizedState, l = l !== null ? l.dehydrated : null, !l)
|
|
4571
|
-
throw Error(
|
|
4571
|
+
throw Error(b(317));
|
|
4572
4572
|
l[Fe] = t;
|
|
4573
4573
|
} else
|
|
4574
4574
|
an(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4;
|
|
@@ -4621,9 +4621,9 @@ function jp(e, t, n) {
|
|
|
4621
4621
|
case 25:
|
|
4622
4622
|
return null;
|
|
4623
4623
|
}
|
|
4624
|
-
throw Error(
|
|
4624
|
+
throw Error(b(156, t.tag));
|
|
4625
4625
|
}
|
|
4626
|
-
function
|
|
4626
|
+
function zp(e, t) {
|
|
4627
4627
|
switch (Ro(t), t.tag) {
|
|
4628
4628
|
case 1:
|
|
4629
4629
|
return fe(t.type) && er(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
|
|
@@ -4634,7 +4634,7 @@ function Mp(e, t) {
|
|
|
4634
4634
|
case 13:
|
|
4635
4635
|
if (K(F), e = t.memoizedState, e !== null && e.dehydrated !== null) {
|
|
4636
4636
|
if (t.alternate === null)
|
|
4637
|
-
throw Error(
|
|
4637
|
+
throw Error(b(340));
|
|
4638
4638
|
an();
|
|
4639
4639
|
}
|
|
4640
4640
|
return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
|
|
@@ -4653,7 +4653,7 @@ function Mp(e, t) {
|
|
|
4653
4653
|
return null;
|
|
4654
4654
|
}
|
|
4655
4655
|
}
|
|
4656
|
-
var Yi = !1, re = !1,
|
|
4656
|
+
var Yi = !1, re = !1, xp = typeof WeakSet == "function" ? WeakSet : Set, L = null;
|
|
4657
4657
|
function $t(e, t) {
|
|
4658
4658
|
var n = e.ref;
|
|
4659
4659
|
if (n !== null)
|
|
@@ -4674,7 +4674,7 @@ function $l(e, t, n) {
|
|
|
4674
4674
|
}
|
|
4675
4675
|
}
|
|
4676
4676
|
var cu = !1;
|
|
4677
|
-
function
|
|
4677
|
+
function Tp(e, t) {
|
|
4678
4678
|
if (Vl = Pi, e = Ha(), No(e)) {
|
|
4679
4679
|
if ("selectionStart" in e)
|
|
4680
4680
|
var n = { start: e.selectionStart, end: e.selectionEnd };
|
|
@@ -4743,7 +4743,7 @@ function xp(e, t) {
|
|
|
4743
4743
|
case 17:
|
|
4744
4744
|
break;
|
|
4745
4745
|
default:
|
|
4746
|
-
throw Error(
|
|
4746
|
+
throw Error(b(163));
|
|
4747
4747
|
}
|
|
4748
4748
|
} catch (C) {
|
|
4749
4749
|
z(t, t.return, C);
|
|
@@ -4797,7 +4797,7 @@ function ql(e) {
|
|
|
4797
4797
|
}
|
|
4798
4798
|
function Vc(e) {
|
|
4799
4799
|
var t = e.alternate;
|
|
4800
|
-
t !== null && (e.alternate = null, Vc(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Fe], delete t[$n], delete t[Fl], delete t[
|
|
4800
|
+
t !== null && (e.alternate = null, Vc(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[Fe], delete t[$n], delete t[Fl], delete t[Gp], delete t[Xp])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
|
|
4801
4801
|
}
|
|
4802
4802
|
function Kc(e) {
|
|
4803
4803
|
return e.tag === 5 || e.tag === 3 || e.tag === 4;
|
|
@@ -4843,7 +4843,7 @@ function et(e, t, n) {
|
|
|
4843
4843
|
function Oc(e, t, n) {
|
|
4844
4844
|
if (Me && typeof Me.onCommitFiberUnmount == "function")
|
|
4845
4845
|
try {
|
|
4846
|
-
Me.onCommitFiberUnmount(
|
|
4846
|
+
Me.onCommitFiberUnmount(br, n);
|
|
4847
4847
|
} catch {
|
|
4848
4848
|
}
|
|
4849
4849
|
switch (n.tag) {
|
|
@@ -4896,8 +4896,8 @@ function gu(e) {
|
|
|
4896
4896
|
if (t !== null) {
|
|
4897
4897
|
e.updateQueue = null;
|
|
4898
4898
|
var n = e.stateNode;
|
|
4899
|
-
n === null && (n = e.stateNode = new
|
|
4900
|
-
var r =
|
|
4899
|
+
n === null && (n = e.stateNode = new xp()), t.forEach(function(i) {
|
|
4900
|
+
var r = qp.bind(null, e, i);
|
|
4901
4901
|
n.has(i) || (n.add(i), i.then(r, r));
|
|
4902
4902
|
});
|
|
4903
4903
|
}
|
|
@@ -4925,7 +4925,7 @@ function Ne(e, t) {
|
|
|
4925
4925
|
s = s.return;
|
|
4926
4926
|
}
|
|
4927
4927
|
if (q === null)
|
|
4928
|
-
throw Error(
|
|
4928
|
+
throw Error(b(160));
|
|
4929
4929
|
Oc(l, o, r), q = null, Re = !1;
|
|
4930
4930
|
var u = r.alternate;
|
|
4931
4931
|
u !== null && (u.return = null), r.return = null;
|
|
@@ -5006,7 +5006,7 @@ function Hc(e, t) {
|
|
|
5006
5006
|
case 6:
|
|
5007
5007
|
if (Ne(t, e), Oe(e), i & 4) {
|
|
5008
5008
|
if (e.stateNode === null)
|
|
5009
|
-
throw Error(
|
|
5009
|
+
throw Error(b(162));
|
|
5010
5010
|
r = e.stateNode, l = e.memoizedProps;
|
|
5011
5011
|
try {
|
|
5012
5012
|
r.nodeValue = l;
|
|
@@ -5123,7 +5123,7 @@ function Oe(e) {
|
|
|
5123
5123
|
}
|
|
5124
5124
|
n = n.return;
|
|
5125
5125
|
}
|
|
5126
|
-
throw Error(
|
|
5126
|
+
throw Error(b(160));
|
|
5127
5127
|
}
|
|
5128
5128
|
switch (i.tag) {
|
|
5129
5129
|
case 5:
|
|
@@ -5138,7 +5138,7 @@ function Oe(e) {
|
|
|
5138
5138
|
eo(e, s, o);
|
|
5139
5139
|
break;
|
|
5140
5140
|
default:
|
|
5141
|
-
throw Error(
|
|
5141
|
+
throw Error(b(161));
|
|
5142
5142
|
}
|
|
5143
5143
|
} catch (u) {
|
|
5144
5144
|
z(e, e.return, u);
|
|
@@ -5147,7 +5147,7 @@ function Oe(e) {
|
|
|
5147
5147
|
}
|
|
5148
5148
|
t & 4096 && (e.flags &= -4097);
|
|
5149
5149
|
}
|
|
5150
|
-
function
|
|
5150
|
+
function Jp(e, t, n) {
|
|
5151
5151
|
L = e, Fc(e);
|
|
5152
5152
|
}
|
|
5153
5153
|
function Fc(e, t, n) {
|
|
@@ -5253,7 +5253,7 @@ function pu(e) {
|
|
|
5253
5253
|
case 25:
|
|
5254
5254
|
break;
|
|
5255
5255
|
default:
|
|
5256
|
-
throw Error(
|
|
5256
|
+
throw Error(b(163));
|
|
5257
5257
|
}
|
|
5258
5258
|
re || t.flags & 512 && ql(t);
|
|
5259
5259
|
} catch (c) {
|
|
@@ -5341,33 +5341,33 @@ function mu(e) {
|
|
|
5341
5341
|
L = t.return;
|
|
5342
5342
|
}
|
|
5343
5343
|
}
|
|
5344
|
-
var
|
|
5344
|
+
var Dp = Math.ceil, cr = $e.ReactCurrentDispatcher, Eo = $e.ReactCurrentOwner, Ge = $e.ReactCurrentBatchConfig, R = 0, _ = null, D = null, ee = 0, he = 0, qt = It(0), E = 0, ri = null, kt = 0, Nr = 0, Uo = 0, Fn = null, de = null, Po = 0, pn = 1 / 0, xe = null, dr = !1, no = null, gt = null, Ai = !1, ot = null, gr = 0, jn = 0, io = null, Mi = -1, zi = 0;
|
|
5345
5345
|
function ue() {
|
|
5346
5346
|
return R & 6 ? T() : Mi !== -1 ? Mi : Mi = T();
|
|
5347
5347
|
}
|
|
5348
5348
|
function pt(e) {
|
|
5349
|
-
return e.mode & 1 ? R & 2 && ee !== 0 ? ee & -ee :
|
|
5349
|
+
return e.mode & 1 ? R & 2 && ee !== 0 ? ee & -ee : Ap.transition !== null ? (zi === 0 && (zi = va()), zi) : (e = k, e !== 0 || (e = window.event, e = e === void 0 ? 16 : Aa(e.type)), e) : 1;
|
|
5350
5350
|
}
|
|
5351
5351
|
function Ve(e, t, n, i) {
|
|
5352
5352
|
if (50 < jn)
|
|
5353
|
-
throw jn = 0, io = null, Error(
|
|
5353
|
+
throw jn = 0, io = null, Error(b(185));
|
|
5354
5354
|
ui(e, n, i), (!(R & 2) || e !== _) && (e === _ && (!(R & 2) && (Nr |= n), E === 4 && rt(e, ee)), me(e, i), n === 1 && R === 0 && !(t.mode & 1) && (pn = T() + 500, Gr && yt()));
|
|
5355
5355
|
}
|
|
5356
5356
|
function me(e, t) {
|
|
5357
5357
|
var n = e.callbackNode;
|
|
5358
|
-
|
|
5358
|
+
Ag(e, t);
|
|
5359
5359
|
var i = Ui(e, e === _ ? ee : 0);
|
|
5360
5360
|
if (i === 0)
|
|
5361
5361
|
n !== null && Ws(n), e.callbackNode = null, e.callbackPriority = 0;
|
|
5362
5362
|
else if (t = i & -i, e.callbackPriority !== t) {
|
|
5363
5363
|
if (n != null && Ws(n), t === 1)
|
|
5364
|
-
e.tag === 0 ?
|
|
5364
|
+
e.tag === 0 ? Yp(hu.bind(null, e)) : Ea(hu.bind(null, e)), Wp(function() {
|
|
5365
5365
|
!(R & 6) && yt();
|
|
5366
5366
|
}), n = null;
|
|
5367
5367
|
else {
|
|
5368
5368
|
switch (wa(i)) {
|
|
5369
5369
|
case 1:
|
|
5370
|
-
n =
|
|
5370
|
+
n = vo;
|
|
5371
5371
|
break;
|
|
5372
5372
|
case 4:
|
|
5373
5373
|
n = Za;
|
|
@@ -5376,7 +5376,7 @@ function me(e, t) {
|
|
|
5376
5376
|
n = Ei;
|
|
5377
5377
|
break;
|
|
5378
5378
|
case 536870912:
|
|
5379
|
-
n =
|
|
5379
|
+
n = ba;
|
|
5380
5380
|
break;
|
|
5381
5381
|
default:
|
|
5382
5382
|
n = Ei;
|
|
@@ -5388,7 +5388,7 @@ function me(e, t) {
|
|
|
5388
5388
|
}
|
|
5389
5389
|
function jc(e, t) {
|
|
5390
5390
|
if (Mi = -1, zi = 0, R & 6)
|
|
5391
|
-
throw Error(
|
|
5391
|
+
throw Error(b(327));
|
|
5392
5392
|
var n = e.callbackNode;
|
|
5393
5393
|
if (on() && e.callbackNode !== n)
|
|
5394
5394
|
return null;
|
|
@@ -5405,7 +5405,7 @@ function jc(e, t) {
|
|
|
5405
5405
|
(_ !== e || ee !== t) && (xe = null, pn = T() + 500, Yt(e, t));
|
|
5406
5406
|
do
|
|
5407
5407
|
try {
|
|
5408
|
-
|
|
5408
|
+
Up();
|
|
5409
5409
|
break;
|
|
5410
5410
|
} catch (s) {
|
|
5411
5411
|
Mc(e, s);
|
|
@@ -5419,12 +5419,12 @@ function jc(e, t) {
|
|
|
5419
5419
|
if (t === 6)
|
|
5420
5420
|
rt(e, i);
|
|
5421
5421
|
else {
|
|
5422
|
-
if (r = e.current.alternate, !(i & 30) && !
|
|
5422
|
+
if (r = e.current.alternate, !(i & 30) && !Qp(r) && (t = pr(e, i), t === 2 && (l = Nl(e), l !== 0 && (i = l, t = ro(e, l))), t === 1))
|
|
5423
5423
|
throw n = ri, Yt(e, 0), rt(e, i), me(e, T()), n;
|
|
5424
5424
|
switch (e.finishedWork = r, e.finishedLanes = i, t) {
|
|
5425
5425
|
case 0:
|
|
5426
5426
|
case 1:
|
|
5427
|
-
throw Error(
|
|
5427
|
+
throw Error(b(345));
|
|
5428
5428
|
case 2:
|
|
5429
5429
|
Wt(e, de, xe);
|
|
5430
5430
|
break;
|
|
@@ -5448,7 +5448,7 @@ function jc(e, t) {
|
|
|
5448
5448
|
var o = 31 - Be(i);
|
|
5449
5449
|
l = 1 << o, o = t[o], o > r && (r = o), i &= ~l;
|
|
5450
5450
|
}
|
|
5451
|
-
if (i = r, i = T() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 *
|
|
5451
|
+
if (i = r, i = T() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 * Dp(i / 1960)) - i, 10 < i) {
|
|
5452
5452
|
e.timeoutHandle = Hl(Wt.bind(null, e, de, xe), i);
|
|
5453
5453
|
break;
|
|
5454
5454
|
}
|
|
@@ -5458,7 +5458,7 @@ function jc(e, t) {
|
|
|
5458
5458
|
Wt(e, de, xe);
|
|
5459
5459
|
break;
|
|
5460
5460
|
default:
|
|
5461
|
-
throw Error(
|
|
5461
|
+
throw Error(b(329));
|
|
5462
5462
|
}
|
|
5463
5463
|
}
|
|
5464
5464
|
}
|
|
@@ -5471,7 +5471,7 @@ function ro(e, t) {
|
|
|
5471
5471
|
function lo(e) {
|
|
5472
5472
|
de === null ? de = e : de.push.apply(de, e);
|
|
5473
5473
|
}
|
|
5474
|
-
function
|
|
5474
|
+
function Qp(e) {
|
|
5475
5475
|
for (var t = e; ; ) {
|
|
5476
5476
|
if (t.flags & 16384) {
|
|
5477
5477
|
var n = t.updateQueue;
|
|
@@ -5510,7 +5510,7 @@ function rt(e, t) {
|
|
|
5510
5510
|
}
|
|
5511
5511
|
function hu(e) {
|
|
5512
5512
|
if (R & 6)
|
|
5513
|
-
throw Error(
|
|
5513
|
+
throw Error(b(327));
|
|
5514
5514
|
on();
|
|
5515
5515
|
var t = Ui(e, 0);
|
|
5516
5516
|
if (!(t & 1))
|
|
@@ -5523,7 +5523,7 @@ function hu(e) {
|
|
|
5523
5523
|
if (n === 1)
|
|
5524
5524
|
throw n = ri, Yt(e, 0), rt(e, t), me(e, T()), n;
|
|
5525
5525
|
if (n === 6)
|
|
5526
|
-
throw Error(
|
|
5526
|
+
throw Error(b(345));
|
|
5527
5527
|
return e.finishedWork = e.current.alternate, e.finishedLanes = t, Wt(e, de, xe), me(e, T()), null;
|
|
5528
5528
|
}
|
|
5529
5529
|
function _o(e, t) {
|
|
@@ -5553,7 +5553,7 @@ function $o() {
|
|
|
5553
5553
|
function Yt(e, t) {
|
|
5554
5554
|
e.finishedWork = null, e.finishedLanes = 0;
|
|
5555
5555
|
var n = e.timeoutHandle;
|
|
5556
|
-
if (n !== -1 && (e.timeoutHandle = -1,
|
|
5556
|
+
if (n !== -1 && (e.timeoutHandle = -1, wp(n)), D !== null)
|
|
5557
5557
|
for (n = D.return; n !== null; ) {
|
|
5558
5558
|
var i = n;
|
|
5559
5559
|
switch (Ro(i), i.tag) {
|
|
@@ -5637,7 +5637,7 @@ function Mc(e, t) {
|
|
|
5637
5637
|
nu(l, a, t), qo();
|
|
5638
5638
|
break e;
|
|
5639
5639
|
}
|
|
5640
|
-
u = Error(
|
|
5640
|
+
u = Error(b(426));
|
|
5641
5641
|
}
|
|
5642
5642
|
} else if (O && s.mode & 1) {
|
|
5643
5643
|
var G = iu(o);
|
|
@@ -5689,22 +5689,22 @@ function pr(e, t) {
|
|
|
5689
5689
|
(_ !== e || ee !== t) && (xe = null, Yt(e, t));
|
|
5690
5690
|
do
|
|
5691
5691
|
try {
|
|
5692
|
-
|
|
5692
|
+
Ep();
|
|
5693
5693
|
break;
|
|
5694
5694
|
} catch (r) {
|
|
5695
5695
|
Mc(e, r);
|
|
5696
5696
|
}
|
|
5697
5697
|
while (1);
|
|
5698
5698
|
if (Vo(), R = n, cr.current = i, D !== null)
|
|
5699
|
-
throw Error(
|
|
5699
|
+
throw Error(b(261));
|
|
5700
5700
|
return _ = null, ee = 0, E;
|
|
5701
5701
|
}
|
|
5702
|
-
function
|
|
5702
|
+
function Ep() {
|
|
5703
5703
|
for (; D !== null; )
|
|
5704
5704
|
xc(D);
|
|
5705
5705
|
}
|
|
5706
|
-
function
|
|
5707
|
-
for (; D !== null && !
|
|
5706
|
+
function Up() {
|
|
5707
|
+
for (; D !== null && !Zg(); )
|
|
5708
5708
|
xc(D);
|
|
5709
5709
|
}
|
|
5710
5710
|
function xc(e) {
|
|
@@ -5716,7 +5716,7 @@ function Tc(e) {
|
|
|
5716
5716
|
do {
|
|
5717
5717
|
var n = t.alternate;
|
|
5718
5718
|
if (e = t.return, t.flags & 32768) {
|
|
5719
|
-
if (n =
|
|
5719
|
+
if (n = zp(n, t), n !== null) {
|
|
5720
5720
|
n.flags &= 32767, D = n;
|
|
5721
5721
|
return;
|
|
5722
5722
|
}
|
|
@@ -5726,7 +5726,7 @@ function Tc(e) {
|
|
|
5726
5726
|
E = 6, D = null;
|
|
5727
5727
|
return;
|
|
5728
5728
|
}
|
|
5729
|
-
} else if (n =
|
|
5729
|
+
} else if (n = Mp(n, t, he), n !== null) {
|
|
5730
5730
|
D = n;
|
|
5731
5731
|
return;
|
|
5732
5732
|
}
|
|
@@ -5741,37 +5741,37 @@ function Tc(e) {
|
|
|
5741
5741
|
function Wt(e, t, n) {
|
|
5742
5742
|
var i = k, r = Ge.transition;
|
|
5743
5743
|
try {
|
|
5744
|
-
Ge.transition = null, k = 1,
|
|
5744
|
+
Ge.transition = null, k = 1, Pp(e, t, n, i);
|
|
5745
5745
|
} finally {
|
|
5746
5746
|
Ge.transition = r, k = i;
|
|
5747
5747
|
}
|
|
5748
5748
|
return null;
|
|
5749
5749
|
}
|
|
5750
|
-
function
|
|
5750
|
+
function Pp(e, t, n, i) {
|
|
5751
5751
|
do
|
|
5752
5752
|
on();
|
|
5753
5753
|
while (ot !== null);
|
|
5754
5754
|
if (R & 6)
|
|
5755
|
-
throw Error(
|
|
5755
|
+
throw Error(b(327));
|
|
5756
5756
|
n = e.finishedWork;
|
|
5757
5757
|
var r = e.finishedLanes;
|
|
5758
5758
|
if (n === null)
|
|
5759
5759
|
return null;
|
|
5760
5760
|
if (e.finishedWork = null, e.finishedLanes = 0, n === e.current)
|
|
5761
|
-
throw Error(
|
|
5761
|
+
throw Error(b(177));
|
|
5762
5762
|
e.callbackNode = null, e.callbackPriority = 0;
|
|
5763
5763
|
var l = n.lanes | n.childLanes;
|
|
5764
|
-
if (
|
|
5764
|
+
if (Ng(e, l), e === _ && (D = _ = null, ee = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Ai || (Ai = !0, Qc(Ei, function() {
|
|
5765
5765
|
return on(), null;
|
|
5766
5766
|
})), l = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || l) {
|
|
5767
5767
|
l = Ge.transition, Ge.transition = null;
|
|
5768
5768
|
var o = k;
|
|
5769
5769
|
k = 1;
|
|
5770
5770
|
var s = R;
|
|
5771
|
-
R |= 4, Eo.current = null,
|
|
5771
|
+
R |= 4, Eo.current = null, Tp(e, n), Hc(n, e), hp(Kl), Pi = !!Vl, Kl = Vl = null, e.current = n, Jp(n), bg(), R = s, k = o, Ge.transition = l;
|
|
5772
5772
|
} else
|
|
5773
5773
|
e.current = n;
|
|
5774
|
-
if (Ai && (Ai = !1, ot = e, gr = r), l = e.pendingLanes, l === 0 && (gt = null),
|
|
5774
|
+
if (Ai && (Ai = !1, ot = e, gr = r), l = e.pendingLanes, l === 0 && (gt = null), Wg(n.stateNode), me(e, T()), t !== null)
|
|
5775
5775
|
for (i = e.onRecoverableError, n = 0; n < t.length; n++)
|
|
5776
5776
|
r = t[n], i(r.value, { componentStack: r.stack, digest: r.digest });
|
|
5777
5777
|
if (dr)
|
|
@@ -5786,7 +5786,7 @@ function on() {
|
|
|
5786
5786
|
var i = !1;
|
|
5787
5787
|
else {
|
|
5788
5788
|
if (e = ot, ot = null, gr = 0, R & 6)
|
|
5789
|
-
throw Error(
|
|
5789
|
+
throw Error(b(331));
|
|
5790
5790
|
var r = R;
|
|
5791
5791
|
for (R |= 4, L = e.current; L !== null; ) {
|
|
5792
5792
|
var l = L, o = l.child;
|
|
@@ -5890,7 +5890,7 @@ function on() {
|
|
|
5890
5890
|
}
|
|
5891
5891
|
if (R = r, yt(), Me && typeof Me.onPostCommitFiberRoot == "function")
|
|
5892
5892
|
try {
|
|
5893
|
-
Me.onPostCommitFiberRoot(
|
|
5893
|
+
Me.onPostCommitFiberRoot(br, e);
|
|
5894
5894
|
} catch {
|
|
5895
5895
|
}
|
|
5896
5896
|
i = !0;
|
|
@@ -5923,7 +5923,7 @@ function z(e, t, n) {
|
|
|
5923
5923
|
t = t.return;
|
|
5924
5924
|
}
|
|
5925
5925
|
}
|
|
5926
|
-
function
|
|
5926
|
+
function _p(e, t, n) {
|
|
5927
5927
|
var i = e.pingCache;
|
|
5928
5928
|
i !== null && i.delete(t), t = ue(), e.pingedLanes |= e.suspendedLanes & n, _ === e && (ee & n) === n && (E === 4 || E === 3 && (ee & 130023424) === ee && 500 > T() - Po ? Yt(e, 0) : Uo |= n), me(e, t);
|
|
5929
5929
|
}
|
|
@@ -5932,11 +5932,11 @@ function Jc(e, t) {
|
|
|
5932
5932
|
var n = ue();
|
|
5933
5933
|
e = Pe(e, t), e !== null && (ui(e, t, n), me(e, n));
|
|
5934
5934
|
}
|
|
5935
|
-
function
|
|
5935
|
+
function $p(e) {
|
|
5936
5936
|
var t = e.memoizedState, n = 0;
|
|
5937
5937
|
t !== null && (n = t.retryLane), Jc(e, n);
|
|
5938
5938
|
}
|
|
5939
|
-
function
|
|
5939
|
+
function qp(e, t) {
|
|
5940
5940
|
var n = 0;
|
|
5941
5941
|
switch (e.tag) {
|
|
5942
5942
|
case 13:
|
|
@@ -5947,7 +5947,7 @@ function $p(e, t) {
|
|
|
5947
5947
|
i = e.stateNode;
|
|
5948
5948
|
break;
|
|
5949
5949
|
default:
|
|
5950
|
-
throw Error(
|
|
5950
|
+
throw Error(b(314));
|
|
5951
5951
|
}
|
|
5952
5952
|
i !== null && i.delete(t), Jc(e, n);
|
|
5953
5953
|
}
|
|
@@ -5958,7 +5958,7 @@ Dc = function(e, t, n) {
|
|
|
5958
5958
|
ge = !0;
|
|
5959
5959
|
else {
|
|
5960
5960
|
if (!(e.lanes & n) && !(t.flags & 128))
|
|
5961
|
-
return ge = !1,
|
|
5961
|
+
return ge = !1, jp(e, t, n);
|
|
5962
5962
|
ge = !!(e.flags & 131072);
|
|
5963
5963
|
}
|
|
5964
5964
|
else
|
|
@@ -5974,7 +5974,7 @@ Dc = function(e, t, n) {
|
|
|
5974
5974
|
case 16:
|
|
5975
5975
|
i = t.elementType;
|
|
5976
5976
|
e: {
|
|
5977
|
-
switch (ji(e, t), e = t.pendingProps, r = i._init, i = r(i._payload), t.type = i, r = t.tag =
|
|
5977
|
+
switch (ji(e, t), e = t.pendingProps, r = i._init, i = r(i._payload), t.type = i, r = t.tag = tf(i), e = Se(i, e), r) {
|
|
5978
5978
|
case 0:
|
|
5979
5979
|
t = Ql(null, t, i, e, n);
|
|
5980
5980
|
break e;
|
|
@@ -5988,7 +5988,7 @@ Dc = function(e, t, n) {
|
|
|
5988
5988
|
t = ou(null, t, i, Se(i.type, e), n);
|
|
5989
5989
|
break e;
|
|
5990
5990
|
}
|
|
5991
|
-
throw Error(
|
|
5991
|
+
throw Error(b(
|
|
5992
5992
|
306,
|
|
5993
5993
|
i,
|
|
5994
5994
|
""
|
|
@@ -6002,15 +6002,15 @@ Dc = function(e, t, n) {
|
|
|
6002
6002
|
case 3:
|
|
6003
6003
|
e: {
|
|
6004
6004
|
if (Ac(t), e === null)
|
|
6005
|
-
throw Error(
|
|
6005
|
+
throw Error(b(387));
|
|
6006
6006
|
i = t.pendingProps, l = t.memoizedState, r = l.element, qa(e, t), or(t, i, null, n);
|
|
6007
6007
|
var o = t.memoizedState;
|
|
6008
6008
|
if (i = o.element, l.isDehydrated)
|
|
6009
6009
|
if (l = { element: i, isDehydrated: !1, cache: o.cache, pendingSuspenseBoundaries: o.pendingSuspenseBoundaries, transitions: o.transitions }, t.updateQueue.baseState = l, t.memoizedState = l, t.flags & 256) {
|
|
6010
|
-
r = gn(Error(
|
|
6010
|
+
r = gn(Error(b(423)), t), t = uu(e, t, i, n, r);
|
|
6011
6011
|
break e;
|
|
6012
6012
|
} else if (i !== r) {
|
|
6013
|
-
r = gn(Error(
|
|
6013
|
+
r = gn(Error(b(424)), t), t = uu(e, t, i, n, r);
|
|
6014
6014
|
break e;
|
|
6015
6015
|
} else
|
|
6016
6016
|
for (Ce = ct(t.stateNode.containerInfo.firstChild), Ie = t, O = !0, ke = null, n = ic(t, null, i, n), t.child = n; n; )
|
|
@@ -6078,7 +6078,7 @@ Dc = function(e, t, n) {
|
|
|
6078
6078
|
o = l.type === t.type ? null : l.child;
|
|
6079
6079
|
else if (l.tag === 18) {
|
|
6080
6080
|
if (o = l.return, o === null)
|
|
6081
|
-
throw Error(
|
|
6081
|
+
throw Error(b(341));
|
|
6082
6082
|
o.lanes |= n, s = o.alternate, s !== null && (s.lanes |= n), xl(o, n, t), o = l.sibling;
|
|
6083
6083
|
} else
|
|
6084
6084
|
o = l.child;
|
|
@@ -6114,21 +6114,21 @@ Dc = function(e, t, n) {
|
|
|
6114
6114
|
case 22:
|
|
6115
6115
|
return Xc(e, t, n);
|
|
6116
6116
|
}
|
|
6117
|
-
throw Error(
|
|
6117
|
+
throw Error(b(156, t.tag));
|
|
6118
6118
|
};
|
|
6119
6119
|
function Qc(e, t) {
|
|
6120
6120
|
return ya(e, t);
|
|
6121
6121
|
}
|
|
6122
|
-
function
|
|
6122
|
+
function ef(e, t, n, i) {
|
|
6123
6123
|
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 = i, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
|
|
6124
6124
|
}
|
|
6125
6125
|
function Le(e, t, n, i) {
|
|
6126
|
-
return new
|
|
6126
|
+
return new ef(e, t, n, i);
|
|
6127
6127
|
}
|
|
6128
6128
|
function es(e) {
|
|
6129
6129
|
return e = e.prototype, !(!e || !e.isReactComponent);
|
|
6130
6130
|
}
|
|
6131
|
-
function
|
|
6131
|
+
function tf(e) {
|
|
6132
6132
|
if (typeof e == "function")
|
|
6133
6133
|
return es(e) ? 1 : 0;
|
|
6134
6134
|
if (e != null) {
|
|
@@ -6184,7 +6184,7 @@ function xi(e, t, n, i, r, l) {
|
|
|
6184
6184
|
o = 16, i = null;
|
|
6185
6185
|
break e;
|
|
6186
6186
|
}
|
|
6187
|
-
throw Error(
|
|
6187
|
+
throw Error(b(130, e == null ? e : typeof e, ""));
|
|
6188
6188
|
}
|
|
6189
6189
|
return t = Le(o, n, t, r), t.elementType = e, t.type = i, t.lanes = l, t;
|
|
6190
6190
|
}
|
|
@@ -6200,13 +6200,13 @@ function al(e, t, n) {
|
|
|
6200
6200
|
function cl(e, t, n) {
|
|
6201
6201
|
return t = Le(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;
|
|
6202
6202
|
}
|
|
6203
|
-
function
|
|
6203
|
+
function nf(e, t, n, i, r) {
|
|
6204
6204
|
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 = Tr(0), this.expirationTimes = Tr(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = Tr(0), this.identifierPrefix = i, this.onRecoverableError = r, this.mutableSourceEagerHydrationData = null;
|
|
6205
6205
|
}
|
|
6206
6206
|
function ts(e, t, n, i, r, l, o, s, u) {
|
|
6207
|
-
return e = new
|
|
6207
|
+
return e = new nf(e, t, n, s, u), t === 1 ? (t = 1, l === !0 && (t |= 8)) : t = 0, l = Le(3, null, null, t), e.current = l, l.stateNode = e, l.memoizedState = { element: i, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Ho(l), e;
|
|
6208
6208
|
}
|
|
6209
|
-
function
|
|
6209
|
+
function rf(e, t, n) {
|
|
6210
6210
|
var i = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
|
|
6211
6211
|
return { $$typeof: zt, key: i == null ? null : "" + i, children: e, containerInfo: t, implementation: n };
|
|
6212
6212
|
}
|
|
@@ -6216,7 +6216,7 @@ function Ec(e) {
|
|
|
6216
6216
|
e = e._reactInternals;
|
|
6217
6217
|
e: {
|
|
6218
6218
|
if (Kt(e) !== e || e.tag !== 1)
|
|
6219
|
-
throw Error(
|
|
6219
|
+
throw Error(b(170));
|
|
6220
6220
|
var t = e;
|
|
6221
6221
|
do {
|
|
6222
6222
|
switch (t.tag) {
|
|
@@ -6231,7 +6231,7 @@ function Ec(e) {
|
|
|
6231
6231
|
}
|
|
6232
6232
|
t = t.return;
|
|
6233
6233
|
} while (t !== null);
|
|
6234
|
-
throw Error(
|
|
6234
|
+
throw Error(b(171));
|
|
6235
6235
|
}
|
|
6236
6236
|
if (e.tag === 1) {
|
|
6237
6237
|
var n = e.type;
|
|
@@ -6266,7 +6266,7 @@ function Iu(e, t) {
|
|
|
6266
6266
|
function ns(e, t) {
|
|
6267
6267
|
Iu(e, t), (e = e.alternate) && Iu(e, t);
|
|
6268
6268
|
}
|
|
6269
|
-
function
|
|
6269
|
+
function lf() {
|
|
6270
6270
|
return null;
|
|
6271
6271
|
}
|
|
6272
6272
|
var Pc = typeof reportError == "function" ? reportError : function(e) {
|
|
@@ -6278,7 +6278,7 @@ function is(e) {
|
|
|
6278
6278
|
kr.prototype.render = is.prototype.render = function(e) {
|
|
6279
6279
|
var t = this._internalRoot;
|
|
6280
6280
|
if (t === null)
|
|
6281
|
-
throw Error(
|
|
6281
|
+
throw Error(b(409));
|
|
6282
6282
|
Rr(e, t, null, null);
|
|
6283
6283
|
};
|
|
6284
6284
|
kr.prototype.unmount = is.prototype.unmount = function() {
|
|
@@ -6311,7 +6311,7 @@ function Br(e) {
|
|
|
6311
6311
|
}
|
|
6312
6312
|
function yu() {
|
|
6313
6313
|
}
|
|
6314
|
-
function
|
|
6314
|
+
function of(e, t, n, i, r) {
|
|
6315
6315
|
if (r) {
|
|
6316
6316
|
if (typeof i == "function") {
|
|
6317
6317
|
var l = i;
|
|
@@ -6350,7 +6350,7 @@ function Vr(e, t, n, i, r) {
|
|
|
6350
6350
|
}
|
|
6351
6351
|
Rr(t, o, e, r);
|
|
6352
6352
|
} else
|
|
6353
|
-
o =
|
|
6353
|
+
o = of(n, t, e, r, i);
|
|
6354
6354
|
return fr(o);
|
|
6355
6355
|
}
|
|
6356
6356
|
Wa = function(e) {
|
|
@@ -6414,7 +6414,7 @@ Xl = function(e, t, n) {
|
|
|
6414
6414
|
if (i !== e && i.form === e.form) {
|
|
6415
6415
|
var r = Lr(i);
|
|
6416
6416
|
if (!r)
|
|
6417
|
-
throw Error(
|
|
6417
|
+
throw Error(b(90));
|
|
6418
6418
|
ra(i), Zl(i, r);
|
|
6419
6419
|
}
|
|
6420
6420
|
}
|
|
@@ -6429,27 +6429,27 @@ Xl = function(e, t, n) {
|
|
|
6429
6429
|
};
|
|
6430
6430
|
pa = _o;
|
|
6431
6431
|
fa = Bt;
|
|
6432
|
-
var
|
|
6432
|
+
var sf = { usingClientEntryPoint: !1, Events: [ci, Qt, Lr, da, ga, _o] }, Wn = { findFiberByHostInstance: Lt, bundleType: 0, version: "18.2.0", rendererPackageName: "react-dom" }, uf = { bundleType: Wn.bundleType, version: Wn.version, rendererPackageName: Wn.rendererPackageName, rendererConfig: Wn.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: $e.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
|
|
6433
6433
|
return e = Ca(e), e === null ? null : e.stateNode;
|
|
6434
|
-
}, findFiberByHostInstance: Wn.findFiberByHostInstance ||
|
|
6434
|
+
}, findFiberByHostInstance: Wn.findFiberByHostInstance || lf, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.2.0-next-9e3b772b8-20220608" };
|
|
6435
6435
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
|
|
6436
6436
|
var Ni = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
6437
6437
|
if (!Ni.isDisabled && Ni.supportsFiber)
|
|
6438
6438
|
try {
|
|
6439
|
-
|
|
6439
|
+
br = Ni.inject(uf), Me = Ni;
|
|
6440
6440
|
} catch {
|
|
6441
6441
|
}
|
|
6442
6442
|
}
|
|
6443
|
-
Ze.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED =
|
|
6443
|
+
Ze.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sf;
|
|
6444
6444
|
Ze.createPortal = function(e, t) {
|
|
6445
6445
|
var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
|
|
6446
6446
|
if (!rs(t))
|
|
6447
|
-
throw Error(
|
|
6448
|
-
return
|
|
6447
|
+
throw Error(b(200));
|
|
6448
|
+
return rf(e, t, null, n);
|
|
6449
6449
|
};
|
|
6450
6450
|
Ze.createRoot = function(e, t) {
|
|
6451
6451
|
if (!rs(e))
|
|
6452
|
-
throw Error(
|
|
6452
|
+
throw Error(b(299));
|
|
6453
6453
|
var n = !1, i = "", r = Pc;
|
|
6454
6454
|
return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (i = t.identifierPrefix), t.onRecoverableError !== void 0 && (r = t.onRecoverableError)), t = ts(e, 1, !1, null, null, n, !1, i, r), e[Ue] = t.current, Pn(e.nodeType === 8 ? e.parentNode : e), new is(t);
|
|
6455
6455
|
};
|
|
@@ -6460,7 +6460,7 @@ Ze.findDOMNode = function(e) {
|
|
|
6460
6460
|
return e;
|
|
6461
6461
|
var t = e._reactInternals;
|
|
6462
6462
|
if (t === void 0)
|
|
6463
|
-
throw typeof e.render == "function" ? Error(
|
|
6463
|
+
throw typeof e.render == "function" ? Error(b(188)) : (e = Object.keys(e).join(","), Error(b(268, e)));
|
|
6464
6464
|
return e = Ca(t), e = e === null ? null : e.stateNode, e;
|
|
6465
6465
|
};
|
|
6466
6466
|
Ze.flushSync = function(e) {
|
|
@@ -6468,12 +6468,12 @@ Ze.flushSync = function(e) {
|
|
|
6468
6468
|
};
|
|
6469
6469
|
Ze.hydrate = function(e, t, n) {
|
|
6470
6470
|
if (!Br(t))
|
|
6471
|
-
throw Error(
|
|
6471
|
+
throw Error(b(200));
|
|
6472
6472
|
return Vr(null, e, t, !0, n);
|
|
6473
6473
|
};
|
|
6474
6474
|
Ze.hydrateRoot = function(e, t, n) {
|
|
6475
6475
|
if (!rs(e))
|
|
6476
|
-
throw Error(
|
|
6476
|
+
throw Error(b(405));
|
|
6477
6477
|
var i = n != null && n.hydratedSources || null, r = !1, l = "", o = Pc;
|
|
6478
6478
|
if (n != null && (n.unstable_strictMode === !0 && (r = !0), n.identifierPrefix !== void 0 && (l = n.identifierPrefix), n.onRecoverableError !== void 0 && (o = n.onRecoverableError)), t = Uc(t, null, e, 1, n ?? null, r, !1, l, o), e[Ue] = t.current, Pn(e), i)
|
|
6479
6479
|
for (e = 0; e < i.length; e++)
|
|
@@ -6485,12 +6485,12 @@ Ze.hydrateRoot = function(e, t, n) {
|
|
|
6485
6485
|
};
|
|
6486
6486
|
Ze.render = function(e, t, n) {
|
|
6487
6487
|
if (!Br(t))
|
|
6488
|
-
throw Error(
|
|
6488
|
+
throw Error(b(200));
|
|
6489
6489
|
return Vr(null, e, t, !1, n);
|
|
6490
6490
|
};
|
|
6491
6491
|
Ze.unmountComponentAtNode = function(e) {
|
|
6492
6492
|
if (!Br(e))
|
|
6493
|
-
throw Error(
|
|
6493
|
+
throw Error(b(40));
|
|
6494
6494
|
return e._reactRootContainer ? (Bt(function() {
|
|
6495
6495
|
Vr(null, null, e, !1, function() {
|
|
6496
6496
|
e._reactRootContainer = null, e[Ue] = null;
|
|
@@ -6500,9 +6500,9 @@ Ze.unmountComponentAtNode = function(e) {
|
|
|
6500
6500
|
Ze.unstable_batchedUpdates = _o;
|
|
6501
6501
|
Ze.unstable_renderSubtreeIntoContainer = function(e, t, n, i) {
|
|
6502
6502
|
if (!Br(n))
|
|
6503
|
-
throw Error(
|
|
6503
|
+
throw Error(b(200));
|
|
6504
6504
|
if (e == null || e._reactInternals === void 0)
|
|
6505
|
-
throw Error(
|
|
6505
|
+
throw Error(b(38));
|
|
6506
6506
|
return Vr(e, t, n, !1, i);
|
|
6507
6507
|
};
|
|
6508
6508
|
Ze.version = "18.2.0-next-9e3b772b8-20220608";
|
|
@@ -6515,9 +6515,9 @@ function _c() {
|
|
|
6515
6515
|
}
|
|
6516
6516
|
}
|
|
6517
6517
|
_c(), Uu.exports = Ze;
|
|
6518
|
-
var
|
|
6518
|
+
var af = Uu.exports, $c, Zu = af;
|
|
6519
6519
|
$c = Zu.createRoot, Zu.hydrateRoot;
|
|
6520
|
-
const
|
|
6520
|
+
const cf = "data:text/css;base64,Omhvc3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLm1lbnVfX2xpc3QtaXRlbTppcygubWFuYWdlLXByb2ZpbGUsIC5tYW5hZ2UtcHJpdmFjeSwgLnBheW1lbnQsIC5ib3UtbWVudS1pdGVtKSBhOmxhc3Qtb2YtdHlwZSB7CiAgZGlzcGxheTogbm9uZTsKfQoKLmJvdS1tZW51X19saXN0IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC0yMDApOwp9CgpAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkgewogIC54dHJhLW1lbnUtLWVycm9yICN4dHJhLW1lbnUtdHJpZ2dlciB7CiAgICBnYXA6IDA7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAubWVudV9fbGlzdC1pdGVtOmlzKC5tYW5hZ2UtcHJvZmlsZSwgLm1hbmFnZS1wcml2YWN5LCAucGF5bWVudCkgYTpsYXN0LW9mLXR5cGUgewogICAgZGlzcGxheTogZmxleDsKICB9Cn0K", df = "data:text/css;base64,LmJ1dHRvbi0tYXV0aGVudGljYXRpb24gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBkaXNwbGF5OiBmbGV4OwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiBmaXQtY29udGVudDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMik7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pOwogIGZvbnQ6IHZhcigtLXN1YnRleHQtbWVkaXVtKTsKICBnYXA6IDA7Cn0KCi5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICBkaXNwbGF5OiBub25lOwp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbiAuYnV0dG9uX19pY29uIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDI0cHg7CiAgaGVpZ2h0OiAyNHB4Owp9CgouYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCB7CiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy0yKTsKfQoKLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLXVuYXV0aGVudGljYXRlZCB7CiAgZGlzcGxheTogbm9uZTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHsKICAubWVudS0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbiB7CiAgICBnYXA6IHZhcigtLXNwYWNpbmctMik7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tdW5hdXRoZW50aWNhdGVkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAuYnV0dG9uLS1hdXRoZW50aWNhdGlvbjpub3QoLmJ1dHRvbi0tYXV0aGVudGljYXRpb24tLWF1dGhlbnRpY2F0ZWQpIHsKICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMikgdmFyKC0tc3BhY2luZy02KTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uIC5idXR0b25fX2xhYmVsIHsKICAgIGRpc3BsYXk6IGlubGluZTsKICB9CgogIC5idXR0b24tLWF1dGhlbnRpY2F0aW9uOm5vdCguYnV0dG9uLS1hdXRoZW50aWNhdGlvbi0tYXV0aGVudGljYXRlZCkgPiAuYnV0dG9uX19pY29uLXJpZ2h0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHsKICAuc3Bpbm5lcjo6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDE2cHg7CiAgICBoZWlnaHQ6IDE2cHg7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcHJpbWFyeS01MDApOwogICAgbWFyZ2luOiBhdXRvOwogICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UgaW5maW5pdGU7CiAgICBjb250ZW50OiAnJzsKICAgIGluc2V0OiAwOwogIH0KCiAgQGtleWZyYW1lcyBzcGluIHsKICAgIGZyb20gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwdHVybik7CiAgICB9CgogICAgdG8gewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgICB9CiAgfQp9Cg==", gf = "data:text/css;base64,LmZvcm0tLXRjIHsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTgpOwp9CgouZm9ybS0tdGNfX3RpdGxlIHsKICBmb250OiB2YXIoLS10aXRsZS0yLW1lZGl1bSk7Cn0KCi5mb3JtLS10Y19fZGVzY3JpcHRpb24gewogIGNvbG9yOiB2YXIoLS1uZXV0cmFsLTgwMCk7CiAgZm9udDogdmFyKC0tYm9keS0xLXJlZ3VsYXIpOwp9CgouZm9ybS0tdGNfX2xhYmVsIHsKICBmb250OiB2YXIoLS1ib2R5LTItbWVkaXVtKTsKfQoKLmZvcm0tLXRjX19saW5rIHsKICBjb2xvcjogdmFyKC0tbmV1dHJhbC04MDApOwogIGZvbnQ6IHZhcigtLWJvZHktMi1yZWd1bGFyKTsKfQoKLmZvcm0tLXRjX19lcnJvciB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02KTsKICBjb2xvcjogdmFyKC0tZXJyb3ItNTAwKTsKfQoKLmJ1dHRvbi0tdGVybXMtYW5kLWNvbmRpdGlvbnMgewogIHdpZHRoOiBhdXRvOwp9Cg==", pf = ({ apiUrl: e, redirectUrl: t }) => `${e}/login?redirectUrl=${t}`, ff = {
|
|
6521
6521
|
type: "logger",
|
|
6522
6522
|
log(e) {
|
|
6523
6523
|
this.output("log", e);
|
|
@@ -6539,7 +6539,7 @@ class mr {
|
|
|
6539
6539
|
}
|
|
6540
6540
|
init(t) {
|
|
6541
6541
|
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
6542
|
-
this.prefix = n.prefix || "i18next:", this.logger = t ||
|
|
6542
|
+
this.prefix = n.prefix || "i18next:", this.logger = t || ff, this.options = n, this.debug = n.debug;
|
|
6543
6543
|
}
|
|
6544
6544
|
log() {
|
|
6545
6545
|
for (var t = arguments.length, n = new Array(t), i = 0; i < t; i++)
|
|
@@ -6610,10 +6610,10 @@ function Ln() {
|
|
|
6610
6610
|
});
|
|
6611
6611
|
return n.resolve = e, n.reject = t, n;
|
|
6612
6612
|
}
|
|
6613
|
-
function
|
|
6613
|
+
function bu(e) {
|
|
6614
6614
|
return e == null ? "" : "" + e;
|
|
6615
6615
|
}
|
|
6616
|
-
function
|
|
6616
|
+
function mf(e, t, n) {
|
|
6617
6617
|
e.forEach((i) => {
|
|
6618
6618
|
t[i] && (n[i] = t[i]);
|
|
6619
6619
|
});
|
|
@@ -6637,14 +6637,14 @@ function ls(e, t, n) {
|
|
|
6637
6637
|
k: i(l.shift())
|
|
6638
6638
|
};
|
|
6639
6639
|
}
|
|
6640
|
-
function
|
|
6640
|
+
function vu(e, t, n) {
|
|
6641
6641
|
const {
|
|
6642
6642
|
obj: i,
|
|
6643
6643
|
k: r
|
|
6644
6644
|
} = ls(e, t, Object);
|
|
6645
6645
|
i[r] = n;
|
|
6646
6646
|
}
|
|
6647
|
-
function
|
|
6647
|
+
function hf(e, t, n, i) {
|
|
6648
6648
|
const {
|
|
6649
6649
|
obj: r,
|
|
6650
6650
|
k: l
|
|
@@ -6659,7 +6659,7 @@ function hr(e, t) {
|
|
|
6659
6659
|
if (n)
|
|
6660
6660
|
return n[i];
|
|
6661
6661
|
}
|
|
6662
|
-
function
|
|
6662
|
+
function Cf(e, t, n) {
|
|
6663
6663
|
const i = hr(e, n);
|
|
6664
6664
|
return i !== void 0 ? i : hr(t, n);
|
|
6665
6665
|
}
|
|
@@ -6671,7 +6671,7 @@ function qc(e, t, n) {
|
|
|
6671
6671
|
function jt(e) {
|
|
6672
6672
|
return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
|
|
6673
6673
|
}
|
|
6674
|
-
var
|
|
6674
|
+
var If = {
|
|
6675
6675
|
"&": "&",
|
|
6676
6676
|
"<": "<",
|
|
6677
6677
|
">": ">",
|
|
@@ -6679,13 +6679,13 @@ var Cf = {
|
|
|
6679
6679
|
"'": "'",
|
|
6680
6680
|
"/": "/"
|
|
6681
6681
|
};
|
|
6682
|
-
function
|
|
6683
|
-
return typeof e == "string" ? e.replace(/[&<>"'\/]/g, (t) =>
|
|
6682
|
+
function yf(e) {
|
|
6683
|
+
return typeof e == "string" ? e.replace(/[&<>"'\/]/g, (t) => If[t]) : e;
|
|
6684
6684
|
}
|
|
6685
|
-
const
|
|
6686
|
-
function
|
|
6685
|
+
const Zf = [" ", ",", "?", "!", ";"];
|
|
6686
|
+
function bf(e, t, n) {
|
|
6687
6687
|
t = t || "", n = n || "";
|
|
6688
|
-
const i =
|
|
6688
|
+
const i = Zf.filter((o) => t.indexOf(o) < 0 && n.indexOf(o) < 0);
|
|
6689
6689
|
if (i.length === 0)
|
|
6690
6690
|
return !0;
|
|
6691
6691
|
const r = new RegExp(`(${i.map((o) => o === "?" ? "\\?" : o).join("|")})`);
|
|
@@ -6760,7 +6760,7 @@ class wu extends Kr {
|
|
|
6760
6760
|
};
|
|
6761
6761
|
const o = l.keySeparator !== void 0 ? l.keySeparator : this.options.keySeparator;
|
|
6762
6762
|
let s = [t, n];
|
|
6763
|
-
i && (s = s.concat(o ? i.split(o) : i)), t.indexOf(".") > -1 && (s = t.split("."), r = n, n = s[1]), this.addNamespaces(n),
|
|
6763
|
+
i && (s = s.concat(o ? i.split(o) : i)), t.indexOf(".") > -1 && (s = t.split("."), r = n, n = s[1]), this.addNamespaces(n), vu(this.data, s, r), l.silent || this.emit("added", t, n, i, r);
|
|
6764
6764
|
}
|
|
6765
6765
|
addResources(t, n, i) {
|
|
6766
6766
|
let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {
|
|
@@ -6781,7 +6781,7 @@ class wu extends Kr {
|
|
|
6781
6781
|
r ? qc(u, i, l) : u = {
|
|
6782
6782
|
...u,
|
|
6783
6783
|
...i
|
|
6784
|
-
},
|
|
6784
|
+
}, vu(this.data, s, u), o.silent || this.emit("added", t, n, i);
|
|
6785
6785
|
}
|
|
6786
6786
|
removeResourceBundle(t, n) {
|
|
6787
6787
|
this.hasResourceBundle(t, n) && delete this.data[t][n], this.removeNamespaces(n), this.emit("removed", t, n);
|
|
@@ -6820,7 +6820,7 @@ const Wu = {};
|
|
|
6820
6820
|
class yr extends Kr {
|
|
6821
6821
|
constructor(t) {
|
|
6822
6822
|
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
6823
|
-
super(),
|
|
6823
|
+
super(), mf(["resourceStore", "languageUtils", "pluralResolver", "interpolator", "backendConnector", "i18nFormat", "utils"], t, this), this.options = n, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = je.create("translator");
|
|
6824
6824
|
}
|
|
6825
6825
|
changeLanguage(t) {
|
|
6826
6826
|
t && (this.language = t);
|
|
@@ -6839,7 +6839,7 @@ class yr extends Kr {
|
|
|
6839
6839
|
i === void 0 && (i = ":");
|
|
6840
6840
|
const r = n.keySeparator !== void 0 ? n.keySeparator : this.options.keySeparator;
|
|
6841
6841
|
let l = n.ns || this.options.defaultNS || [];
|
|
6842
|
-
const o = i && t.indexOf(i) > -1, s = !this.options.userDefinedKeySeparator && !n.keySeparator && !this.options.userDefinedNsSeparator && !n.nsSeparator && !
|
|
6842
|
+
const o = i && t.indexOf(i) > -1, s = !this.options.userDefinedKeySeparator && !n.keySeparator && !this.options.userDefinedNsSeparator && !n.nsSeparator && !bf(t, i, r);
|
|
6843
6843
|
if (o && !s) {
|
|
6844
6844
|
const u = t.match(this.interpolator.nestingRegexp);
|
|
6845
6845
|
if (u && u.length > 0)
|
|
@@ -6897,10 +6897,10 @@ class yr extends Kr {
|
|
|
6897
6897
|
return r ? (m.res = C, m) : C;
|
|
6898
6898
|
}
|
|
6899
6899
|
if (l) {
|
|
6900
|
-
const C = y === "[object Array]", Z = C ? [] : {},
|
|
6900
|
+
const C = y === "[object Array]", Z = C ? [] : {}, v = C ? h : I;
|
|
6901
6901
|
for (const w in c)
|
|
6902
6902
|
if (Object.prototype.hasOwnProperty.call(c, w)) {
|
|
6903
|
-
const X = `${
|
|
6903
|
+
const X = `${v}${l}${w}`;
|
|
6904
6904
|
Z[w] = this.translate(X, {
|
|
6905
6905
|
...n,
|
|
6906
6906
|
joinArrays: !1,
|
|
@@ -6913,7 +6913,7 @@ class yr extends Kr {
|
|
|
6913
6913
|
c = c.join(g), c && (c = this.extendTranslation(c, t, n, i));
|
|
6914
6914
|
else {
|
|
6915
6915
|
let C = !1, Z = !1;
|
|
6916
|
-
const
|
|
6916
|
+
const v = n.count !== void 0 && typeof n.count != "string", w = yr.hasDefaultValue(n), X = v ? this.pluralResolver.getSuffix(a, n.count, n) : "", H = n.ordinal && v ? this.pluralResolver.getSuffix(a, n.count, {
|
|
6917
6917
|
ordinal: !1
|
|
6918
6918
|
}) : "", A = n[`defaultValue${X}`] || n[`defaultValue${H}`] || n.defaultValue;
|
|
6919
6919
|
!this.isValidLookup(c) && w && (C = !0, c = A), this.isValidLookup(c) || (Z = !0, c = o);
|
|
@@ -6937,7 +6937,7 @@ class yr extends Kr {
|
|
|
6937
6937
|
const N = w && Y !== c ? Y : Zt;
|
|
6938
6938
|
this.options.missingKeyHandler ? this.options.missingKeyHandler($, u, W, N, Ae, n) : this.backendConnector && this.backendConnector.saveMissing && this.backendConnector.saveMissing($, u, W, N, Ae, n), this.emit("missingKey", $, u, W, c);
|
|
6939
6939
|
};
|
|
6940
|
-
this.options.saveMissing && (this.options.saveMissingPlurals &&
|
|
6940
|
+
this.options.saveMissing && (this.options.saveMissingPlurals && v ? qe.forEach(($) => {
|
|
6941
6941
|
this.pluralResolver.getSuffixes($, n).forEach((W) => {
|
|
6942
6942
|
Ht([$], o + W, n[`defaultValue${W}`] || A);
|
|
6943
6943
|
});
|
|
@@ -7011,10 +7011,10 @@ class yr extends Kr {
|
|
|
7011
7011
|
else {
|
|
7012
7012
|
let C;
|
|
7013
7013
|
c && (C = this.pluralResolver.getSuffix(g, n.count, n));
|
|
7014
|
-
const Z = `${this.options.pluralSeparator}zero`,
|
|
7015
|
-
if (c && (d.push(p + C), n.ordinal && C.indexOf(
|
|
7014
|
+
const Z = `${this.options.pluralSeparator}zero`, v = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
|
|
7015
|
+
if (c && (d.push(p + C), n.ordinal && C.indexOf(v) === 0 && d.push(p + C.replace(v, this.options.pluralSeparator)), I && d.push(p + Z)), h) {
|
|
7016
7016
|
const w = `${p}${this.options.contextSeparator}${n.context}`;
|
|
7017
|
-
d.push(w), c && (d.push(w + C), n.ordinal && C.indexOf(
|
|
7017
|
+
d.push(w), c && (d.push(w + C), n.ordinal && C.indexOf(v) === 0 && d.push(w + C.replace(v, this.options.pluralSeparator)), I && d.push(w + Z));
|
|
7018
7018
|
}
|
|
7019
7019
|
}
|
|
7020
7020
|
let f;
|
|
@@ -7209,7 +7209,7 @@ let vf = [{
|
|
|
7209
7209
|
lngs: ["he", "iw"],
|
|
7210
7210
|
nr: [1, 2, 20, 21],
|
|
7211
7211
|
fc: 22
|
|
7212
|
-
}],
|
|
7212
|
+
}], wf = {
|
|
7213
7213
|
1: function(e) {
|
|
7214
7214
|
return +(e > 1);
|
|
7215
7215
|
},
|
|
@@ -7277,7 +7277,7 @@ let vf = [{
|
|
|
7277
7277
|
return e == 1 ? 0 : e == 2 ? 1 : (e < 0 || e > 10) && e % 10 == 0 ? 2 : 3;
|
|
7278
7278
|
}
|
|
7279
7279
|
};
|
|
7280
|
-
const
|
|
7280
|
+
const Wf = ["v1", "v2", "v3"], Lf = ["v4"], Gu = {
|
|
7281
7281
|
zero: 0,
|
|
7282
7282
|
one: 1,
|
|
7283
7283
|
two: 2,
|
|
@@ -7285,21 +7285,21 @@ const wf = ["v1", "v2", "v3"], Wf = ["v4"], Gu = {
|
|
|
7285
7285
|
many: 4,
|
|
7286
7286
|
other: 5
|
|
7287
7287
|
};
|
|
7288
|
-
function
|
|
7288
|
+
function Gf() {
|
|
7289
7289
|
const e = {};
|
|
7290
7290
|
return vf.forEach((t) => {
|
|
7291
7291
|
t.lngs.forEach((n) => {
|
|
7292
7292
|
e[n] = {
|
|
7293
7293
|
numbers: t.nr,
|
|
7294
|
-
plurals:
|
|
7294
|
+
plurals: wf[t.fc]
|
|
7295
7295
|
};
|
|
7296
7296
|
});
|
|
7297
7297
|
}), e;
|
|
7298
7298
|
}
|
|
7299
|
-
class
|
|
7299
|
+
class Xf {
|
|
7300
7300
|
constructor(t) {
|
|
7301
7301
|
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
7302
|
-
this.languageUtils = t, this.options = n, this.logger = je.create("pluralResolver"), (!this.options.compatibilityJSON ||
|
|
7302
|
+
this.languageUtils = t, this.options = n, this.logger = je.create("pluralResolver"), (!this.options.compatibilityJSON || Lf.includes(this.options.compatibilityJSON)) && (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 = Gf();
|
|
7303
7303
|
}
|
|
7304
7304
|
addRule(t, n) {
|
|
7305
7305
|
this.rules[t] = n;
|
|
@@ -7343,14 +7343,14 @@ class Gf {
|
|
|
7343
7343
|
return this.options.compatibilityJSON === "v1" ? r === 1 ? "" : typeof r == "number" ? `_plural_${r.toString()}` : l() : this.options.compatibilityJSON === "v2" || this.options.simplifyPluralSuffix && t.numbers.length === 2 && t.numbers[0] === 1 ? l() : this.options.prepend && i.toString() ? this.options.prepend + i.toString() : i.toString();
|
|
7344
7344
|
}
|
|
7345
7345
|
shouldUseIntlApi() {
|
|
7346
|
-
return !
|
|
7346
|
+
return !Wf.includes(this.options.compatibilityJSON);
|
|
7347
7347
|
}
|
|
7348
7348
|
}
|
|
7349
7349
|
function Xu(e, t, n) {
|
|
7350
|
-
let i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".", r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, l =
|
|
7350
|
+
let i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".", r = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, l = Cf(e, t, n);
|
|
7351
7351
|
return !l && r && typeof n == "string" && (l = Cr(e, n, i), l === void 0 && (l = Cr(t, n, i))), l;
|
|
7352
7352
|
}
|
|
7353
|
-
class
|
|
7353
|
+
class Yf {
|
|
7354
7354
|
constructor() {
|
|
7355
7355
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
7356
7356
|
this.logger = je.create("interpolator"), this.options = t, this.format = t.interpolation && t.interpolation.format || ((n) => n), this.init(t);
|
|
@@ -7361,7 +7361,7 @@ class Xf {
|
|
|
7361
7361
|
escapeValue: !0
|
|
7362
7362
|
});
|
|
7363
7363
|
const n = t.interpolation;
|
|
7364
|
-
this.escape = n.escape !== void 0 ? n.escape :
|
|
7364
|
+
this.escape = n.escape !== void 0 ? n.escape : yf, this.escapeValue = n.escapeValue !== void 0 ? n.escapeValue : !0, this.useRawValueToEscape = n.useRawValueToEscape !== void 0 ? n.useRawValueToEscape : !1, this.prefix = n.prefix ? jt(n.prefix) : n.prefixEscaped || "{{", this.suffix = n.suffix ? jt(n.suffix) : n.suffixEscaped || "}}", this.formatSeparator = n.formatSeparator ? n.formatSeparator : n.formatSeparator || ",", this.unescapePrefix = n.unescapeSuffix ? "" : n.unescapePrefix || "-", this.unescapeSuffix = this.unescapePrefix ? "" : n.unescapeSuffix || "", this.nestingPrefix = n.nestingPrefix ? jt(n.nestingPrefix) : n.nestingPrefixEscaped || jt("$t("), this.nestingSuffix = n.nestingSuffix ? jt(n.nestingSuffix) : n.nestingSuffixEscaped || jt(")"), this.nestingOptionsSeparator = n.nestingOptionsSeparator ? n.nestingOptionsSeparator : n.nestingOptionsSeparator || ",", this.maxReplaces = n.maxReplaces ? n.maxReplaces : 1e3, this.alwaysFormat = n.alwaysFormat !== void 0 ? n.alwaysFormat : !1, this.resetRegExp();
|
|
7365
7365
|
}
|
|
7366
7366
|
reset() {
|
|
7367
7367
|
this.options && this.init(this.options);
|
|
@@ -7419,7 +7419,7 @@ class Xf {
|
|
|
7419
7419
|
} else
|
|
7420
7420
|
this.logger.warn(`missed to pass in variable ${y} for interpolating ${t}`), o = "";
|
|
7421
7421
|
else
|
|
7422
|
-
typeof o != "string" && !this.useRawValueToEscape && (o =
|
|
7422
|
+
typeof o != "string" && !this.useRawValueToEscape && (o = bu(o));
|
|
7423
7423
|
const G = h.safeValue(o);
|
|
7424
7424
|
if (t = t.replace(l[0], G), c ? (h.regex.lastIndex += o.length, h.regex.lastIndex -= l[0].length) : h.regex.lastIndex = 0, s++, s >= this.maxReplaces)
|
|
7425
7425
|
break;
|
|
@@ -7459,7 +7459,7 @@ class Xf {
|
|
|
7459
7459
|
}
|
|
7460
7460
|
if (l = n(s.call(this, r[1].trim(), o), o), l && r[0] === t && typeof l != "string")
|
|
7461
7461
|
return l;
|
|
7462
|
-
typeof l != "string" && (l =
|
|
7462
|
+
typeof l != "string" && (l = bu(l)), l || (this.logger.warn(`missed to resolve ${r[1]} for nesting ${t}`), l = ""), a && (l = u.reduce((p, m) => this.format(p, m, i.lng, {
|
|
7463
7463
|
...i,
|
|
7464
7464
|
interpolationkey: r[1].trim()
|
|
7465
7465
|
}), l.trim())), t = t.replace(r[0], l), this.regexp.lastIndex = 0;
|
|
@@ -7467,7 +7467,7 @@ class Xf {
|
|
|
7467
7467
|
return t;
|
|
7468
7468
|
}
|
|
7469
7469
|
}
|
|
7470
|
-
function
|
|
7470
|
+
function Af(e) {
|
|
7471
7471
|
let t = e.toLowerCase().trim();
|
|
7472
7472
|
const n = {};
|
|
7473
7473
|
if (e.indexOf("(") > -1) {
|
|
@@ -7494,7 +7494,7 @@ function Mt(e) {
|
|
|
7494
7494
|
return s || (s = e(Ir(r), l), t[o] = s), s(i);
|
|
7495
7495
|
};
|
|
7496
7496
|
}
|
|
7497
|
-
class
|
|
7497
|
+
class Nf {
|
|
7498
7498
|
constructor() {
|
|
7499
7499
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
7500
7500
|
this.logger = je.create("formatter"), this.options = t, this.formats = {
|
|
@@ -7549,7 +7549,7 @@ class Af {
|
|
|
7549
7549
|
const {
|
|
7550
7550
|
formatName: a,
|
|
7551
7551
|
formatOptions: p
|
|
7552
|
-
} =
|
|
7552
|
+
} = Af(u);
|
|
7553
7553
|
if (this.formats[a]) {
|
|
7554
7554
|
let m = s;
|
|
7555
7555
|
try {
|
|
@@ -7569,10 +7569,10 @@ class Af {
|
|
|
7569
7569
|
}, t);
|
|
7570
7570
|
}
|
|
7571
7571
|
}
|
|
7572
|
-
function
|
|
7572
|
+
function Sf(e, t) {
|
|
7573
7573
|
e.pending[t] !== void 0 && (delete e.pending[t], e.pendingCount--);
|
|
7574
7574
|
}
|
|
7575
|
-
class
|
|
7575
|
+
class Rf extends Kr {
|
|
7576
7576
|
constructor(t, n, i) {
|
|
7577
7577
|
let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
7578
7578
|
super(), this.backend = t, this.store = n, this.services = i, this.languageUtils = i.languageUtils, this.options = r, this.logger = je.create("backendConnector"), this.waitingReads = [], this.maxParallelReads = r.maxParallelReads || 10, this.readingCalls = 0, this.maxRetries = r.maxRetries >= 0 ? r.maxRetries : 5, this.retryTimeout = r.retryTimeout >= 1 ? r.retryTimeout : 350, this.state = {}, this.queue = [], this.backend && this.backend.init && this.backend.init(i, r.backend, r);
|
|
@@ -7603,7 +7603,7 @@ class Sf extends Kr {
|
|
|
7603
7603
|
n && this.emit("failedLoading", l, o, n), i && this.store.addResourceBundle(l, o, i), this.state[t] = n ? -1 : 2;
|
|
7604
7604
|
const s = {};
|
|
7605
7605
|
this.queue.forEach((u) => {
|
|
7606
|
-
|
|
7606
|
+
hf(u.loaded, [l], o), Sf(u, t), n && u.errors.push(n), u.pendingCount === 0 && !u.done && (Object.keys(u.loaded).forEach((a) => {
|
|
7607
7607
|
s[a] || (s[a] = {});
|
|
7608
7608
|
const p = u.loaded[a];
|
|
7609
7609
|
p.length && p.forEach((m) => {
|
|
@@ -7770,7 +7770,7 @@ function Au(e) {
|
|
|
7770
7770
|
}
|
|
7771
7771
|
function Si() {
|
|
7772
7772
|
}
|
|
7773
|
-
function
|
|
7773
|
+
function kf(e) {
|
|
7774
7774
|
Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((n) => {
|
|
7775
7775
|
typeof e[n] == "function" && (e[n] = e[n].bind(e));
|
|
7776
7776
|
});
|
|
@@ -7780,7 +7780,7 @@ class li extends Kr {
|
|
|
7780
7780
|
let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 ? arguments[1] : void 0;
|
|
7781
7781
|
if (super(), this.options = Au(t), this.services = {}, this.logger = je, this.modules = {
|
|
7782
7782
|
external: []
|
|
7783
|
-
},
|
|
7783
|
+
}, kf(this), n && !this.isInitialized && !t.isClone) {
|
|
7784
7784
|
if (!this.options.initImmediate)
|
|
7785
7785
|
return this.init(t, n), this;
|
|
7786
7786
|
setTimeout(() => {
|
|
@@ -7807,17 +7807,17 @@ class li extends Kr {
|
|
|
7807
7807
|
if (!this.options.isClone) {
|
|
7808
7808
|
this.modules.logger ? je.init(l(this.modules.logger), this.options) : je.init(null, this.options);
|
|
7809
7809
|
let p;
|
|
7810
|
-
this.modules.formatter ? p = this.modules.formatter : typeof Intl < "u" && (p =
|
|
7810
|
+
this.modules.formatter ? p = this.modules.formatter : typeof Intl < "u" && (p = Nf);
|
|
7811
7811
|
const m = new Lu(this.options);
|
|
7812
7812
|
this.store = new wu(this.options.resources, this.options);
|
|
7813
7813
|
const c = this.services;
|
|
7814
|
-
c.logger = je, c.resourceStore = this.store, c.languageUtils = m, c.pluralResolver = new
|
|
7814
|
+
c.logger = je, c.resourceStore = this.store, c.languageUtils = m, c.pluralResolver = new Xf(m, {
|
|
7815
7815
|
prepend: this.options.pluralSeparator,
|
|
7816
7816
|
compatibilityJSON: this.options.compatibilityJSON,
|
|
7817
7817
|
simplifyPluralSuffix: this.options.simplifyPluralSuffix
|
|
7818
|
-
}), p && (!this.options.interpolation.format || this.options.interpolation.format === r.interpolation.format) && (c.formatter = l(p), c.formatter.init(c, this.options), this.options.interpolation.format = c.formatter.format.bind(c.formatter)), c.interpolator = new
|
|
7818
|
+
}), p && (!this.options.interpolation.format || this.options.interpolation.format === r.interpolation.format) && (c.formatter = l(p), c.formatter.init(c, this.options), this.options.interpolation.format = c.formatter.format.bind(c.formatter)), c.interpolator = new Yf(this.options), c.utils = {
|
|
7819
7819
|
hasLoadedNamespace: this.hasLoadedNamespace.bind(this)
|
|
7820
|
-
}, c.backendConnector = new
|
|
7820
|
+
}, c.backendConnector = new Rf(l(this.modules.backend), c.resourceStore, c, this.options), c.backendConnector.on("*", function(I) {
|
|
7821
7821
|
for (var h = arguments.length, y = new Array(h > 1 ? h - 1 : 0), G = 1; G < h; G++)
|
|
7822
7822
|
y[G - 1] = arguments[G];
|
|
7823
7823
|
t.emit(I, ...y);
|
|
@@ -8039,7 +8039,7 @@ oe.setDefaultNamespace;
|
|
|
8039
8039
|
oe.hasLoadedNamespace;
|
|
8040
8040
|
oe.loadNamespaces;
|
|
8041
8041
|
oe.loadLanguages;
|
|
8042
|
-
function
|
|
8042
|
+
function Bf(e, t) {
|
|
8043
8043
|
if (!(e instanceof t))
|
|
8044
8044
|
throw new TypeError("Cannot call a class as a function");
|
|
8045
8045
|
}
|
|
@@ -8051,7 +8051,7 @@ function oi(e) {
|
|
|
8051
8051
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
8052
8052
|
}, oi(e);
|
|
8053
8053
|
}
|
|
8054
|
-
function
|
|
8054
|
+
function Vf(e, t) {
|
|
8055
8055
|
if (oi(e) !== "object" || e === null)
|
|
8056
8056
|
return e;
|
|
8057
8057
|
var n = e[Symbol.toPrimitive];
|
|
@@ -8063,30 +8063,30 @@ function Bf(e, t) {
|
|
|
8063
8063
|
}
|
|
8064
8064
|
return (t === "string" ? String : Number)(e);
|
|
8065
8065
|
}
|
|
8066
|
-
function
|
|
8067
|
-
var t =
|
|
8066
|
+
function Kf(e) {
|
|
8067
|
+
var t = Vf(e, "string");
|
|
8068
8068
|
return oi(t) === "symbol" ? t : String(t);
|
|
8069
8069
|
}
|
|
8070
8070
|
function Nu(e, t) {
|
|
8071
8071
|
for (var n = 0; n < t.length; n++) {
|
|
8072
8072
|
var i = t[n];
|
|
8073
|
-
i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e,
|
|
8073
|
+
i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, Kf(i.key), i);
|
|
8074
8074
|
}
|
|
8075
8075
|
}
|
|
8076
|
-
function
|
|
8076
|
+
function Of(e, t, n) {
|
|
8077
8077
|
return t && Nu(e.prototype, t), n && Nu(e, n), Object.defineProperty(e, "prototype", {
|
|
8078
8078
|
writable: !1
|
|
8079
8079
|
}), e;
|
|
8080
8080
|
}
|
|
8081
|
-
var td = [],
|
|
8082
|
-
function
|
|
8083
|
-
return
|
|
8081
|
+
var td = [], Hf = td.forEach, Ff = td.slice;
|
|
8082
|
+
function jf(e) {
|
|
8083
|
+
return Hf.call(Ff.call(arguments, 1), function(t) {
|
|
8084
8084
|
if (t)
|
|
8085
8085
|
for (var n in t)
|
|
8086
8086
|
e[n] === void 0 && (e[n] = t[n]);
|
|
8087
8087
|
}), e;
|
|
8088
8088
|
}
|
|
8089
|
-
var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,
|
|
8089
|
+
var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, Mf = function(t, n, i) {
|
|
8090
8090
|
var r = i || {};
|
|
8091
8091
|
r.path = r.path || "/";
|
|
8092
8092
|
var l = encodeURIComponent(n), o = "".concat(t, "=").concat(l);
|
|
@@ -8137,7 +8137,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8137
8137
|
path: "/",
|
|
8138
8138
|
sameSite: "strict"
|
|
8139
8139
|
};
|
|
8140
|
-
i && (l.expires = /* @__PURE__ */ new Date(), l.expires.setTime(l.expires.getTime() + i * 60 * 1e3)), r && (l.domain = r), document.cookie =
|
|
8140
|
+
i && (l.expires = /* @__PURE__ */ new Date(), l.expires.setTime(l.expires.getTime() + i * 60 * 1e3)), r && (l.domain = r), document.cookie = Mf(t, encodeURIComponent(n), l);
|
|
8141
8141
|
},
|
|
8142
8142
|
read: function(t) {
|
|
8143
8143
|
for (var n = "".concat(t, "="), i = document.cookie.split(";"), r = 0; r < i.length; r++) {
|
|
@@ -8151,7 +8151,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8151
8151
|
remove: function(t) {
|
|
8152
8152
|
this.create(t, "", -1);
|
|
8153
8153
|
}
|
|
8154
|
-
},
|
|
8154
|
+
}, zf = {
|
|
8155
8155
|
name: "cookie",
|
|
8156
8156
|
lookup: function(t) {
|
|
8157
8157
|
var n;
|
|
@@ -8164,7 +8164,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8164
8164
|
cacheUserLanguage: function(t, n) {
|
|
8165
8165
|
n.lookupCookie && typeof document < "u" && Ru.create(n.lookupCookie, t, n.cookieMinutes, n.cookieDomain, n.cookieOptions);
|
|
8166
8166
|
}
|
|
8167
|
-
},
|
|
8167
|
+
}, xf = {
|
|
8168
8168
|
name: "querystring",
|
|
8169
8169
|
lookup: function(t) {
|
|
8170
8170
|
var n;
|
|
@@ -8192,7 +8192,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8192
8192
|
Gn = !1;
|
|
8193
8193
|
}
|
|
8194
8194
|
return Gn;
|
|
8195
|
-
},
|
|
8195
|
+
}, Tf = {
|
|
8196
8196
|
name: "localStorage",
|
|
8197
8197
|
lookup: function(t) {
|
|
8198
8198
|
var n;
|
|
@@ -8216,7 +8216,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8216
8216
|
Xn = !1;
|
|
8217
8217
|
}
|
|
8218
8218
|
return Xn;
|
|
8219
|
-
},
|
|
8219
|
+
}, Jf = {
|
|
8220
8220
|
name: "sessionStorage",
|
|
8221
8221
|
lookup: function(t) {
|
|
8222
8222
|
var n;
|
|
@@ -8229,7 +8229,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8229
8229
|
cacheUserLanguage: function(t, n) {
|
|
8230
8230
|
n.lookupSessionStorage && Bu() && window.sessionStorage.setItem(n.lookupSessionStorage, t);
|
|
8231
8231
|
}
|
|
8232
|
-
},
|
|
8232
|
+
}, Df = {
|
|
8233
8233
|
name: "navigator",
|
|
8234
8234
|
lookup: function(t) {
|
|
8235
8235
|
var n = [];
|
|
@@ -8241,13 +8241,13 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8241
8241
|
}
|
|
8242
8242
|
return n.length > 0 ? n : void 0;
|
|
8243
8243
|
}
|
|
8244
|
-
},
|
|
8244
|
+
}, Qf = {
|
|
8245
8245
|
name: "htmlTag",
|
|
8246
8246
|
lookup: function(t) {
|
|
8247
8247
|
var n, i = t.htmlTag || (typeof document < "u" ? document.documentElement : null);
|
|
8248
8248
|
return i && typeof i.getAttribute == "function" && (n = i.getAttribute("lang")), n;
|
|
8249
8249
|
}
|
|
8250
|
-
},
|
|
8250
|
+
}, Ef = {
|
|
8251
8251
|
name: "path",
|
|
8252
8252
|
lookup: function(t) {
|
|
8253
8253
|
var n;
|
|
@@ -8263,7 +8263,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8263
8263
|
}
|
|
8264
8264
|
return n;
|
|
8265
8265
|
}
|
|
8266
|
-
},
|
|
8266
|
+
}, Uf = {
|
|
8267
8267
|
name: "subdomain",
|
|
8268
8268
|
lookup: function(t) {
|
|
8269
8269
|
var n = typeof t.lookupFromSubdomainIndex == "number" ? t.lookupFromSubdomainIndex + 1 : 1, i = 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);
|
|
@@ -8271,7 +8271,7 @@ var Su = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/, jf = function(t, n, i) {
|
|
|
8271
8271
|
return i[n];
|
|
8272
8272
|
}
|
|
8273
8273
|
};
|
|
8274
|
-
function
|
|
8274
|
+
function Pf() {
|
|
8275
8275
|
return {
|
|
8276
8276
|
order: ["querystring", "cookie", "localStorage", "sessionStorage", "navigator", "htmlTag"],
|
|
8277
8277
|
lookupQuerystring: "lng",
|
|
@@ -8291,17 +8291,17 @@ function Uf() {
|
|
|
8291
8291
|
var nd = /* @__PURE__ */ function() {
|
|
8292
8292
|
function e(t) {
|
|
8293
8293
|
var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
8294
|
-
|
|
8294
|
+
Bf(this, e), this.type = "languageDetector", this.detectors = {}, this.init(t, n);
|
|
8295
8295
|
}
|
|
8296
|
-
return
|
|
8296
|
+
return Of(e, [{
|
|
8297
8297
|
key: "init",
|
|
8298
8298
|
value: function(n) {
|
|
8299
8299
|
var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
8300
8300
|
this.services = n || {
|
|
8301
8301
|
languageUtils: {}
|
|
8302
|
-
}, this.options =
|
|
8302
|
+
}, this.options = jf(i, this.options || {}, Pf()), typeof this.options.convertDetectedLanguage == "string" && this.options.convertDetectedLanguage.indexOf("15897") > -1 && (this.options.convertDetectedLanguage = function(l) {
|
|
8303
8303
|
return l.replace("-", "_");
|
|
8304
|
-
}), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = r, this.addDetector(
|
|
8304
|
+
}), this.options.lookupFromUrlIndex && (this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex), this.i18nOptions = r, this.addDetector(zf), this.addDetector(xf), this.addDetector(Tf), this.addDetector(Jf), this.addDetector(Df), this.addDetector(Qf), this.addDetector(Ef), this.addDetector(Uf);
|
|
8305
8305
|
}
|
|
8306
8306
|
}, {
|
|
8307
8307
|
key: "addDetector",
|
|
@@ -8334,58 +8334,58 @@ var nd = /* @__PURE__ */ function() {
|
|
|
8334
8334
|
}]), e;
|
|
8335
8335
|
}();
|
|
8336
8336
|
nd.type = "languageDetector";
|
|
8337
|
-
const
|
|
8337
|
+
const _f = "Se connecter", $f = "Se déconnecter", qf = "Gérer le profil", em = "Charger un plein", tm = "Xtra navigation", nm = "S'inscrire", im = {
|
|
8338
8338
|
title: "Conditions générales",
|
|
8339
8339
|
description: "J'ai pu prendre connaisance de la Déclaration de confidentialité Xtra et j'accepte les conditions générales suivantes",
|
|
8340
8340
|
error: {
|
|
8341
8341
|
required: "Pour poursuivre, veuillez d'abord accepter les Conditions Générales"
|
|
8342
8342
|
},
|
|
8343
8343
|
action: "Lire les {{ title }}"
|
|
8344
|
-
},
|
|
8344
|
+
}, rm = "Continuer", lm = {
|
|
8345
8345
|
form: {
|
|
8346
8346
|
genericError: "Pour continuer, veuillez compléter tous les champs correctement",
|
|
8347
8347
|
detailedError: "Pour continuer, veuillez compléter ces champs : { invalidFormFieldLabels }}. Commencez par {{ firstInvalidFormFieldLabel }}"
|
|
8348
8348
|
}
|
|
8349
|
-
},
|
|
8350
|
-
login:
|
|
8351
|
-
logout:
|
|
8352
|
-
manageProfile:
|
|
8353
|
-
loading:
|
|
8354
|
-
xtraMenuAriaLabel:
|
|
8355
|
-
register:
|
|
8356
|
-
termsAndConditions:
|
|
8357
|
-
confirm:
|
|
8358
|
-
common:
|
|
8359
|
-
qrCode:
|
|
8360
|
-
privacy:
|
|
8361
|
-
payment:
|
|
8362
|
-
giftCards:
|
|
8363
|
-
},
|
|
8349
|
+
}, om = "Code Xtra QR", sm = "Vie privée", um = "Payer avec Xtra", am = "Bons de valeur", cm = {
|
|
8350
|
+
login: _f,
|
|
8351
|
+
logout: $f,
|
|
8352
|
+
manageProfile: qf,
|
|
8353
|
+
loading: em,
|
|
8354
|
+
xtraMenuAriaLabel: tm,
|
|
8355
|
+
register: nm,
|
|
8356
|
+
termsAndConditions: im,
|
|
8357
|
+
confirm: rm,
|
|
8358
|
+
common: lm,
|
|
8359
|
+
qrCode: om,
|
|
8360
|
+
privacy: sm,
|
|
8361
|
+
payment: um,
|
|
8362
|
+
giftCards: am
|
|
8363
|
+
}, dm = "Aanmelden", gm = "Afmelden", pm = "Profiel beheren", fm = "Laden", mm = "Xtra navigatie", hm = "Registreren", Cm = {
|
|
8364
8364
|
title: "Algemene voorwaarden",
|
|
8365
8365
|
description: "Ik heb kennis kunnen nemen van de Privacyverklaring van Xtra, en ga akkoord met de volgende algemene voorwaarden",
|
|
8366
8366
|
error: {
|
|
8367
8367
|
required: "Om verder te gaan, aanvaard eerst de Algemene Voorwaarden"
|
|
8368
8368
|
},
|
|
8369
8369
|
action: "Bekijk hier de {{ title }}"
|
|
8370
|
-
},
|
|
8370
|
+
}, Im = "Verder", ym = {
|
|
8371
8371
|
form: {
|
|
8372
8372
|
genericError: "Om verder te gaan, vul alle velden correct in",
|
|
8373
8373
|
detailedError: "Om verder te gaan, vul deze velden in: {{ invalidFormFieldLabels }}. Start met {{ firstInvalidFormFieldLabel }}"
|
|
8374
8374
|
}
|
|
8375
|
-
},
|
|
8376
|
-
login:
|
|
8377
|
-
logout:
|
|
8378
|
-
manageProfile:
|
|
8379
|
-
loading:
|
|
8380
|
-
xtraMenuAriaLabel:
|
|
8381
|
-
register:
|
|
8382
|
-
termsAndConditions:
|
|
8383
|
-
confirm:
|
|
8384
|
-
common:
|
|
8385
|
-
qrCode:
|
|
8386
|
-
privacy:
|
|
8375
|
+
}, Zm = "Xtra QR-code", bm = "Privacy", vm = "Betalen met Xtra", wm = "Waardebonnen", Wm = {
|
|
8376
|
+
login: dm,
|
|
8377
|
+
logout: gm,
|
|
8378
|
+
manageProfile: pm,
|
|
8379
|
+
loading: fm,
|
|
8380
|
+
xtraMenuAriaLabel: mm,
|
|
8381
|
+
register: hm,
|
|
8382
|
+
termsAndConditions: Cm,
|
|
8383
|
+
confirm: Im,
|
|
8384
|
+
common: ym,
|
|
8385
|
+
qrCode: Zm,
|
|
8386
|
+
privacy: bm,
|
|
8387
8387
|
payment: vm,
|
|
8388
|
-
giftCards:
|
|
8388
|
+
giftCards: wm
|
|
8389
8389
|
};
|
|
8390
8390
|
oe.use(nd).use(Od).init({
|
|
8391
8391
|
detection: { order: ["htmlTag", "navigator"] },
|
|
@@ -8394,27 +8394,27 @@ oe.use(nd).use(Od).init({
|
|
|
8394
8394
|
defaultNS: "authentication",
|
|
8395
8395
|
nonExplicitSupportedLngs: !0,
|
|
8396
8396
|
resources: {
|
|
8397
|
-
nl: { authentication:
|
|
8398
|
-
fr: { authentication:
|
|
8397
|
+
nl: { authentication: Wm },
|
|
8398
|
+
fr: { authentication: cm }
|
|
8399
8399
|
},
|
|
8400
8400
|
fallbackLng: "nl",
|
|
8401
8401
|
interpolation: { escapeValue: !1 }
|
|
8402
8402
|
}).catch((e) => console.error(e));
|
|
8403
|
-
const
|
|
8403
|
+
const Lm = (e) => {
|
|
8404
8404
|
const t = document.createElement("link");
|
|
8405
8405
|
return t.rel = "stylesheet", t.href = e, t;
|
|
8406
|
-
},
|
|
8407
|
-
[
|
|
8408
|
-
const n =
|
|
8406
|
+
}, Gm = (e) => {
|
|
8407
|
+
[df, gf, rg, cf].forEach((t) => {
|
|
8408
|
+
const n = Lm(t);
|
|
8409
8409
|
return e.prepend(n);
|
|
8410
8410
|
});
|
|
8411
8411
|
};
|
|
8412
8412
|
let oo, so, uo, id, rd;
|
|
8413
|
-
class
|
|
8413
|
+
class Xm extends HTMLElement {
|
|
8414
8414
|
async connectedCallback() {
|
|
8415
8415
|
const t = this.attachShadow({ mode: "open" });
|
|
8416
|
-
|
|
8417
|
-
const n = $c(t), i = (await import("./App-
|
|
8416
|
+
Gm(t);
|
|
8417
|
+
const n = $c(t), i = (await import("./App-138b721c.mjs")).default;
|
|
8418
8418
|
n.render(
|
|
8419
8419
|
/* @__PURE__ */ Mn.jsx(
|
|
8420
8420
|
i,
|
|
@@ -8429,24 +8429,25 @@ class Gm extends HTMLElement {
|
|
|
8429
8429
|
);
|
|
8430
8430
|
}
|
|
8431
8431
|
}
|
|
8432
|
-
const
|
|
8432
|
+
const Sm = (e) => {
|
|
8433
8433
|
if (window.frameElement)
|
|
8434
8434
|
return;
|
|
8435
8435
|
if (!e.apiUrl)
|
|
8436
8436
|
throw new Error("apiUrl must specified when registering the Xtra authentication component.");
|
|
8437
8437
|
if (!Object.values(fo).includes(e.environment))
|
|
8438
8438
|
throw new Ud(oo);
|
|
8439
|
-
return oo = e.environment, uo = e.apiUrl, so = e.redirectUrl ?? window.location.href, id = e.position ?? "right", rd = e.bouMenuItems ?? [], customElements.define("xtra-authentication",
|
|
8440
|
-
const i =
|
|
8439
|
+
return oo = e.environment, uo = e.apiUrl, so = e.redirectUrl ?? window.location.href, id = e.position ?? "right", rd = e.bouMenuItems ?? [], customElements.define("xtra-authentication", Xm), { loginWithXtra: () => {
|
|
8440
|
+
const i = pf({ apiUrl: uo, redirectUrl: so });
|
|
8441
8441
|
window.location.replace(i);
|
|
8442
8442
|
} };
|
|
8443
8443
|
};
|
|
8444
8444
|
export {
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
Am as
|
|
8448
|
-
Nm as
|
|
8449
|
-
|
|
8445
|
+
Ym as E,
|
|
8446
|
+
ng as P,
|
|
8447
|
+
Am as a,
|
|
8448
|
+
Nm as b,
|
|
8449
|
+
Sm as c,
|
|
8450
|
+
pf as g,
|
|
8450
8451
|
Mn as j,
|
|
8451
8452
|
J as r,
|
|
8452
8453
|
Qu as u
|