@getopenpay/openpay-js-react 0.5.25 → 0.5.26-alpha.b87651e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/{Resource-CpYeGio5-Crlrtvzx.js → Resource-CEOg0ZP2-BPKGawzY.js} +2 -2
- package/dist/SimpleSpanProcessor-DRcuspHp-MWteF9oR.js +910 -0
- package/dist/{detect-resources-BQutTEeG-CLQLes2c.js → detect-resources-BKmk4tEe-CFF-LZfH.js} +113 -113
- package/dist/diag-api-D0EHkb_O-CZgFzAdr.js +6 -0
- package/dist/{index-CvuCprS8-B_Yax6-R.js → index-9vc6__ze-lX2RTErF.js} +2 -2
- package/dist/{index-BxfodL6B-wW9M3hrZ.js → index-BEqb-DSH-DXJeHdfn.js} +50 -50
- package/dist/{index-DZ1Er9UK-CFqxcZP4.js → index-BJHxqly1-Ce-ZdKv7.js} +2 -2
- package/dist/{index-Dbr9bp6a-sEQgAlIq.js → index-Bt6mVKrg-CEvBlQDI.js} +7 -7
- package/dist/index-CKkSVDgi.js +10292 -0
- package/dist/{index-By2_XDEC-BWEZq0hE.js → index-CTCUKKcI-C7YmhgKW.js} +2 -2
- package/dist/{index-NCAOVimP-BcCtrd4O.js → index-CmriBZOS-CD-cfNp2.js} +61 -61
- package/dist/{index-gOa9aopa-oVE-SOM0.js → index-DDjqRLG8--ztrGomN.js} +5 -5
- package/dist/{index-mdlHE8Fi-DDx5Cjgi.js → index-ORrwEOLv-Bl_QSsZ3.js} +2 -2
- package/dist/{index-TeVCMfiW-BtVV3Emw.js → index-beJqlqi4-CfPC7uGP.js} +24 -24
- package/dist/index.d.ts +15 -0
- package/dist/index.js +9 -9
- package/dist/{metrics-api-l2AFyrzy-MaTXNkC6.js → metrics-api-l101FK-4-BYGj2e-Y.js} +10 -10
- package/dist/{suppress-tracing-D5T6gdNh-B4bDPm8x.js → suppress-tracing-Bjw2QoK9-B-C6JSH0.js} +2 -2
- package/dist/{url-CHzjVJbO-CQh_-bbK.js → url-AGmPOn3p-Nf-yonf7.js} +49 -49
- package/dist/{utils-D8tO_9FV-Dz_8ziJx.js → utils-Bj96zPkA-CaIxOdMx.js} +12 -12
- package/dist/{utils-DAJoEkd6-DqcqG-Cu.js → utils-CdgT5_RS-Dm48SXHo.js} +2 -2
- package/package.json +1 -1
- package/dist/SimpleSpanProcessor-gnSJN3jD-DOHVdqI6.js +0 -910
- package/dist/diag-api-DQpLxQUF-Bq4RIuXi.js +0 -6
- package/dist/index-DznVXDC2.js +0 -10133
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as B } from "./diag-api-
|
|
2
|
-
import { J as M, q as z, Z as $, $ as
|
|
3
|
-
import { B as V, U as K, W as Q } from "./utils-
|
|
4
|
-
import { T as E, y as k, C as
|
|
5
|
-
import {
|
|
1
|
+
import { r as B } from "./diag-api-D0EHkb_O-CZgFzAdr.js";
|
|
2
|
+
import { J as M, q as z, Z as $, $ as G, y as v, a as W, x as X, k as Z, p as C, O as I, E as J, h as b } from "./url-AGmPOn3p-Nf-yonf7.js";
|
|
3
|
+
import { B as V, U as K, W as Q } from "./utils-Bj96zPkA-CaIxOdMx.js";
|
|
4
|
+
import { T as E, y as k, C as O, b as Y, V as tt } from "./utils-CdgT5_RS-Dm48SXHo.js";
|
|
5
|
+
import { G as x, O as h, l as et } from "./index-CKkSVDgi.js";
|
|
6
6
|
var g;
|
|
7
7
|
(function(o) {
|
|
8
8
|
o.COMPONENT = "component", o.HTTP_ERROR_NAME = "http.error_name", o.HTTP_STATUS_TEXT = "http.status_text";
|
|
@@ -117,7 +117,7 @@ var nt = function(o, i, t, n) {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
return e;
|
|
120
|
-
},
|
|
120
|
+
}, N = B.createComponentLogger({
|
|
121
121
|
namespace: "@opentelemetry/opentelemetry-instrumentation-fetch/utils"
|
|
122
122
|
});
|
|
123
123
|
function st() {
|
|
@@ -141,7 +141,7 @@ function st() {
|
|
|
141
141
|
}
|
|
142
142
|
function at(o) {
|
|
143
143
|
if (!o.pipeThrough)
|
|
144
|
-
return
|
|
144
|
+
return N.warn("Platform has ReadableStream but not pipeThrough!"), {
|
|
145
145
|
body: o,
|
|
146
146
|
length: Promise.resolve(void 0)
|
|
147
147
|
};
|
|
@@ -188,7 +188,7 @@ function ut(o) {
|
|
|
188
188
|
return S(o.toString());
|
|
189
189
|
if (typeof o == "string")
|
|
190
190
|
return S(o);
|
|
191
|
-
|
|
191
|
+
N.warn("unknown body type");
|
|
192
192
|
}
|
|
193
193
|
var ct = new TextEncoder();
|
|
194
194
|
function S(o) {
|
|
@@ -212,7 +212,7 @@ function ft(o) {
|
|
|
212
212
|
}
|
|
213
213
|
return n;
|
|
214
214
|
}
|
|
215
|
-
var
|
|
215
|
+
var P = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
216
216
|
var o = function(i, t) {
|
|
217
217
|
return o = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(n, r) {
|
|
218
218
|
n.__proto__ = r;
|
|
@@ -249,24 +249,24 @@ var O = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
|
249
249
|
if (arguments.length === 2) for (var n = 0, r = i.length, e; n < r; n++)
|
|
250
250
|
(e || !(n in i)) && (e || (e = Array.prototype.slice.call(i, 0, n)), e[n] = i[n]);
|
|
251
251
|
return o.concat(e || Array.prototype.slice.call(i));
|
|
252
|
-
}, _, yt = 300,
|
|
252
|
+
}, _, yt = 300, U = typeof process == "object" && ((_ = process.release) === null || _ === void 0 ? void 0 : _.name) === "node", _t = (
|
|
253
253
|
/** @class */
|
|
254
254
|
(function(o) {
|
|
255
255
|
lt(i, o);
|
|
256
256
|
function i(t) {
|
|
257
257
|
t === void 0 && (t = {});
|
|
258
|
-
var n = o.call(this, "@opentelemetry/instrumentation-fetch",
|
|
259
|
-
return n.component = "fetch", n.version =
|
|
258
|
+
var n = o.call(this, "@opentelemetry/instrumentation-fetch", P, t) || this;
|
|
259
|
+
return n.component = "fetch", n.version = P, n.moduleName = n.component, n._usedResources = /* @__PURE__ */ new WeakSet(), n._tasksCount = 0, n;
|
|
260
260
|
}
|
|
261
261
|
return i.prototype.init = function() {
|
|
262
262
|
}, i.prototype._addChildSpan = function(t, n) {
|
|
263
263
|
var r = this.tracer.startSpan("CORS Preflight", {
|
|
264
264
|
startTime: n[E.FETCH_START]
|
|
265
|
-
},
|
|
265
|
+
}, x.setSpan(h.active(), t));
|
|
266
266
|
k(r, n, this.getConfig().ignoreNetworkEvents), r.end(n[E.RESPONSE_END]);
|
|
267
267
|
}, i.prototype._addFinalSpanAttributes = function(t, n) {
|
|
268
|
-
var r =
|
|
269
|
-
t.setAttribute(M, n.status), n.statusText != null && t.setAttribute(g.HTTP_STATUS_TEXT, n.statusText), t.setAttribute(z, r.host), t.setAttribute($, r.protocol.replace(":", "")), typeof navigator < "u" && t.setAttribute(
|
|
268
|
+
var r = O(n.url);
|
|
269
|
+
t.setAttribute(M, n.status), n.statusText != null && t.setAttribute(g.HTTP_STATUS_TEXT, n.statusText), t.setAttribute(z, r.host), t.setAttribute($, r.protocol.replace(":", "")), typeof navigator < "u" && t.setAttribute(G, navigator.userAgent);
|
|
270
270
|
}, i.prototype._addHeaders = function(t, n) {
|
|
271
271
|
if (!Y(n, this.getConfig().propagateTraceHeaderCorsUrls)) {
|
|
272
272
|
var r = {};
|
|
@@ -299,14 +299,14 @@ var O = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
|
299
299
|
this._tasksCount === 0 && this.getConfig().clearTimingResources && (performance.clearResourceTimings(), this._usedResources = /* @__PURE__ */ new WeakSet());
|
|
300
300
|
}, i.prototype._createSpan = function(t, n) {
|
|
301
301
|
var r;
|
|
302
|
-
if (n === void 0 && (n = {}),
|
|
302
|
+
if (n === void 0 && (n = {}), W(t, this.getConfig().ignoreUrls)) {
|
|
303
303
|
this._diag.debug("ignoring span as url matches ignored url");
|
|
304
304
|
return;
|
|
305
305
|
}
|
|
306
306
|
var e = (n.method || "GET").toUpperCase(), s = "HTTP " + e;
|
|
307
307
|
return this.tracer.startSpan(s, {
|
|
308
308
|
kind: et.CLIENT,
|
|
309
|
-
attributes: (r = {}, r[g.COMPONENT] = this.moduleName, r[
|
|
309
|
+
attributes: (r = {}, r[g.COMPONENT] = this.moduleName, r[X] = e, r[Z] = t, r)
|
|
310
310
|
});
|
|
311
311
|
}, i.prototype._findResourceAndAddNetworkEvents = function(t, n, r) {
|
|
312
312
|
var e = n.entries;
|
|
@@ -337,7 +337,7 @@ var O = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
|
337
337
|
return function() {
|
|
338
338
|
for (var e = [], s = 0; s < arguments.length; s++)
|
|
339
339
|
e[s] = arguments[s];
|
|
340
|
-
var a = this, c =
|
|
340
|
+
var a = this, c = O(e[0] instanceof Request ? e[0].url : String(e[0])).href, u = e[0] instanceof Request ? e[0] : e[1] || {}, l = r._createSpan(c, u);
|
|
341
341
|
if (!l)
|
|
342
342
|
return n.apply(this, e);
|
|
343
343
|
var y = r._prepareSpanData(c);
|
|
@@ -360,7 +360,7 @@ var O = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
|
360
360
|
url: c
|
|
361
361
|
});
|
|
362
362
|
}
|
|
363
|
-
function
|
|
363
|
+
function j(f, p, d) {
|
|
364
364
|
try {
|
|
365
365
|
var F = d.clone(), L = d.clone(), A = F.body;
|
|
366
366
|
if (A) {
|
|
@@ -387,8 +387,8 @@ var O = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
389
|
return new Promise(function(f, p) {
|
|
390
|
-
return h.with(
|
|
391
|
-
return r._addHeaders(u, c), r._tasksCount++, n.apply(a, u instanceof Request ? [u] : [c, u]).then(
|
|
390
|
+
return h.with(x.setSpan(h.active(), l), function() {
|
|
391
|
+
return r._addHeaders(u, c), r._tasksCount++, n.apply(a, u instanceof Request ? [u] : [c, u]).then(j.bind(a, l, f), q.bind(a, l, p));
|
|
392
392
|
});
|
|
393
393
|
});
|
|
394
394
|
};
|
|
@@ -414,17 +414,17 @@ var O = "0.57.2", lt = /* @__PURE__ */ (function() {
|
|
|
414
414
|
entryTypes: ["resource"]
|
|
415
415
|
}), { entries: r, observer: e, startTime: n, spanUrl: t };
|
|
416
416
|
}, i.prototype.enable = function() {
|
|
417
|
-
if (
|
|
417
|
+
if (U) {
|
|
418
418
|
this._diag.warn("this instrumentation is intended for web usage only, it does not instrument Node.js's fetch()");
|
|
419
419
|
return;
|
|
420
420
|
}
|
|
421
421
|
K(fetch) && (this._unwrap(b, "fetch"), this._diag.debug("removing previous patch for constructor")), this._wrap(b, "fetch", this._patchConstructor());
|
|
422
422
|
}, i.prototype.disable = function() {
|
|
423
|
-
|
|
423
|
+
U || (this._unwrap(b, "fetch"), this._usedResources = /* @__PURE__ */ new WeakSet());
|
|
424
424
|
}, i;
|
|
425
425
|
})(Q)
|
|
426
426
|
);
|
|
427
427
|
export {
|
|
428
428
|
_t as FetchInstrumentation
|
|
429
429
|
};
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtVGVWQ01maVctIX57MDA5fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLURRcEx4UVVGLSF+ezAwYX1+LmpzJztcbmltcG9ydCB7IEogYXMgSkEsIHEgYXMgcUEsIFogYXMgWkEsICQgYXMgJEEsIHkgYXMgeV8sIGEgYXMgWmUsIHggYXMgeEEsIGsgYXMga0EsIHAgYXMgcF8sIE8sIEUgYXMgRXIsIGggYXMgaF8gfSBmcm9tICcuL3VybC1DSHpqVkpiTy0hfnswMGJ9fi5qcyc7XG5pbXBvcnQgeyBCLCBVIGFzIFUkMSwgVyB9IGZyb20gJy4vdXRpbHMtRDh0T185RlYtIX57MDBjfX4uanMnO1xuaW1wb3J0IHsgVCwgeSBhcyB5JDEsIEMsIGIgYXMgYiQxLCBWIH0gZnJvbSAnLi91dGlscy1EQUpvRWtkNi0hfnswMDh9fi5qcyc7XG5pbXBvcnQgeyBqIGFzIGplLCBEIGFzIERlLCBhIGFzIGF0IH0gZnJvbSAnLi9pbmRleC0hfnswMDd9fi5qcyc7XG5cbnZhciB5O1xuKGZ1bmN0aW9uKGEpIHtcbiAgYS5DT01QT05FTlQgPSBcImNvbXBvbmVudFwiLCBhLkhUVFBfRVJST1JfTkFNRSA9IFwiaHR0cC5lcnJvcl9uYW1lXCIsIGEuSFRUUF9TVEFUVVNfVEVYVCA9IFwiaHR0cC5zdGF0dXNfdGV4dFwiO1xufSkoeSB8fCAoeSA9IHt9KSk7XG52YXIgbmUgPSBmdW5jdGlvbihhLCBvLCBlLCByKSB7XG4gIGZ1bmN0aW9uIG4odCkge1xuICAgIHJldHVybiB0IGluc3RhbmNlb2YgZSA/IHQgOiBuZXcgZShmdW5jdGlvbihpKSB7XG4gICAgICBpKHQpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBuZXcgKGUgfHwgKGUgPSBQcm9taXNlKSkoZnVuY3Rpb24odCwgaSkge1xuICAgIGZ1bmN0aW9uIHMoYykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdShyLm5leHQoYykpO1xuICAgICAgfSBjYXRjaCAoaCkge1xuICAgICAgICBpKGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmKGMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHUoci50aHJvdyhjKSk7XG4gICAgICB9IGNhdGNoIChoKSB7XG4gICAgICAgIGkoaCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHUoYykge1xuICAgICAgYy5kb25lID8gdChjLnZhbHVlKSA6IG4oYy52YWx1ZSkudGhlbihzLCBmKTtcbiAgICB9XG4gICAgdSgociA9IHIuYXBwbHkoYSwgW10pKS5uZXh0KCkpO1xuICB9KTtcbn0sIGFlID0gZnVuY3Rpb24oYSwgbykge1xuICB2YXIgZSA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkge1xuICAgIGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTtcbiAgICByZXR1cm4gdFsxXTtcbiAgfSwgdHJ5czogW10sIG9wczogW10gfSwgciwgbiwgdCwgaTtcbiAgcmV0dXJuIGkgPSB7IG5leHQ6IHMoMCksIHRocm93OiBzKDEpLCByZXR1cm46IHMoMikgfSwgdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgKGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9KSwgaTtcbiAgZnVuY3Rpb24gcyh1KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGMpIHtcbiAgICAgIHJldHVybiBmKFt1LCBjXSk7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiBmKHUpIHtcbiAgICBpZiAocikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgZm9yICg7IGU7ICkgdHJ5IHtcbiAgICAgIGlmIChyID0gMSwgbiAmJiAodCA9IHVbMF0gJiAyID8gbi5yZXR1cm4gOiB1WzBdID8gbi50aHJvdyB8fCAoKHQgPSBuLnJldHVybikgJiYgdC5jYWxsKG4pLCAwKSA6IG4ubmV4dCkgJiYgISh0ID0gdC5jYWxsKG4sIHVbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgIHN3aXRjaCAobiA9IDAsIHQgJiYgKHUgPSBbdVswXSAmIDIsIHQudmFsdWVdKSwgdVswXSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICB0ID0gdTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHJldHVybiBlLmxhYmVsKyssIHsgdmFsdWU6IHVbMV0sIGRvbmU6ICExIH07XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICBlLmxhYmVsKyssIG4gPSB1WzFdLCB1ID0gWzBdO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDc6XG4gICAgICAgICAgdSA9IGUub3BzLnBvcCgpLCBlLnRyeXMucG9wKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaWYgKHQgPSBlLnRyeXMsICEodCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmICh1WzBdID09PSA2IHx8IHVbMF0gPT09IDIpKSB7XG4gICAgICAgICAgICBlID0gMDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodVswXSA9PT0gMyAmJiAoIXQgfHwgdVsxXSA+IHRbMF0gJiYgdVsxXSA8IHRbM10pKSB7XG4gICAgICAgICAgICBlLmxhYmVsID0gdVsxXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodVswXSA9PT0gNiAmJiBlLmxhYmVsIDwgdFsxXSkge1xuICAgICAgICAgICAgZS5sYWJlbCA9IHRbMV0sIHQgPSB1O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0ICYmIGUubGFiZWwgPCB0WzJdKSB7XG4gICAgICAgICAgICBlLmxhYmVsID0gdFsyXSwgZS5vcHMucHVzaCh1KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0WzJdICYmIGUub3BzLnBvcCgpLCBlLnRyeXMucG9wKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB1ID0gby5jYWxsKGEsIGUpO1xuICAgIH0gY2F0Y2ggKGMpIHtcbiAgICAgIHUgPSBbNiwgY10sIG4gPSAwO1xuICAgIH0gZmluYWxseSB7XG4gICAgICByID0gdCA9IDA7XG4gICAgfVxuICAgIGlmICh1WzBdICYgNSkgdGhyb3cgdVsxXTtcbiAgICByZXR1cm4geyB2YWx1ZTogdVswXSA/IHVbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcbiAgfVxufSwgaWUgPSBmdW5jdGlvbihhKSB7XG4gIHZhciBvID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBlID0gbyAmJiBhW29dLCByID0gMDtcbiAgaWYgKGUpIHJldHVybiBlLmNhbGwoYSk7XG4gIGlmIChhICYmIHR5cGVvZiBhLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGEgJiYgciA+PSBhLmxlbmd0aCAmJiAoYSA9IHZvaWQgMCksIHsgdmFsdWU6IGEgJiYgYVtyKytdLCBkb25lOiAhYSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihvID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgb2UgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIFUgPSByLmNyZWF0ZUNvbXBvbmVudExvZ2dlcih7XG4gIG5hbWVzcGFjZTogXCJAb3BlbnRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWluc3RydW1lbnRhdGlvbi1mZXRjaC91dGlsc1wiXG59KTtcbmZ1bmN0aW9uIHNlKCkge1xuICBmb3IgKHZhciBhID0gW10sIG8gPSAwOyBvIDwgYXJndW1lbnRzLmxlbmd0aDsgbysrKVxuICAgIGFbb10gPSBhcmd1bWVudHNbb107XG4gIGlmIChhWzBdIGluc3RhbmNlb2YgVVJMIHx8IHR5cGVvZiBhWzBdID09IFwic3RyaW5nXCIpIHtcbiAgICB2YXIgZSA9IGFbMV07XG4gICAgaWYgKCFlPy5ib2R5KVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIGlmIChlLmJvZHkgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSkge1xuICAgICAgdmFyIHIgPSB1ZShlLmJvZHkpLCBuID0gci5ib2R5LCB0ID0gci5sZW5ndGg7XG4gICAgICByZXR1cm4gZS5ib2R5ID0gbiwgdDtcbiAgICB9IGVsc2VcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmUoZS5ib2R5KSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGkgPSBhWzBdO1xuICAgIHJldHVybiBpPy5ib2R5ID8gaS5jbG9uZSgpLnRleHQoKS50aGVuKGZ1bmN0aW9uKHMpIHtcbiAgICAgIHJldHVybiBiKHMpO1xuICAgIH0pIDogUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbn1cbmZ1bmN0aW9uIHVlKGEpIHtcbiAgaWYgKCFhLnBpcGVUaHJvdWdoKVxuICAgIHJldHVybiBVLndhcm4oXCJQbGF0Zm9ybSBoYXMgUmVhZGFibGVTdHJlYW0gYnV0IG5vdCBwaXBlVGhyb3VnaCFcIiksIHtcbiAgICAgIGJvZHk6IGEsXG4gICAgICBsZW5ndGg6IFByb21pc2UucmVzb2x2ZSh2b2lkIDApXG4gICAgfTtcbiAgdmFyIG8gPSAwLCBlLCByID0gbmV3IFByb21pc2UoZnVuY3Rpb24odCkge1xuICAgIGUgPSB0O1xuICB9KSwgbiA9IG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgIHN0YXJ0OiBmdW5jdGlvbigpIHtcbiAgICB9LFxuICAgIHRyYW5zZm9ybTogZnVuY3Rpb24odCwgaSkge1xuICAgICAgcmV0dXJuIG5lKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHM7XG4gICAgICAgIHJldHVybiBhZSh0aGlzLCBmdW5jdGlvbihmKSB7XG4gICAgICAgICAgc3dpdGNoIChmLmxhYmVsKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgIHJldHVybiBbNCwgdF07XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgIHJldHVybiBzID0gZi5zZW50KCksIG8gKz0gcy5ieXRlTGVuZ3RoLCBpLmVucXVldWUodCksIFtcbiAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgLypyZXR1cm4qL1xuICAgICAgICAgICAgICBdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGZsdXNoOiBmdW5jdGlvbigpIHtcbiAgICAgIGUobyk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBib2R5OiBhLnBpcGVUaHJvdWdoKG4pLFxuICAgIGxlbmd0aDogclxuICB9O1xufVxuZnVuY3Rpb24gZmUoYSkge1xuICBpZiAodHlwZW9mIERvY3VtZW50IDwgXCJ1XCIgJiYgYSBpbnN0YW5jZW9mIERvY3VtZW50KVxuICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvY3VtZW50KS5sZW5ndGg7XG4gIGlmIChhIGluc3RhbmNlb2YgQmxvYilcbiAgICByZXR1cm4gYS5zaXplO1xuICBpZiAoYS5ieXRlTGVuZ3RoICE9PSB2b2lkIDApXG4gICAgcmV0dXJuIGEuYnl0ZUxlbmd0aDtcbiAgaWYgKGEgaW5zdGFuY2VvZiBGb3JtRGF0YSlcbiAgICByZXR1cm4gbGUoYSk7XG4gIGlmIChhIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zKVxuICAgIHJldHVybiBiKGEudG9TdHJpbmcoKSk7XG4gIGlmICh0eXBlb2YgYSA9PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBiKGEpO1xuICBVLndhcm4oXCJ1bmtub3duIGJvZHkgdHlwZVwiKTtcbn1cbnZhciBjZSA9IG5ldyBUZXh0RW5jb2RlcigpO1xuZnVuY3Rpb24gYihhKSB7XG4gIHJldHVybiBjZS5lbmNvZGUoYSkuYnl0ZUxlbmd0aDtcbn1cbmZ1bmN0aW9uIGxlKGEpIHtcbiAgdmFyIG8sIGUsIHIgPSAwO1xuICB0cnkge1xuICAgIGZvciAodmFyIG4gPSBpZShhLmVudHJpZXMoKSksIHQgPSBuLm5leHQoKTsgIXQuZG9uZTsgdCA9IG4ubmV4dCgpKSB7XG4gICAgICB2YXIgaSA9IG9lKHQudmFsdWUsIDIpLCBzID0gaVswXSwgZiA9IGlbMV07XG4gICAgICByICs9IHMubGVuZ3RoLCBmIGluc3RhbmNlb2YgQmxvYiA/IHIgKz0gZi5zaXplIDogciArPSBmLmxlbmd0aDtcbiAgICB9XG4gIH0gY2F0Y2ggKHUpIHtcbiAgICBvID0geyBlcnJvcjogdSB9O1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICB0ICYmICF0LmRvbmUgJiYgKGUgPSBuLnJldHVybikgJiYgZS5jYWxsKG4pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAobykgdGhyb3cgby5lcnJvcjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHI7XG59XG52YXIgayA9IFwiMC41Ny4yXCIsIGRlID0gLyogQF9fUFVSRV9fICovIChmdW5jdGlvbigpIHtcbiAgdmFyIGEgPSBmdW5jdGlvbihvLCBlKSB7XG4gICAgcmV0dXJuIGEgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbihyLCBuKSB7XG4gICAgICByLl9fcHJvdG9fXyA9IG47XG4gICAgfSB8fCBmdW5jdGlvbihyLCBuKSB7XG4gICAgICBmb3IgKHZhciB0IGluIG4pIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCB0KSAmJiAoclt0XSA9IG5bdF0pO1xuICAgIH0sIGEobywgZSk7XG4gIH07XG4gIHJldHVybiBmdW5jdGlvbihvLCBlKSB7XG4gICAgaWYgKHR5cGVvZiBlICE9IFwiZnVuY3Rpb25cIiAmJiBlICE9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoZSkgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xuICAgIGEobywgZSk7XG4gICAgZnVuY3Rpb24gcigpIHtcbiAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBvO1xuICAgIH1cbiAgICBvLnByb3RvdHlwZSA9IGUgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGUpIDogKHIucHJvdG90eXBlID0gZS5wcm90b3R5cGUsIG5ldyByKCkpO1xuICB9O1xufSkoKSwgaGUgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIHBlID0gZnVuY3Rpb24oYSwgbywgZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgciA9IDAsIG4gPSBvLmxlbmd0aCwgdDsgciA8IG47IHIrKylcbiAgICAodCB8fCAhKHIgaW4gbykpICYmICh0IHx8ICh0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobywgMCwgcikpLCB0W3JdID0gb1tyXSk7XG4gIHJldHVybiBhLmNvbmNhdCh0IHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG8pKTtcbn0sIFMsIHZlID0gMzAwLCBIID0gdHlwZW9mIHByb2Nlc3MgPT0gXCJvYmplY3RcIiAmJiAoKFMgPSBwcm9jZXNzLnJlbGVhc2UpID09PSBudWxsIHx8IFMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IFMubmFtZSkgPT09IFwibm9kZVwiLCBTZSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24oYSkge1xuICAgIGRlKG8sIGEpO1xuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgZSA9PT0gdm9pZCAwICYmIChlID0ge30pO1xuICAgICAgdmFyIHIgPSBhLmNhbGwodGhpcywgXCJAb3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24tZmV0Y2hcIiwgaywgZSkgfHwgdGhpcztcbiAgICAgIHJldHVybiByLmNvbXBvbmVudCA9IFwiZmV0Y2hcIiwgci52ZXJzaW9uID0gaywgci5tb2R1bGVOYW1lID0gci5jb21wb25lbnQsIHIuX3VzZWRSZXNvdXJjZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtTZXQoKSwgci5fdGFza3NDb3VudCA9IDAsIHI7XG4gICAgfVxuICAgIHJldHVybiBvLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24oKSB7XG4gICAgfSwgby5wcm90b3R5cGUuX2FkZENoaWxkU3BhbiA9IGZ1bmN0aW9uKGUsIHIpIHtcbiAgICAgIHZhciBuID0gdGhpcy50cmFjZXIuc3RhcnRTcGFuKFwiQ09SUyBQcmVmbGlnaHRcIiwge1xuICAgICAgICBzdGFydFRpbWU6IHJbVC5GRVRDSF9TVEFSVF1cbiAgICAgIH0sIGplLnNldFNwYW4oRGUuYWN0aXZlKCksIGUpKTtcbiAgICAgIHkkMShuLCByLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZU5ldHdvcmtFdmVudHMpLCBuLmVuZChyW1QuUkVTUE9OU0VfRU5EXSk7XG4gICAgfSwgby5wcm90b3R5cGUuX2FkZEZpbmFsU3BhbkF0dHJpYnV0ZXMgPSBmdW5jdGlvbihlLCByKSB7XG4gICAgICB2YXIgbiA9IEMoci51cmwpO1xuICAgICAgZS5zZXRBdHRyaWJ1dGUoSkEsIHIuc3RhdHVzKSwgci5zdGF0dXNUZXh0ICE9IG51bGwgJiYgZS5zZXRBdHRyaWJ1dGUoeS5IVFRQX1NUQVRVU19URVhULCByLnN0YXR1c1RleHQpLCBlLnNldEF0dHJpYnV0ZShxQSwgbi5ob3N0KSwgZS5zZXRBdHRyaWJ1dGUoWkEsIG4ucHJvdG9jb2wucmVwbGFjZShcIjpcIiwgXCJcIikpLCB0eXBlb2YgbmF2aWdhdG9yIDwgXCJ1XCIgJiYgZS5zZXRBdHRyaWJ1dGUoJEEsIG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9hZGRIZWFkZXJzID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgaWYgKCFiJDEociwgdGhpcy5nZXRDb25maWcoKS5wcm9wYWdhdGVUcmFjZUhlYWRlckNvcnNVcmxzKSkge1xuICAgICAgICB2YXIgbiA9IHt9O1xuICAgICAgICB5Xy5pbmplY3QoRGUuYWN0aXZlKCksIG4pLCBPYmplY3Qua2V5cyhuKS5sZW5ndGggPiAwICYmIHRoaXMuX2RpYWcuZGVidWcoXCJoZWFkZXJzIGluamVjdCBza2lwcGVkIGR1ZSB0byBDT1JTIHBvbGljeVwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXF1ZXN0KVxuICAgICAgICB5Xy5pbmplY3QoRGUuYWN0aXZlKCksIGUuaGVhZGVycywge1xuICAgICAgICAgIHNldDogZnVuY3Rpb24odCwgaSwgcykge1xuICAgICAgICAgICAgcmV0dXJuIHQuc2V0KGksIHR5cGVvZiBzID09IFwic3RyaW5nXCIgPyBzIDogU3RyaW5nKHMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgZWxzZSBpZiAoZS5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVycylcbiAgICAgICAgeV8uaW5qZWN0KERlLmFjdGl2ZSgpLCBlLmhlYWRlcnMsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHQsIGksIHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0LnNldChpLCB0eXBlb2YgcyA9PSBcInN0cmluZ1wiID8gcyA6IFN0cmluZyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGVsc2UgaWYgKGUuaGVhZGVycyBpbnN0YW5jZW9mIE1hcClcbiAgICAgICAgeV8uaW5qZWN0KERlLmFjdGl2ZSgpLCBlLmhlYWRlcnMsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHQsIGksIHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0LnNldChpLCB0eXBlb2YgcyA9PSBcInN0cmluZ1wiID8gcyA6IFN0cmluZyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGVsc2Uge1xuICAgICAgICB2YXIgbiA9IHt9O1xuICAgICAgICB5Xy5pbmplY3QoRGUuYWN0aXZlKCksIG4pLCBlLmhlYWRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBuLCBlLmhlYWRlcnMgfHwge30pO1xuICAgICAgfVxuICAgIH0sIG8ucHJvdG90eXBlLl9jbGVhclJlc291cmNlcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgdGhpcy5fdGFza3NDb3VudCA9PT0gMCAmJiB0aGlzLmdldENvbmZpZygpLmNsZWFyVGltaW5nUmVzb3VyY2VzICYmIChwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpLCB0aGlzLl91c2VkUmVzb3VyY2VzID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrU2V0KCkpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9jcmVhdGVTcGFuID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgdmFyIG47XG4gICAgICBpZiAociA9PT0gdm9pZCAwICYmIChyID0ge30pLCBaZShlLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZVVybHMpKSB7XG4gICAgICAgIHRoaXMuX2RpYWcuZGVidWcoXCJpZ25vcmluZyBzcGFuIGFzIHVybCBtYXRjaGVzIGlnbm9yZWQgdXJsXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgdCA9IChyLm1ldGhvZCB8fCBcIkdFVFwiKS50b1VwcGVyQ2FzZSgpLCBpID0gXCJIVFRQIFwiICsgdDtcbiAgICAgIHJldHVybiB0aGlzLnRyYWNlci5zdGFydFNwYW4oaSwge1xuICAgICAgICBraW5kOiBhdC5DTElFTlQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IChuID0ge30sIG5beS5DT01QT05FTlRdID0gdGhpcy5tb2R1bGVOYW1lLCBuW3hBXSA9IHQsIG5ba0FdID0gZSwgbilcbiAgICAgIH0pO1xuICAgIH0sIG8ucHJvdG90eXBlLl9maW5kUmVzb3VyY2VBbmRBZGROZXR3b3JrRXZlbnRzID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSByLmVudHJpZXM7XG4gICAgICBpZiAoIXQubGVuZ3RoKSB7XG4gICAgICAgIGlmICghcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSlcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwicmVzb3VyY2VcIik7XG4gICAgICB9XG4gICAgICB2YXIgaSA9IFYoci5zcGFuVXJsLCByLnN0YXJ0VGltZSwgbiwgdCwgdGhpcy5fdXNlZFJlc291cmNlcywgXCJmZXRjaFwiKTtcbiAgICAgIGlmIChpLm1haW5SZXF1ZXN0KSB7XG4gICAgICAgIHZhciBzID0gaS5tYWluUmVxdWVzdDtcbiAgICAgICAgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKHMpO1xuICAgICAgICB2YXIgZiA9IGkuY29yc1ByZUZsaWdodFJlcXVlc3Q7XG4gICAgICAgIGYgJiYgKHRoaXMuX2FkZENoaWxkU3BhbihlLCBmKSwgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKGYpKSwgeSQxKGUsIHMsIHRoaXMuZ2V0Q29uZmlnKCkuaWdub3JlTmV0d29ya0V2ZW50cyk7XG4gICAgICB9XG4gICAgfSwgby5wcm90b3R5cGUuX21hcmtSZXNvdXJjZUFzVXNlZCA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHRoaXMuX3VzZWRSZXNvdXJjZXMuYWRkKGUpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9lbmRTcGFuID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSB0aGlzLCBpID0gTyhEYXRlLm5vdygpKSwgcyA9IHBfKCk7XG4gICAgICB0aGlzLl9hZGRGaW5hbFNwYW5BdHRyaWJ1dGVzKGUsIG4pLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZjtcbiAgICAgICAgKGYgPSByLm9ic2VydmVyKSA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgfHwgZi5kaXNjb25uZWN0KCksIHQuX2ZpbmRSZXNvdXJjZUFuZEFkZE5ldHdvcmtFdmVudHMoZSwgciwgcyksIHQuX3Rhc2tzQ291bnQtLSwgdC5fY2xlYXJSZXNvdXJjZXMoKSwgZS5lbmQoaSk7XG4gICAgICB9LCB2ZSk7XG4gICAgfSwgby5wcm90b3R5cGUuX3BhdGNoQ29uc3RydWN0b3IgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBlID0gdGhpcztcbiAgICAgIHJldHVybiBmdW5jdGlvbihyKSB7XG4gICAgICAgIHZhciBuID0gZTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSBbXSwgcyA9IDA7IHMgPCBhcmd1bWVudHMubGVuZ3RoOyBzKyspXG4gICAgICAgICAgICBpW3NdID0gYXJndW1lbnRzW3NdO1xuICAgICAgICAgIHZhciBmID0gdGhpcywgdSA9IEMoaVswXSBpbnN0YW5jZW9mIFJlcXVlc3QgPyBpWzBdLnVybCA6IFN0cmluZyhpWzBdKSkuaHJlZiwgYyA9IGlbMF0gaW5zdGFuY2VvZiBSZXF1ZXN0ID8gaVswXSA6IGlbMV0gfHwge30sIGggPSBuLl9jcmVhdGVTcGFuKHUsIGMpO1xuICAgICAgICAgIGlmICghaClcbiAgICAgICAgICAgIHJldHVybiByLmFwcGx5KHRoaXMsIGkpO1xuICAgICAgICAgIHZhciBnID0gbi5fcHJlcGFyZVNwYW5EYXRhKHUpO1xuICAgICAgICAgIG4uZ2V0Q29uZmlnKCkubWVhc3VyZVJlcXVlc3RTaXplICYmIHNlLmFwcGx5KHZvaWQgMCwgcGUoW10sIGhlKGkpLCBmYWxzZSkpLnRoZW4oZnVuY3Rpb24obCkge1xuICAgICAgICAgICAgbCAmJiBoLnNldEF0dHJpYnV0ZShFciwgbCk7XG4gICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24obCkge1xuICAgICAgICAgICAgbi5fZGlhZy53YXJuKFwiZ2V0RmV0Y2hCb2R5TGVuZ3RoXCIsIGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGZ1bmN0aW9uIEUobCwgZCkge1xuICAgICAgICAgICAgbi5fYXBwbHlBdHRyaWJ1dGVzQWZ0ZXJGZXRjaChsLCBjLCBkKSwgbi5fZW5kU3BhbihsLCBnLCB7XG4gICAgICAgICAgICAgIHN0YXR1czogZC5zdGF0dXMgfHwgMCxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZC5tZXNzYWdlLFxuICAgICAgICAgICAgICB1cmw6IHVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiB3KGwsIGQpIHtcbiAgICAgICAgICAgIG4uX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2gobCwgYywgZCksIGQuc3RhdHVzID49IDIwMCAmJiBkLnN0YXR1cyA8IDQwMCA/IG4uX2VuZFNwYW4obCwgZywgZCkgOiBuLl9lbmRTcGFuKGwsIGcsIHtcbiAgICAgICAgICAgICAgc3RhdHVzOiBkLnN0YXR1cyxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICB1cmw6IHVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiBNKGwsIGQsIHYpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBqID0gdi5jbG9uZSgpLCBEID0gdi5jbG9uZSgpLCBSID0gai5ib2R5O1xuICAgICAgICAgICAgICBpZiAoUikge1xuICAgICAgICAgICAgICAgIHZhciBCID0gUi5nZXRSZWFkZXIoKSwgQSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgQi5yZWFkKCkudGhlbihmdW5jdGlvbihtKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBGID0gbS5kb25lO1xuICAgICAgICAgICAgICAgICAgICBGID8gdyhsLCBEKSA6IEEoKTtcbiAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKG0pIHtcbiAgICAgICAgICAgICAgICAgICAgRShsLCBtKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQSgpO1xuICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICB3KGwsIHYpO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgZCh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gTChsLCBkLCB2KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBFKGwsIHYpO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgZCh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsIGQpIHtcbiAgICAgICAgICAgIHJldHVybiBEZS53aXRoKGplLnNldFNwYW4oRGUuYWN0aXZlKCksIGgpLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG4uX2FkZEhlYWRlcnMoYywgdSksIG4uX3Rhc2tzQ291bnQrKywgci5hcHBseShmLCBjIGluc3RhbmNlb2YgUmVxdWVzdCA/IFtjXSA6IFt1LCBjXSkudGhlbihNLmJpbmQoZiwgaCwgbCksIEwuYmluZChmLCBoLCBkKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfSwgby5wcm90b3R5cGUuX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2ggPSBmdW5jdGlvbihlLCByLCBuKSB7XG4gICAgICB2YXIgdCA9IHRoaXMsIGkgPSB0aGlzLmdldENvbmZpZygpLmFwcGx5Q3VzdG9tQXR0cmlidXRlc09uU3BhbjtcbiAgICAgIGkgJiYgQihmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGkoZSwgciwgbik7XG4gICAgICB9LCBmdW5jdGlvbihzKSB7XG4gICAgICAgIHMgJiYgdC5fZGlhZy5lcnJvcihcImFwcGx5Q3VzdG9tQXR0cmlidXRlc09uU3BhblwiLCBzKTtcbiAgICAgIH0pO1xuICAgIH0sIG8ucHJvdG90eXBlLl9wcmVwYXJlU3BhbkRhdGEgPSBmdW5jdGlvbihlKSB7XG4gICAgICB2YXIgciA9IHBfKCksIG4gPSBbXTtcbiAgICAgIGlmICh0eXBlb2YgUGVyZm9ybWFuY2VPYnNlcnZlciAhPSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIHJldHVybiB7IGVudHJpZXM6IG4sIHN0YXJ0VGltZTogciwgc3BhblVybDogZSB9O1xuICAgICAgdmFyIHQgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihpKSB7XG4gICAgICAgIHZhciBzID0gaS5nZXRFbnRyaWVzKCk7XG4gICAgICAgIHMuZm9yRWFjaChmdW5jdGlvbihmKSB7XG4gICAgICAgICAgZi5pbml0aWF0b3JUeXBlID09PSBcImZldGNoXCIgJiYgZi5uYW1lID09PSBlICYmIG4ucHVzaChmKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0Lm9ic2VydmUoe1xuICAgICAgICBlbnRyeVR5cGVzOiBbXCJyZXNvdXJjZVwiXVxuICAgICAgfSksIHsgZW50cmllczogbiwgb2JzZXJ2ZXI6IHQsIHN0YXJ0VGltZTogciwgc3BhblVybDogZSB9O1xuICAgIH0sIG8ucHJvdG90eXBlLmVuYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKEgpIHtcbiAgICAgICAgdGhpcy5fZGlhZy53YXJuKFwidGhpcyBpbnN0cnVtZW50YXRpb24gaXMgaW50ZW5kZWQgZm9yIHdlYiB1c2FnZSBvbmx5LCBpdCBkb2VzIG5vdCBpbnN0cnVtZW50IE5vZGUuanMncyBmZXRjaCgpXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBVJDEoZmV0Y2gpICYmICh0aGlzLl91bndyYXAoaF8sIFwiZmV0Y2hcIiksIHRoaXMuX2RpYWcuZGVidWcoXCJyZW1vdmluZyBwcmV2aW91cyBwYXRjaCBmb3IgY29uc3RydWN0b3JcIikpLCB0aGlzLl93cmFwKGhfLCBcImZldGNoXCIsIHRoaXMuX3BhdGNoQ29uc3RydWN0b3IoKSk7XG4gICAgfSwgby5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgSCB8fCAodGhpcy5fdW53cmFwKGhfLCBcImZldGNoXCIpLCB0aGlzLl91c2VkUmVzb3VyY2VzID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrU2V0KCkpO1xuICAgIH0sIG87XG4gIH0pKFcpXG4pO1xuXG5leHBvcnQgeyBTZSBhcyBGZXRjaEluc3RydW1lbnRhdGlvbiB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBQUEsU0FBUztBQUNsQixTQUFTLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUFDLEdBQUcsS0FBS0MsR0FBSSxLQUFLQyxTQUFVO0FBQ3JILFNBQVMsS0FBQUMsR0FBRyxLQUFLQyxHQUFLLEtBQUFDLFNBQVM7QUFDL0IsU0FBUyxLQUFBQyxHQUFHLEtBQUtDLEdBQUssS0FBQUMsR0FBRyxLQUFLQyxHQUFLLEtBQUFDLFVBQVM7QUFDNUMsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsVUFBVTtBQUUxQyxJQUFJQztBQUFBLENBQ0gsU0FBU0MsR0FBRztBQUNYLEVBQUFBLEVBQUUsWUFBWSxhQUFhQSxFQUFFLGtCQUFrQixtQkFBbUJBLEVBQUUsbUJBQW1CO0FBQ3pGLEdBQUdELE1BQU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlFLEtBQUssU0FBU0QsR0FBR0UsR0FBR0MsR0FBRzVCLEdBQUc7QUFDNUIsV0FBUzZCLEVBQUVDLEdBQUc7QUFDWixXQUFPQSxhQUFhRixJQUFJRSxJQUFJLElBQUlGLEVBQUUsU0FBU0csR0FBRztBQUM1QyxNQUFBQSxFQUFFRCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sS0FBS0YsTUFBTUEsSUFBSSxVQUFVLFNBQVNFLEdBQUdDLEdBQUc7QUFDN0MsYUFBU0MsRUFBRUMsR0FBRztBQUNaLFVBQUk7QUFDRixVQUFFakMsRUFBRSxLQUFLaUMsQ0FBQyxDQUFDO0FBQUEsTUFDYixTQUFTQyxHQUFHO0FBQ1YsUUFBQUgsRUFBRUcsQ0FBQztBQUFBLE1BQ0w7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O0FBQ0wsYUFBSyxNQUFNLEtBQUssK0ZBQStGO0FBQy9HO0FBQUEsTUFDRjtBQUNBLE1BQUFyQyxFQUFJLEtBQUssTUFBTSxLQUFLLFFBQVFGLEdBQUksT0FBTyxHQUFHLEtBQUssTUFBTSxNQUFNLHlDQUF5QyxJQUFJLEtBQUssTUFBTUEsR0FBSSxTQUFTLEtBQUssa0JBQWtCLENBQUM7QUFBQSxJQUMxSixHQUFHZSxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUF3QixNQUFNLEtBQUssUUFBUXZDLEdBQUksT0FBTyxHQUFHLEtBQUssaUJBQWlDLG9CQUFJLFFBQVE7QUFBQSxJQUNyRixHQUFHZTtBQUFBLEVBQ0wsR0FBR1osQ0FBQztBQUFBOyIsCiAgIm5hbWVzIjogWyJyIiwgIkpBIiwgInFBIiwgIlpBIiwgIiRBIiwgInlfIiwgIlplIiwgInhBIiwgImtBIiwgInBfIiwgIk8iLCAiRXIiLCAiaF8iLCAiQiIsICJVJDEiLCAiVyIsICJUIiwgInkkMSIsICJDIiwgImIkMSIsICJWIiwgImplIiwgIkRlIiwgImF0IiwgInkiLCAiYSIsICJuZSIsICJvIiwgImUiLCAibiIsICJ0IiwgImkiLCAicyIsICJjIiwgImgiLCAiZiIsICJhZSIsICJpZSIsICJvZSIsICJzZSIsICJ1ZSIsICJmZSIsICJiIiwgImxlIiwgImNlIiwgImsiLCAiZGUiLCAiaGUiLCAicGUiLCAiUyIsICJ2ZSIsICJIIiwgIlNlIiwgInUiLCAiZyIsICJsIiwgIkUiLCAiZCIsICJNIiwgInYiLCAiaiIsICJEIiwgIlIiLCAiQSIsICJGIiwgIkwiXQp9Cg==
|
|
430
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtYmVKcWxxaTQtIX57MDA5fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLUQwRUhrYl9PLSF+ezAwYX1+LmpzJztcbmltcG9ydCB7IEogYXMgSkEsIHEgYXMgcUEsIFogYXMgWkEsICQgYXMgJEEsIHkgYXMgeV8sIGEgYXMgWmUsIHggYXMgeEEsIGsgYXMga0EsIHAgYXMgcF8sIE8sIEUgYXMgRXIsIGggYXMgaF8gfSBmcm9tICcuL3VybC1BR21QT24zcC0hfnswMGJ9fi5qcyc7XG5pbXBvcnQgeyBCLCBVIGFzIFUkMSwgVyB9IGZyb20gJy4vdXRpbHMtQmo5NnpQa0EtIX57MDBjfX4uanMnO1xuaW1wb3J0IHsgVCwgeSBhcyB5JDEsIEMsIGIgYXMgYiQxLCBWIH0gZnJvbSAnLi91dGlscy1DZGdUNV9SUy0hfnswMDh9fi5qcyc7XG5pbXBvcnQgeyBHIGFzIEdlLCBPIGFzIE9lLCBsIGFzIGx0IH0gZnJvbSAnLi9pbmRleC0hfnswMDd9fi5qcyc7XG5cbnZhciB5O1xuKGZ1bmN0aW9uKGEpIHtcbiAgYS5DT01QT05FTlQgPSBcImNvbXBvbmVudFwiLCBhLkhUVFBfRVJST1JfTkFNRSA9IFwiaHR0cC5lcnJvcl9uYW1lXCIsIGEuSFRUUF9TVEFUVVNfVEVYVCA9IFwiaHR0cC5zdGF0dXNfdGV4dFwiO1xufSkoeSB8fCAoeSA9IHt9KSk7XG52YXIgbmUgPSBmdW5jdGlvbihhLCBvLCBlLCByKSB7XG4gIGZ1bmN0aW9uIG4odCkge1xuICAgIHJldHVybiB0IGluc3RhbmNlb2YgZSA/IHQgOiBuZXcgZShmdW5jdGlvbihpKSB7XG4gICAgICBpKHQpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBuZXcgKGUgfHwgKGUgPSBQcm9taXNlKSkoZnVuY3Rpb24odCwgaSkge1xuICAgIGZ1bmN0aW9uIHMoYykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdShyLm5leHQoYykpO1xuICAgICAgfSBjYXRjaCAoaCkge1xuICAgICAgICBpKGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmKGMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHUoci50aHJvdyhjKSk7XG4gICAgICB9IGNhdGNoIChoKSB7XG4gICAgICAgIGkoaCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHUoYykge1xuICAgICAgYy5kb25lID8gdChjLnZhbHVlKSA6IG4oYy52YWx1ZSkudGhlbihzLCBmKTtcbiAgICB9XG4gICAgdSgociA9IHIuYXBwbHkoYSwgW10pKS5uZXh0KCkpO1xuICB9KTtcbn0sIGFlID0gZnVuY3Rpb24oYSwgbykge1xuICB2YXIgZSA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkge1xuICAgIGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTtcbiAgICByZXR1cm4gdFsxXTtcbiAgfSwgdHJ5czogW10sIG9wczogW10gfSwgciwgbiwgdCwgaTtcbiAgcmV0dXJuIGkgPSB7IG5leHQ6IHMoMCksIHRocm93OiBzKDEpLCByZXR1cm46IHMoMikgfSwgdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgKGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9KSwgaTtcbiAgZnVuY3Rpb24gcyh1KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGMpIHtcbiAgICAgIHJldHVybiBmKFt1LCBjXSk7XG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiBmKHUpIHtcbiAgICBpZiAocikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgZm9yICg7IGU7ICkgdHJ5IHtcbiAgICAgIGlmIChyID0gMSwgbiAmJiAodCA9IHVbMF0gJiAyID8gbi5yZXR1cm4gOiB1WzBdID8gbi50aHJvdyB8fCAoKHQgPSBuLnJldHVybikgJiYgdC5jYWxsKG4pLCAwKSA6IG4ubmV4dCkgJiYgISh0ID0gdC5jYWxsKG4sIHVbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgIHN3aXRjaCAobiA9IDAsIHQgJiYgKHUgPSBbdVswXSAmIDIsIHQudmFsdWVdKSwgdVswXSkge1xuICAgICAgICBjYXNlIDA6XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICB0ID0gdTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSA0OlxuICAgICAgICAgIHJldHVybiBlLmxhYmVsKyssIHsgdmFsdWU6IHVbMV0sIGRvbmU6ICExIH07XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICBlLmxhYmVsKyssIG4gPSB1WzFdLCB1ID0gWzBdO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDc6XG4gICAgICAgICAgdSA9IGUub3BzLnBvcCgpLCBlLnRyeXMucG9wKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaWYgKHQgPSBlLnRyeXMsICEodCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmICh1WzBdID09PSA2IHx8IHVbMF0gPT09IDIpKSB7XG4gICAgICAgICAgICBlID0gMDtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodVswXSA9PT0gMyAmJiAoIXQgfHwgdVsxXSA+IHRbMF0gJiYgdVsxXSA8IHRbM10pKSB7XG4gICAgICAgICAgICBlLmxhYmVsID0gdVsxXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodVswXSA9PT0gNiAmJiBlLmxhYmVsIDwgdFsxXSkge1xuICAgICAgICAgICAgZS5sYWJlbCA9IHRbMV0sIHQgPSB1O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0ICYmIGUubGFiZWwgPCB0WzJdKSB7XG4gICAgICAgICAgICBlLmxhYmVsID0gdFsyXSwgZS5vcHMucHVzaCh1KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0WzJdICYmIGUub3BzLnBvcCgpLCBlLnRyeXMucG9wKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB1ID0gby5jYWxsKGEsIGUpO1xuICAgIH0gY2F0Y2ggKGMpIHtcbiAgICAgIHUgPSBbNiwgY10sIG4gPSAwO1xuICAgIH0gZmluYWxseSB7XG4gICAgICByID0gdCA9IDA7XG4gICAgfVxuICAgIGlmICh1WzBdICYgNSkgdGhyb3cgdVsxXTtcbiAgICByZXR1cm4geyB2YWx1ZTogdVswXSA/IHVbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcbiAgfVxufSwgaWUgPSBmdW5jdGlvbihhKSB7XG4gIHZhciBvID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBlID0gbyAmJiBhW29dLCByID0gMDtcbiAgaWYgKGUpIHJldHVybiBlLmNhbGwoYSk7XG4gIGlmIChhICYmIHR5cGVvZiBhLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGEgJiYgciA+PSBhLmxlbmd0aCAmJiAoYSA9IHZvaWQgMCksIHsgdmFsdWU6IGEgJiYgYVtyKytdLCBkb25lOiAhYSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihvID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgb2UgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIFUgPSByLmNyZWF0ZUNvbXBvbmVudExvZ2dlcih7XG4gIG5hbWVzcGFjZTogXCJAb3BlbnRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWluc3RydW1lbnRhdGlvbi1mZXRjaC91dGlsc1wiXG59KTtcbmZ1bmN0aW9uIHNlKCkge1xuICBmb3IgKHZhciBhID0gW10sIG8gPSAwOyBvIDwgYXJndW1lbnRzLmxlbmd0aDsgbysrKVxuICAgIGFbb10gPSBhcmd1bWVudHNbb107XG4gIGlmIChhWzBdIGluc3RhbmNlb2YgVVJMIHx8IHR5cGVvZiBhWzBdID09IFwic3RyaW5nXCIpIHtcbiAgICB2YXIgZSA9IGFbMV07XG4gICAgaWYgKCFlPy5ib2R5KVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIGlmIChlLmJvZHkgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSkge1xuICAgICAgdmFyIHIgPSB1ZShlLmJvZHkpLCBuID0gci5ib2R5LCB0ID0gci5sZW5ndGg7XG4gICAgICByZXR1cm4gZS5ib2R5ID0gbiwgdDtcbiAgICB9IGVsc2VcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmUoZS5ib2R5KSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGkgPSBhWzBdO1xuICAgIHJldHVybiBpPy5ib2R5ID8gaS5jbG9uZSgpLnRleHQoKS50aGVuKGZ1bmN0aW9uKHMpIHtcbiAgICAgIHJldHVybiBiKHMpO1xuICAgIH0pIDogUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbn1cbmZ1bmN0aW9uIHVlKGEpIHtcbiAgaWYgKCFhLnBpcGVUaHJvdWdoKVxuICAgIHJldHVybiBVLndhcm4oXCJQbGF0Zm9ybSBoYXMgUmVhZGFibGVTdHJlYW0gYnV0IG5vdCBwaXBlVGhyb3VnaCFcIiksIHtcbiAgICAgIGJvZHk6IGEsXG4gICAgICBsZW5ndGg6IFByb21pc2UucmVzb2x2ZSh2b2lkIDApXG4gICAgfTtcbiAgdmFyIG8gPSAwLCBlLCByID0gbmV3IFByb21pc2UoZnVuY3Rpb24odCkge1xuICAgIGUgPSB0O1xuICB9KSwgbiA9IG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgIHN0YXJ0OiBmdW5jdGlvbigpIHtcbiAgICB9LFxuICAgIHRyYW5zZm9ybTogZnVuY3Rpb24odCwgaSkge1xuICAgICAgcmV0dXJuIG5lKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHM7XG4gICAgICAgIHJldHVybiBhZSh0aGlzLCBmdW5jdGlvbihmKSB7XG4gICAgICAgICAgc3dpdGNoIChmLmxhYmVsKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgIHJldHVybiBbNCwgdF07XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgIHJldHVybiBzID0gZi5zZW50KCksIG8gKz0gcy5ieXRlTGVuZ3RoLCBpLmVucXVldWUodCksIFtcbiAgICAgICAgICAgICAgICAyXG4gICAgICAgICAgICAgICAgLypyZXR1cm4qL1xuICAgICAgICAgICAgICBdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGZsdXNoOiBmdW5jdGlvbigpIHtcbiAgICAgIGUobyk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBib2R5OiBhLnBpcGVUaHJvdWdoKG4pLFxuICAgIGxlbmd0aDogclxuICB9O1xufVxuZnVuY3Rpb24gZmUoYSkge1xuICBpZiAodHlwZW9mIERvY3VtZW50IDwgXCJ1XCIgJiYgYSBpbnN0YW5jZW9mIERvY3VtZW50KVxuICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKGRvY3VtZW50KS5sZW5ndGg7XG4gIGlmIChhIGluc3RhbmNlb2YgQmxvYilcbiAgICByZXR1cm4gYS5zaXplO1xuICBpZiAoYS5ieXRlTGVuZ3RoICE9PSB2b2lkIDApXG4gICAgcmV0dXJuIGEuYnl0ZUxlbmd0aDtcbiAgaWYgKGEgaW5zdGFuY2VvZiBGb3JtRGF0YSlcbiAgICByZXR1cm4gbGUoYSk7XG4gIGlmIChhIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zKVxuICAgIHJldHVybiBiKGEudG9TdHJpbmcoKSk7XG4gIGlmICh0eXBlb2YgYSA9PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBiKGEpO1xuICBVLndhcm4oXCJ1bmtub3duIGJvZHkgdHlwZVwiKTtcbn1cbnZhciBjZSA9IG5ldyBUZXh0RW5jb2RlcigpO1xuZnVuY3Rpb24gYihhKSB7XG4gIHJldHVybiBjZS5lbmNvZGUoYSkuYnl0ZUxlbmd0aDtcbn1cbmZ1bmN0aW9uIGxlKGEpIHtcbiAgdmFyIG8sIGUsIHIgPSAwO1xuICB0cnkge1xuICAgIGZvciAodmFyIG4gPSBpZShhLmVudHJpZXMoKSksIHQgPSBuLm5leHQoKTsgIXQuZG9uZTsgdCA9IG4ubmV4dCgpKSB7XG4gICAgICB2YXIgaSA9IG9lKHQudmFsdWUsIDIpLCBzID0gaVswXSwgZiA9IGlbMV07XG4gICAgICByICs9IHMubGVuZ3RoLCBmIGluc3RhbmNlb2YgQmxvYiA/IHIgKz0gZi5zaXplIDogciArPSBmLmxlbmd0aDtcbiAgICB9XG4gIH0gY2F0Y2ggKHUpIHtcbiAgICBvID0geyBlcnJvcjogdSB9O1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICB0ICYmICF0LmRvbmUgJiYgKGUgPSBuLnJldHVybikgJiYgZS5jYWxsKG4pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAobykgdGhyb3cgby5lcnJvcjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHI7XG59XG52YXIgayA9IFwiMC41Ny4yXCIsIGRlID0gLyogQF9fUFVSRV9fICovIChmdW5jdGlvbigpIHtcbiAgdmFyIGEgPSBmdW5jdGlvbihvLCBlKSB7XG4gICAgcmV0dXJuIGEgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbihyLCBuKSB7XG4gICAgICByLl9fcHJvdG9fXyA9IG47XG4gICAgfSB8fCBmdW5jdGlvbihyLCBuKSB7XG4gICAgICBmb3IgKHZhciB0IGluIG4pIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLCB0KSAmJiAoclt0XSA9IG5bdF0pO1xuICAgIH0sIGEobywgZSk7XG4gIH07XG4gIHJldHVybiBmdW5jdGlvbihvLCBlKSB7XG4gICAgaWYgKHR5cGVvZiBlICE9IFwiZnVuY3Rpb25cIiAmJiBlICE9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNsYXNzIGV4dGVuZHMgdmFsdWUgXCIgKyBTdHJpbmcoZSkgKyBcIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXCIpO1xuICAgIGEobywgZSk7XG4gICAgZnVuY3Rpb24gcigpIHtcbiAgICAgIHRoaXMuY29uc3RydWN0b3IgPSBvO1xuICAgIH1cbiAgICBvLnByb3RvdHlwZSA9IGUgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGUpIDogKHIucHJvdG90eXBlID0gZS5wcm90b3R5cGUsIG5ldyByKCkpO1xuICB9O1xufSkoKSwgaGUgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIHBlID0gZnVuY3Rpb24oYSwgbywgZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgciA9IDAsIG4gPSBvLmxlbmd0aCwgdDsgciA8IG47IHIrKylcbiAgICAodCB8fCAhKHIgaW4gbykpICYmICh0IHx8ICh0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobywgMCwgcikpLCB0W3JdID0gb1tyXSk7XG4gIHJldHVybiBhLmNvbmNhdCh0IHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG8pKTtcbn0sIFMsIHZlID0gMzAwLCBIID0gdHlwZW9mIHByb2Nlc3MgPT0gXCJvYmplY3RcIiAmJiAoKFMgPSBwcm9jZXNzLnJlbGVhc2UpID09PSBudWxsIHx8IFMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IFMubmFtZSkgPT09IFwibm9kZVwiLCBTZSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24oYSkge1xuICAgIGRlKG8sIGEpO1xuICAgIGZ1bmN0aW9uIG8oZSkge1xuICAgICAgZSA9PT0gdm9pZCAwICYmIChlID0ge30pO1xuICAgICAgdmFyIHIgPSBhLmNhbGwodGhpcywgXCJAb3BlbnRlbGVtZXRyeS9pbnN0cnVtZW50YXRpb24tZmV0Y2hcIiwgaywgZSkgfHwgdGhpcztcbiAgICAgIHJldHVybiByLmNvbXBvbmVudCA9IFwiZmV0Y2hcIiwgci52ZXJzaW9uID0gaywgci5tb2R1bGVOYW1lID0gci5jb21wb25lbnQsIHIuX3VzZWRSZXNvdXJjZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtTZXQoKSwgci5fdGFza3NDb3VudCA9IDAsIHI7XG4gICAgfVxuICAgIHJldHVybiBvLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24oKSB7XG4gICAgfSwgby5wcm90b3R5cGUuX2FkZENoaWxkU3BhbiA9IGZ1bmN0aW9uKGUsIHIpIHtcbiAgICAgIHZhciBuID0gdGhpcy50cmFjZXIuc3RhcnRTcGFuKFwiQ09SUyBQcmVmbGlnaHRcIiwge1xuICAgICAgICBzdGFydFRpbWU6IHJbVC5GRVRDSF9TVEFSVF1cbiAgICAgIH0sIEdlLnNldFNwYW4oT2UuYWN0aXZlKCksIGUpKTtcbiAgICAgIHkkMShuLCByLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZU5ldHdvcmtFdmVudHMpLCBuLmVuZChyW1QuUkVTUE9OU0VfRU5EXSk7XG4gICAgfSwgby5wcm90b3R5cGUuX2FkZEZpbmFsU3BhbkF0dHJpYnV0ZXMgPSBmdW5jdGlvbihlLCByKSB7XG4gICAgICB2YXIgbiA9IEMoci51cmwpO1xuICAgICAgZS5zZXRBdHRyaWJ1dGUoSkEsIHIuc3RhdHVzKSwgci5zdGF0dXNUZXh0ICE9IG51bGwgJiYgZS5zZXRBdHRyaWJ1dGUoeS5IVFRQX1NUQVRVU19URVhULCByLnN0YXR1c1RleHQpLCBlLnNldEF0dHJpYnV0ZShxQSwgbi5ob3N0KSwgZS5zZXRBdHRyaWJ1dGUoWkEsIG4ucHJvdG9jb2wucmVwbGFjZShcIjpcIiwgXCJcIikpLCB0eXBlb2YgbmF2aWdhdG9yIDwgXCJ1XCIgJiYgZS5zZXRBdHRyaWJ1dGUoJEEsIG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9hZGRIZWFkZXJzID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgaWYgKCFiJDEociwgdGhpcy5nZXRDb25maWcoKS5wcm9wYWdhdGVUcmFjZUhlYWRlckNvcnNVcmxzKSkge1xuICAgICAgICB2YXIgbiA9IHt9O1xuICAgICAgICB5Xy5pbmplY3QoT2UuYWN0aXZlKCksIG4pLCBPYmplY3Qua2V5cyhuKS5sZW5ndGggPiAwICYmIHRoaXMuX2RpYWcuZGVidWcoXCJoZWFkZXJzIGluamVjdCBza2lwcGVkIGR1ZSB0byBDT1JTIHBvbGljeVwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBSZXF1ZXN0KVxuICAgICAgICB5Xy5pbmplY3QoT2UuYWN0aXZlKCksIGUuaGVhZGVycywge1xuICAgICAgICAgIHNldDogZnVuY3Rpb24odCwgaSwgcykge1xuICAgICAgICAgICAgcmV0dXJuIHQuc2V0KGksIHR5cGVvZiBzID09IFwic3RyaW5nXCIgPyBzIDogU3RyaW5nKHMpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgZWxzZSBpZiAoZS5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVycylcbiAgICAgICAgeV8uaW5qZWN0KE9lLmFjdGl2ZSgpLCBlLmhlYWRlcnMsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHQsIGksIHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0LnNldChpLCB0eXBlb2YgcyA9PSBcInN0cmluZ1wiID8gcyA6IFN0cmluZyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGVsc2UgaWYgKGUuaGVhZGVycyBpbnN0YW5jZW9mIE1hcClcbiAgICAgICAgeV8uaW5qZWN0KE9lLmFjdGl2ZSgpLCBlLmhlYWRlcnMsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHQsIGksIHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0LnNldChpLCB0eXBlb2YgcyA9PSBcInN0cmluZ1wiID8gcyA6IFN0cmluZyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGVsc2Uge1xuICAgICAgICB2YXIgbiA9IHt9O1xuICAgICAgICB5Xy5pbmplY3QoT2UuYWN0aXZlKCksIG4pLCBlLmhlYWRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBuLCBlLmhlYWRlcnMgfHwge30pO1xuICAgICAgfVxuICAgIH0sIG8ucHJvdG90eXBlLl9jbGVhclJlc291cmNlcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgdGhpcy5fdGFza3NDb3VudCA9PT0gMCAmJiB0aGlzLmdldENvbmZpZygpLmNsZWFyVGltaW5nUmVzb3VyY2VzICYmIChwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpLCB0aGlzLl91c2VkUmVzb3VyY2VzID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrU2V0KCkpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9jcmVhdGVTcGFuID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgdmFyIG47XG4gICAgICBpZiAociA9PT0gdm9pZCAwICYmIChyID0ge30pLCBaZShlLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZVVybHMpKSB7XG4gICAgICAgIHRoaXMuX2RpYWcuZGVidWcoXCJpZ25vcmluZyBzcGFuIGFzIHVybCBtYXRjaGVzIGlnbm9yZWQgdXJsXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgdCA9IChyLm1ldGhvZCB8fCBcIkdFVFwiKS50b1VwcGVyQ2FzZSgpLCBpID0gXCJIVFRQIFwiICsgdDtcbiAgICAgIHJldHVybiB0aGlzLnRyYWNlci5zdGFydFNwYW4oaSwge1xuICAgICAgICBraW5kOiBsdC5DTElFTlQsXG4gICAgICAgIGF0dHJpYnV0ZXM6IChuID0ge30sIG5beS5DT01QT05FTlRdID0gdGhpcy5tb2R1bGVOYW1lLCBuW3hBXSA9IHQsIG5ba0FdID0gZSwgbilcbiAgICAgIH0pO1xuICAgIH0sIG8ucHJvdG90eXBlLl9maW5kUmVzb3VyY2VBbmRBZGROZXR3b3JrRXZlbnRzID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSByLmVudHJpZXM7XG4gICAgICBpZiAoIXQubGVuZ3RoKSB7XG4gICAgICAgIGlmICghcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSlcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIHQgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwicmVzb3VyY2VcIik7XG4gICAgICB9XG4gICAgICB2YXIgaSA9IFYoci5zcGFuVXJsLCByLnN0YXJ0VGltZSwgbiwgdCwgdGhpcy5fdXNlZFJlc291cmNlcywgXCJmZXRjaFwiKTtcbiAgICAgIGlmIChpLm1haW5SZXF1ZXN0KSB7XG4gICAgICAgIHZhciBzID0gaS5tYWluUmVxdWVzdDtcbiAgICAgICAgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKHMpO1xuICAgICAgICB2YXIgZiA9IGkuY29yc1ByZUZsaWdodFJlcXVlc3Q7XG4gICAgICAgIGYgJiYgKHRoaXMuX2FkZENoaWxkU3BhbihlLCBmKSwgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKGYpKSwgeSQxKGUsIHMsIHRoaXMuZ2V0Q29uZmlnKCkuaWdub3JlTmV0d29ya0V2ZW50cyk7XG4gICAgICB9XG4gICAgfSwgby5wcm90b3R5cGUuX21hcmtSZXNvdXJjZUFzVXNlZCA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHRoaXMuX3VzZWRSZXNvdXJjZXMuYWRkKGUpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9lbmRTcGFuID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSB0aGlzLCBpID0gTyhEYXRlLm5vdygpKSwgcyA9IHBfKCk7XG4gICAgICB0aGlzLl9hZGRGaW5hbFNwYW5BdHRyaWJ1dGVzKGUsIG4pLCBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZjtcbiAgICAgICAgKGYgPSByLm9ic2VydmVyKSA9PT0gbnVsbCB8fCBmID09PSB2b2lkIDAgfHwgZi5kaXNjb25uZWN0KCksIHQuX2ZpbmRSZXNvdXJjZUFuZEFkZE5ldHdvcmtFdmVudHMoZSwgciwgcyksIHQuX3Rhc2tzQ291bnQtLSwgdC5fY2xlYXJSZXNvdXJjZXMoKSwgZS5lbmQoaSk7XG4gICAgICB9LCB2ZSk7XG4gICAgfSwgby5wcm90b3R5cGUuX3BhdGNoQ29uc3RydWN0b3IgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBlID0gdGhpcztcbiAgICAgIHJldHVybiBmdW5jdGlvbihyKSB7XG4gICAgICAgIHZhciBuID0gZTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGZvciAodmFyIGkgPSBbXSwgcyA9IDA7IHMgPCBhcmd1bWVudHMubGVuZ3RoOyBzKyspXG4gICAgICAgICAgICBpW3NdID0gYXJndW1lbnRzW3NdO1xuICAgICAgICAgIHZhciBmID0gdGhpcywgdSA9IEMoaVswXSBpbnN0YW5jZW9mIFJlcXVlc3QgPyBpWzBdLnVybCA6IFN0cmluZyhpWzBdKSkuaHJlZiwgYyA9IGlbMF0gaW5zdGFuY2VvZiBSZXF1ZXN0ID8gaVswXSA6IGlbMV0gfHwge30sIGggPSBuLl9jcmVhdGVTcGFuKHUsIGMpO1xuICAgICAgICAgIGlmICghaClcbiAgICAgICAgICAgIHJldHVybiByLmFwcGx5KHRoaXMsIGkpO1xuICAgICAgICAgIHZhciBnID0gbi5fcHJlcGFyZVNwYW5EYXRhKHUpO1xuICAgICAgICAgIG4uZ2V0Q29uZmlnKCkubWVhc3VyZVJlcXVlc3RTaXplICYmIHNlLmFwcGx5KHZvaWQgMCwgcGUoW10sIGhlKGkpLCBmYWxzZSkpLnRoZW4oZnVuY3Rpb24obCkge1xuICAgICAgICAgICAgbCAmJiBoLnNldEF0dHJpYnV0ZShFciwgbCk7XG4gICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24obCkge1xuICAgICAgICAgICAgbi5fZGlhZy53YXJuKFwiZ2V0RmV0Y2hCb2R5TGVuZ3RoXCIsIGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGZ1bmN0aW9uIEUobCwgZCkge1xuICAgICAgICAgICAgbi5fYXBwbHlBdHRyaWJ1dGVzQWZ0ZXJGZXRjaChsLCBjLCBkKSwgbi5fZW5kU3BhbihsLCBnLCB7XG4gICAgICAgICAgICAgIHN0YXR1czogZC5zdGF0dXMgfHwgMCxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZC5tZXNzYWdlLFxuICAgICAgICAgICAgICB1cmw6IHVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiB3KGwsIGQpIHtcbiAgICAgICAgICAgIG4uX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2gobCwgYywgZCksIGQuc3RhdHVzID49IDIwMCAmJiBkLnN0YXR1cyA8IDQwMCA/IG4uX2VuZFNwYW4obCwgZywgZCkgOiBuLl9lbmRTcGFuKGwsIGcsIHtcbiAgICAgICAgICAgICAgc3RhdHVzOiBkLnN0YXR1cyxcbiAgICAgICAgICAgICAgc3RhdHVzVGV4dDogZC5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgICB1cmw6IHVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBmdW5jdGlvbiBNKGwsIGQsIHYpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHZhciBqID0gdi5jbG9uZSgpLCBEID0gdi5jbG9uZSgpLCBSID0gai5ib2R5O1xuICAgICAgICAgICAgICBpZiAoUikge1xuICAgICAgICAgICAgICAgIHZhciBCID0gUi5nZXRSZWFkZXIoKSwgQSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgQi5yZWFkKCkudGhlbihmdW5jdGlvbihtKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBGID0gbS5kb25lO1xuICAgICAgICAgICAgICAgICAgICBGID8gdyhsLCBEKSA6IEEoKTtcbiAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKG0pIHtcbiAgICAgICAgICAgICAgICAgICAgRShsLCBtKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQSgpO1xuICAgICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgICB3KGwsIHYpO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgZCh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gTChsLCBkLCB2KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBFKGwsIHYpO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgZCh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsIGQpIHtcbiAgICAgICAgICAgIHJldHVybiBPZS53aXRoKEdlLnNldFNwYW4oT2UuYWN0aXZlKCksIGgpLCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG4uX2FkZEhlYWRlcnMoYywgdSksIG4uX3Rhc2tzQ291bnQrKywgci5hcHBseShmLCBjIGluc3RhbmNlb2YgUmVxdWVzdCA/IFtjXSA6IFt1LCBjXSkudGhlbihNLmJpbmQoZiwgaCwgbCksIEwuYmluZChmLCBoLCBkKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfSwgby5wcm90b3R5cGUuX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2ggPSBmdW5jdGlvbihlLCByLCBuKSB7XG4gICAgICB2YXIgdCA9IHRoaXMsIGkgPSB0aGlzLmdldENvbmZpZygpLmFwcGx5Q3VzdG9tQXR0cmlidXRlc09uU3BhbjtcbiAgICAgIGkgJiYgQihmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGkoZSwgciwgbik7XG4gICAgICB9LCBmdW5jdGlvbihzKSB7XG4gICAgICAgIHMgJiYgdC5fZGlhZy5lcnJvcihcImFwcGx5Q3VzdG9tQXR0cmlidXRlc09uU3BhblwiLCBzKTtcbiAgICAgIH0pO1xuICAgIH0sIG8ucHJvdG90eXBlLl9wcmVwYXJlU3BhbkRhdGEgPSBmdW5jdGlvbihlKSB7XG4gICAgICB2YXIgciA9IHBfKCksIG4gPSBbXTtcbiAgICAgIGlmICh0eXBlb2YgUGVyZm9ybWFuY2VPYnNlcnZlciAhPSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIHJldHVybiB7IGVudHJpZXM6IG4sIHN0YXJ0VGltZTogciwgc3BhblVybDogZSB9O1xuICAgICAgdmFyIHQgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihpKSB7XG4gICAgICAgIHZhciBzID0gaS5nZXRFbnRyaWVzKCk7XG4gICAgICAgIHMuZm9yRWFjaChmdW5jdGlvbihmKSB7XG4gICAgICAgICAgZi5pbml0aWF0b3JUeXBlID09PSBcImZldGNoXCIgJiYgZi5uYW1lID09PSBlICYmIG4ucHVzaChmKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0Lm9ic2VydmUoe1xuICAgICAgICBlbnRyeVR5cGVzOiBbXCJyZXNvdXJjZVwiXVxuICAgICAgfSksIHsgZW50cmllczogbiwgb2JzZXJ2ZXI6IHQsIHN0YXJ0VGltZTogciwgc3BhblVybDogZSB9O1xuICAgIH0sIG8ucHJvdG90eXBlLmVuYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKEgpIHtcbiAgICAgICAgdGhpcy5fZGlhZy53YXJuKFwidGhpcyBpbnN0cnVtZW50YXRpb24gaXMgaW50ZW5kZWQgZm9yIHdlYiB1c2FnZSBvbmx5LCBpdCBkb2VzIG5vdCBpbnN0cnVtZW50IE5vZGUuanMncyBmZXRjaCgpXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBVJDEoZmV0Y2gpICYmICh0aGlzLl91bndyYXAoaF8sIFwiZmV0Y2hcIiksIHRoaXMuX2RpYWcuZGVidWcoXCJyZW1vdmluZyBwcmV2aW91cyBwYXRjaCBmb3IgY29uc3RydWN0b3JcIikpLCB0aGlzLl93cmFwKGhfLCBcImZldGNoXCIsIHRoaXMuX3BhdGNoQ29uc3RydWN0b3IoKSk7XG4gICAgfSwgby5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgSCB8fCAodGhpcy5fdW53cmFwKGhfLCBcImZldGNoXCIpLCB0aGlzLl91c2VkUmVzb3VyY2VzID0gLyogQF9fUFVSRV9fICovIG5ldyBXZWFrU2V0KCkpO1xuICAgIH0sIG87XG4gIH0pKFcpXG4pO1xuXG5leHBvcnQgeyBTZSBhcyBGZXRjaEluc3RydW1lbnRhdGlvbiB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBQUEsU0FBUztBQUNsQixTQUFTLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUFDLEdBQUcsS0FBS0MsR0FBSSxLQUFLQyxTQUFVO0FBQ3JILFNBQVMsS0FBQUMsR0FBRyxLQUFLQyxHQUFLLEtBQUFDLFNBQVM7QUFDL0IsU0FBUyxLQUFBQyxHQUFHLEtBQUtDLEdBQUssS0FBQUMsR0FBRyxLQUFLQyxHQUFLLEtBQUFDLFVBQVM7QUFDNUMsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsVUFBVTtBQUUxQyxJQUFJQztBQUFBLENBQ0gsU0FBU0MsR0FBRztBQUNYLEVBQUFBLEVBQUUsWUFBWSxhQUFhQSxFQUFFLGtCQUFrQixtQkFBbUJBLEVBQUUsbUJBQW1CO0FBQ3pGLEdBQUdELE1BQU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlFLEtBQUssU0FBU0QsR0FBR0UsR0FBR0MsR0FBRzVCLEdBQUc7QUFDNUIsV0FBUzZCLEVBQUVDLEdBQUc7QUFDWixXQUFPQSxhQUFhRixJQUFJRSxJQUFJLElBQUlGLEVBQUUsU0FBU0csR0FBRztBQUM1QyxNQUFBQSxFQUFFRCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sS0FBS0YsTUFBTUEsSUFBSSxVQUFVLFNBQVNFLEdBQUdDLEdBQUc7QUFDN0MsYUFBU0MsRUFBRUMsR0FBRztBQUNaLFVBQUk7QUFDRixVQUFFakMsRUFBRSxLQUFLaUMsQ0FBQyxDQUFDO0FBQUEsTUFDYixTQUFTQyxHQUFHO0FBQ1YsUUFBQUgsRUFBRUcsQ0FBQztBQUFBLE1BQ0w7QUFBQSxJQUNGO0FBQ0EsYUFBU0MsRUFBRUYsR0FBRztBQUNaLFVBQUk7QUFDRixVQUFFakMsRUFBRSxNQUFNaUMsQ0FBQyxDQUFDO0FBQUEsTUFDZCxTQUFTQyxHQUFHO0FBQ1YsUUFBQUgsRUFBRUcsQ0FBQztBQUFBLE1BQ0w7QUFBQSxJQUNGO0FBQ0EsYUFBUyxFQUFFRCxHQUFHO0FBQ1osTUFBQUEsRUFBRSxPQUFPSCxFQUFFRyxFQUFFLEtBQUssSUFBSUosRUFBRUksRUFBRSxLQUFLLEVBQUUsS0FBS0QsR0FBR0csQ0FBQztBQUFBLElBQzVDO0FBQ0EsT0FBR25DLElBQUlBLEVBQUUsTUFBTXlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQUEsRUFDL0IsQ0FBQztBQUNILEdBQUdXLEtBQUssU0FBU1gsR0FBR0UsR0FBRztBQUNyQixNQUFJQyxJQUFJLEVBQUUsT0FBTyxHQUFHLE1BQU0sV0FBVztBQUNuQyxRQUFJRSxFQUFFLENBQUMsSUFBSSxFQUFHLE9BQU1BLEVBQUUsQ0FBQztBQUN2QixXQUFPQSxFQUFFLENBQUM7QUFBQSxFQUNaLEdBQUcsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsR0FBRzlCLEdBQUc2QixHQUFHQyxHQUFHQztBQUNqQyxTQUFPQSxJQUFJLEVBQUUsTUFBTUMsRUFBRSxDQUFDLEdBQUcsT0FBT0EsRUFBRSxDQUFDLEdBQUcsUUFBUUEsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLFVBQVUsZUFBZUQsRUFBRSxPQUFPLFFBQVEsSUFBSSxXQUFXO0FBQ3BILFdBQU87QUFBQSxFQUNULElBQUlBO0FBQ0osV0FBU0MsRUFBRSxHQUFHO0FBQ1osV0FBTyxTQUFTQyxHQUFHO0FBQ2pCLGFBQU9FLEVBQUUsQ0FBQyxHQUFHRixDQUFDLENBQUM7QUFBQSxJQUNqQjtBQUFBLEVBQ0Y7QUFDQSxXQUFTRSxFQUFFLEdBQUc7QUFDWixRQUFJbkMsRUFBRyxPQUFNLElBQUksVUFBVSxpQ0FBaUM7QUFDNUQsV0FBTzRCLElBQUssS0FBSTtBQUNkLFVBQUk1QixJQUFJLEdBQUc2QixNQUFNQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUlELEVBQUUsU0FBUyxFQUFFLENBQUMsSUFBSUEsRUFBRSxXQUFXQyxJQUFJRCxFQUFFLFdBQVdDLEVBQUUsS0FBS0QsQ0FBQyxHQUFHLEtBQUtBLEVBQUUsU0FBUyxFQUFFQyxJQUFJQSxFQUFFLEtBQUtELEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFNLFFBQU9DO0FBQy9JLGNBQVFELElBQUksR0FBR0MsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBR0EsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUc7QUFBQSxRQUNuRCxLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQ0gsVUFBQUEsSUFBSTtBQUNKO0FBQUEsUUFDRixLQUFLO0FBQ0gsaUJBQU9GLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsTUFBTSxHQUFHO0FBQUEsUUFDNUMsS0FBSztBQUNILFVBQUFBLEVBQUUsU0FBU0MsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUMzQjtBQUFBLFFBQ0YsS0FBSztBQUNILGNBQUlELEVBQUUsSUFBSSxJQUFJLEdBQUdBLEVBQUUsS0FBSyxJQUFJO0FBQzVCO0FBQUEsUUFDRjtBQUNFLGNBQUlFLElBQUlGLEVBQUUsTUFBTSxFQUFFRSxJQUFJQSxFQUFFLFNBQVMsS0FBS0EsRUFBRUEsRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxNQUFNLElBQUk7QUFDcEYsWUFBQUYsSUFBSTtBQUNKO0FBQUEsVUFDRjtBQUNBLGNBQUksRUFBRSxDQUFDLE1BQU0sTUFBTSxDQUFDRSxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSUEsRUFBRSxDQUFDLElBQUk7QUFDcEQsWUFBQUYsRUFBRSxRQUFRLEVBQUUsQ0FBQztBQUNiO0FBQUEsVUFDRjtBQUNBLGNBQUksRUFBRSxDQUFDLE1BQU0sS0FBS0EsRUFBRSxRQUFRRSxFQUFFLENBQUMsR0FBRztBQUNoQyxZQUFBRixFQUFFLFFBQVFFLEVBQUUsQ0FBQyxHQUFHQSxJQUFJO0FBQ3BCO0FBQUEsVUFDRjtBQUNBLGNBQUlBLEtBQUtGLEVBQUUsUUFBUUUsRUFBRSxDQUFDLEdBQUc7QUFDdkIsWUFBQUYsRUFBRSxRQUFRRSxFQUFFLENBQUMsR0FBR0YsRUFBRSxJQUFJLEtBQUssQ0FBQztBQUM1QjtBQUFBLFVBQ0Y7QUFDQSxVQUFBRSxFQUFFLENBQUMsS0FBS0YsRUFBRSxJQUFJLElBQUksR0FBR0EsRUFBRSxLQUFLLElBQUk7QUFDaEM7QUFBQSxNQUNKO0FBQ0EsVUFBSUQsRUFBRSxLQUFLRixHQUFHRyxDQUFDO0FBQUEsSUFDakIsU0FBU0ssR0FBRztBQUNWLFVBQUksQ0FBQyxHQUFHQSxDQUFDLEdBQUdKLElBQUk7QUFBQSxJQUNsQixVQUFFO0FBQ0EsTUFBQTdCLElBQUk4QixJQUFJO0FBQUEsSUFDVjtBQUNBLFFBQUksRUFBRSxDQUFDLElBQUksRUFBRyxPQUFNLEVBQUUsQ0FBQztBQUN2QixXQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxRQUFRLE1BQU0sR0FBSztBQUFBLEVBQ25EO0FBQ0YsR0FBR08sS0FBSyxTQUFTWixHQUFHO0FBQ2xCLE1BQUlFLElBQUksT0FBTyxVQUFVLGNBQWMsT0FBTyxVQUFVQyxJQUFJRCxLQUFLRixFQUFFRSxDQUFDLEdBQUczQixJQUFJO0FBQzNFLE1BQUk0QixFQUFHLFFBQU9BLEVBQUUsS0FBS0gsQ0FBQztBQUN0QixNQUFJQSxLQUFLLE9BQU9BLEVBQUUsVUFBVSxTQUFVLFFBQU87QUFBQSxJQUMzQyxNQUFNLFdBQVc7QUFDZixhQUFPQSxLQUFLekIsS0FBS3lCLEVBQUUsV0FBV0EsSUFBSSxTQUFTLEVBQUUsT0FBT0EsS0FBS0EsRUFBRXpCLEdBQUcsR0FBRyxNQUFNLENBQUN5QixFQUFFO0FBQUEsSUFDNUU7QUFBQSxFQUNGO0FBQ0EsUUFBTSxJQUFJLFVBQVVFLElBQUksNEJBQTRCLGlDQUFpQztBQUN2RixHQUFHVyxLQUFLLFNBQVNiLEdBQUdFLEdBQUc7QUFDckIsTUFBSUMsSUFBSSxPQUFPLFVBQVUsY0FBY0gsRUFBRSxPQUFPLFFBQVE7QUFDeEQsTUFBSSxDQUFDRyxFQUFHLFFBQU9IO0FBQ2YsTUFBSXpCLElBQUk0QixFQUFFLEtBQUtILENBQUMsR0FBR0ksR0FBR0MsSUFBSSxDQUFDLEdBQUdDO0FBQzlCLE1BQUk7QUFDRixZQUFRSixNQUFNLFVBQVVBLE1BQU0sTUFBTSxFQUFFRSxJQUFJN0IsRUFBRSxLQUFLLEdBQUcsT0FBUSxDQUFBOEIsRUFBRSxLQUFLRCxFQUFFLEtBQUs7QUFBQSxFQUM1RSxTQUFTRyxHQUFHO0FBQ1YsSUFBQUQsSUFBSSxFQUFFLE9BQU9DLEVBQUU7QUFBQSxFQUNqQixVQUFFO0FBQ0EsUUFBSTtBQUNGLE1BQUFILEtBQUssQ0FBQ0EsRUFBRSxTQUFTRCxJQUFJNUIsRUFBRSxXQUFXNEIsRUFBRSxLQUFLNUIsQ0FBQztBQUFBLElBQzVDLFVBQUU7QUFDQSxVQUFJK0IsRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFDakI7QUFBQSxFQUNGO0FBQ0EsU0FBT0Q7QUFDVCxHQUFHUyxJQUFJdkMsRUFBRSxzQkFBc0I7QUFBQSxFQUM3QixXQUFXO0FBQ2IsQ0FBQztBQUNELFNBQVN3QyxLQUFLO0FBQ1osV0FBU2YsSUFBSSxDQUFDLEdBQUdFLElBQUksR0FBR0EsSUFBSSxVQUFVLFFBQVFBO0FBQzVDLElBQUFGLEVBQUVFLENBQUMsSUFBSSxVQUFVQSxDQUFDO0FBQ3BCLE1BQUlGLEVBQUUsQ0FBQyxhQUFhLE9BQU8sT0FBT0EsRUFBRSxDQUFDLEtBQUssVUFBVTtBQUNsRCxRQUFJRyxJQUFJSCxFQUFFLENBQUM7QUFDWCxRQUFJLENBQUNHLEdBQUc7QUFDTixhQUFPLFFBQVEsUUFBUTtBQUN6QixRQUFJQSxFQUFFLGdCQUFnQixnQkFBZ0I7QUFDcEMsVUFBSTVCLElBQUl5QyxHQUFHYixFQUFFLElBQUksR0FBR0MsSUFBSTdCLEVBQUUsTUFBTThCLElBQUk5QixFQUFFO0FBQ3RDLGFBQU80QixFQUFFLE9BQU9DLEdBQUdDO0FBQUEsSUFDckI7QUFDRSxhQUFPLFFBQVEsUUFBUVksR0FBR2QsRUFBRSxJQUFJLENBQUM7QUFBQSxFQUNyQyxPQUFPO0FBQ0wsUUFBSUcsSUFBSU4sRUFBRSxDQUFDO0FBQ1gsV0FBT00sR0FBRyxPQUFPQSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxTQUFTQyxHQUFHO0FBQ2pELGFBQU9XLEVBQUVYLENBQUM7QUFBQSxJQUNaLENBQUMsSUFBSSxRQUFRLFFBQVE7QUFBQSxFQUN2QjtBQUNGO0FBQ0EsU0FBU1MsR0FBR2hCLEdBQUc7QUFDYixNQUFJLENBQUNBLEVBQUU7QUFDTCxXQUFPYyxFQUFFLEtBQUssa0RBQWtELEdBQUc7QUFBQSxNQUNqRSxNQUFNZDtBQUFBLE1BQ04sUUFBUSxRQUFRLFFBQVEsTUFBTTtBQUFBLElBQ2hDO0FBQ0YsTUFBSUUsSUFBSSxHQUFHQyxHQUFHNUIsSUFBSSxJQUFJLFFBQVEsU0FBUzhCLEdBQUc7QUFDeEMsSUFBQUYsSUFBSUU7QUFBQSxFQUNOLENBQUMsR0FBR0QsSUFBSSxJQUFJLGdCQUFnQjtBQUFBLElBQzFCLE9BQU8sV0FBVztBQUFBLElBQ2xCO0FBQUEsSUFDQSxXQUFXLFNBQVNDLEdBQUdDLEdBQUc7QUFDeEIsYUFBT0wsR0FBRyxNQUFNLFFBQVEsUUFBUSxXQUFXO0FBQ3pDLFlBQUlNO0FBQ0osZUFBT0ksR0FBRyxNQUFNLFNBQVNELEdBQUc7QUFDMUIsa0JBQVFBLEVBQUUsT0FBTztBQUFBLFlBQ2YsS0FBSztBQUNILHFCQUFPLENBQUMsR0FBR0wsQ0FBQztBQUFBLFlBQ2QsS0FBSztBQUNILHFCQUFPRSxJQUFJRyxFQUFFLEtBQUssR0FBR1IsS0FBS0ssRUFBRSxZQUFZRCxFQUFFLFFBQVFELENBQUMsR0FBRztBQUFBLGdCQUNwRDtBQUFBO0FBQUEsY0FFRjtBQUFBLFVBQ0o7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNILENBQUM7QUFBQSxJQUNIO0FBQUEsSUFDQSxPQUFPLFdBQVc7QUFDaEIsTUFBQUYsRUFBRUQsQ0FBQztBQUFBLElBQ0w7QUFBQSxFQUNGLENBQUM7QUFDRCxTQUFPO0FBQUEsSUFDTCxNQUFNRixFQUFFLFlBQVlJLENBQUM7QUFBQSxJQUNyQixRQUFRN0I7QUFBQSxFQUNWO0FBQ0Y7QUFDQSxTQUFTMEMsR0FBR2pCLEdBQUc7QUFDYixNQUFJLE9BQU8sV0FBVyxPQUFPQSxhQUFhO0FBQ3hDLFdBQU8sSUFBSSxjQUFjLEVBQUUsa0JBQWtCLFFBQVEsRUFBRTtBQUN6RCxNQUFJQSxhQUFhO0FBQ2YsV0FBT0EsRUFBRTtBQUNYLE1BQUlBLEVBQUUsZUFBZTtBQUNuQixXQUFPQSxFQUFFO0FBQ1gsTUFBSUEsYUFBYTtBQUNmLFdBQU9tQixHQUFHbkIsQ0FBQztBQUNiLE1BQUlBLGFBQWE7QUFDZixXQUFPa0IsRUFBRWxCLEVBQUUsU0FBUyxDQUFDO0FBQ3ZCLE1BQUksT0FBT0EsS0FBSztBQUNkLFdBQU9rQixFQUFFbEIsQ0FBQztBQUNaLEVBQUFjLEVBQUUsS0FBSyxtQkFBbUI7QUFDNUI7QUFDQSxJQUFJTSxLQUFLLElBQUksWUFBWTtBQUN6QixTQUFTRixFQUFFbEIsR0FBRztBQUNaLFNBQU9vQixHQUFHLE9BQU9wQixDQUFDLEVBQUU7QUFDdEI7QUFDQSxTQUFTbUIsR0FBR25CLEdBQUc7QUFDYixNQUFJRSxHQUFHQyxHQUFHNUIsSUFBSTtBQUNkLE1BQUk7QUFDRixhQUFTNkIsSUFBSVEsR0FBR1osRUFBRSxRQUFRLENBQUMsR0FBR0ssSUFBSUQsRUFBRSxLQUFLLEdBQUcsQ0FBQ0MsRUFBRSxNQUFNQSxJQUFJRCxFQUFFLEtBQUssR0FBRztBQUNqRSxVQUFJRSxJQUFJTyxHQUFHUixFQUFFLE9BQU8sQ0FBQyxHQUFHRSxJQUFJRCxFQUFFLENBQUMsR0FBR0ksSUFBSUosRUFBRSxDQUFDO0FBQ3pDLE1BQUEvQixLQUFLZ0MsRUFBRSxRQUFRRyxhQUFhLE9BQU9uQyxLQUFLbUMsRUFBRSxPQUFPbkMsS0FBS21DLEVBQUU7QUFBQSxJQUMxRDtBQUFBLEVBQ0YsU0FBUyxHQUFHO0FBQ1YsSUFBQVIsSUFBSSxFQUFFLE9BQU8sRUFBRTtBQUFBLEVBQ2pCLFVBQUU7QUFDQSxRQUFJO0FBQ0YsTUFBQUcsS0FBSyxDQUFDQSxFQUFFLFNBQVNGLElBQUlDLEVBQUUsV0FBV0QsRUFBRSxLQUFLQyxDQUFDO0FBQUEsSUFDNUMsVUFBRTtBQUNBLFVBQUlGLEVBQUcsT0FBTUEsRUFBRTtBQUFBLElBQ2pCO0FBQUEsRUFDRjtBQUNBLFNBQU8zQjtBQUNUO0FBQ0EsSUFBSThDLElBQUksVUFBVUMsS0FBc0IsNEJBQVc7QUFDakQsTUFBSXRCLElBQUksU0FBU0UsR0FBR0MsR0FBRztBQUNyQixXQUFPSCxJQUFJLE9BQU8sa0JBQWtCLEVBQUUsV0FBVyxDQUFDLEVBQUUsYUFBYSxTQUFTLFNBQVN6QixHQUFHNkIsR0FBRztBQUN2RixNQUFBN0IsRUFBRSxZQUFZNkI7QUFBQSxJQUNoQixLQUFLLFNBQVM3QixHQUFHNkIsR0FBRztBQUNsQixlQUFTQyxLQUFLRCxFQUFHLFFBQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFBTTlCLEVBQUU4QixDQUFDLElBQUlELEVBQUVDLENBQUM7QUFBQSxJQUM1RSxHQUFHTCxFQUFFRSxHQUFHQyxDQUFDO0FBQUEsRUFDWDtBQUNBLFNBQU8sU0FBU0QsR0FBR0MsR0FBRztBQUNwQixRQUFJLE9BQU9BLEtBQUssY0FBY0EsTUFBTTtBQUNsQyxZQUFNLElBQUksVUFBVSx5QkFBeUIsT0FBT0EsQ0FBQyxJQUFJLCtCQUErQjtBQUMxRixJQUFBSCxFQUFFRSxHQUFHQyxDQUFDO0FBQ04sYUFBUzVCLElBQUk7QUFDWCxXQUFLLGNBQWMyQjtBQUFBLElBQ3JCO0FBQ0EsSUFBQUEsRUFBRSxZQUFZQyxNQUFNLE9BQU8sT0FBTyxPQUFPQSxDQUFDLEtBQUs1QixFQUFFLFlBQVk0QixFQUFFLFdBQVcsSUFBSTVCLEVBQUU7QUFBQSxFQUNsRjtBQUNGLEdBQUcsR0FBR2dELEtBQUssU0FBU3ZCLEdBQUdFLEdBQUc7QUFDeEIsTUFBSUMsSUFBSSxPQUFPLFVBQVUsY0FBY0gsRUFBRSxPQUFPLFFBQVE7QUFDeEQsTUFBSSxDQUFDRyxFQUFHLFFBQU9IO0FBQ2YsTUFBSXpCLElBQUk0QixFQUFFLEtBQUtILENBQUMsR0FBR0ksR0FBR0MsSUFBSSxDQUFDLEdBQUdDO0FBQzlCLE1BQUk7QUFDRixZQUFRSixNQUFNLFVBQVVBLE1BQU0sTUFBTSxFQUFFRSxJQUFJN0IsRUFBRSxLQUFLLEdBQUcsT0FBUSxDQUFBOEIsRUFBRSxLQUFLRCxFQUFFLEtBQUs7QUFBQSxFQUM1RSxTQUFTRyxHQUFHO0FBQ1YsSUFBQUQsSUFBSSxFQUFFLE9BQU9DLEVBQUU7QUFBQSxFQUNqQixVQUFFO0FBQ0EsUUFBSTtBQUNGLE1BQUFILEtBQUssQ0FBQ0EsRUFBRSxTQUFTRCxJQUFJNUIsRUFBRSxXQUFXNEIsRUFBRSxLQUFLNUIsQ0FBQztBQUFBLElBQzVDLFVBQUU7QUFDQSxVQUFJK0IsRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFDakI7QUFBQSxFQUNGO0FBQ0EsU0FBT0Q7QUFDVCxHQUFHbUIsS0FBSyxTQUFTeEIsR0FBR0UsR0FBR0MsR0FBRztBQUN4QixNQUFJLFVBQVUsV0FBVyxFQUFHLFVBQVM1QixJQUFJLEdBQUc2QixJQUFJRixFQUFFLFFBQVFHLEdBQUc5QixJQUFJNkIsR0FBRzdCO0FBQ2xFLEtBQUM4QixLQUFLLEVBQUU5QixLQUFLMkIsUUFBUUcsTUFBTUEsSUFBSSxNQUFNLFVBQVUsTUFBTSxLQUFLSCxHQUFHLEdBQUczQixDQUFDLElBQUk4QixFQUFFOUIsQ0FBQyxJQUFJMkIsRUFBRTNCLENBQUM7QUFDakYsU0FBT3lCLEVBQUUsT0FBT0ssS0FBSyxNQUFNLFVBQVUsTUFBTSxLQUFLSCxDQUFDLENBQUM7QUFDcEQsR0FBR3VCLEdBQUdDLEtBQUssS0FBS0MsSUFBSSxPQUFPLFdBQVcsY0FBY0YsSUFBSSxRQUFRLGFBQWEsUUFBUUEsTUFBTSxTQUFTLFNBQVNBLEVBQUUsVUFBVSxRQUFRRztBQUFBO0FBQUEsR0FFOUgsU0FBUzVCLEdBQUc7QUFDWCxJQUFBc0IsR0FBR3BCLEdBQUdGLENBQUM7QUFDUCxhQUFTRSxFQUFFQyxHQUFHO0FBQ1osTUFBQUEsTUFBTSxXQUFXQSxJQUFJLENBQUM7QUFDdEIsVUFBSTVCLElBQUl5QixFQUFFLEtBQUssTUFBTSx3Q0FBd0NxQixHQUFHbEIsQ0FBQyxLQUFLO0FBQ3RFLGFBQU81QixFQUFFLFlBQVksU0FBU0EsRUFBRSxVQUFVOEMsR0FBRzlDLEVBQUUsYUFBYUEsRUFBRSxXQUFXQSxFQUFFLGlCQUFpQyxvQkFBSSxRQUFRLEdBQUdBLEVBQUUsY0FBYyxHQUFHQTtBQUFBLElBQ2hKO0FBQ0EsV0FBTzJCLEVBQUUsVUFBVSxPQUFPLFdBQVc7QUFBQSxJQUNyQyxHQUFHQSxFQUFFLFVBQVUsZ0JBQWdCLFNBQVNDLEdBQUc1QixHQUFHO0FBQzVDLFVBQUk2QixJQUFJLEtBQUssT0FBTyxVQUFVLGtCQUFrQjtBQUFBLFFBQzlDLFdBQVc3QixFQUFFZ0IsRUFBRSxXQUFXO0FBQUEsTUFDNUIsR0FBR0ssRUFBRyxRQUFRQyxFQUFHLE9BQU8sR0FBR00sQ0FBQyxDQUFDO0FBQzdCLE1BQUFYLEVBQUlZLEdBQUc3QixHQUFHLEtBQUssVUFBVSxFQUFFLG1CQUFtQixHQUFHNkIsRUFBRSxJQUFJN0IsRUFBRWdCLEVBQUUsWUFBWSxDQUFDO0FBQUEsSUFDMUUsR0FBR1csRUFBRSxVQUFVLDBCQUEwQixTQUFTQyxHQUFHNUIsR0FBRztBQUN0RCxVQUFJNkIsSUFBSVgsRUFBRWxCLEVBQUUsR0FBRztBQUNmLE1BQUE0QixFQUFFLGFBQWEzQixHQUFJRCxFQUFFLE1BQU0sR0FBR0EsRUFBRSxjQUFjLFFBQVE0QixFQUFFLGFBQWFKLEVBQUUsa0JBQWtCeEIsRUFBRSxVQUFVLEdBQUc0QixFQUFFLGFBQWExQixHQUFJMkIsRUFBRSxJQUFJLEdBQUdELEVBQUUsYUFBYXpCLEdBQUkwQixFQUFFLFNBQVMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxHQUFHLE9BQU8sWUFBWSxPQUFPRCxFQUFFLGFBQWF4QixHQUFJLFVBQVUsU0FBUztBQUFBLElBQ3ZQLEdBQUd1QixFQUFFLFVBQVUsY0FBYyxTQUFTQyxHQUFHNUIsR0FBRztBQUMxQyxVQUFJLENBQUNtQixFQUFJbkIsR0FBRyxLQUFLLFVBQVUsRUFBRSw0QkFBNEIsR0FBRztBQUMxRCxZQUFJNkIsSUFBSSxDQUFDO0FBQ1QsUUFBQXhCLEVBQUcsT0FBT2lCLEVBQUcsT0FBTyxHQUFHTyxDQUFDLEdBQUcsT0FBTyxLQUFLQSxDQUFDLEVBQUUsU0FBUyxLQUFLLEtBQUssTUFBTSxNQUFNLDJDQUEyQztBQUNwSDtBQUFBLE1BQ0Y7QUFDQSxVQUFJRCxhQUFhO0FBQ2YsUUFBQXZCLEVBQUcsT0FBT2lCLEVBQUcsT0FBTyxHQUFHTSxFQUFFLFNBQVM7QUFBQSxVQUNoQyxLQUFLLFNBQVNFLEdBQUdDLEdBQUdDLEdBQUc7QUFDckIsbUJBQU9GLEVBQUUsSUFBSUMsR0FBRyxPQUFPQyxLQUFLLFdBQVdBLElBQUksT0FBT0EsQ0FBQyxDQUFDO0FBQUEsVUFDdEQ7QUFBQSxRQUNGLENBQUM7QUFBQSxlQUNNSixFQUFFLG1CQUFtQjtBQUM1QixRQUFBdkIsRUFBRyxPQUFPaUIsRUFBRyxPQUFPLEdBQUdNLEVBQUUsU0FBUztBQUFBLFVBQ2hDLEtBQUssU0FBU0UsR0FBR0MsR0FBR0MsR0FBRztBQUNyQixtQkFBT0YsRUFBRSxJQUFJQyxHQUFHLE9BQU9DLEtBQUssV0FBV0EsSUFBSSxPQUFPQSxDQUFDLENBQUM7QUFBQSxVQUN0RDtBQUFBLFFBQ0YsQ0FBQztBQUFBLGVBQ01KLEVBQUUsbUJBQW1CO0FBQzVCLFFBQUF2QixFQUFHLE9BQU9pQixFQUFHLE9BQU8sR0FBR00sRUFBRSxTQUFTO0FBQUEsVUFDaEMsS0FBSyxTQUFTRSxHQUFHQyxHQUFHQyxHQUFHO0FBQ3JCLG1CQUFPRixFQUFFLElBQUlDLEdBQUcsT0FBT0MsS0FBSyxXQUFXQSxJQUFJLE9BQU9BLENBQUMsQ0FBQztBQUFBLFVBQ3REO0FBQUEsUUFDRixDQUFDO0FBQUEsV0FDRTtBQUNILFlBQUlILElBQUksQ0FBQztBQUNULFFBQUF4QixFQUFHLE9BQU9pQixFQUFHLE9BQU8sR0FBR08sQ0FBQyxHQUFHRCxFQUFFLFVBQVUsT0FBTyxPQUFPLENBQUMsR0FBR0MsR0FBR0QsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUFBLE1BQzdFO0FBQUEsSUFDRixHQUFHRCxFQUFFLFVBQVUsa0JBQWtCLFdBQVc7QUFDMUMsV0FBSyxnQkFBZ0IsS0FBSyxLQUFLLFVBQVUsRUFBRSx5QkFBeUIsWUFBWSxxQkFBcUIsR0FBRyxLQUFLLGlCQUFpQyxvQkFBSSxRQUFRO0FBQUEsSUFDNUosR0FBR0EsRUFBRSxVQUFVLGNBQWMsU0FBU0MsR0FBRzVCLEdBQUc7QUFDMUMsVUFBSTZCO0FBQ0osVUFBSTdCLE1BQU0sV0FBV0EsSUFBSSxDQUFDLElBQUlNLEVBQUdzQixHQUFHLEtBQUssVUFBVSxFQUFFLFVBQVUsR0FBRztBQUNoRSxhQUFLLE1BQU0sTUFBTSwwQ0FBMEM7QUFDM0Q7QUFBQSxNQUNGO0FBQ0EsVUFBSUUsS0FBSzlCLEVBQUUsVUFBVSxPQUFPLFlBQVksR0FBRytCLElBQUksVUFBVUQ7QUFDekQsYUFBTyxLQUFLLE9BQU8sVUFBVUMsR0FBRztBQUFBLFFBQzlCLE1BQU1SLEdBQUc7QUFBQSxRQUNULGFBQWFNLElBQUksQ0FBQyxHQUFHQSxFQUFFTCxFQUFFLFNBQVMsSUFBSSxLQUFLLFlBQVlLLEVBQUV0QixDQUFFLElBQUl1QixHQUFHRCxFQUFFckIsQ0FBRSxJQUFJb0IsR0FBR0M7QUFBQSxNQUMvRSxDQUFDO0FBQUEsSUFDSCxHQUFHRixFQUFFLFVBQVUsbUNBQW1DLFNBQVNDLEdBQUc1QixHQUFHNkIsR0FBRztBQUNsRSxVQUFJQyxJQUFJOUIsRUFBRTtBQUNWLFVBQUksQ0FBQzhCLEVBQUUsUUFBUTtBQUNiLFlBQUksQ0FBQyxZQUFZO0FBQ2Y7QUFDRixRQUFBQSxJQUFJLFlBQVksaUJBQWlCLFVBQVU7QUFBQSxNQUM3QztBQUNBLFVBQUlDLElBQUlYLEdBQUVwQixFQUFFLFNBQVNBLEVBQUUsV0FBVzZCLEdBQUdDLEdBQUcsS0FBSyxnQkFBZ0IsT0FBTztBQUNwRSxVQUFJQyxFQUFFLGFBQWE7QUFDakIsWUFBSUMsSUFBSUQsRUFBRTtBQUNWLGFBQUssb0JBQW9CQyxDQUFDO0FBQzFCLFlBQUlHLElBQUlKLEVBQUU7QUFDVixRQUFBSSxNQUFNLEtBQUssY0FBY1AsR0FBR08sQ0FBQyxHQUFHLEtBQUssb0JBQW9CQSxDQUFDLElBQUlsQixFQUFJVyxHQUFHSSxHQUFHLEtBQUssVUFBVSxFQUFFLG1CQUFtQjtBQUFBLE1BQzlHO0FBQUEsSUFDRixHQUFHTCxFQUFFLFVBQVUsc0JBQXNCLFNBQVNDLEdBQUc7QUFDL0MsV0FBSyxlQUFlLElBQUlBLENBQUM7QUFBQSxJQUMzQixHQUFHRCxFQUFFLFVBQVUsV0FBVyxTQUFTQyxHQUFHNUIsR0FBRzZCLEdBQUc7QUFDMUMsVUFBSUMsSUFBSSxNQUFNQyxJQUFJckIsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHc0IsSUFBSXZCLEVBQUc7QUFDeEMsV0FBSyx3QkFBd0JtQixHQUFHQyxDQUFDLEdBQUcsV0FBVyxXQUFXO0FBQ3hELFlBQUlNO0FBQ0osU0FBQ0EsSUFBSW5DLEVBQUUsY0FBYyxRQUFRbUMsTUFBTSxVQUFVQSxFQUFFLFdBQVcsR0FBR0wsRUFBRSxpQ0FBaUNGLEdBQUc1QixHQUFHZ0MsQ0FBQyxHQUFHRixFQUFFLGVBQWVBLEVBQUUsZ0JBQWdCLEdBQUdGLEVBQUUsSUFBSUcsQ0FBQztBQUFBLE1BQ3pKLEdBQUdvQixFQUFFO0FBQUEsSUFDUCxHQUFHeEIsRUFBRSxVQUFVLG9CQUFvQixXQUFXO0FBQzVDLFVBQUlDLElBQUk7QUFDUixhQUFPLFNBQVM1QixHQUFHO0FBQ2pCLFlBQUk2QixJQUFJRDtBQUNSLGVBQU8sV0FBVztBQUNoQixtQkFBU0csSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksVUFBVSxRQUFRO0FBQzVDLFlBQUFBLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQztBQUNwQixjQUFJSSxJQUFJLE1BQU1tQixJQUFJcEMsRUFBRWEsRUFBRSxDQUFDLGFBQWEsVUFBVUEsRUFBRSxDQUFDLEVBQUUsTUFBTSxPQUFPQSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTUUsSUFBSUYsRUFBRSxDQUFDLGFBQWEsVUFBVUEsRUFBRSxDQUFDLElBQUlBLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBR0csSUFBSUwsRUFBRSxZQUFZeUIsR0FBR3JCLENBQUM7QUFDcEosY0FBSSxDQUFDQztBQUNILG1CQUFPbEMsRUFBRSxNQUFNLE1BQU0rQixDQUFDO0FBQ3hCLGNBQUl3QixJQUFJMUIsRUFBRSxpQkFBaUJ5QixDQUFDO0FBQzVCLFVBQUF6QixFQUFFLFVBQVUsRUFBRSxzQkFBc0JXLEdBQUcsTUFBTSxRQUFRUyxHQUFHLENBQUMsR0FBR0QsR0FBR2pCLENBQUMsR0FBRyxFQUFLLENBQUMsRUFBRSxLQUFLLFNBQVN5QixHQUFHO0FBQzFGLFlBQUFBLEtBQUt0QixFQUFFLGFBQWF2QixHQUFJNkMsQ0FBQztBQUFBLFVBQzNCLENBQUMsRUFBRSxNQUFNLFNBQVNBLEdBQUc7QUFDbkIsWUFBQTNCLEVBQUUsTUFBTSxLQUFLLHNCQUFzQjJCLENBQUM7QUFBQSxVQUN0QyxDQUFDO0FBQ0QsbUJBQVNDLEVBQUVELEdBQUdFLEdBQUc7QUFDZixZQUFBN0IsRUFBRSwyQkFBMkIyQixHQUFHdkIsR0FBR3lCLENBQUMsR0FBRzdCLEVBQUUsU0FBUzJCLEdBQUdELEdBQUc7QUFBQSxjQUN0RCxRQUFRRyxFQUFFLFVBQVU7QUFBQSxjQUNwQixZQUFZQSxFQUFFO0FBQUEsY0FDZCxLQUFLSjtBQUFBLFlBQ1AsQ0FBQztBQUFBLFVBQ0g7QUFDQSxtQkFBUyxFQUFFRSxHQUFHRSxHQUFHO0FBQ2YsWUFBQTdCLEVBQUUsMkJBQTJCMkIsR0FBR3ZCLEdBQUd5QixDQUFDLEdBQUdBLEVBQUUsVUFBVSxPQUFPQSxFQUFFLFNBQVMsTUFBTTdCLEVBQUUsU0FBUzJCLEdBQUdELEdBQUdHLENBQUMsSUFBSTdCLEVBQUUsU0FBUzJCLEdBQUdELEdBQUc7QUFBQSxjQUNoSCxRQUFRRyxFQUFFO0FBQUEsY0FDVixZQUFZQSxFQUFFO0FBQUEsY0FDZCxLQUFLSjtBQUFBLFlBQ1AsQ0FBQztBQUFBLFVBQ0g7QUFDQSxtQkFBU0ssRUFBRUgsR0FBR0UsR0FBR0UsR0FBRztBQUNsQixnQkFBSTtBQUNGLGtCQUFJQyxJQUFJRCxFQUFFLE1BQU0sR0FBR0UsSUFBSUYsRUFBRSxNQUFNLEdBQUdHLElBQUlGLEVBQUU7QUFDeEMsa0JBQUlFLEdBQUc7QUFDTCxvQkFBSWxELElBQUlrRCxFQUFFLFVBQVUsR0FBR0MsSUFBSSxXQUFXO0FBQ3BDLGtCQUFBbkQsRUFBRSxLQUFLLEVBQUUsS0FBSyxTQUFTLEdBQUc7QUFDeEIsd0JBQUlvRCxJQUFJLEVBQUU7QUFDVixvQkFBQUEsSUFBSSxFQUFFVCxHQUFHTSxDQUFDLElBQUlFLEVBQUU7QUFBQSxrQkFDbEIsR0FBRyxTQUFTLEdBQUc7QUFDYixvQkFBQVAsRUFBRUQsR0FBRyxDQUFDO0FBQUEsa0JBQ1IsQ0FBQztBQUFBLGdCQUNIO0FBQ0EsZ0JBQUFRLEVBQUU7QUFBQSxjQUNKO0FBQ0Usa0JBQUVSLEdBQUdJLENBQUM7QUFBQSxZQUNWLFVBQUU7QUFDQSxjQUFBRixFQUFFRSxDQUFDO0FBQUEsWUFDTDtBQUFBLFVBQ0Y7QUFDQSxtQkFBU00sRUFBRVYsR0FBR0UsR0FBR0UsR0FBRztBQUNsQixnQkFBSTtBQUNGLGNBQUFILEVBQUVELEdBQUdJLENBQUM7QUFBQSxZQUNSLFVBQUU7QUFDQSxjQUFBRixFQUFFRSxDQUFDO0FBQUEsWUFDTDtBQUFBLFVBQ0Y7QUFDQSxpQkFBTyxJQUFJLFFBQVEsU0FBU0osR0FBR0UsR0FBRztBQUNoQyxtQkFBT3BDLEVBQUcsS0FBS0QsRUFBRyxRQUFRQyxFQUFHLE9BQU8sR0FBR1ksQ0FBQyxHQUFHLFdBQVc7QUFDcEQscUJBQU9MLEVBQUUsWUFBWUksR0FBR3FCLENBQUMsR0FBR3pCLEVBQUUsZUFBZTdCLEVBQUUsTUFBTW1DLEdBQUdGLGFBQWEsVUFBVSxDQUFDQSxDQUFDLElBQUksQ0FBQ3FCLEdBQUdyQixDQUFDLENBQUMsRUFBRSxLQUFLMEIsRUFBRSxLQUFLeEIsR0FBR0QsR0FBR3NCLENBQUMsR0FBR1UsRUFBRSxLQUFLL0IsR0FBR0QsR0FBR3dCLENBQUMsQ0FBQztBQUFBLFlBQ3BJLENBQUM7QUFBQSxVQUNILENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0YsR0FBRy9CLEVBQUUsVUFBVSw2QkFBNkIsU0FBU0MsR0FBRzVCLEdBQUc2QixHQUFHO0FBQzVELFVBQUlDLElBQUksTUFBTUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtBQUNuQyxNQUFBQSxLQUFLbEIsRUFBRSxXQUFXO0FBQ2hCLGVBQU9rQixFQUFFSCxHQUFHNUIsR0FBRzZCLENBQUM7QUFBQSxNQUNsQixHQUFHLFNBQVNHLEdBQUc7QUFDYixRQUFBQSxLQUFLRixFQUFFLE1BQU0sTUFBTSwrQkFBK0JFLENBQUM7QUFBQSxNQUNyRCxDQUFDO0FBQUEsSUFDSCxHQUFHTCxFQUFFLFVBQVUsbUJBQW1CLFNBQVNDLEdBQUc7QUFDNUMsVUFBSTVCLElBQUlTLEVBQUcsR0FBR29CLElBQUksQ0FBQztBQUNuQixVQUFJLE9BQU8sdUJBQXVCO0FBQ2hDLGVBQU8sRUFBRSxTQUFTQSxHQUFHLFdBQVc3QixHQUFHLFNBQVM0QixFQUFFO0FBQ2hELFVBQUlFLElBQUksSUFBSSxvQkFBb0IsU0FBU0MsR0FBRztBQUMxQyxZQUFJQyxJQUFJRCxFQUFFLFdBQVc7QUFDckIsUUFBQUMsRUFBRSxRQUFRLFNBQVNHLEdBQUc7QUFDcEIsVUFBQUEsRUFBRSxrQkFBa0IsV0FBV0EsRUFBRSxTQUFTUCxLQUFLQyxFQUFFLEtBQUtNLENBQUM7QUFBQSxRQUN6RCxDQUFDO0FBQUEsTUFDSCxDQUFDO0FBQ0QsYUFBT0wsRUFBRSxRQUFRO0FBQUEsUUFDZixZQUFZLENBQUMsVUFBVTtBQUFBLE1BQ3pCLENBQUMsR0FBRyxFQUFFLFNBQVNELEdBQUcsVUFBVUMsR0FBRyxXQUFXOUIsR0FBRyxTQUFTNEIsRUFBRTtBQUFBLElBQzFELEdBQUdELEVBQUUsVUFBVSxTQUFTLFdBQVc7QUFDakMsVUFBSXlCLEdBQUc7QUFDTCxhQUFLLE1BQU0sS0FBSywrRkFBK0Y7QUFDL0c7QUFBQSxNQUNGO0FBQ0EsTUFBQXRDLEVBQUksS0FBSyxNQUFNLEtBQUssUUFBUUYsR0FBSSxPQUFPLEdBQUcsS0FBSyxNQUFNLE1BQU0seUNBQXlDLElBQUksS0FBSyxNQUFNQSxHQUFJLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQztBQUFBLElBQzFKLEdBQUdlLEVBQUUsVUFBVSxVQUFVLFdBQVc7QUFDbEMsTUFBQXlCLE1BQU0sS0FBSyxRQUFReEMsR0FBSSxPQUFPLEdBQUcsS0FBSyxpQkFBaUMsb0JBQUksUUFBUTtBQUFBLElBQ3JGLEdBQUdlO0FBQUEsRUFDTCxHQUFHWixDQUFDO0FBQUE7IiwKICAibmFtZXMiOiBbInIiLCAiSkEiLCAicUEiLCAiWkEiLCAiJEEiLCAieV8iLCAiWmUiLCAieEEiLCAia0EiLCAicF8iLCAiTyIsICJFciIsICJoXyIsICJCIiwgIlUkMSIsICJXIiwgIlQiLCAieSQxIiwgIkMiLCAiYiQxIiwgIlYiLCAiR2UiLCAiT2UiLCAibHQiLCAieSIsICJhIiwgIm5lIiwgIm8iLCAiZSIsICJuIiwgInQiLCAiaSIsICJzIiwgImMiLCAiaCIsICJmIiwgImFlIiwgImllIiwgIm9lIiwgIlUiLCAic2UiLCAidWUiLCAiZmUiLCAiYiIsICJsZSIsICJjZSIsICJrIiwgImRlIiwgImhlIiwgInBlIiwgIlMiLCAidmUiLCAiSCIsICJTZSIsICJ1IiwgImciLCAibCIsICJFIiwgImQiLCAiTSIsICJ2IiwgImoiLCAiRCIsICJSIiwgIkEiLCAiRiIsICJMIl0KfQo=
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,11 @@ import { z } from 'zod';
|
|
|
8
8
|
|
|
9
9
|
declare type AffirmFlowCustomParams = {
|
|
10
10
|
processor?: PaymentProcessor;
|
|
11
|
+
/**
|
|
12
|
+
* Open the BNPL authorization page in a new tab instead of an iframe.
|
|
13
|
+
* The merchant page stays open, so `onCheckoutSuccess` / `onCheckoutError` still fire.
|
|
14
|
+
* Defaults to false to preserve the existing iframe flow.
|
|
15
|
+
*/
|
|
11
16
|
useRedirectFlow?: boolean;
|
|
12
17
|
};
|
|
13
18
|
|
|
@@ -20,6 +25,11 @@ declare type AffirmProcessors = {
|
|
|
20
25
|
|
|
21
26
|
declare type AfterpayFlowCustomParams = {
|
|
22
27
|
processor?: PaymentProcessor;
|
|
28
|
+
/**
|
|
29
|
+
* Open the BNPL authorization page in a new tab instead of an iframe.
|
|
30
|
+
* The merchant page stays open, so `onCheckoutSuccess` / `onCheckoutError` still fire.
|
|
31
|
+
* Defaults to false to preserve the existing iframe flow.
|
|
32
|
+
*/
|
|
23
33
|
useRedirectFlow?: boolean;
|
|
24
34
|
};
|
|
25
35
|
|
|
@@ -557,6 +567,11 @@ declare type KlarnaFlowCustomParams = {
|
|
|
557
567
|
*/
|
|
558
568
|
processor?: PaymentProcessor;
|
|
559
569
|
isAnonymous?: boolean;
|
|
570
|
+
/**
|
|
571
|
+
* Open the BNPL authorization page in a new tab instead of an iframe.
|
|
572
|
+
* The merchant page stays open, so `onCheckoutSuccess` / `onCheckoutError` still fire.
|
|
573
|
+
* Defaults to false to preserve the existing iframe flow.
|
|
574
|
+
*/
|
|
560
575
|
useRedirectFlow?: boolean;
|
|
561
576
|
};
|
|
562
577
|
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import "penpal";
|
|
2
|
-
import { C as n,
|
|
2
|
+
import { C as n, g as r, h as o, k as d, n as i, F as l, o as p, P as E, p as C, q as F, u, v } from "./index-CKkSVDgi.js";
|
|
3
3
|
import "uuid";
|
|
4
4
|
import "chalk";
|
|
5
5
|
export {
|
|
6
6
|
n as CardCvcElement,
|
|
7
7
|
r as CardElement,
|
|
8
8
|
o as CardExpiryElement,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
d as CardNumberElement,
|
|
10
|
+
i as ElementsForm,
|
|
11
|
+
l as FieldName,
|
|
12
|
+
p as LoopEnvironment,
|
|
13
|
+
E as PayInFailed,
|
|
14
14
|
C as PayInState,
|
|
15
15
|
F as SubmitMethods,
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
u as useOpenPayElements,
|
|
17
|
+
v as validateNonCdeFormFields
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXguanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCAncGVucGFsJztcbmV4cG9ydCB7IEMgYXMgQ2FyZEN2Y0VsZW1lbnQsIGcgYXMgQ2FyZEVsZW1lbnQsIGggYXMgQ2FyZEV4cGlyeUVsZW1lbnQsIGsgYXMgQ2FyZE51bWJlckVsZW1lbnQsIG4gYXMgRWxlbWVudHNGb3JtLCBGIGFzIEZpZWxkTmFtZSwgbyBhcyBMb29wRW52aXJvbm1lbnQsIFAgYXMgUGF5SW5GYWlsZWQsIHAgYXMgUGF5SW5TdGF0ZSwgcSBhcyBTdWJtaXRNZXRob2RzLCB1IGFzIHVzZU9wZW5QYXlFbGVtZW50cywgdiBhcyB2YWxpZGF0ZU5vbkNkZUZvcm1GaWVsZHMgfSBmcm9tICcuL2luZGV4LSF+ezAwN31+LmpzJztcbmltcG9ydCAndXVpZCc7XG5pbXBvcnQgJ2NoYWxrJzsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFPO0FBQ1AsU0FBYyxLQUFMQSxHQUEwQixLQUFMQyxHQUF1QixLQUFMQyxHQUE2QixLQUFMQyxHQUE2QixLQUFMQyxHQUF3QixLQUFMQyxHQUFxQixLQUFMQyxHQUEyQixLQUFMQyxHQUF1QixLQUFMQyxHQUFzQixLQUFMQyxHQUF5QixHQUF5QixTQUFnQztBQUM5USxPQUFPO0FBQ1AsT0FBTzsiLAogICJuYW1lcyI6IFsiQyIsICJnIiwgImgiLCAiayIsICJuIiwgIkYiLCAibyIsICJQIiwgInAiLCAicSJdCn0K
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { m as l, d as f, e as y, f as h } from "./index-CKkSVDgi.js";
|
|
2
2
|
var o = /* @__PURE__ */ (function() {
|
|
3
3
|
var t = function(n, e) {
|
|
4
4
|
return t = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, u) {
|
|
@@ -22,13 +22,13 @@ var o = /* @__PURE__ */ (function() {
|
|
|
22
22
|
function t() {
|
|
23
23
|
}
|
|
24
24
|
return t.prototype.createGauge = function(n, e) {
|
|
25
|
-
return k;
|
|
26
|
-
}, t.prototype.createHistogram = function(n, e) {
|
|
27
25
|
return M;
|
|
26
|
+
}, t.prototype.createHistogram = function(n, e) {
|
|
27
|
+
return P;
|
|
28
28
|
}, t.prototype.createCounter = function(n, e) {
|
|
29
29
|
return C;
|
|
30
30
|
}, t.prototype.createUpDownCounter = function(n, e) {
|
|
31
|
-
return
|
|
31
|
+
return k;
|
|
32
32
|
}, t.prototype.createObservableGauge = function(n, e) {
|
|
33
33
|
return j;
|
|
34
34
|
}, t.prototype.createObservableCounter = function(n, e) {
|
|
@@ -76,7 +76,7 @@ var o = /* @__PURE__ */ (function() {
|
|
|
76
76
|
return n.prototype.record = function(e, r) {
|
|
77
77
|
}, n;
|
|
78
78
|
})(i)
|
|
79
|
-
),
|
|
79
|
+
), m = (
|
|
80
80
|
/** @class */
|
|
81
81
|
(function(t) {
|
|
82
82
|
o(n, t);
|
|
@@ -95,7 +95,7 @@ var o = /* @__PURE__ */ (function() {
|
|
|
95
95
|
}, t.prototype.removeCallback = function(n) {
|
|
96
96
|
}, t;
|
|
97
97
|
})()
|
|
98
|
-
),
|
|
98
|
+
), v = (
|
|
99
99
|
/** @class */
|
|
100
100
|
(function(t) {
|
|
101
101
|
o(n, t);
|
|
@@ -122,7 +122,7 @@ var o = /* @__PURE__ */ (function() {
|
|
|
122
122
|
}
|
|
123
123
|
return n;
|
|
124
124
|
})(a)
|
|
125
|
-
), s = new b(), C = new g(),
|
|
125
|
+
), s = new b(), C = new g(), M = new w(), P = new m(), k = new d(), G = new v(), j = new O(), D = new _();
|
|
126
126
|
function E() {
|
|
127
127
|
return s;
|
|
128
128
|
}
|
|
@@ -152,9 +152,9 @@ var I = (
|
|
|
152
152
|
h(p, f.instance());
|
|
153
153
|
}, t;
|
|
154
154
|
})()
|
|
155
|
-
),
|
|
155
|
+
), N = x.getInstance();
|
|
156
156
|
export {
|
|
157
157
|
E as D,
|
|
158
|
-
|
|
158
|
+
N as k
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktbDJBRnlyenktIX57MDBmfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHUgYXMgdXIsIGsgYXMga3QsIGMgYXMgb3QsIGQgYXMgZHIgfSBmcm9tICcuL2luZGV4LSF+ezAwN31+LmpzJztcblxudmFyIG8gPSAvKiBAX19QVVJFX18gKi8gKGZ1bmN0aW9uKCkge1xuICB2YXIgdCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHIsIGEpIHtcbiAgICAgIHIuX19wcm90b19fID0gYTtcbiAgICB9IHx8IGZ1bmN0aW9uKHIsIGEpIHtcbiAgICAgIGZvciAodmFyIHUgaW4gYSkgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsIHUpICYmIChyW3VdID0gYVt1XSk7XG4gICAgfSwgdChlLCBuKTtcbiAgfTtcbiAgcmV0dXJuIGZ1bmN0aW9uKGUsIG4pIHtcbiAgICBpZiAodHlwZW9mIG4gIT0gXCJmdW5jdGlvblwiICYmIG4gIT09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhuKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgdChlLCBuKTtcbiAgICBmdW5jdGlvbiByKCkge1xuICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7XG4gICAgfVxuICAgIGUucHJvdG90eXBlID0gbiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUobikgOiAoci5wcm90b3R5cGUgPSBuLnByb3RvdHlwZSwgbmV3IHIoKSk7XG4gIH07XG59KSgpLCBPID0gKFxuICAvKiogQGNsYXNzICovXG4gIChmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlR2F1Z2UgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gaDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gUDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIG07XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBkO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBSO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIHc7XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gRztcbiAgICB9LCB0LnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUpIHtcbiAgICB9LCB0O1xuICB9KSgpXG4pLCBpID0gKFxuICAvKiogQGNsYXNzICovXG4gIC8qIEBfX1BVUkVfXyAqLyAoZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQ7XG4gIH0pKClcbiksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uKG4sIHIpIHtcbiAgICB9LCBlO1xuICB9KShpKVxuKSwgYiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0pKGkpXG4pLCBOID0gKFxuICAvKiogQGNsYXNzICovXG4gIChmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlLnByb3RvdHlwZS5yZWNvcmQgPSBmdW5jdGlvbihuLCByKSB7XG4gICAgfSwgZTtcbiAgfSkoaSlcbiksIHkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLnJlY29yZCA9IGZ1bmN0aW9uKG4sIHIpIHtcbiAgICB9LCBlO1xuICB9KShpKVxuKSwgcCA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZENhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQ7XG4gIH0pKClcbiksIGcgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0pKHApXG4pLCBDID0gKFxuICAvKiogQGNsYXNzICovXG4gIChmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KShwKVxuKSwgRSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbiAgfSkocClcbiksIGwgPSBuZXcgTygpLCBtID0gbmV3IE0oKSwgaCA9IG5ldyBOKCksIFAgPSBuZXcgeSgpLCBkID0gbmV3IGIoKSwgdyA9IG5ldyBnKCksIFIgPSBuZXcgQygpLCBHID0gbmV3IEUoKTtcbmZ1bmN0aW9uIEQoKSB7XG4gIHJldHVybiBsO1xufVxudmFyIEkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0LnByb3RvdHlwZS5nZXRNZXRlciA9IGZ1bmN0aW9uKGUsIG4sIHIpIHtcbiAgICAgIHJldHVybiBsO1xuICAgIH0sIHQ7XG4gIH0pKClcbiksIFQgPSBuZXcgSSgpLCBjID0gXCJtZXRyaWNzXCIsIFUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0LmdldEluc3RhbmNlID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2UgfHwgKHRoaXMuX2luc3RhbmNlID0gbmV3IHQoKSksIHRoaXMuX2luc3RhbmNlO1xuICAgIH0sIHQucHJvdG90eXBlLnNldEdsb2JhbE1ldGVyUHJvdmlkZXIgPSBmdW5jdGlvbihlKSB7XG4gICAgICByZXR1cm4gdXIoYywgZSwga3QuaW5zdGFuY2UoKSk7XG4gICAgfSwgdC5wcm90b3R5cGUuZ2V0TWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIG90KGMpIHx8IFQ7XG4gICAgfSwgdC5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbihlLCBuLCByKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXRlclByb3ZpZGVyKCkuZ2V0TWV0ZXIoZSwgbiwgcik7XG4gICAgfSwgdC5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgZHIoYywga3QuaW5zdGFuY2UoKSk7XG4gICAgfSwgdDtcbiAgfSkoKVxuKSwgayA9IFUuZ2V0SW5zdGFuY2UoKTtcblxuZXhwb3J0IHsgRCwgayB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBS0EsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsU0FBVTtBQUVuRCxJQUFJLElBQXFCLDRCQUFXO0FBQ2xDLE1BQUksSUFBSSxTQUFTQyxHQUFHQyxHQUFHO0FBQ3JCLFdBQU8sSUFBSSxPQUFPLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxFQUFFLGFBQWEsU0FBUyxTQUFTLEdBQUdDLEdBQUc7QUFDdkYsUUFBRSxZQUFZQTtBQUFBLElBQ2hCLEtBQUssU0FBUyxHQUFHQSxHQUFHO0FBQ2xCLGVBQVNDLEtBQUtELEVBQUcsUUFBTyxVQUFV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QUlTLEVBQUUsR0FBR1AsSUFBSSxJQUFJUSxFQUFFO0FBQ3hHLFNBQVNFLElBQUk7QUFDWCxTQUFPRDtBQUNUO0FBQ0EsSUFBSTtBQUFBO0FBQUEsR0FFRCxXQUFXO0FBQ1YsYUFBUyxJQUFJO0FBQUEsSUFDYjtBQUNBLFdBQU8sRUFBRSxVQUFVLFdBQVcsU0FBU3BCLEdBQUdDLEdBQUcsR0FBRztBQUM5QyxhQUFPbUI7QUFBQSxJQUNULEdBQUc7QUFBQSxFQUNMLEdBQUc7QUFBQSxHQUNGRSxJQUFJLElBQUksRUFBRSxHQUFHQyxJQUFJLFdBQVdDO0FBQUE7QUFBQSxHQUU1QixXQUFXO0FBQ1YsYUFBUyxJQUFJO0FBQUEsSUFDYjtBQUNBLFdBQU8sRUFBRSxjQUFjLFdBQVc7QUFDaEMsYUFBTyxLQUFLLGNBQWMsS0FBSyxZQUFZLElBQUksRUFBRSxJQUFJLEtBQUs7QUFBQSxJQUM1RCxHQUFHLEVBQUUsVUFBVSx5QkFBeUIsU0FBU3hCLEdBQUc7QUFDbEQsYUFBT0osRUFBRzJCLEdBQUd2QixHQUFHSCxFQUFHLFNBQVMsQ0FBQztBQUFBLElBQy9CLEdBQUcsRUFBRSxVQUFVLG1CQUFtQixXQUFXO0FBQzNDLGFBQU9DLEVBQUd5QixDQUFDLEtBQUtEO0FBQUEsSUFDbEIsR0FBRyxFQUFFLFVBQVUsV0FBVyxTQUFTdEIsR0FBR0MsR0FBRyxHQUFHO0FBQzFDLGFBQU8sS0FBSyxpQkFBaUIsRUFBRSxTQUFTRCxHQUFHQyxHQUFHLENBQUM7QUFBQSxJQUNqRCxHQUFHLEVBQUUsVUFBVSxVQUFVLFdBQVc7QUFDbEMsTUFBQUYsRUFBR3dCLEdBQUcxQixFQUFHLFNBQVMsQ0FBQztBQUFBLElBQ3JCLEdBQUc7QUFBQSxFQUNMLEdBQUc7QUFBQSxHQUNGNEIsSUFBSUQsRUFBRSxZQUFZOyIsCiAgIm5hbWVzIjogWyJ1ciIsICJrdCIsICJvdCIsICJkciIsICJlIiwgIm4iLCAiYSIsICJ1IiwgIk8iLCAiaCIsICJQIiwgIm0iLCAiZCIsICJSIiwgInciLCAiRyIsICJNIiwgImIiLCAiTiIsICJ5IiwgInAiLCAiZyIsICJDIiwgIkUiLCAibCIsICJEIiwgIlQiLCAiYyIsICJVIiwgImsiXQp9Cg==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktbDEwMUZLLTQtIX57MDBmfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IG0gYXMgbXIsIGQgYXMgTnQsIGUgYXMgY3QsIGYgYXMgZnIgfSBmcm9tICcuL2luZGV4LSF+ezAwN31+LmpzJztcblxudmFyIG8gPSAvKiBAX19QVVJFX18gKi8gKGZ1bmN0aW9uKCkge1xuICB2YXIgdCA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICByZXR1cm4gdCA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCB7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uKHIsIGEpIHtcbiAgICAgIHIuX19wcm90b19fID0gYTtcbiAgICB9IHx8IGZ1bmN0aW9uKHIsIGEpIHtcbiAgICAgIGZvciAodmFyIHUgaW4gYSkgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsIHUpICYmIChyW3VdID0gYVt1XSk7XG4gICAgfSwgdChlLCBuKTtcbiAgfTtcbiAgcmV0dXJuIGZ1bmN0aW9uKGUsIG4pIHtcbiAgICBpZiAodHlwZW9mIG4gIT0gXCJmdW5jdGlvblwiICYmIG4gIT09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhuKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgdChlLCBuKTtcbiAgICBmdW5jdGlvbiByKCkge1xuICAgICAgdGhpcy5jb25zdHJ1Y3RvciA9IGU7XG4gICAgfVxuICAgIGUucHJvdG90eXBlID0gbiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUobikgOiAoci5wcm90b3R5cGUgPSBuLnByb3RvdHlwZSwgbmV3IHIoKSk7XG4gIH07XG59KSgpLCBPID0gKFxuICAvKiogQGNsYXNzICovXG4gIChmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlR2F1Z2UgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gaDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gUDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIG07XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBkO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBSO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIHc7XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gRztcbiAgICB9LCB0LnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUpIHtcbiAgICB9LCB0O1xuICB9KSgpXG4pLCBpID0gKFxuICAvKiogQGNsYXNzICovXG4gIC8qIEBfX1BVUkVfXyAqLyAoZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQ7XG4gIH0pKClcbiksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uKG4sIHIpIHtcbiAgICB9LCBlO1xuICB9KShpKVxuKSwgYiA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0pKGkpXG4pLCBOID0gKFxuICAvKiogQGNsYXNzICovXG4gIChmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlLnByb3RvdHlwZS5yZWNvcmQgPSBmdW5jdGlvbihuLCByKSB7XG4gICAgfSwgZTtcbiAgfSkoaSlcbiksIHkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGUucHJvdG90eXBlLnJlY29yZCA9IGZ1bmN0aW9uKG4sIHIpIHtcbiAgICB9LCBlO1xuICB9KShpKVxuKSwgcCA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZENhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQ7XG4gIH0pKClcbiksIGcgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0pKHApXG4pLCBDID0gKFxuICAvKiogQGNsYXNzICovXG4gIChmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KShwKVxuKSwgRSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAoZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbiAgfSkocClcbiksIGwgPSBuZXcgTygpLCBtID0gbmV3IE0oKSwgaCA9IG5ldyBOKCksIFAgPSBuZXcgeSgpLCBkID0gbmV3IGIoKSwgdyA9IG5ldyBnKCksIFIgPSBuZXcgQygpLCBHID0gbmV3IEUoKTtcbmZ1bmN0aW9uIEQoKSB7XG4gIHJldHVybiBsO1xufVxudmFyIEkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0LnByb3RvdHlwZS5nZXRNZXRlciA9IGZ1bmN0aW9uKGUsIG4sIHIpIHtcbiAgICAgIHJldHVybiBsO1xuICAgIH0sIHQ7XG4gIH0pKClcbiksIFQgPSBuZXcgSSgpLCBjID0gXCJtZXRyaWNzXCIsIFUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgKGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0LmdldEluc3RhbmNlID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2UgfHwgKHRoaXMuX2luc3RhbmNlID0gbmV3IHQoKSksIHRoaXMuX2luc3RhbmNlO1xuICAgIH0sIHQucHJvdG90eXBlLnNldEdsb2JhbE1ldGVyUHJvdmlkZXIgPSBmdW5jdGlvbihlKSB7XG4gICAgICByZXR1cm4gbXIoYywgZSwgTnQuaW5zdGFuY2UoKSk7XG4gICAgfSwgdC5wcm90b3R5cGUuZ2V0TWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGN0KGMpIHx8IFQ7XG4gICAgfSwgdC5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbihlLCBuLCByKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXRlclByb3ZpZGVyKCkuZ2V0TWV0ZXIoZSwgbiwgcik7XG4gICAgfSwgdC5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgZnIoYywgTnQuaW5zdGFuY2UoKSk7XG4gICAgfSwgdDtcbiAgfSkoKVxuKSwgayA9IFUuZ2V0SW5zdGFuY2UoKTtcblxuZXhwb3J0IHsgRCwgayB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBS0EsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsU0FBVTtBQUVuRCxJQUFJLElBQXFCLDRCQUFXO0FBQ2xDLE1BQUksSUFBSSxTQUFTQyxHQUFHQyxHQUFHO0FBQ3JCLFdBQU8sSUFBSSxPQUFPLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxFQUFFLGFBQWEsU0FBUyxTQUFTLEdBQUdDLEdBQUc7QUFDdkYsUUFBRSxZQUFZQTtBQUFBLElBQ2hCLEtBQUssU0FBUyxHQUFHQSxHQUFHO0FBQ2xCLGVBQVNDLEtBQUtELEVBQUcsUUFBTyxVQUFV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LEdBQUdQLElBQUksSUFBSVEsRUFBRTtBQUN4RyxTQUFTRSxJQUFJO0FBQ1gsU0FBT0Q7QUFDVDtBQUNBLElBQUk7QUFBQTtBQUFBLEdBRUQsV0FBVztBQUNWLGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsVUFBVSxXQUFXLFNBQVNuQixHQUFHQyxHQUFHLEdBQUc7QUFDOUMsYUFBT2tCO0FBQUEsSUFDVCxHQUFHO0FBQUEsRUFDTCxHQUFHO0FBQUEsR0FDRkUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSSxXQUFXQztBQUFBO0FBQUEsR0FFNUIsV0FBVztBQUNWLGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsY0FBYyxXQUFXO0FBQ2hDLGFBQU8sS0FBSyxjQUFjLEtBQUssWUFBWSxJQUFJLEVBQUUsSUFBSSxLQUFLO0FBQUEsSUFDNUQsR0FBRyxFQUFFLFVBQVUseUJBQXlCLFNBQVN2QixHQUFHO0FBQ2xELGFBQU9KLEVBQUcwQixHQUFHdEIsR0FBR0gsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUMvQixHQUFHLEVBQUUsVUFBVSxtQkFBbUIsV0FBVztBQUMzQyxhQUFPQyxFQUFHd0IsQ0FBQyxLQUFLRDtBQUFBLElBQ2xCLEdBQUcsRUFBRSxVQUFVLFdBQVcsU0FBU3JCLEdBQUdDLEdBQUcsR0FBRztBQUMxQyxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0QsR0FBR0MsR0FBRyxDQUFDO0FBQUEsSUFDakQsR0FBRyxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUFGLEVBQUd1QixHQUFHekIsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUNyQixHQUFHO0FBQUEsRUFDTCxHQUFHO0FBQUEsR0FDRjJCLElBQUlELEVBQUUsWUFBWTsiLAogICJuYW1lcyI6IFsibXIiLCAiTnQiLCAiY3QiLCAiZnIiLCAiZSIsICJuIiwgImEiLCAidSIsICJPIiwgImgiLCAibSIsICJkIiwgIlIiLCAidyIsICJHIiwgIk0iLCAiYiIsICJOIiwgInkiLCAicCIsICJnIiwgIkMiLCAiRSIsICJsIiwgIkQiLCAiVCIsICJjIiwgIlUiLCAiayJdCn0K
|
package/dist/{suppress-tracing-D5T6gdNh-B4bDPm8x.js → suppress-tracing-Bjw2QoK9-B-C6JSH0.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as r } from "./index-CKkSVDgi.js";
|
|
2
2
|
var t = r("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
|
|
3
3
|
function n(e) {
|
|
4
4
|
return e.setValue(t, !0);
|
|
@@ -14,4 +14,4 @@ export {
|
|
|
14
14
|
o as s,
|
|
15
15
|
n as u
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3VwcHJlc3MtdHJhY2luZy1CancyUW9LOS0hfnswMG59fi5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgRSBhcyBFcyB9IGZyb20gJy4vaW5kZXgtIX57MDA3fX4uanMnO1xuXG52YXIgciA9IEVzKFwiT3BlblRlbGVtZXRyeSBTREsgQ29udGV4dCBLZXkgU1VQUFJFU1NfVFJBQ0lOR1wiKTtcbmZ1bmN0aW9uIHUoZSkge1xuICByZXR1cm4gZS5zZXRWYWx1ZShyLCB0cnVlKTtcbn1cbmZ1bmN0aW9uIHMoZSkge1xuICByZXR1cm4gZS5kZWxldGVWYWx1ZShyKTtcbn1cbmZ1bmN0aW9uIGEoZSkge1xuICByZXR1cm4gZS5nZXRWYWx1ZShyKSA9PT0gdHJ1ZTtcbn1cblxuZXhwb3J0IHsgYSwgcywgdSB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBS0EsU0FBVTtBQUV4QixJQUFJQyxJQUFJRCxFQUFHLGdEQUFnRDtBQUMzRCxTQUFTRSxFQUFFLEdBQUc7QUFDWixTQUFPLEVBQUUsU0FBU0QsR0FBRyxFQUFJO0FBQzNCO0FBQ0EsU0FBU0UsRUFBRSxHQUFHO0FBQ1osU0FBTyxFQUFFLFlBQVlGLENBQUM7QUFDeEI7QUFDQSxTQUFTLEVBQUUsR0FBRztBQUNaLFNBQU8sRUFBRSxTQUFTQSxDQUFDLE1BQU07QUFDM0I7IiwKICAibmFtZXMiOiBbIkVzIiwgInIiLCAidSIsICJzIl0KfQo=
|