@getopenpay/openpay-js-react 0.3.14-alpha.8f138b8 → 0.3.15-alpha.72b791a
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-BUbQYMo6-gNl9IB1G.js → Resource-D8TOlEjr-B-qv3FcJ.js} +3 -3
- package/dist/SimpleSpanProcessor-B7rEuBRv-a4Fxxnjx.js +957 -0
- package/dist/detect-resources-CoWzCtyh-BLGcd0Bf.js +854 -0
- package/dist/diag-api-CS_j-083-gvfeT9eV.js +6 -0
- package/dist/{index-3bEWNO5t-BsGbK2jn.js → index-BD6wDwRi-Dq3qAEFs.js} +12 -12
- package/dist/{index-Dt81UMoA-pXGGrD8J.js → index-Cxxq_gPU-COXr17dC.js} +2 -2
- package/dist/{index-CIyvfLCj-DCd9pJyd.js → index-DDiS5N1--u9xRswKP.js} +24 -24
- package/dist/index-DPmL7fu_.js +8066 -0
- package/dist/{index-CUozohep-CbkzYFm9.js → index-DTEkiSSn-UXUQHBNW.js} +113 -113
- package/dist/index-FGSn80Fq-z4zEb9Y7.js +830 -0
- package/dist/{index-2ucNr53i-DQQtLs7t.js → index-HUtuiK3r-DqYCnW2e.js} +5 -5
- package/dist/{index-CPQpoLe--DSQasqi3.js → index-Unpme7IJ-z9dB3jf6.js} +2 -2
- package/dist/{index-DR3rTKvi-CtZOD_q9.js → index-Z7u_I0fv-_P03fugB.js} +8 -8
- package/dist/{index-iyB-OjaA-Da9gb31C.js → index-lSYhTdYC-X3hFMPTO.js} +24 -24
- package/dist/index.d.ts +26 -10
- package/dist/index.js +9 -8
- package/dist/{metrics-api-DPGie95w-D7qa5Q-O.js → metrics-api-CIq6mBFF-BEu-IBxj.js} +9 -9
- package/dist/{sdk-info-CRtcMnZT-G_nRMPsR.js → sdk-info-wum682QL-D0-wDuPw.js} +15 -15
- package/dist/url-BVSq8L4l-DHQsJ0N2.js +797 -0
- package/dist/{utils-Y3X4Ct16-Bx8LpWan.js → utils-DTpWOQzu-CE1NSUxN.js} +2 -2
- package/dist/{utils-BHpfmVSb-DBohbmC-.js → utils-p0tJrA3b-BwnFKyIA.js} +4 -4
- package/package.json +1 -1
- package/dist/SimpleSpanProcessor-Cam2lJfG-eMP5ue6i.js +0 -957
- package/dist/detect-resources-CDf272jb-BKXOZPGL.js +0 -854
- package/dist/diag-api-CAnpZ_mh-BicaJ-TD.js +0 -6
- package/dist/index-CcyNbQd8-Bw57HxYb.js +0 -830
- package/dist/index-DJF-pWKT.js +0 -7647
- package/dist/url-Co5oXKmU-Y6GbTOtJ.js +0 -797
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { k as a } from "./metrics-api-
|
|
2
|
-
import {
|
|
3
|
-
import { S as u } from "./utils-
|
|
4
|
-
import { Y as b, H as w, F as
|
|
5
|
-
import { r as c } from "./diag-api-
|
|
1
|
+
import { k as a } from "./metrics-api-CIq6mBFF-BEu-IBxj.js";
|
|
2
|
+
import { D as d } from "./index-DPmL7fu_.js";
|
|
3
|
+
import { S as u } from "./utils-p0tJrA3b-BwnFKyIA.js";
|
|
4
|
+
import { Y as b, H as w, F as D, q as E } from "./utils-p0tJrA3b-BwnFKyIA.js";
|
|
5
|
+
import { r as c } from "./diag-api-CS_j-083-gvfeT9eV.js";
|
|
6
6
|
function f(e, t, r, i) {
|
|
7
7
|
for (var n = 0, s = e.length; n < s; n++) {
|
|
8
8
|
var o = e[n];
|
|
@@ -46,7 +46,7 @@ export {
|
|
|
46
46
|
M as InstrumentationNodeModuleFile,
|
|
47
47
|
w as isWrapped,
|
|
48
48
|
P as registerInstrumentations,
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
D as safeExecuteInTheMiddle,
|
|
50
|
+
E as safeExecuteInTheMiddleAsync
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtWjd1X0kwZnYtIX57MDBjfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGsgfSBmcm9tICcuL21ldHJpY3MtYXBpLUNJcTZtQkZGLSF+ezAwZH1+LmpzJztcbmltcG9ydCB7IEQgYXMgRGUgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCB7IFMgfSBmcm9tICcuL3V0aWxzLXAwdEpyQTNiLSF+ezAwOX1+LmpzJztcbmV4cG9ydCB7IFkgYXMgSW5zdHJ1bWVudGF0aW9uQmFzZSwgSCBhcyBpc1dyYXBwZWQsIEYgYXMgc2FmZUV4ZWN1dGVJblRoZU1pZGRsZSwgcSBhcyBzYWZlRXhlY3V0ZUluVGhlTWlkZGxlQXN5bmMgfSBmcm9tICcuL3V0aWxzLXAwdEpyQTNiLSF+ezAwOX1+LmpzJztcbmltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLUNTX2otMDgzLSF+ezAwN31+LmpzJztcblxuZnVuY3Rpb24gbChlLCByLCB0LCBvKSB7XG4gIGZvciAodmFyIG4gPSAwLCBhID0gZS5sZW5ndGg7IG4gPCBhOyBuKyspIHtcbiAgICB2YXIgaSA9IGVbbl07XG4gICAgciAmJiBpLnNldFRyYWNlclByb3ZpZGVyKHIpLCB0ICYmIGkuc2V0TWV0ZXJQcm92aWRlcih0KSwgbyAmJiBpLnNldExvZ2dlclByb3ZpZGVyICYmIGkuc2V0TG9nZ2VyUHJvdmlkZXIobyksIGkuZ2V0Q29uZmlnKCkuZW5hYmxlZCB8fCBpLmVuYWJsZSgpO1xuICB9XG59XG5mdW5jdGlvbiBjKGUpIHtcbiAgZS5mb3JFYWNoKGZ1bmN0aW9uKHIpIHtcbiAgICByZXR1cm4gci5kaXNhYmxlKCk7XG4gIH0pO1xufVxuZnVuY3Rpb24gSShlKSB7XG4gIHZhciByLCB0LCBvID0gZS50cmFjZXJQcm92aWRlciB8fCBEZS5nZXRUcmFjZXJQcm92aWRlcigpLCBuID0gZS5tZXRlclByb3ZpZGVyIHx8IGsuZ2V0TWV0ZXJQcm92aWRlcigpLCBhID0gZS5sb2dnZXJQcm92aWRlciB8fCBTLmdldExvZ2dlclByb3ZpZGVyKCksIGkgPSAodCA9IChyID0gZS5pbnN0cnVtZW50YXRpb25zKSA9PT0gbnVsbCB8fCByID09PSB2b2lkIDAgPyB2b2lkIDAgOiByLmZsYXQoKSkgIT09IG51bGwgJiYgdCAhPT0gdm9pZCAwID8gdCA6IFtdO1xuICByZXR1cm4gbChpLCBvLCBuLCBhKSwgZnVuY3Rpb24oKSB7XG4gICAgYyhpKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG0oZSkge1xuICByZXR1cm4gci53YXJuKFwiUGF0aCBub3JtYWxpemF0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGhpcyBwbGF0Zm9ybS4gVG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcsIGVuc3VyZSBubyBub2RlLXNwZWNpZmljIGluc3RydW1lbnRhdGlvbnMgYXJlIGxvYWRlZCwgYW5kIG5vZGUtc3BlY2lmaWMgdHlwZXMgKGUuZy4gSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUpLCBhcmUgbm90IHVzZWQgaW4gYSBicm93c2VyIGNvbnRleHQpXCIpLCBlO1xufVxudmFyIFAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGUociwgdCwgbywgbiwgYSkge1xuICAgICAgdGhpcy5uYW1lID0gciwgdGhpcy5zdXBwb3J0ZWRWZXJzaW9ucyA9IHQsIHRoaXMucGF0Y2ggPSBvLCB0aGlzLnVucGF0Y2ggPSBuLCB0aGlzLmZpbGVzID0gYSB8fCBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0oKVxuKSwgTSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZShyLCB0LCBvLCBuKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZFZlcnNpb25zID0gdCwgdGhpcy5wYXRjaCA9IG8sIHRoaXMudW5wYXRjaCA9IG4sIHRoaXMubmFtZSA9IG0ocik7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KClcbik7XG5cbmV4cG9ydCB7IFAgYXMgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZURlZmluaXRpb24sIE0gYXMgSW5zdHJ1bWVudGF0aW9uTm9kZU1vZHVsZUZpbGUsIEkgYXMgcmVnaXN0ZXJJbnN0cnVtZW50YXRpb25zIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFBQSxTQUFTO0FBQ2xCLFNBQVMsS0FBS0MsU0FBVTtBQUN4QixTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBYyxLQUFMQyxHQUErQixLQUFMQyxHQUFxQixLQUFMQyxHQUFrQyxLQUFMQyxTQUF3QztBQUN4SCxTQUFTLEtBQUFDLFNBQVM7QUFFbEIsU0FBU0MsRUFBRSxHQUFHRCxHQUFHRSxHQUFHQyxHQUFHO0FBQ3JCLFdBQVMsSUFBSSxHQUFHQyxJQUFJLEVBQUUsUUFBUSxJQUFJQSxHQUFHLEtBQUs7QUFDeEMsUUFBSUMsSUFBSSxFQUFFLENBQUM7QUFDWCxJQUFBTCxLQUFLSyxFQUFFLGtCQUFrQkwsQ0FBQyxHQUFHRSxLQUFLRyxFQUFFLGlCQUFpQkgsQ0FBQyxHQUFHQyxLQUFLRSxFQUFFLHFCQUFxQkEsRUFBRSxrQkFBa0JGLENBQUMsR0FBR0UsRUFBRSxVQUFVLEVBQUUsV0FBV0EsRUFBRSxPQUFPO0FBQUEsRUFDako7QUFDRjtBQUNBLFNBQVNDLEVBQUUsR0FBRztBQUNaLElBQUUsUUFBUSxTQUFTTixHQUFHO0FBQ3BCLFdBQU9BLEVBQUUsUUFBUTtBQUFBLEVBQ25CLENBQUM7QUFDSDtBQUNBLFNBQVNPLEVBQUUsR0FBRztBQUNaLE1BQUlQLEdBQUdFLEdBQUdDLElBQUksRUFBRSxrQkFBa0JULEVBQUcsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGlCQUFpQkQsRUFBRSxpQkFBaUIsR0FBR1csSUFBSSxFQUFFLGtCQUFrQlQsRUFBRSxrQkFBa0IsR0FBR1UsS0FBS0gsS0FBS0YsSUFBSSxFQUFFLHNCQUFzQixRQUFRQSxNQUFNLFNBQVMsU0FBU0EsRUFBRSxLQUFLLE9BQU8sUUFBUUUsTUFBTSxTQUFTQSxJQUFJLENBQUM7QUFDdFEsU0FBT0QsRUFBRUksR0FBR0YsR0FBRyxHQUFHQyxDQUFDLEdBQUcsV0FBVztBQUMvQixJQUFBRSxFQUFFRCxDQUFDO0FBQUEsRUFDTDtBQUNGO0FBQ0EsU0FBUyxFQUFFLEdBQUc7QUFDWixTQUFPTCxFQUFFLEtBQUsseU9BQXlPLEdBQUc7QUFDNVA7QUFDQSxJQUFJUTtBQUFBO0FBQUEsRUFFYywyQkFBVztBQUN6QixhQUFTLEVBQUVSLEdBQUdFLEdBQUdDLEdBQUcsR0FBR0MsR0FBRztBQUN4QixXQUFLLE9BQU9KLEdBQUcsS0FBSyxvQkFBb0JFLEdBQUcsS0FBSyxRQUFRQyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUssUUFBUUMsS0FBSyxDQUFDO0FBQUEsSUFDbEc7QUFDQSxXQUFPO0FBQUEsRUFDVCxFQUFFO0FBQUEsR0FDRDtBQUFBO0FBQUEsRUFFZSwyQkFBVztBQUN6QixhQUFTLEVBQUVKLEdBQUdFLEdBQUdDLEdBQUcsR0FBRztBQUNyQixXQUFLLG9CQUFvQkQsR0FBRyxLQUFLLFFBQVFDLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSyxPQUFPLEVBQUVILENBQUM7QUFBQSxJQUMvRTtBQUNBLFdBQU87QUFBQSxFQUNULEVBQUU7QUFBQTsiLAogICJuYW1lcyI6IFsiayIsICJEZSIsICJTIiwgIlkiLCAiSCIsICJGIiwgInEiLCAiciIsICJsIiwgInQiLCAibyIsICJhIiwgImkiLCAiYyIsICJJIiwgIlAiXQp9Cg==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { r as
|
|
2
|
-
import { j as M, q as B, Z as
|
|
3
|
-
import { F as Y, H as J, Y as K } from "./utils-
|
|
1
|
+
import { r as z } from "./diag-api-CS_j-083-gvfeT9eV.js";
|
|
2
|
+
import { j as M, q as B, Z as X, z as W, y as v, a as Z, Q as G, x as I, p as C, S as Q, O as $ } from "./url-BVSq8L4l-DHQsJ0N2.js";
|
|
3
|
+
import { F as Y, H as J, Y as K } from "./utils-p0tJrA3b-BwnFKyIA.js";
|
|
4
4
|
import { l as b } from "./utils-BGeftTvk-CchVJ54o.js";
|
|
5
|
-
import { T as E, x as
|
|
6
|
-
import {
|
|
5
|
+
import { T as E, x as k, R as x, s as V, b as tt } from "./utils-DTpWOQzu-CE1NSUxN.js";
|
|
6
|
+
import { D as P, N as h, X as et } from "./index-DPmL7fu_.js";
|
|
7
7
|
var g;
|
|
8
8
|
(function(o) {
|
|
9
9
|
o.COMPONENT = "component", o.HTTP_ERROR_NAME = "http.error_name", o.HTTP_STATUS_TEXT = "http.status_text";
|
|
@@ -118,7 +118,7 @@ var nt = function(o, i, t, n) {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
return e;
|
|
121
|
-
},
|
|
121
|
+
}, j = z.createComponentLogger({
|
|
122
122
|
namespace: "@opentelemetry/opentelemetry-instrumentation-fetch/utils"
|
|
123
123
|
});
|
|
124
124
|
function st() {
|
|
@@ -142,7 +142,7 @@ function st() {
|
|
|
142
142
|
}
|
|
143
143
|
function at(o) {
|
|
144
144
|
if (!o.pipeThrough)
|
|
145
|
-
return
|
|
145
|
+
return j.warn("Platform has ReadableStream but not pipeThrough!"), {
|
|
146
146
|
body: o,
|
|
147
147
|
length: Promise.resolve(void 0)
|
|
148
148
|
};
|
|
@@ -189,7 +189,7 @@ function ut(o) {
|
|
|
189
189
|
return S(o.toString());
|
|
190
190
|
if (typeof o == "string")
|
|
191
191
|
return S(o);
|
|
192
|
-
|
|
192
|
+
j.warn("unknown body type");
|
|
193
193
|
}
|
|
194
194
|
var ct = new TextEncoder();
|
|
195
195
|
function S(o) {
|
|
@@ -250,7 +250,7 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
250
250
|
if (arguments.length === 2) for (var n = 0, r = i.length, e; n < r; n++)
|
|
251
251
|
(e || !(n in i)) && (e || (e = Array.prototype.slice.call(i, 0, n)), e[n] = i[n]);
|
|
252
252
|
return o.concat(e || Array.prototype.slice.call(i));
|
|
253
|
-
}, _, dt = 300,
|
|
253
|
+
}, _, dt = 300, N = typeof process == "object" && ((_ = process.release) === null || _ === void 0 ? void 0 : _.name) === "node", St = (
|
|
254
254
|
/** @class */
|
|
255
255
|
function(o) {
|
|
256
256
|
lt(i, o);
|
|
@@ -263,11 +263,11 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
263
263
|
}, i.prototype._addChildSpan = function(t, n) {
|
|
264
264
|
var r = this.tracer.startSpan("CORS Preflight", {
|
|
265
265
|
startTime: n[E.FETCH_START]
|
|
266
|
-
},
|
|
267
|
-
|
|
266
|
+
}, P.setSpan(h.active(), t));
|
|
267
|
+
k(r, n, this.getConfig().ignoreNetworkEvents), r.end(n[E.RESPONSE_END]);
|
|
268
268
|
}, i.prototype._addFinalSpanAttributes = function(t, n) {
|
|
269
|
-
var r =
|
|
270
|
-
t.setAttribute(M, n.status), n.statusText != null && t.setAttribute(g.HTTP_STATUS_TEXT, n.statusText), t.setAttribute(B, r.host), t.setAttribute(
|
|
269
|
+
var r = x(n.url);
|
|
270
|
+
t.setAttribute(M, n.status), n.statusText != null && t.setAttribute(g.HTTP_STATUS_TEXT, n.statusText), t.setAttribute(B, r.host), t.setAttribute(X, r.protocol.replace(":", "")), typeof navigator < "u" && t.setAttribute(W, navigator.userAgent);
|
|
271
271
|
}, i.prototype._addHeaders = function(t, n) {
|
|
272
272
|
if (!V(n, this.getConfig().propagateTraceHeaderCorsUrls)) {
|
|
273
273
|
var r = {};
|
|
@@ -321,7 +321,7 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
321
321
|
var a = s.mainRequest;
|
|
322
322
|
this._markResourceAsUsed(a);
|
|
323
323
|
var c = s.corsPreFlightRequest;
|
|
324
|
-
c && (this._addChildSpan(t, c), this._markResourceAsUsed(c)),
|
|
324
|
+
c && (this._addChildSpan(t, c), this._markResourceAsUsed(c)), k(t, a, this.getConfig().ignoreNetworkEvents);
|
|
325
325
|
}
|
|
326
326
|
}, i.prototype._markResourceAsUsed = function(t) {
|
|
327
327
|
this._usedResources.add(t);
|
|
@@ -338,7 +338,7 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
338
338
|
return function() {
|
|
339
339
|
for (var e = [], s = 0; s < arguments.length; s++)
|
|
340
340
|
e[s] = arguments[s];
|
|
341
|
-
var a = this, c =
|
|
341
|
+
var a = this, c = x(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);
|
|
342
342
|
if (!l)
|
|
343
343
|
return n.apply(this, e);
|
|
344
344
|
var d = r._prepareSpanData(c);
|
|
@@ -363,12 +363,12 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
363
363
|
}
|
|
364
364
|
function U(f, p, y) {
|
|
365
365
|
try {
|
|
366
|
-
var
|
|
366
|
+
var H = y.clone(), q = y.clone(), A = H.body;
|
|
367
367
|
if (A) {
|
|
368
368
|
var L = A.getReader(), R = function() {
|
|
369
369
|
L.read().then(function(m) {
|
|
370
|
-
var
|
|
371
|
-
|
|
370
|
+
var D = m.done;
|
|
371
|
+
D ? w(f, q) : R();
|
|
372
372
|
}, function(m) {
|
|
373
373
|
T(f, m);
|
|
374
374
|
});
|
|
@@ -380,7 +380,7 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
380
380
|
p(y);
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
|
-
function
|
|
383
|
+
function F(f, p, y) {
|
|
384
384
|
try {
|
|
385
385
|
T(f, y);
|
|
386
386
|
} finally {
|
|
@@ -388,8 +388,8 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
390
|
return new Promise(function(f, p) {
|
|
391
|
-
return h.with(
|
|
392
|
-
return r._addHeaders(u, c), r._tasksCount++, n.apply(a, u instanceof Request ? [u] : [c, u]).then(U.bind(a, l, f),
|
|
391
|
+
return h.with(P.setSpan(h.active(), l), function() {
|
|
392
|
+
return r._addHeaders(u, c), r._tasksCount++, n.apply(a, u instanceof Request ? [u] : [c, u]).then(U.bind(a, l, f), F.bind(a, l, p));
|
|
393
393
|
});
|
|
394
394
|
});
|
|
395
395
|
};
|
|
@@ -415,17 +415,17 @@ var O = "0.57.0", lt = /* @__PURE__ */ function() {
|
|
|
415
415
|
entryTypes: ["resource"]
|
|
416
416
|
}), { entries: r, observer: e, startTime: n, spanUrl: t };
|
|
417
417
|
}, i.prototype.enable = function() {
|
|
418
|
-
if (
|
|
418
|
+
if (N) {
|
|
419
419
|
this._diag.warn("this instrumentation is intended for web usage only, it does not instrument Node.js's fetch()");
|
|
420
420
|
return;
|
|
421
421
|
}
|
|
422
422
|
J(fetch) && (this._unwrap(b, "fetch"), this._diag.debug("removing previous patch for constructor")), this._wrap(b, "fetch", this._patchConstructor());
|
|
423
423
|
}, i.prototype.disable = function() {
|
|
424
|
-
|
|
424
|
+
N || (this._unwrap(b, "fetch"), this._usedResources = /* @__PURE__ */ new WeakSet());
|
|
425
425
|
}, i;
|
|
426
426
|
}(K)
|
|
427
427
|
);
|
|
428
428
|
export {
|
|
429
429
|
St as FetchInstrumentation
|
|
430
430
|
};
|
|
431
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtaXlCLU9qYUEtIX57MDA2fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLUNBbnBaX21oLSF+ezAwN31+LmpzJztcbmltcG9ydCB7IGogYXMgakEsIHEgYXMgcUEsIFogYXMgWkEsIHogYXMgekEsIHkgYXMgeV8sIGEgYXMgWmUsIFEgYXMgUUEsIHggYXMgeEEsIHAgYXMgcF8sIFMgYXMgU3IsIE8gfSBmcm9tICcuL3VybC1DbzVvWEttVS0hfnswMDh9fi5qcyc7XG5pbXBvcnQgeyBGLCBIIGFzIEgkMSwgWSB9IGZyb20gJy4vdXRpbHMtQkhwZm1WU2ItIX57MDA5fX4uanMnO1xuaW1wb3J0IHsgbCB9IGZyb20gJy4vdXRpbHMtQkdlZnRUdmstIX57MDBhfX4uanMnO1xuaW1wb3J0IHsgVCwgeCwgUiwgcywgYiBhcyBiJDEgfSBmcm9tICcuL3V0aWxzLVkzWDRDdDE2LSF+ezAwNX1+LmpzJztcbmltcG9ydCB7IFAgYXMgUGUsIEMgYXMgQ2UsIHEgYXMgcWUgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIHk7XG4oZnVuY3Rpb24oYSkge1xuICBhLkNPTVBPTkVOVCA9IFwiY29tcG9uZW50XCIsIGEuSFRUUF9FUlJPUl9OQU1FID0gXCJodHRwLmVycm9yX25hbWVcIiwgYS5IVFRQX1NUQVRVU19URVhUID0gXCJodHRwLnN0YXR1c190ZXh0XCI7XG59KSh5IHx8ICh5ID0ge30pKTtcbnZhciBuZSA9IGZ1bmN0aW9uKGEsIG8sIGUsIHIpIHtcbiAgZnVuY3Rpb24gbih0KSB7XG4gICAgcmV0dXJuIHQgaW5zdGFuY2VvZiBlID8gdCA6IG5ldyBlKGZ1bmN0aW9uKGkpIHtcbiAgICAgIGkodCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyAoZSB8fCAoZSA9IFByb21pc2UpKShmdW5jdGlvbih0LCBpKSB7XG4gICAgZnVuY3Rpb24gcyhjKSB7XG4gICAgICB0cnkge1xuICAgICAgICB1KHIubmV4dChjKSk7XG4gICAgICB9IGNhdGNoIChoKSB7XG4gICAgICAgIGkoaCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGYoYykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdShyLnRocm93KGMpKTtcbiAgICAgIH0gY2F0Y2ggKGgpIHtcbiAgICAgICAgaShoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdShjKSB7XG4gICAgICBjLmRvbmUgPyB0KGMudmFsdWUpIDogbihjLnZhbHVlKS50aGVuKHMsIGYpO1xuICAgIH1cbiAgICB1KChyID0gci5hcHBseShhLCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufSwgYWUgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7XG4gICAgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdO1xuICAgIHJldHVybiB0WzFdO1xuICB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCByLCBuLCB0LCBpO1xuICByZXR1cm4gaSA9IHsgbmV4dDogcygwKSwgdGhyb3c6IHMoMSksIHJldHVybjogcygyKSB9LCB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiAoaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH0pLCBpO1xuICBmdW5jdGlvbiBzKHUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oYykge1xuICAgICAgcmV0dXJuIGYoW3UsIGNdKTtcbiAgICB9O1xuICB9XG4gIGZ1bmN0aW9uIGYodSkge1xuICAgIGlmIChyKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcbiAgICBmb3IgKDsgZTsgKSB0cnkge1xuICAgICAgaWYgKHIgPSAxLCBuICYmICh0ID0gdVswXSAmIDIgPyBuLnJldHVybiA6IHVbMF0gPyBuLnRocm93IHx8ICgodCA9IG4ucmV0dXJuKSAmJiB0LmNhbGwobiksIDApIDogbi5uZXh0KSAmJiAhKHQgPSB0LmNhbGwobiwgdVsxXSkpLmRvbmUpIHJldHVybiB0O1xuICAgICAgc3dpdGNoIChuID0gMCwgdCAmJiAodSA9IFt1WzBdICYgMiwgdC52YWx1ZV0pLCB1WzBdKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIHQgPSB1O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgcmV0dXJuIGUubGFiZWwrKywgeyB2YWx1ZTogdVsxXSwgZG9uZTogITEgfTtcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIGUubGFiZWwrKywgbiA9IHVbMV0sIHUgPSBbMF07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNzpcbiAgICAgICAgICB1ID0gZS5vcHMucG9wKCksIGUudHJ5cy5wb3AoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAodCA9IGUudHJ5cywgISh0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKHVbMF0gPT09IDYgfHwgdVswXSA9PT0gMikpIHtcbiAgICAgICAgICAgIGUgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1WzBdID09PSAzICYmICghdCB8fCB1WzFdID4gdFswXSAmJiB1WzFdIDwgdFszXSkpIHtcbiAgICAgICAgICAgIGUubGFiZWwgPSB1WzFdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1WzBdID09PSA2ICYmIGUubGFiZWwgPCB0WzFdKSB7XG4gICAgICAgICAgICBlLmxhYmVsID0gdFsxXSwgdCA9IHU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHQgJiYgZS5sYWJlbCA8IHRbMl0pIHtcbiAgICAgICAgICAgIGUubGFiZWwgPSB0WzJdLCBlLm9wcy5wdXNoKHUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRbMl0gJiYgZS5vcHMucG9wKCksIGUudHJ5cy5wb3AoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHUgPSBvLmNhbGwoYSwgZSk7XG4gICAgfSBjYXRjaCAoYykge1xuICAgICAgdSA9IFs2LCBjXSwgbiA9IDA7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHIgPSB0ID0gMDtcbiAgICB9XG4gICAgaWYgKHVbMF0gJiA1KSB0aHJvdyB1WzFdO1xuICAgIHJldHVybiB7IHZhbHVlOiB1WzBdID8gdVsxXSA6IHZvaWQgMCwgZG9uZTogITAgfTtcbiAgfVxufSwgaWUgPSBmdW5jdGlvbihhKSB7XG4gIHZhciBvID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBlID0gbyAmJiBhW29dLCByID0gMDtcbiAgaWYgKGUpIHJldHVybiBlLmNhbGwoYSk7XG4gIGlmIChhICYmIHR5cGVvZiBhLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGEgJiYgciA+PSBhLmxlbmd0aCAmJiAoYSA9IHZvaWQgMCksIHsgdmFsdWU6IGEgJiYgYVtyKytdLCBkb25lOiAhYSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihvID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgb2UgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIFUgPSByLmNyZWF0ZUNvbXBvbmVudExvZ2dlcih7XG4gIG5hbWVzcGFjZTogXCJAb3BlbnRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWluc3RydW1lbnRhdGlvbi1mZXRjaC91dGlsc1wiXG59KTtcbmZ1bmN0aW9uIHNlKCkge1xuICBmb3IgKHZhciBhID0gW10sIG8gPSAwOyBvIDwgYXJndW1lbnRzLmxlbmd0aDsgbysrKVxuICAgIGFbb10gPSBhcmd1bWVudHNbb107XG4gIGlmIChhWzBdIGluc3RhbmNlb2YgVVJMIHx8IHR5cGVvZiBhWzBdID09IFwic3RyaW5nXCIpIHtcbiAgICB2YXIgZSA9IGFbMV07XG4gICAgaWYgKCEoZSAhPSBudWxsICYmIGUuYm9keSkpXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgaWYgKGUuYm9keSBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtKSB7XG4gICAgICB2YXIgciA9IHVlKGUuYm9keSksIG4gPSByLmJvZHksIHQgPSByLmxlbmd0aDtcbiAgICAgIHJldHVybiBlLmJvZHkgPSBuLCB0O1xuICAgIH0gZWxzZVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmZShlLmJvZHkpKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgaSA9IGFbMF07XG4gICAgcmV0dXJuIGkgIT0gbnVsbCAmJiBpLmJvZHkgPyBpLmNsb25lKCkudGV4dCgpLnRoZW4oZnVuY3Rpb24ocykge1xuICAgICAgcmV0dXJuIGIocyk7XG4gICAgfSkgOiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxufVxuZnVuY3Rpb24gdWUoYSkge1xuICBpZiAoIWEucGlwZVRocm91Z2gpXG4gICAgcmV0dXJuIFUud2FybihcIlBsYXRmb3JtIGhhcyBSZWFkYWJsZVN0cmVhbSBidXQgbm90IHBpcGVUaHJvdWdoIVwiKSwge1xuICAgICAgYm9keTogYSxcbiAgICAgIGxlbmd0aDogUHJvbWlzZS5yZXNvbHZlKHZvaWQgMClcbiAgICB9O1xuICB2YXIgbyA9IDAsIGUsIHIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbih0KSB7XG4gICAgZSA9IHQ7XG4gIH0pLCBuID0gbmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgc3RhcnQ6IGZ1bmN0aW9uKCkge1xuICAgIH0sXG4gICAgdHJhbnNmb3JtOiBmdW5jdGlvbih0LCBpKSB7XG4gICAgICByZXR1cm4gbmUodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgcztcbiAgICAgICAgcmV0dXJuIGFlKHRoaXMsIGZ1bmN0aW9uKGYpIHtcbiAgICAgICAgICBzd2l0Y2ggKGYubGFiZWwpIHtcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgcmV0dXJuIFs0LCB0XTtcbiAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgcmV0dXJuIHMgPSBmLnNlbnQoKSwgbyArPSBzLmJ5dGVMZW5ndGgsIGkuZW5xdWV1ZSh0KSwgW1xuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICAvKnJldHVybiovXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZmx1c2g6IGZ1bmN0aW9uKCkge1xuICAgICAgZShvKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGJvZHk6IGEucGlwZVRocm91Z2gobiksXG4gICAgbGVuZ3RoOiByXG4gIH07XG59XG5mdW5jdGlvbiBmZShhKSB7XG4gIGlmICh0eXBlb2YgRG9jdW1lbnQgPCBcInVcIiAmJiBhIGluc3RhbmNlb2YgRG9jdW1lbnQpXG4gICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZG9jdW1lbnQpLmxlbmd0aDtcbiAgaWYgKGEgaW5zdGFuY2VvZiBCbG9iKVxuICAgIHJldHVybiBhLnNpemU7XG4gIGlmIChhLmJ5dGVMZW5ndGggIT09IHZvaWQgMClcbiAgICByZXR1cm4gYS5ieXRlTGVuZ3RoO1xuICBpZiAoYSBpbnN0YW5jZW9mIEZvcm1EYXRhKVxuICAgIHJldHVybiBsZShhKTtcbiAgaWYgKGEgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXMpXG4gICAgcmV0dXJuIGIoYS50b1N0cmluZygpKTtcbiAgaWYgKHR5cGVvZiBhID09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIGIoYSk7XG4gIFUud2FybihcInVua25vd24gYm9keSB0eXBlXCIpO1xufVxudmFyIGNlID0gbmV3IFRleHRFbmNvZGVyKCk7XG5mdW5jdGlvbiBiKGEpIHtcbiAgcmV0dXJuIGNlLmVuY29kZShhKS5ieXRlTGVuZ3RoO1xufVxuZnVuY3Rpb24gbGUoYSkge1xuICB2YXIgbywgZSwgciA9IDA7XG4gIHRyeSB7XG4gICAgZm9yICh2YXIgbiA9IGllKGEuZW50cmllcygpKSwgdCA9IG4ubmV4dCgpOyAhdC5kb25lOyB0ID0gbi5uZXh0KCkpIHtcbiAgICAgIHZhciBpID0gb2UodC52YWx1ZSwgMiksIHMgPSBpWzBdLCBmID0gaVsxXTtcbiAgICAgIHIgKz0gcy5sZW5ndGgsIGYgaW5zdGFuY2VvZiBCbG9iID8gciArPSBmLnNpemUgOiByICs9IGYubGVuZ3RoO1xuICAgIH1cbiAgfSBjYXRjaCAodSkge1xuICAgIG8gPSB7IGVycm9yOiB1IH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIHQgJiYgIXQuZG9uZSAmJiAoZSA9IG4ucmV0dXJuKSAmJiBlLmNhbGwobik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChvKSB0aHJvdyBvLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcjtcbn1cbnZhciBrID0gXCIwLjU3LjBcIiwgZGUgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciBhID0gZnVuY3Rpb24obywgZSkge1xuICAgIHJldHVybiBhID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24ociwgbikge1xuICAgICAgci5fX3Byb3RvX18gPSBuO1xuICAgIH0gfHwgZnVuY3Rpb24ociwgbikge1xuICAgICAgZm9yICh2YXIgdCBpbiBuKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwgdCkgJiYgKHJbdF0gPSBuW3RdKTtcbiAgICB9LCBhKG8sIGUpO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24obywgZSkge1xuICAgIGlmICh0eXBlb2YgZSAhPSBcImZ1bmN0aW9uXCIgJiYgZSAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGUpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICBhKG8sIGUpO1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gbztcbiAgICB9XG4gICAgby5wcm90b3R5cGUgPSBlID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShlKSA6IChyLnByb3RvdHlwZSA9IGUucHJvdG90eXBlLCBuZXcgcigpKTtcbiAgfTtcbn0oKSwgaGUgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIHBlID0gZnVuY3Rpb24oYSwgbywgZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgciA9IDAsIG4gPSBvLmxlbmd0aCwgdDsgciA8IG47IHIrKylcbiAgICAodCB8fCAhKHIgaW4gbykpICYmICh0IHx8ICh0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobywgMCwgcikpLCB0W3JdID0gb1tyXSk7XG4gIHJldHVybiBhLmNvbmNhdCh0IHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG8pKTtcbn0sIFMsIHZlID0gMzAwLCBIID0gdHlwZW9mIHByb2Nlc3MgPT0gXCJvYmplY3RcIiAmJiAoKFMgPSBwcm9jZXNzLnJlbGVhc2UpID09PSBudWxsIHx8IFMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IFMubmFtZSkgPT09IFwibm9kZVwiLCBiZSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbihhKSB7XG4gICAgZGUobywgYSk7XG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICBlID09PSB2b2lkIDAgJiYgKGUgPSB7fSk7XG4gICAgICB2YXIgciA9IGEuY2FsbCh0aGlzLCBcIkBvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1mZXRjaFwiLCBrLCBlKSB8fCB0aGlzO1xuICAgICAgcmV0dXJuIHIuY29tcG9uZW50ID0gXCJmZXRjaFwiLCByLnZlcnNpb24gPSBrLCByLm1vZHVsZU5hbWUgPSByLmNvbXBvbmVudCwgci5fdXNlZFJlc291cmNlcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgV2Vha1NldCgpLCByLl90YXNrc0NvdW50ID0gMCwgcjtcbiAgICB9XG4gICAgcmV0dXJuIG8ucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbigpIHtcbiAgICB9LCBvLnByb3RvdHlwZS5fYWRkQ2hpbGRTcGFuID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgdmFyIG4gPSB0aGlzLnRyYWNlci5zdGFydFNwYW4oXCJDT1JTIFByZWZsaWdodFwiLCB7XG4gICAgICAgIHN0YXJ0VGltZTogcltULkZFVENIX1NUQVJUXVxuICAgICAgfSwgUGUuc2V0U3BhbihDZS5hY3RpdmUoKSwgZSkpO1xuICAgICAgeChuLCByLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZU5ldHdvcmtFdmVudHMpLCBuLmVuZChyW1QuUkVTUE9OU0VfRU5EXSk7XG4gICAgfSwgby5wcm90b3R5cGUuX2FkZEZpbmFsU3BhbkF0dHJpYnV0ZXMgPSBmdW5jdGlvbihlLCByKSB7XG4gICAgICB2YXIgbiA9IFIoci51cmwpO1xuICAgICAgZS5zZXRBdHRyaWJ1dGUoakEsIHIuc3RhdHVzKSwgci5zdGF0dXNUZXh0ICE9IG51bGwgJiYgZS5zZXRBdHRyaWJ1dGUoeS5IVFRQX1NUQVRVU19URVhULCByLnN0YXR1c1RleHQpLCBlLnNldEF0dHJpYnV0ZShxQSwgbi5ob3N0KSwgZS5zZXRBdHRyaWJ1dGUoWkEsIG4ucHJvdG9jb2wucmVwbGFjZShcIjpcIiwgXCJcIikpLCB0eXBlb2YgbmF2aWdhdG9yIDwgXCJ1XCIgJiYgZS5zZXRBdHRyaWJ1dGUoekEsIG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9hZGRIZWFkZXJzID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgaWYgKCFzKHIsIHRoaXMuZ2V0Q29uZmlnKCkucHJvcGFnYXRlVHJhY2VIZWFkZXJDb3JzVXJscykpIHtcbiAgICAgICAgdmFyIG4gPSB7fTtcbiAgICAgICAgeV8uaW5qZWN0KENlLmFjdGl2ZSgpLCBuKSwgT2JqZWN0LmtleXMobikubGVuZ3RoID4gMCAmJiB0aGlzLl9kaWFnLmRlYnVnKFwiaGVhZGVycyBpbmplY3Qgc2tpcHBlZCBkdWUgdG8gQ09SUyBwb2xpY3lcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmVxdWVzdClcbiAgICAgICAgeV8uaW5qZWN0KENlLmFjdGl2ZSgpLCBlLmhlYWRlcnMsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHQsIGksIHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0LnNldChpLCB0eXBlb2YgcyA9PSBcInN0cmluZ1wiID8gcyA6IFN0cmluZyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGVsc2UgaWYgKGUuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnMpXG4gICAgICAgIHlfLmluamVjdChDZS5hY3RpdmUoKSwgZS5oZWFkZXJzLCB7XG4gICAgICAgICAgc2V0OiBmdW5jdGlvbih0LCBpLCBzKSB7XG4gICAgICAgICAgICByZXR1cm4gdC5zZXQoaSwgdHlwZW9mIHMgPT0gXCJzdHJpbmdcIiA/IHMgOiBTdHJpbmcocykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICBlbHNlIGlmIChlLmhlYWRlcnMgaW5zdGFuY2VvZiBNYXApXG4gICAgICAgIHlfLmluamVjdChDZS5hY3RpdmUoKSwgZS5oZWFkZXJzLCB7XG4gICAgICAgICAgc2V0OiBmdW5jdGlvbih0LCBpLCBzKSB7XG4gICAgICAgICAgICByZXR1cm4gdC5zZXQoaSwgdHlwZW9mIHMgPT0gXCJzdHJpbmdcIiA/IHMgOiBTdHJpbmcocykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIG4gPSB7fTtcbiAgICAgICAgeV8uaW5qZWN0KENlLmFjdGl2ZSgpLCBuKSwgZS5oZWFkZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgbiwgZS5oZWFkZXJzIHx8IHt9KTtcbiAgICAgIH1cbiAgICB9LCBvLnByb3RvdHlwZS5fY2xlYXJSZXNvdXJjZXMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuX3Rhc2tzQ291bnQgPT09IDAgJiYgdGhpcy5nZXRDb25maWcoKS5jbGVhclRpbWluZ1Jlc291cmNlcyAmJiAocGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKSwgdGhpcy5fdXNlZFJlc291cmNlcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgV2Vha1NldCgpKTtcbiAgICB9LCBvLnByb3RvdHlwZS5fY3JlYXRlU3BhbiA9IGZ1bmN0aW9uKGUsIHIpIHtcbiAgICAgIHZhciBuO1xuICAgICAgaWYgKHIgPT09IHZvaWQgMCAmJiAociA9IHt9KSwgWmUoZSwgdGhpcy5nZXRDb25maWcoKS5pZ25vcmVVcmxzKSkge1xuICAgICAgICB0aGlzLl9kaWFnLmRlYnVnKFwiaWdub3Jpbmcgc3BhbiBhcyB1cmwgbWF0Y2hlcyBpZ25vcmVkIHVybFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIHQgPSAoci5tZXRob2QgfHwgXCJHRVRcIikudG9VcHBlckNhc2UoKSwgaSA9IFwiSFRUUCBcIiArIHQ7XG4gICAgICByZXR1cm4gdGhpcy50cmFjZXIuc3RhcnRTcGFuKGksIHtcbiAgICAgICAga2luZDogcWUuQ0xJRU5ULFxuICAgICAgICBhdHRyaWJ1dGVzOiAobiA9IHt9LCBuW3kuQ09NUE9ORU5UXSA9IHRoaXMubW9kdWxlTmFtZSwgbltRQV0gPSB0LCBuW3hBXSA9IGUsIG4pXG4gICAgICB9KTtcbiAgICB9LCBvLnByb3RvdHlwZS5fZmluZFJlc291cmNlQW5kQWRkTmV0d29ya0V2ZW50cyA9IGZ1bmN0aW9uKGUsIHIsIG4pIHtcbiAgICAgIHZhciB0ID0gci5lbnRyaWVzO1xuICAgICAgaWYgKCF0Lmxlbmd0aCkge1xuICAgICAgICBpZiAoIXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShcInJlc291cmNlXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGkgPSBiJDEoci5zcGFuVXJsLCByLnN0YXJ0VGltZSwgbiwgdCwgdGhpcy5fdXNlZFJlc291cmNlcywgXCJmZXRjaFwiKTtcbiAgICAgIGlmIChpLm1haW5SZXF1ZXN0KSB7XG4gICAgICAgIHZhciBzID0gaS5tYWluUmVxdWVzdDtcbiAgICAgICAgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKHMpO1xuICAgICAgICB2YXIgZiA9IGkuY29yc1ByZUZsaWdodFJlcXVlc3Q7XG4gICAgICAgIGYgJiYgKHRoaXMuX2FkZENoaWxkU3BhbihlLCBmKSwgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKGYpKSwgeChlLCBzLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZU5ldHdvcmtFdmVudHMpO1xuICAgICAgfVxuICAgIH0sIG8ucHJvdG90eXBlLl9tYXJrUmVzb3VyY2VBc1VzZWQgPSBmdW5jdGlvbihlKSB7XG4gICAgICB0aGlzLl91c2VkUmVzb3VyY2VzLmFkZChlKTtcbiAgICB9LCBvLnByb3RvdHlwZS5fZW5kU3BhbiA9IGZ1bmN0aW9uKGUsIHIsIG4pIHtcbiAgICAgIHZhciB0ID0gdGhpcywgaSA9IE8oRGF0ZS5ub3coKSksIHMgPSBwXygpO1xuICAgICAgdGhpcy5fYWRkRmluYWxTcGFuQXR0cmlidXRlcyhlLCBuKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGY7XG4gICAgICAgIChmID0gci5vYnNlcnZlcikgPT09IG51bGwgfHwgZiA9PT0gdm9pZCAwIHx8IGYuZGlzY29ubmVjdCgpLCB0Ll9maW5kUmVzb3VyY2VBbmRBZGROZXR3b3JrRXZlbnRzKGUsIHIsIHMpLCB0Ll90YXNrc0NvdW50LS0sIHQuX2NsZWFyUmVzb3VyY2VzKCksIGUuZW5kKGkpO1xuICAgICAgfSwgdmUpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9wYXRjaENvbnN0cnVjdG9yID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgZSA9IHRoaXM7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocikge1xuICAgICAgICB2YXIgbiA9IGU7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICBmb3IgKHZhciBpID0gW10sIHMgPSAwOyBzIDwgYXJndW1lbnRzLmxlbmd0aDsgcysrKVxuICAgICAgICAgICAgaVtzXSA9IGFyZ3VtZW50c1tzXTtcbiAgICAgICAgICB2YXIgZiA9IHRoaXMsIHUgPSBSKGlbMF0gaW5zdGFuY2VvZiBSZXF1ZXN0ID8gaVswXS51cmwgOiBTdHJpbmcoaVswXSkpLmhyZWYsIGMgPSBpWzBdIGluc3RhbmNlb2YgUmVxdWVzdCA/IGlbMF0gOiBpWzFdIHx8IHt9LCBoID0gbi5fY3JlYXRlU3Bhbih1LCBjKTtcbiAgICAgICAgICBpZiAoIWgpXG4gICAgICAgICAgICByZXR1cm4gci5hcHBseSh0aGlzLCBpKTtcbiAgICAgICAgICB2YXIgbSA9IG4uX3ByZXBhcmVTcGFuRGF0YSh1KTtcbiAgICAgICAgICBuLmdldENvbmZpZygpLm1lYXN1cmVSZXF1ZXN0U2l6ZSAmJiBzZS5hcHBseSh2b2lkIDAsIHBlKFtdLCBoZShpKSwgITEpKS50aGVuKGZ1bmN0aW9uKGwpIHtcbiAgICAgICAgICAgIGwgJiYgaC5zZXRBdHRyaWJ1dGUoU3IsIGwpO1xuICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGwpIHtcbiAgICAgICAgICAgIG4uX2RpYWcud2FybihcImdldEZldGNoQm9keUxlbmd0aFwiLCBsKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmdW5jdGlvbiBFKGwsIGQpIHtcbiAgICAgICAgICAgIG4uX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2gobCwgYywgZCksIG4uX2VuZFNwYW4obCwgbSwge1xuICAgICAgICAgICAgICBzdGF0dXM6IGQuc3RhdHVzIHx8IDAsXG4gICAgICAgICAgICAgIHN0YXR1c1RleHQ6IGQubWVzc2FnZSxcbiAgICAgICAgICAgICAgdXJsOiB1XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gdyhsLCBkKSB7XG4gICAgICAgICAgICBuLl9hcHBseUF0dHJpYnV0ZXNBZnRlckZldGNoKGwsIGMsIGQpLCBkLnN0YXR1cyA+PSAyMDAgJiYgZC5zdGF0dXMgPCA0MDAgPyBuLl9lbmRTcGFuKGwsIG0sIGQpIDogbi5fZW5kU3BhbihsLCBtLCB7XG4gICAgICAgICAgICAgIHN0YXR1czogZC5zdGF0dXMsXG4gICAgICAgICAgICAgIHN0YXR1c1RleHQ6IGQuc3RhdHVzVGV4dCxcbiAgICAgICAgICAgICAgdXJsOiB1XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gTShsLCBkLCB2KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICB2YXIgaiA9IHYuY2xvbmUoKSwgRCA9IHYuY2xvbmUoKSwgUiA9IGouYm9keTtcbiAgICAgICAgICAgICAgaWYgKFIpIHtcbiAgICAgICAgICAgICAgICB2YXIgQiA9IFIuZ2V0UmVhZGVyKCksIEEgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgIEIucmVhZCgpLnRoZW4oZnVuY3Rpb24oZykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgRiA9IGcuZG9uZTtcbiAgICAgICAgICAgICAgICAgICAgRiA/IHcobCwgRCkgOiBBKCk7XG4gICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbihnKSB7XG4gICAgICAgICAgICAgICAgICAgIEUobCwgZyk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEEoKTtcbiAgICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgICAgdyhsLCB2KTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIGQodik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIEwobCwgZCwgdikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgRShsLCB2KTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIGQodik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihsLCBkKSB7XG4gICAgICAgICAgICByZXR1cm4gQ2Uud2l0aChQZS5zZXRTcGFuKENlLmFjdGl2ZSgpLCBoKSwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuLl9hZGRIZWFkZXJzKGMsIHUpLCBuLl90YXNrc0NvdW50KyssIHIuYXBwbHkoZiwgYyBpbnN0YW5jZW9mIFJlcXVlc3QgPyBbY10gOiBbdSwgY10pLnRoZW4oTS5iaW5kKGYsIGgsIGwpLCBMLmJpbmQoZiwgaCwgZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0sIG8ucHJvdG90eXBlLl9hcHBseUF0dHJpYnV0ZXNBZnRlckZldGNoID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSB0aGlzLCBpID0gdGhpcy5nZXRDb25maWcoKS5hcHBseUN1c3RvbUF0dHJpYnV0ZXNPblNwYW47XG4gICAgICBpICYmIEYoZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpKGUsIHIsIG4pO1xuICAgICAgfSwgZnVuY3Rpb24ocykge1xuICAgICAgICBzICYmIHQuX2RpYWcuZXJyb3IoXCJhcHBseUN1c3RvbUF0dHJpYnV0ZXNPblNwYW5cIiwgcyk7XG4gICAgICB9LCAhMCk7XG4gICAgfSwgby5wcm90b3R5cGUuX3ByZXBhcmVTcGFuRGF0YSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHZhciByID0gcF8oKSwgbiA9IFtdO1xuICAgICAgaWYgKHR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyICE9IFwiZnVuY3Rpb25cIilcbiAgICAgICAgcmV0dXJuIHsgZW50cmllczogbiwgc3RhcnRUaW1lOiByLCBzcGFuVXJsOiBlIH07XG4gICAgICB2YXIgdCA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGkpIHtcbiAgICAgICAgdmFyIHMgPSBpLmdldEVudHJpZXMoKTtcbiAgICAgICAgcy5mb3JFYWNoKGZ1bmN0aW9uKGYpIHtcbiAgICAgICAgICBmLmluaXRpYXRvclR5cGUgPT09IFwiZmV0Y2hcIiAmJiBmLm5hbWUgPT09IGUgJiYgbi5wdXNoKGYpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHQub2JzZXJ2ZSh7XG4gICAgICAgIGVudHJ5VHlwZXM6IFtcInJlc291cmNlXCJdXG4gICAgICB9KSwgeyBlbnRyaWVzOiBuLCBvYnNlcnZlcjogdCwgc3RhcnRUaW1lOiByLCBzcGFuVXJsOiBlIH07XG4gICAgfSwgby5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoSCkge1xuICAgICAgICB0aGlzLl9kaWFnLndhcm4oXCJ0aGlzIGluc3RydW1lbnRhdGlvbiBpcyBpbnRlbmRlZCBmb3Igd2ViIHVzYWdlIG9ubHksIGl0IGRvZXMgbm90IGluc3RydW1lbnQgTm9kZS5qcydzIGZldGNoKClcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIEgkMShmZXRjaCkgJiYgKHRoaXMuX3Vud3JhcChsLCBcImZldGNoXCIpLCB0aGlzLl9kaWFnLmRlYnVnKFwicmVtb3ZpbmcgcHJldmlvdXMgcGF0Y2ggZm9yIGNvbnN0cnVjdG9yXCIpKSwgdGhpcy5fd3JhcChsLCBcImZldGNoXCIsIHRoaXMuX3BhdGNoQ29uc3RydWN0b3IoKSk7XG4gICAgfSwgby5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgSCB8fCAodGhpcy5fdW53cmFwKGwsIFwiZmV0Y2hcIiksIHRoaXMuX3VzZWRSZXNvdXJjZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtTZXQoKSk7XG4gICAgfSwgbztcbiAgfShZKVxuKTtcblxuZXhwb3J0IHsgYmUgYXMgRmV0Y2hJbnN0cnVtZW50YXRpb24gfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUFBLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUFDLFNBQVM7QUFDNUcsU0FBUyxLQUFBQyxHQUFHLEtBQUtDLEdBQUssS0FBQUMsU0FBUztBQUMvQixTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFBQyxHQUFHLEtBQUFDLEdBQUcsS0FBQUMsR0FBRyxLQUFBQyxHQUFHLEtBQUtDLFVBQVc7QUFDckMsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsVUFBVTtBQUUxQyxJQUFJQztBQUFBLENBQ0gsU0FBU0MsR0FBRztBQUNYLEVBQUFBLEVBQUUsWUFBWSxhQUFhQSxFQUFFLGtCQUFrQixtQkFBbUJBLEVBQUUsbUJBQW1CO0FBQ3pGLEdBQUdELE1BQU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlFLEtBQUssU0FBU0QsR0FBR0UsR0FBR0MsR0FBRzVCLEdBQUc7QUFDNUIsV0FBUzZCLEVBQUVDLEdBQUc7QUFDWixXQUFPQSxhQUFhRixJQUFJRSxJQUFJLElBQUlGLEVBQUUsU0FBU0csR0FBRztBQUM1QyxNQUFBQSxFQUFFRCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sS0FBS0YsTUFBTUEsSUFBSSxVQUFVLFNBQVNFLEdBQUdDLEdBQUc7QUFDN0MsYUFBU1osRUFBRWEsR0FBRztBQUNaLFVBQUk7QUFDRixVQUFFaEMsRUFBRSxLQUFLZ0MsQ0FB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QUN6QixDQUFDLEdBQUcsRUFBRSxTQUFTRCxHQUFHLFVBQVVDLEdBQUcsV0FBVzlCLEdBQUcsU0FBUzRCLEVBQUU7QUFBQSxJQUMxRCxHQUFHRCxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLFVBQUl3QixHQUFHO0FBQ0wsYUFBSyxNQUFNLEtBQUssK0ZBQStGO0FBQy9HO0FBQUEsTUFDRjtBQUNBLE1BQUF0QyxFQUFJLEtBQUssTUFBTSxLQUFLLFFBQVFFLEdBQUcsT0FBTyxHQUFHLEtBQUssTUFBTSxNQUFNLHlDQUF5QyxJQUFJLEtBQUssTUFBTUEsR0FBRyxTQUFTLEtBQUssa0JBQWtCLENBQUM7QUFBQSxJQUN4SixHQUFHWSxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUF3QixNQUFNLEtBQUssUUFBUXBDLEdBQUcsT0FBTyxHQUFHLEtBQUssaUJBQWlDLG9CQUFJLFFBQVE7QUFBQSxJQUNwRixHQUFHWTtBQUFBLEVBQ0wsRUFBRWIsQ0FBQztBQUFBOyIsCiAgIm5hbWVzIjogWyJyIiwgImpBIiwgInFBIiwgIlpBIiwgInpBIiwgInlfIiwgIlplIiwgIlFBIiwgInhBIiwgInBfIiwgIlNyIiwgIk8iLCAiRiIsICJIJDEiLCAiWSIsICJsIiwgIlQiLCAieCIsICJSIiwgInMiLCAiYiQxIiwgIlBlIiwgIkNlIiwgInFlIiwgInkiLCAiYSIsICJuZSIsICJvIiwgImUiLCAibiIsICJ0IiwgImkiLCAiYyIsICJoIiwgImYiLCAiYWUiLCAiaWUiLCAib2UiLCAiVSIsICJzZSIsICJ1ZSIsICJmZSIsICJiIiwgImxlIiwgImNlIiwgImsiLCAiZGUiLCAiaGUiLCAicGUiLCAiUyIsICJ2ZSIsICJIIiwgImJlIiwgInUiLCAibSIsICJFIiwgImQiLCAiTSIsICJ2IiwgImoiLCAiRCIsICJCIiwgIkEiLCAiZyIsICJMIl0KfQo=
|
|
431
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtbFNZaFRkWUMtIX57MDA2fX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgfSBmcm9tICcuL2RpYWctYXBpLUNTX2otMDgzLSF+ezAwN31+LmpzJztcbmltcG9ydCB7IGogYXMgakEsIHEgYXMgcUEsIFogYXMgWkEsIHogYXMgekEsIHkgYXMgeV8sIGEgYXMgWmUsIFEgYXMgUUEsIHggYXMgeEEsIHAgYXMgcF8sIFMgYXMgU3IsIE8gfSBmcm9tICcuL3VybC1CVlNxOEw0bC0hfnswMDh9fi5qcyc7XG5pbXBvcnQgeyBGLCBIIGFzIEgkMSwgWSB9IGZyb20gJy4vdXRpbHMtcDB0SnJBM2ItIX57MDA5fX4uanMnO1xuaW1wb3J0IHsgbCB9IGZyb20gJy4vdXRpbHMtQkdlZnRUdmstIX57MDBhfX4uanMnO1xuaW1wb3J0IHsgVCwgeCwgUiwgcywgYiBhcyBiJDEgfSBmcm9tICcuL3V0aWxzLURUcFdPUXp1LSF+ezAwNX1+LmpzJztcbmltcG9ydCB7IEQgYXMgRGUsIE4gYXMgTmUsIFggYXMgWGUgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIHk7XG4oZnVuY3Rpb24oYSkge1xuICBhLkNPTVBPTkVOVCA9IFwiY29tcG9uZW50XCIsIGEuSFRUUF9FUlJPUl9OQU1FID0gXCJodHRwLmVycm9yX25hbWVcIiwgYS5IVFRQX1NUQVRVU19URVhUID0gXCJodHRwLnN0YXR1c190ZXh0XCI7XG59KSh5IHx8ICh5ID0ge30pKTtcbnZhciBuZSA9IGZ1bmN0aW9uKGEsIG8sIGUsIHIpIHtcbiAgZnVuY3Rpb24gbih0KSB7XG4gICAgcmV0dXJuIHQgaW5zdGFuY2VvZiBlID8gdCA6IG5ldyBlKGZ1bmN0aW9uKGkpIHtcbiAgICAgIGkodCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyAoZSB8fCAoZSA9IFByb21pc2UpKShmdW5jdGlvbih0LCBpKSB7XG4gICAgZnVuY3Rpb24gcyhjKSB7XG4gICAgICB0cnkge1xuICAgICAgICB1KHIubmV4dChjKSk7XG4gICAgICB9IGNhdGNoIChoKSB7XG4gICAgICAgIGkoaCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGYoYykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdShyLnRocm93KGMpKTtcbiAgICAgIH0gY2F0Y2ggKGgpIHtcbiAgICAgICAgaShoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdShjKSB7XG4gICAgICBjLmRvbmUgPyB0KGMudmFsdWUpIDogbihjLnZhbHVlKS50aGVuKHMsIGYpO1xuICAgIH1cbiAgICB1KChyID0gci5hcHBseShhLCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufSwgYWUgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7XG4gICAgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdO1xuICAgIHJldHVybiB0WzFdO1xuICB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCByLCBuLCB0LCBpO1xuICByZXR1cm4gaSA9IHsgbmV4dDogcygwKSwgdGhyb3c6IHMoMSksIHJldHVybjogcygyKSB9LCB0eXBlb2YgU3ltYm9sID09IFwiZnVuY3Rpb25cIiAmJiAoaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH0pLCBpO1xuICBmdW5jdGlvbiBzKHUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oYykge1xuICAgICAgcmV0dXJuIGYoW3UsIGNdKTtcbiAgICB9O1xuICB9XG4gIGZ1bmN0aW9uIGYodSkge1xuICAgIGlmIChyKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcbiAgICBmb3IgKDsgZTsgKSB0cnkge1xuICAgICAgaWYgKHIgPSAxLCBuICYmICh0ID0gdVswXSAmIDIgPyBuLnJldHVybiA6IHVbMF0gPyBuLnRocm93IHx8ICgodCA9IG4ucmV0dXJuKSAmJiB0LmNhbGwobiksIDApIDogbi5uZXh0KSAmJiAhKHQgPSB0LmNhbGwobiwgdVsxXSkpLmRvbmUpIHJldHVybiB0O1xuICAgICAgc3dpdGNoIChuID0gMCwgdCAmJiAodSA9IFt1WzBdICYgMiwgdC52YWx1ZV0pLCB1WzBdKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIHQgPSB1O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgcmV0dXJuIGUubGFiZWwrKywgeyB2YWx1ZTogdVsxXSwgZG9uZTogITEgfTtcbiAgICAgICAgY2FzZSA1OlxuICAgICAgICAgIGUubGFiZWwrKywgbiA9IHVbMV0sIHUgPSBbMF07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNzpcbiAgICAgICAgICB1ID0gZS5vcHMucG9wKCksIGUudHJ5cy5wb3AoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAodCA9IGUudHJ5cywgISh0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKHVbMF0gPT09IDYgfHwgdVswXSA9PT0gMikpIHtcbiAgICAgICAgICAgIGUgPSAwO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1WzBdID09PSAzICYmICghdCB8fCB1WzFdID4gdFswXSAmJiB1WzFdIDwgdFszXSkpIHtcbiAgICAgICAgICAgIGUubGFiZWwgPSB1WzFdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh1WzBdID09PSA2ICYmIGUubGFiZWwgPCB0WzFdKSB7XG4gICAgICAgICAgICBlLmxhYmVsID0gdFsxXSwgdCA9IHU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHQgJiYgZS5sYWJlbCA8IHRbMl0pIHtcbiAgICAgICAgICAgIGUubGFiZWwgPSB0WzJdLCBlLm9wcy5wdXNoKHUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRbMl0gJiYgZS5vcHMucG9wKCksIGUudHJ5cy5wb3AoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHUgPSBvLmNhbGwoYSwgZSk7XG4gICAgfSBjYXRjaCAoYykge1xuICAgICAgdSA9IFs2LCBjXSwgbiA9IDA7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHIgPSB0ID0gMDtcbiAgICB9XG4gICAgaWYgKHVbMF0gJiA1KSB0aHJvdyB1WzFdO1xuICAgIHJldHVybiB7IHZhbHVlOiB1WzBdID8gdVsxXSA6IHZvaWQgMCwgZG9uZTogITAgfTtcbiAgfVxufSwgaWUgPSBmdW5jdGlvbihhKSB7XG4gIHZhciBvID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBlID0gbyAmJiBhW29dLCByID0gMDtcbiAgaWYgKGUpIHJldHVybiBlLmNhbGwoYSk7XG4gIGlmIChhICYmIHR5cGVvZiBhLmxlbmd0aCA9PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGEgJiYgciA+PSBhLmxlbmd0aCAmJiAoYSA9IHZvaWQgMCksIHsgdmFsdWU6IGEgJiYgYVtyKytdLCBkb25lOiAhYSB9O1xuICAgIH1cbiAgfTtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihvID8gXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiIDogXCJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xufSwgb2UgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIFUgPSByLmNyZWF0ZUNvbXBvbmVudExvZ2dlcih7XG4gIG5hbWVzcGFjZTogXCJAb3BlbnRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWluc3RydW1lbnRhdGlvbi1mZXRjaC91dGlsc1wiXG59KTtcbmZ1bmN0aW9uIHNlKCkge1xuICBmb3IgKHZhciBhID0gW10sIG8gPSAwOyBvIDwgYXJndW1lbnRzLmxlbmd0aDsgbysrKVxuICAgIGFbb10gPSBhcmd1bWVudHNbb107XG4gIGlmIChhWzBdIGluc3RhbmNlb2YgVVJMIHx8IHR5cGVvZiBhWzBdID09IFwic3RyaW5nXCIpIHtcbiAgICB2YXIgZSA9IGFbMV07XG4gICAgaWYgKCEoZSAhPSBudWxsICYmIGUuYm9keSkpXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgaWYgKGUuYm9keSBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtKSB7XG4gICAgICB2YXIgciA9IHVlKGUuYm9keSksIG4gPSByLmJvZHksIHQgPSByLmxlbmd0aDtcbiAgICAgIHJldHVybiBlLmJvZHkgPSBuLCB0O1xuICAgIH0gZWxzZVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmZShlLmJvZHkpKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgaSA9IGFbMF07XG4gICAgcmV0dXJuIGkgIT0gbnVsbCAmJiBpLmJvZHkgPyBpLmNsb25lKCkudGV4dCgpLnRoZW4oZnVuY3Rpb24ocykge1xuICAgICAgcmV0dXJuIGIocyk7XG4gICAgfSkgOiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxufVxuZnVuY3Rpb24gdWUoYSkge1xuICBpZiAoIWEucGlwZVRocm91Z2gpXG4gICAgcmV0dXJuIFUud2FybihcIlBsYXRmb3JtIGhhcyBSZWFkYWJsZVN0cmVhbSBidXQgbm90IHBpcGVUaHJvdWdoIVwiKSwge1xuICAgICAgYm9keTogYSxcbiAgICAgIGxlbmd0aDogUHJvbWlzZS5yZXNvbHZlKHZvaWQgMClcbiAgICB9O1xuICB2YXIgbyA9IDAsIGUsIHIgPSBuZXcgUHJvbWlzZShmdW5jdGlvbih0KSB7XG4gICAgZSA9IHQ7XG4gIH0pLCBuID0gbmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgc3RhcnQ6IGZ1bmN0aW9uKCkge1xuICAgIH0sXG4gICAgdHJhbnNmb3JtOiBmdW5jdGlvbih0LCBpKSB7XG4gICAgICByZXR1cm4gbmUodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgcztcbiAgICAgICAgcmV0dXJuIGFlKHRoaXMsIGZ1bmN0aW9uKGYpIHtcbiAgICAgICAgICBzd2l0Y2ggKGYubGFiZWwpIHtcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgcmV0dXJuIFs0LCB0XTtcbiAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgcmV0dXJuIHMgPSBmLnNlbnQoKSwgbyArPSBzLmJ5dGVMZW5ndGgsIGkuZW5xdWV1ZSh0KSwgW1xuICAgICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICAgICAvKnJldHVybiovXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZmx1c2g6IGZ1bmN0aW9uKCkge1xuICAgICAgZShvKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGJvZHk6IGEucGlwZVRocm91Z2gobiksXG4gICAgbGVuZ3RoOiByXG4gIH07XG59XG5mdW5jdGlvbiBmZShhKSB7XG4gIGlmICh0eXBlb2YgRG9jdW1lbnQgPCBcInVcIiAmJiBhIGluc3RhbmNlb2YgRG9jdW1lbnQpXG4gICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoZG9jdW1lbnQpLmxlbmd0aDtcbiAgaWYgKGEgaW5zdGFuY2VvZiBCbG9iKVxuICAgIHJldHVybiBhLnNpemU7XG4gIGlmIChhLmJ5dGVMZW5ndGggIT09IHZvaWQgMClcbiAgICByZXR1cm4gYS5ieXRlTGVuZ3RoO1xuICBpZiAoYSBpbnN0YW5jZW9mIEZvcm1EYXRhKVxuICAgIHJldHVybiBsZShhKTtcbiAgaWYgKGEgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXMpXG4gICAgcmV0dXJuIGIoYS50b1N0cmluZygpKTtcbiAgaWYgKHR5cGVvZiBhID09IFwic3RyaW5nXCIpXG4gICAgcmV0dXJuIGIoYSk7XG4gIFUud2FybihcInVua25vd24gYm9keSB0eXBlXCIpO1xufVxudmFyIGNlID0gbmV3IFRleHRFbmNvZGVyKCk7XG5mdW5jdGlvbiBiKGEpIHtcbiAgcmV0dXJuIGNlLmVuY29kZShhKS5ieXRlTGVuZ3RoO1xufVxuZnVuY3Rpb24gbGUoYSkge1xuICB2YXIgbywgZSwgciA9IDA7XG4gIHRyeSB7XG4gICAgZm9yICh2YXIgbiA9IGllKGEuZW50cmllcygpKSwgdCA9IG4ubmV4dCgpOyAhdC5kb25lOyB0ID0gbi5uZXh0KCkpIHtcbiAgICAgIHZhciBpID0gb2UodC52YWx1ZSwgMiksIHMgPSBpWzBdLCBmID0gaVsxXTtcbiAgICAgIHIgKz0gcy5sZW5ndGgsIGYgaW5zdGFuY2VvZiBCbG9iID8gciArPSBmLnNpemUgOiByICs9IGYubGVuZ3RoO1xuICAgIH1cbiAgfSBjYXRjaCAodSkge1xuICAgIG8gPSB7IGVycm9yOiB1IH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIHQgJiYgIXQuZG9uZSAmJiAoZSA9IG4ucmV0dXJuKSAmJiBlLmNhbGwobik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChvKSB0aHJvdyBvLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcjtcbn1cbnZhciBrID0gXCIwLjU3LjBcIiwgZGUgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciBhID0gZnVuY3Rpb24obywgZSkge1xuICAgIHJldHVybiBhID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24ociwgbikge1xuICAgICAgci5fX3Byb3RvX18gPSBuO1xuICAgIH0gfHwgZnVuY3Rpb24ociwgbikge1xuICAgICAgZm9yICh2YXIgdCBpbiBuKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwgdCkgJiYgKHJbdF0gPSBuW3RdKTtcbiAgICB9LCBhKG8sIGUpO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24obywgZSkge1xuICAgIGlmICh0eXBlb2YgZSAhPSBcImZ1bmN0aW9uXCIgJiYgZSAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGUpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICBhKG8sIGUpO1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gbztcbiAgICB9XG4gICAgby5wcm90b3R5cGUgPSBlID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShlKSA6IChyLnByb3RvdHlwZSA9IGUucHJvdG90eXBlLCBuZXcgcigpKTtcbiAgfTtcbn0oKSwgaGUgPSBmdW5jdGlvbihhLCBvKSB7XG4gIHZhciBlID0gdHlwZW9mIFN5bWJvbCA9PSBcImZ1bmN0aW9uXCIgJiYgYVtTeW1ib2wuaXRlcmF0b3JdO1xuICBpZiAoIWUpIHJldHVybiBhO1xuICB2YXIgciA9IGUuY2FsbChhKSwgbiwgdCA9IFtdLCBpO1xuICB0cnkge1xuICAgIGZvciAoOyAobyA9PT0gdm9pZCAwIHx8IG8tLSA+IDApICYmICEobiA9IHIubmV4dCgpKS5kb25lOyApIHQucHVzaChuLnZhbHVlKTtcbiAgfSBjYXRjaCAocykge1xuICAgIGkgPSB7IGVycm9yOiBzIH07XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIG4gJiYgIW4uZG9uZSAmJiAoZSA9IHIucmV0dXJuKSAmJiBlLmNhbGwocik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChpKSB0aHJvdyBpLmVycm9yO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdDtcbn0sIHBlID0gZnVuY3Rpb24oYSwgbywgZSkge1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikgZm9yICh2YXIgciA9IDAsIG4gPSBvLmxlbmd0aCwgdDsgciA8IG47IHIrKylcbiAgICAodCB8fCAhKHIgaW4gbykpICYmICh0IHx8ICh0ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobywgMCwgcikpLCB0W3JdID0gb1tyXSk7XG4gIHJldHVybiBhLmNvbmNhdCh0IHx8IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG8pKTtcbn0sIFMsIHZlID0gMzAwLCBIID0gdHlwZW9mIHByb2Nlc3MgPT0gXCJvYmplY3RcIiAmJiAoKFMgPSBwcm9jZXNzLnJlbGVhc2UpID09PSBudWxsIHx8IFMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IFMubmFtZSkgPT09IFwibm9kZVwiLCBiZSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbihhKSB7XG4gICAgZGUobywgYSk7XG4gICAgZnVuY3Rpb24gbyhlKSB7XG4gICAgICBlID09PSB2b2lkIDAgJiYgKGUgPSB7fSk7XG4gICAgICB2YXIgciA9IGEuY2FsbCh0aGlzLCBcIkBvcGVudGVsZW1ldHJ5L2luc3RydW1lbnRhdGlvbi1mZXRjaFwiLCBrLCBlKSB8fCB0aGlzO1xuICAgICAgcmV0dXJuIHIuY29tcG9uZW50ID0gXCJmZXRjaFwiLCByLnZlcnNpb24gPSBrLCByLm1vZHVsZU5hbWUgPSByLmNvbXBvbmVudCwgci5fdXNlZFJlc291cmNlcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgV2Vha1NldCgpLCByLl90YXNrc0NvdW50ID0gMCwgcjtcbiAgICB9XG4gICAgcmV0dXJuIG8ucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbigpIHtcbiAgICB9LCBvLnByb3RvdHlwZS5fYWRkQ2hpbGRTcGFuID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgdmFyIG4gPSB0aGlzLnRyYWNlci5zdGFydFNwYW4oXCJDT1JTIFByZWZsaWdodFwiLCB7XG4gICAgICAgIHN0YXJ0VGltZTogcltULkZFVENIX1NUQVJUXVxuICAgICAgfSwgRGUuc2V0U3BhbihOZS5hY3RpdmUoKSwgZSkpO1xuICAgICAgeChuLCByLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZU5ldHdvcmtFdmVudHMpLCBuLmVuZChyW1QuUkVTUE9OU0VfRU5EXSk7XG4gICAgfSwgby5wcm90b3R5cGUuX2FkZEZpbmFsU3BhbkF0dHJpYnV0ZXMgPSBmdW5jdGlvbihlLCByKSB7XG4gICAgICB2YXIgbiA9IFIoci51cmwpO1xuICAgICAgZS5zZXRBdHRyaWJ1dGUoakEsIHIuc3RhdHVzKSwgci5zdGF0dXNUZXh0ICE9IG51bGwgJiYgZS5zZXRBdHRyaWJ1dGUoeS5IVFRQX1NUQVRVU19URVhULCByLnN0YXR1c1RleHQpLCBlLnNldEF0dHJpYnV0ZShxQSwgbi5ob3N0KSwgZS5zZXRBdHRyaWJ1dGUoWkEsIG4ucHJvdG9jb2wucmVwbGFjZShcIjpcIiwgXCJcIikpLCB0eXBlb2YgbmF2aWdhdG9yIDwgXCJ1XCIgJiYgZS5zZXRBdHRyaWJ1dGUoekEsIG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9hZGRIZWFkZXJzID0gZnVuY3Rpb24oZSwgcikge1xuICAgICAgaWYgKCFzKHIsIHRoaXMuZ2V0Q29uZmlnKCkucHJvcGFnYXRlVHJhY2VIZWFkZXJDb3JzVXJscykpIHtcbiAgICAgICAgdmFyIG4gPSB7fTtcbiAgICAgICAgeV8uaW5qZWN0KE5lLmFjdGl2ZSgpLCBuKSwgT2JqZWN0LmtleXMobikubGVuZ3RoID4gMCAmJiB0aGlzLl9kaWFnLmRlYnVnKFwiaGVhZGVycyBpbmplY3Qgc2tpcHBlZCBkdWUgdG8gQ09SUyBwb2xpY3lcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChlIGluc3RhbmNlb2YgUmVxdWVzdClcbiAgICAgICAgeV8uaW5qZWN0KE5lLmFjdGl2ZSgpLCBlLmhlYWRlcnMsIHtcbiAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHQsIGksIHMpIHtcbiAgICAgICAgICAgIHJldHVybiB0LnNldChpLCB0eXBlb2YgcyA9PSBcInN0cmluZ1wiID8gcyA6IFN0cmluZyhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIGVsc2UgaWYgKGUuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnMpXG4gICAgICAgIHlfLmluamVjdChOZS5hY3RpdmUoKSwgZS5oZWFkZXJzLCB7XG4gICAgICAgICAgc2V0OiBmdW5jdGlvbih0LCBpLCBzKSB7XG4gICAgICAgICAgICByZXR1cm4gdC5zZXQoaSwgdHlwZW9mIHMgPT0gXCJzdHJpbmdcIiA/IHMgOiBTdHJpbmcocykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICBlbHNlIGlmIChlLmhlYWRlcnMgaW5zdGFuY2VvZiBNYXApXG4gICAgICAgIHlfLmluamVjdChOZS5hY3RpdmUoKSwgZS5oZWFkZXJzLCB7XG4gICAgICAgICAgc2V0OiBmdW5jdGlvbih0LCBpLCBzKSB7XG4gICAgICAgICAgICByZXR1cm4gdC5zZXQoaSwgdHlwZW9mIHMgPT0gXCJzdHJpbmdcIiA/IHMgOiBTdHJpbmcocykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICBlbHNlIHtcbiAgICAgICAgdmFyIG4gPSB7fTtcbiAgICAgICAgeV8uaW5qZWN0KE5lLmFjdGl2ZSgpLCBuKSwgZS5oZWFkZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgbiwgZS5oZWFkZXJzIHx8IHt9KTtcbiAgICAgIH1cbiAgICB9LCBvLnByb3RvdHlwZS5fY2xlYXJSZXNvdXJjZXMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuX3Rhc2tzQ291bnQgPT09IDAgJiYgdGhpcy5nZXRDb25maWcoKS5jbGVhclRpbWluZ1Jlc291cmNlcyAmJiAocGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKSwgdGhpcy5fdXNlZFJlc291cmNlcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgV2Vha1NldCgpKTtcbiAgICB9LCBvLnByb3RvdHlwZS5fY3JlYXRlU3BhbiA9IGZ1bmN0aW9uKGUsIHIpIHtcbiAgICAgIHZhciBuO1xuICAgICAgaWYgKHIgPT09IHZvaWQgMCAmJiAociA9IHt9KSwgWmUoZSwgdGhpcy5nZXRDb25maWcoKS5pZ25vcmVVcmxzKSkge1xuICAgICAgICB0aGlzLl9kaWFnLmRlYnVnKFwiaWdub3Jpbmcgc3BhbiBhcyB1cmwgbWF0Y2hlcyBpZ25vcmVkIHVybFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdmFyIHQgPSAoci5tZXRob2QgfHwgXCJHRVRcIikudG9VcHBlckNhc2UoKSwgaSA9IFwiSFRUUCBcIiArIHQ7XG4gICAgICByZXR1cm4gdGhpcy50cmFjZXIuc3RhcnRTcGFuKGksIHtcbiAgICAgICAga2luZDogWGUuQ0xJRU5ULFxuICAgICAgICBhdHRyaWJ1dGVzOiAobiA9IHt9LCBuW3kuQ09NUE9ORU5UXSA9IHRoaXMubW9kdWxlTmFtZSwgbltRQV0gPSB0LCBuW3hBXSA9IGUsIG4pXG4gICAgICB9KTtcbiAgICB9LCBvLnByb3RvdHlwZS5fZmluZFJlc291cmNlQW5kQWRkTmV0d29ya0V2ZW50cyA9IGZ1bmN0aW9uKGUsIHIsIG4pIHtcbiAgICAgIHZhciB0ID0gci5lbnRyaWVzO1xuICAgICAgaWYgKCF0Lmxlbmd0aCkge1xuICAgICAgICBpZiAoIXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShcInJlc291cmNlXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGkgPSBiJDEoci5zcGFuVXJsLCByLnN0YXJ0VGltZSwgbiwgdCwgdGhpcy5fdXNlZFJlc291cmNlcywgXCJmZXRjaFwiKTtcbiAgICAgIGlmIChpLm1haW5SZXF1ZXN0KSB7XG4gICAgICAgIHZhciBzID0gaS5tYWluUmVxdWVzdDtcbiAgICAgICAgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKHMpO1xuICAgICAgICB2YXIgZiA9IGkuY29yc1ByZUZsaWdodFJlcXVlc3Q7XG4gICAgICAgIGYgJiYgKHRoaXMuX2FkZENoaWxkU3BhbihlLCBmKSwgdGhpcy5fbWFya1Jlc291cmNlQXNVc2VkKGYpKSwgeChlLCBzLCB0aGlzLmdldENvbmZpZygpLmlnbm9yZU5ldHdvcmtFdmVudHMpO1xuICAgICAgfVxuICAgIH0sIG8ucHJvdG90eXBlLl9tYXJrUmVzb3VyY2VBc1VzZWQgPSBmdW5jdGlvbihlKSB7XG4gICAgICB0aGlzLl91c2VkUmVzb3VyY2VzLmFkZChlKTtcbiAgICB9LCBvLnByb3RvdHlwZS5fZW5kU3BhbiA9IGZ1bmN0aW9uKGUsIHIsIG4pIHtcbiAgICAgIHZhciB0ID0gdGhpcywgaSA9IE8oRGF0ZS5ub3coKSksIHMgPSBwXygpO1xuICAgICAgdGhpcy5fYWRkRmluYWxTcGFuQXR0cmlidXRlcyhlLCBuKSwgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGY7XG4gICAgICAgIChmID0gci5vYnNlcnZlcikgPT09IG51bGwgfHwgZiA9PT0gdm9pZCAwIHx8IGYuZGlzY29ubmVjdCgpLCB0Ll9maW5kUmVzb3VyY2VBbmRBZGROZXR3b3JrRXZlbnRzKGUsIHIsIHMpLCB0Ll90YXNrc0NvdW50LS0sIHQuX2NsZWFyUmVzb3VyY2VzKCksIGUuZW5kKGkpO1xuICAgICAgfSwgdmUpO1xuICAgIH0sIG8ucHJvdG90eXBlLl9wYXRjaENvbnN0cnVjdG9yID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgZSA9IHRoaXM7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocikge1xuICAgICAgICB2YXIgbiA9IGU7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICBmb3IgKHZhciBpID0gW10sIHMgPSAwOyBzIDwgYXJndW1lbnRzLmxlbmd0aDsgcysrKVxuICAgICAgICAgICAgaVtzXSA9IGFyZ3VtZW50c1tzXTtcbiAgICAgICAgICB2YXIgZiA9IHRoaXMsIHUgPSBSKGlbMF0gaW5zdGFuY2VvZiBSZXF1ZXN0ID8gaVswXS51cmwgOiBTdHJpbmcoaVswXSkpLmhyZWYsIGMgPSBpWzBdIGluc3RhbmNlb2YgUmVxdWVzdCA/IGlbMF0gOiBpWzFdIHx8IHt9LCBoID0gbi5fY3JlYXRlU3Bhbih1LCBjKTtcbiAgICAgICAgICBpZiAoIWgpXG4gICAgICAgICAgICByZXR1cm4gci5hcHBseSh0aGlzLCBpKTtcbiAgICAgICAgICB2YXIgbSA9IG4uX3ByZXBhcmVTcGFuRGF0YSh1KTtcbiAgICAgICAgICBuLmdldENvbmZpZygpLm1lYXN1cmVSZXF1ZXN0U2l6ZSAmJiBzZS5hcHBseSh2b2lkIDAsIHBlKFtdLCBoZShpKSwgITEpKS50aGVuKGZ1bmN0aW9uKGwpIHtcbiAgICAgICAgICAgIGwgJiYgaC5zZXRBdHRyaWJ1dGUoU3IsIGwpO1xuICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGwpIHtcbiAgICAgICAgICAgIG4uX2RpYWcud2FybihcImdldEZldGNoQm9keUxlbmd0aFwiLCBsKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmdW5jdGlvbiBFKGwsIGQpIHtcbiAgICAgICAgICAgIG4uX2FwcGx5QXR0cmlidXRlc0FmdGVyRmV0Y2gobCwgYywgZCksIG4uX2VuZFNwYW4obCwgbSwge1xuICAgICAgICAgICAgICBzdGF0dXM6IGQuc3RhdHVzIHx8IDAsXG4gICAgICAgICAgICAgIHN0YXR1c1RleHQ6IGQubWVzc2FnZSxcbiAgICAgICAgICAgICAgdXJsOiB1XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gdyhsLCBkKSB7XG4gICAgICAgICAgICBuLl9hcHBseUF0dHJpYnV0ZXNBZnRlckZldGNoKGwsIGMsIGQpLCBkLnN0YXR1cyA+PSAyMDAgJiYgZC5zdGF0dXMgPCA0MDAgPyBuLl9lbmRTcGFuKGwsIG0sIGQpIDogbi5fZW5kU3BhbihsLCBtLCB7XG4gICAgICAgICAgICAgIHN0YXR1czogZC5zdGF0dXMsXG4gICAgICAgICAgICAgIHN0YXR1c1RleHQ6IGQuc3RhdHVzVGV4dCxcbiAgICAgICAgICAgICAgdXJsOiB1XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZnVuY3Rpb24gTShsLCBkLCB2KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICB2YXIgaiA9IHYuY2xvbmUoKSwgRCA9IHYuY2xvbmUoKSwgUiA9IGouYm9keTtcbiAgICAgICAgICAgICAgaWYgKFIpIHtcbiAgICAgICAgICAgICAgICB2YXIgQiA9IFIuZ2V0UmVhZGVyKCksIEEgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgIEIucmVhZCgpLnRoZW4oZnVuY3Rpb24oZykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgRiA9IGcuZG9uZTtcbiAgICAgICAgICAgICAgICAgICAgRiA/IHcobCwgRCkgOiBBKCk7XG4gICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbihnKSB7XG4gICAgICAgICAgICAgICAgICAgIEUobCwgZyk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEEoKTtcbiAgICAgICAgICAgICAgfSBlbHNlXG4gICAgICAgICAgICAgICAgdyhsLCB2KTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIGQodik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIEwobCwgZCwgdikge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgRShsLCB2KTtcbiAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgIGQodik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihsLCBkKSB7XG4gICAgICAgICAgICByZXR1cm4gTmUud2l0aChEZS5zZXRTcGFuKE5lLmFjdGl2ZSgpLCBoKSwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuLl9hZGRIZWFkZXJzKGMsIHUpLCBuLl90YXNrc0NvdW50KyssIHIuYXBwbHkoZiwgYyBpbnN0YW5jZW9mIFJlcXVlc3QgPyBbY10gOiBbdSwgY10pLnRoZW4oTS5iaW5kKGYsIGgsIGwpLCBMLmJpbmQoZiwgaCwgZCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0sIG8ucHJvdG90eXBlLl9hcHBseUF0dHJpYnV0ZXNBZnRlckZldGNoID0gZnVuY3Rpb24oZSwgciwgbikge1xuICAgICAgdmFyIHQgPSB0aGlzLCBpID0gdGhpcy5nZXRDb25maWcoKS5hcHBseUN1c3RvbUF0dHJpYnV0ZXNPblNwYW47XG4gICAgICBpICYmIEYoZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpKGUsIHIsIG4pO1xuICAgICAgfSwgZnVuY3Rpb24ocykge1xuICAgICAgICBzICYmIHQuX2RpYWcuZXJyb3IoXCJhcHBseUN1c3RvbUF0dHJpYnV0ZXNPblNwYW5cIiwgcyk7XG4gICAgICB9LCAhMCk7XG4gICAgfSwgby5wcm90b3R5cGUuX3ByZXBhcmVTcGFuRGF0YSA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHZhciByID0gcF8oKSwgbiA9IFtdO1xuICAgICAgaWYgKHR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyICE9IFwiZnVuY3Rpb25cIilcbiAgICAgICAgcmV0dXJuIHsgZW50cmllczogbiwgc3RhcnRUaW1lOiByLCBzcGFuVXJsOiBlIH07XG4gICAgICB2YXIgdCA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1bmN0aW9uKGkpIHtcbiAgICAgICAgdmFyIHMgPSBpLmdldEVudHJpZXMoKTtcbiAgICAgICAgcy5mb3JFYWNoKGZ1bmN0aW9uKGYpIHtcbiAgICAgICAgICBmLmluaXRpYXRvclR5cGUgPT09IFwiZmV0Y2hcIiAmJiBmLm5hbWUgPT09IGUgJiYgbi5wdXNoKGYpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHQub2JzZXJ2ZSh7XG4gICAgICAgIGVudHJ5VHlwZXM6IFtcInJlc291cmNlXCJdXG4gICAgICB9KSwgeyBlbnRyaWVzOiBuLCBvYnNlcnZlcjogdCwgc3RhcnRUaW1lOiByLCBzcGFuVXJsOiBlIH07XG4gICAgfSwgby5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoSCkge1xuICAgICAgICB0aGlzLl9kaWFnLndhcm4oXCJ0aGlzIGluc3RydW1lbnRhdGlvbiBpcyBpbnRlbmRlZCBmb3Igd2ViIHVzYWdlIG9ubHksIGl0IGRvZXMgbm90IGluc3RydW1lbnQgTm9kZS5qcydzIGZldGNoKClcIik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIEgkMShmZXRjaCkgJiYgKHRoaXMuX3Vud3JhcChsLCBcImZldGNoXCIpLCB0aGlzLl9kaWFnLmRlYnVnKFwicmVtb3ZpbmcgcHJldmlvdXMgcGF0Y2ggZm9yIGNvbnN0cnVjdG9yXCIpKSwgdGhpcy5fd3JhcChsLCBcImZldGNoXCIsIHRoaXMuX3BhdGNoQ29uc3RydWN0b3IoKSk7XG4gICAgfSwgby5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgSCB8fCAodGhpcy5fdW53cmFwKGwsIFwiZmV0Y2hcIiksIHRoaXMuX3VzZWRSZXNvdXJjZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFdlYWtTZXQoKSk7XG4gICAgfSwgbztcbiAgfShZKVxuKTtcblxuZXhwb3J0IHsgYmUgYXMgRmV0Y2hJbnN0cnVtZW50YXRpb24gfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUFBLFNBQVM7QUFDbEIsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUFDLFNBQVM7QUFDNUcsU0FBUyxLQUFBQyxHQUFHLEtBQUtDLEdBQUssS0FBQUMsU0FBUztBQUMvQixTQUFTLEtBQUFDLFNBQVM7QUFDbEIsU0FBUyxLQUFBQyxHQUFHLEtBQUFDLEdBQUcsS0FBQUMsR0FBRyxLQUFBQyxHQUFHLEtBQUtDLFVBQVc7QUFDckMsU0FBUyxLQUFLQyxHQUFJLEtBQUtDLEdBQUksS0FBS0MsVUFBVTtBQUUxQyxJQUFJQztBQUFBLENBQ0gsU0FBU0MsR0FBRztBQUNYLEVBQUFBLEVBQUUsWUFBWSxhQUFhQSxFQUFFLGtCQUFrQixtQkFBbUJBLEVBQUUsbUJBQW1CO0FBQ3pGLEdBQUdELE1BQU1BLElBQUksQ0FBQyxFQUFFO0FBQ2hCLElBQUlFLEtBQUssU0FBU0QsR0FBR0UsR0FBR0MsR0FBRzVCLEdBQUc7QUFDNUIsV0FBUzZCLEVBQUVDLEdBQUc7QUFDWixXQUFPQSxhQUFhRixJQUFJRSxJQUFJLElBQUlGLEVBQUUsU0FBU0csR0FBRztBQUM1QyxNQUFBQSxFQUFFRCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU8sS0FBS0YsTUFBTUEsSUFBSSxVQUFVLFNBQVNFLEdBQUdDLEdBQUc7QUFDN0MsYUFBU1osRUFBRWEsR0FBRztBQUNaLFVBQUk7QUFDRixVQUFFaEMsRUFBRSxLQUFLZ0MsQ0FB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QUN6QixDQUFDLEdBQUcsRUFBRSxTQUFTRCxHQUFHLFVBQVVDLEdBQUcsV0FBVzlCLEdBQUcsU0FBUzRCLEVBQUU7QUFBQSxJQUMxRCxHQUFHRCxFQUFFLFVBQVUsU0FBUyxXQUFXO0FBQ2pDLFVBQUl3QixHQUFHO0FBQ0wsYUFBSyxNQUFNLEtBQUssK0ZBQStGO0FBQy9HO0FBQUEsTUFDRjtBQUNBLE1BQUF0QyxFQUFJLEtBQUssTUFBTSxLQUFLLFFBQVFFLEdBQUcsT0FBTyxHQUFHLEtBQUssTUFBTSxNQUFNLHlDQUF5QyxJQUFJLEtBQUssTUFBTUEsR0FBRyxTQUFTLEtBQUssa0JBQWtCLENBQUM7QUFBQSxJQUN4SixHQUFHWSxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUF3QixNQUFNLEtBQUssUUFBUXBDLEdBQUcsT0FBTyxHQUFHLEtBQUssaUJBQWlDLG9CQUFJLFFBQVE7QUFBQSxJQUNwRixHQUFHWTtBQUFBLEVBQ0wsRUFBRWIsQ0FBQztBQUFBOyIsCiAgIm5hbWVzIjogWyJyIiwgImpBIiwgInFBIiwgIlpBIiwgInpBIiwgInlfIiwgIlplIiwgIlFBIiwgInhBIiwgInBfIiwgIlNyIiwgIk8iLCAiRiIsICJIJDEiLCAiWSIsICJsIiwgIlQiLCAieCIsICJSIiwgInMiLCAiYiQxIiwgIkRlIiwgIk5lIiwgIlhlIiwgInkiLCAiYSIsICJuZSIsICJvIiwgImUiLCAibiIsICJ0IiwgImkiLCAiYyIsICJoIiwgImYiLCAiYWUiLCAiaWUiLCAib2UiLCAiVSIsICJzZSIsICJ1ZSIsICJmZSIsICJiIiwgImxlIiwgImNlIiwgImsiLCAiZGUiLCAiaGUiLCAicGUiLCAiUyIsICJ2ZSIsICJIIiwgImJlIiwgInUiLCAibSIsICJFIiwgImQiLCAiTSIsICJ2IiwgImoiLCAiRCIsICJCIiwgIkEiLCAiZyIsICJMIl0KfQo=
|
package/dist/index.d.ts
CHANGED
|
@@ -257,14 +257,6 @@ declare enum ElementTypeEnum {
|
|
|
257
257
|
CDE_BRIDGE = 'cde-bridge',
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
declare enum Environment {
|
|
261
|
-
Local = 'local',
|
|
262
|
-
Development = 'development',
|
|
263
|
-
Staging = 'staging',
|
|
264
|
-
Demo = 'demo',
|
|
265
|
-
Production = 'production',
|
|
266
|
-
}
|
|
267
|
-
|
|
268
260
|
declare interface ExchangableToken extends Omit<TokenExchangeDetailsResponse, 'exchangeRates'> {
|
|
269
261
|
wrapsTo?: string;
|
|
270
262
|
exchange: ExchangeRateDetails;
|
|
@@ -363,7 +355,7 @@ export declare interface LoopConnectConfig {
|
|
|
363
355
|
apiKey: string;
|
|
364
356
|
entityId: string;
|
|
365
357
|
merchantId?: string;
|
|
366
|
-
environment?:
|
|
358
|
+
environment?: LoopEnvironment | `${LoopEnvironment}`;
|
|
367
359
|
customStyles?: CustomStyles;
|
|
368
360
|
onInitialized?: (detail: InitializedEvent) => void;
|
|
369
361
|
onInitFailed?: (detail: InitFailedEvent) => void;
|
|
@@ -402,6 +394,14 @@ export declare type LoopCryptoWidgetProps = {
|
|
|
402
394
|
invoiceRefId?: string;
|
|
403
395
|
};
|
|
404
396
|
|
|
397
|
+
export declare enum LoopEnvironment {
|
|
398
|
+
Local = 'local',
|
|
399
|
+
Development = 'development',
|
|
400
|
+
Staging = 'staging',
|
|
401
|
+
Demo = 'demo',
|
|
402
|
+
Production = 'production',
|
|
403
|
+
}
|
|
404
|
+
|
|
405
405
|
declare interface NetworkChangeEvent {
|
|
406
406
|
id: number;
|
|
407
407
|
name: string;
|
|
@@ -429,10 +429,13 @@ declare type OnValidationError = (field: AllFieldNames, errors: string[], elemen
|
|
|
429
429
|
declare interface PayInCompleteEvent extends PayinResponse {}
|
|
430
430
|
|
|
431
431
|
export declare enum PayInFailed {
|
|
432
|
+
// Create payment method
|
|
433
|
+
METHOD_CREATION_FAILED = 'methodCreationFailed',
|
|
432
434
|
INSUFFICIENT_BALANCE = 'insufficientBalance',
|
|
433
435
|
INSUFFICIENT_AUTHORIZATION = 'insufficientAuthorization',
|
|
434
436
|
SIGNED_MESSAGE_REQUIRED = 'signedMessageRequired',
|
|
435
437
|
CUSTOMER_CREATION_FAILED = 'customerCreationFailed',
|
|
438
|
+
// Create pay-in
|
|
436
439
|
PAYMENT_FAILED = 'paymentFailed',
|
|
437
440
|
TRANSACTION_FAILED = 'transactionFailed',
|
|
438
441
|
}
|
|
@@ -536,6 +539,7 @@ export declare enum PayInState {
|
|
|
536
539
|
UPDATING_AUTHORIZATION = 'updatingAuthorization',
|
|
537
540
|
SIGNING_MESSAGE = 'signingMessage',
|
|
538
541
|
CREATING_CUSTOMER = 'creatingCustomer',
|
|
542
|
+
CREATING_PAYMENT_METHOD = 'creatingPaymentMethod',
|
|
539
543
|
/**
|
|
540
544
|
* @deprecated State CREATING_PAYMENT is used when a payment is awaiting creation confirmation
|
|
541
545
|
*/
|
|
@@ -594,6 +598,15 @@ declare interface PayInStateChangeEventCreatingPayment {
|
|
|
594
598
|
paymentMethodId: string;
|
|
595
599
|
}
|
|
596
600
|
|
|
601
|
+
declare interface PayInStateChangeEventCreatingPaymentMethod {
|
|
602
|
+
token: LoopConnectToken;
|
|
603
|
+
walletAddress: string;
|
|
604
|
+
chain: BlockchainNetwork;
|
|
605
|
+
networkName: string;
|
|
606
|
+
customerId: string;
|
|
607
|
+
customerRefId?: string;
|
|
608
|
+
}
|
|
609
|
+
|
|
597
610
|
declare type PayInStateChangeEventIdle = unknown;
|
|
598
611
|
|
|
599
612
|
/**
|
|
@@ -632,6 +645,7 @@ declare type PayInStateDataMap = {
|
|
|
632
645
|
[PayInState.UPDATING_AUTHORIZATION]: PayInStateChangeEventUpdatingAuthorization;
|
|
633
646
|
[PayInState.SIGNING_MESSAGE]: PayInStateChangeEventSigningMessage;
|
|
634
647
|
[PayInState.CREATING_CUSTOMER]: PayInStateChangeEventCreatingCustomer;
|
|
648
|
+
[PayInState.CREATING_PAYMENT_METHOD]: PayInStateChangeEventCreatingPaymentMethod;
|
|
635
649
|
[PayInState.PROCESSING_PAYMENT]: PayInStateChangeEventProcessingPayment;
|
|
636
650
|
[PayInState.CREATING_PAYMENT]: PayInStateChangeEventCreatingPayment;
|
|
637
651
|
[PayInState.CONFIRMING_PAYMENT]: PayInStateChangeEventConfirmingPayment;
|
|
@@ -751,7 +765,7 @@ declare interface PaymentMethodTokenExchangeRate {
|
|
|
751
765
|
timestamp: number;
|
|
752
766
|
}
|
|
753
767
|
|
|
754
|
-
declare const PaymentProcessor = z.enum(['stripe', 'airwallex', 'authorize_net']);
|
|
768
|
+
declare const PaymentProcessor = z.enum(['stripe', 'airwallex', 'authorize_net', 'adyen']);
|
|
755
769
|
|
|
756
770
|
declare type PaymentProcessor = z.infer<typeof PaymentProcessor>;
|
|
757
771
|
|
|
@@ -818,6 +832,8 @@ declare type ProcessorSpecificSubmitSettings<T extends SubmitMethod = SubmitMeth
|
|
|
818
832
|
'airwallex-apple-pay': ApplePayFlowCustomParams;
|
|
819
833
|
'authorizenet-google-pay': GooglePayFlowCustomParams;
|
|
820
834
|
'authorizenet-apple-pay': ApplePayFlowCustomParams;
|
|
835
|
+
'adyen-google-pay': GooglePayFlowCustomParams;
|
|
836
|
+
'adyen-apple-pay': ApplePayFlowCustomParams;
|
|
821
837
|
'loop-crypto': LoopCryptoFlowCustomParams;
|
|
822
838
|
paypal: PaypalFlowCustomParams;
|
|
823
839
|
}[T];
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { d as t, e as n, f as l, g as E, E as d, h as i, i as o, j as p, u as C } from "./index-DJF-pWKT.js";
|
|
2
|
-
import "uuid";
|
|
3
1
|
import "penpal";
|
|
2
|
+
import { C as t, g as n, h as l, i as o, E, F as i, l as p, P as d, j as C, u as y } from "./index-DPmL7fu_.js";
|
|
3
|
+
import "uuid";
|
|
4
4
|
import "chalk";
|
|
5
5
|
export {
|
|
6
6
|
t as CardCvcElement,
|
|
7
7
|
n as CardElement,
|
|
8
8
|
l as CardExpiryElement,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
o as CardNumberElement,
|
|
10
|
+
E as ElementsForm,
|
|
11
11
|
i as FieldName,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
C as
|
|
12
|
+
p as LoopEnvironment,
|
|
13
|
+
d as PayInFailed,
|
|
14
|
+
C as PayInState,
|
|
15
|
+
y as useOpenPayElements
|
|
15
16
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXguanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCAncGVucGFsJztcbmV4cG9ydCB7IEMgYXMgQ2FyZEN2Y0VsZW1lbnQsIGcgYXMgQ2FyZEVsZW1lbnQsIGggYXMgQ2FyZEV4cGlyeUVsZW1lbnQsIGkgYXMgQ2FyZE51bWJlckVsZW1lbnQsIEUgYXMgRWxlbWVudHNGb3JtLCBGIGFzIEZpZWxkTmFtZSwgbCBhcyBMb29wRW52aXJvbm1lbnQsIFAgYXMgUGF5SW5GYWlsZWQsIGogYXMgUGF5SW5TdGF0ZSwgdSBhcyB1c2VPcGVuUGF5RWxlbWVudHMgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcbmltcG9ydCAndXVpZCc7XG5pbXBvcnQgJ2NoYWxrJzsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFPO0FBQ1AsU0FBYyxLQUFMQSxHQUEwQixLQUFMQyxHQUF1QixLQUFMQyxHQUE2QixLQUFMQyxHQUE2QixHQUFtQixLQUFMQyxHQUFxQixLQUFMQyxHQUEyQixLQUFMQyxHQUF1QixLQUFMQyxHQUFzQixLQUFMQyxTQUErQjtBQUMzTixPQUFPO0FBQ1AsT0FBTzsiLAogICJuYW1lcyI6IFsiQyIsICJnIiwgImgiLCAiaSIsICJGIiwgImwiLCAiUCIsICJqIiwgInUiXQp9Cg==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as l, d as f, Q as y, e as h } from "./index-DPmL7fu_.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) {
|
|
@@ -56,7 +56,7 @@ var o = /* @__PURE__ */ function() {
|
|
|
56
56
|
return n.prototype.add = function(e, r) {
|
|
57
57
|
}, n;
|
|
58
58
|
}(i)
|
|
59
|
-
),
|
|
59
|
+
), d = (
|
|
60
60
|
/** @class */
|
|
61
61
|
function(t) {
|
|
62
62
|
o(n, t);
|
|
@@ -66,7 +66,7 @@ var o = /* @__PURE__ */ function() {
|
|
|
66
66
|
return n.prototype.add = function(e, r) {
|
|
67
67
|
}, n;
|
|
68
68
|
}(i)
|
|
69
|
-
),
|
|
69
|
+
), w = (
|
|
70
70
|
/** @class */
|
|
71
71
|
function(t) {
|
|
72
72
|
o(n, t);
|
|
@@ -122,8 +122,8 @@ var o = /* @__PURE__ */ function() {
|
|
|
122
122
|
}
|
|
123
123
|
return n;
|
|
124
124
|
}(a)
|
|
125
|
-
), s = new b(), C = new g(), M = new
|
|
126
|
-
function
|
|
125
|
+
), s = new b(), C = new g(), M = new w(), P = new v(), k = new d(), G = new m(), j = new O(), D = new _();
|
|
126
|
+
function E() {
|
|
127
127
|
return s;
|
|
128
128
|
}
|
|
129
129
|
var I = (
|
|
@@ -152,9 +152,9 @@ var I = (
|
|
|
152
152
|
h(p, f.instance());
|
|
153
153
|
}, t;
|
|
154
154
|
}()
|
|
155
|
-
),
|
|
155
|
+
), Q = x.getInstance();
|
|
156
156
|
export {
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
E as D,
|
|
158
|
+
Q as k
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktRFBHaWU5NXctIX57MDBkfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEYgYXMgRnQsIG4gYXMgbnQsIHogYXMgemUsIE0gYXMgTXQgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIG8gPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciB0ID0gZnVuY3Rpb24oZSwgbikge1xuICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24ociwgYSkge1xuICAgICAgci5fX3Byb3RvX18gPSBhO1xuICAgIH0gfHwgZnVuY3Rpb24ociwgYSkge1xuICAgICAgZm9yICh2YXIgdSBpbiBhKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSwgdSkgJiYgKHJbdV0gPSBhW3VdKTtcbiAgICB9LCB0KGUsIG4pO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24oZSwgbikge1xuICAgIGlmICh0eXBlb2YgbiAhPSBcImZ1bmN0aW9uXCIgJiYgbiAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKG4pICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICB0KGUsIG4pO1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTtcbiAgICB9XG4gICAgZS5wcm90b3R5cGUgPSBuID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShuKSA6IChyLnByb3RvdHlwZSA9IG4ucHJvdG90eXBlLCBuZXcgcigpKTtcbiAgfTtcbn0oKSwgTyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlR2F1Z2UgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gaDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gUDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIG07XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBkO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBSO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIHc7XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gRztcbiAgICB9LCB0LnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUpIHtcbiAgICB9LCB0O1xuICB9KClcbiksIGkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0O1xuICB9KClcbiksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIGIgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZENhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQ7XG4gIH0oKVxuKSwgZyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KHApXG4pLCBDID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0ocClcbiksIEUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbiAgfShwKVxuKSwgbCA9IG5ldyBPKCksIG0gPSBuZXcgTSgpLCBoID0gbmV3IE4oKSwgUCA9IG5ldyB5KCksIGQgPSBuZXcgYigpLCB3ID0gbmV3IGcoKSwgUiA9IG5ldyBDKCksIEcgPSBuZXcgRSgpO1xuZnVuY3Rpb24gRCgpIHtcbiAgcmV0dXJuIGw7XG59XG52YXIgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbihlLCBuLCByKSB7XG4gICAgICByZXR1cm4gbDtcbiAgICB9LCB0O1xuICB9KClcbiksIFQgPSBuZXcgSSgpLCBjID0gXCJtZXRyaWNzXCIsIFUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZSB8fCAodGhpcy5faW5zdGFuY2UgPSBuZXcgdCgpKSwgdGhpcy5faW5zdGFuY2U7XG4gICAgfSwgdC5wcm90b3R5cGUuc2V0R2xvYmFsTWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHJldHVybiBGdChjLCBlLCBudC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlclByb3ZpZGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gemUoYykgfHwgVDtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlciA9IGZ1bmN0aW9uKGUsIG4sIHIpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1ldGVyUHJvdmlkZXIoKS5nZXRNZXRlcihlLCBuLCByKTtcbiAgICB9LCB0LnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBNdChjLCBudC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0O1xuICB9KClcbiksIGsgPSBVLmdldEluc3RhbmNlKCk7XG5cbmV4cG9ydCB7IEQsIGsgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFbkQsSUFBSSxJQUFvQiwyQkFBVztBQUNqQyxNQUFJLElBQUksU0FBU0MsR0FBR0MsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsRUFBRSxhQUFhLFNBQVMsU0FBUyxHQUFHQyxHQUFHO0FBQ3ZGLFFBQUUsWUFBWUE7QUFBQSxJQUNoQixLQUFLLFNBQVMsR0FBR0EsR0FBRztBQUNsQixlQUFTQyxLQUFLRCxFQUFHLFFBQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFBTSxFQUFFQSxDQUFDLElBQUlELEVBQUVDLENBQUM7QUFBQSxJQUM1RSxHQUFHLEVBQUVILEdBQUdDLENBQUM7QUFBQSxFQUNYO0FBQ0EsU0FBTyxTQUFTRCxHQUFHQyxHQUFHO0FBQ3BCLFFBQUksT0FBT0EsS0FBSyxjQUFjQSxNQUFNO0FBQ2xDLFlBQU0sSUFBSSxVQUFVLHlCQUF5QixPQUFPQSxDQUFDLElBQUksK0JBQStCO0FBQzFGLE1BQUVELEdBQUdDLENBQUM7QUFDTixhQUFTLElBQUk7QUFDWCxXQUFLLGNBQWNEO0FBQUEsSUFDckI7QUFDQSxJQUFBQSxFQUFFLFlBQVlDLE1BQU0sT0FBTyxPQUFPLE9BQU9BLENBQUMsS0FBSyxFQUFFLFlBQVlBLEVBQUUsV0FBVyxJQUFJLEVBQUU7QUFBQSxFQUNsRjtBQUNGLEVBQUUsR0FBR0c7QUFBQTtBQUFBLEVBRUgsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsVUFBVSxjQUFjLFNBQVNKLEdBQUdDLEdBQUc7QUFDOUMsYUFBT0k7QUFBQSxJQUNULEdBQUcsRUFBRSxVQUFVLGtCQUFrQixTQUFTTCxHQUFHQyxHQUFHO0FBQzlDLGFBQU87QUFBQSxJQUNULEdBQUcsRUFBRSxVQUFVLGdCQUFnQixTQUFTRCxHQUFHQyxHQUFHO0FBQzVDLGFBQU9LO0FBQUEsSUFDVCxHQUFHLEVBQUUsVUFBVSxzQkFBc0IsU0FBU04sR0FBR0MsR0FBRztBQUNsRCxhQUFPTTtBQUFBLElBQ1QsR0FBRyxFQUFFLFVBQVUsd0JBQXdCLFNBQVNQLEdBQUdDLEdBQUc7QUFDcEQsYUFBT087QUFBQSxJQUNULEdBQUcsRUFBRSxVQUFVLDBCQUEwQixTQUFTUixHQUFHQyxHQUFHO0FBQ3RELGFBQU9RO0FBQUEsSUFDVCxHQUFHLEVBQUUsVUFBVSxnQ0FBZ0MsU0FBU1QsR0FBR0MsR0FBRztBQUM1RCxhQUFPUztBQUFBLElBQ1QsR0FBRyxFQUFFLFVBQVUsNkJBQTZCLFNBQVNWLEdBQUdDLEdBQUc7QUFBQSxJQUMzRCxHQUFHLEVBQUUsVUFBVSxnQ0FBZ0MsU0FBU0QsR0FBRztBQUFBLElBQzNELEdBQUc7QUFBQSxFQUNMLEVBQUU7QUFBQSxHQUNEO0FBQUE7QUFBQSxFQUVlLDJCQUFXO0FBQ3pCLGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPO0FBQUEsRUFDVCxFQUFFO0FBQUEsR0FDRFc7QUFBQTtBQUFBLEVBRUQsU0FBUyxHQUFHO0FBQ1YsTUFBRVgsR0FBRyxDQUFDO0FBQ04sYUFBU0EsSUFBSTtBQUNYLGFBQU8sTUFBTSxRQUFRLEVBQUUsTUFBTSxNQUFNLFNBQVMsS0FBSztBQUFBLElBQ25EO0FBQ0EsV0FBT0EsRUFBRSxVQUFVLE1BQU0sU0FBU0MsR0FBRyxHQUFHO0FBQUEsSUFDeEMsR0FBR0Q7QUFBQSxFQUNMLEVBQUUsQ0FBQztBQUFBLEdBQ0ZZO0FBQUE7QUFBQSxFQUVELFNBQVMsR0FBRztBQUNWLE1BQUVaLEdBQUcsQ0FBQztBQUNOLGFBQVNBLElBQUk7QUFDWCxhQUFPLE1BQU0sUUFBUSxFQUFFLE1BQU0sTUFBTSxTQUFTLEtBQUs7QUFBQSxJQUNuRDtBQUNBLFdBQU9BLEVBQUUsVUFBVSxNQUFNLFNBQVNDLEdBQUcsR0FBRztBQUFBLElBQ3hDLEdBQUdEO0FBQUEsRUFDTCxFQUFFLENBQUM7QUFBQSxHQUNGYTtBQUFBO0FBQUEsRUFFRCxTQUFTLEdBQUc7QUFDVixNQUFFYixHQUFHLENBQUM7QUFDTixhQUFTQSxJQUFJO0FBQ1gsYUFBTyxNQUFNLFFBQVEsRUFBRSxNQUFNLE1BQU0sU0FBUyxLQUFLO0FBQUEsSUFDbkQ7QUFDQSxXQUFPQSxFQUFFLFVBQVUsU0FBUyxTQUFTQyxHQUFHLEdBQUc7QUFBQSxJQUMzQyxHQUFHRDtBQUFBLEVBQ0wsRUFBRSxDQUFDO0FBQUEsR0FDRmM7QUFBQTtBQUFBLEVBRUQsU0FBUyxHQUFHO0FBQ1YsTUFBRWQsR0FBRyxDQUFDO0FBQ04sYUFBU0EsSUFBSTtBQUNYLGFBQU8sTUFBTSxRQUFRLEVBQUUsTUFBTSxNQUFNLFNBQVMsS0FBSztBQUFBLElBQ25EO0FBQ0EsV0FBT0EsRUFBRSxVQUFVLFNBQVMsU0FBU0MsR0FBRyxHQUFHO0FBQUEsSUFDM0MsR0FBR0Q7QUFBQSxFQUNMLEVBQUUsQ0FBQztBQUFBLEdBQ0ZlO0FBQUE7QUFBQSxFQUVELFdBQVc7QUFDVCxhQUFTLElBQUk7QUFBQSxJQUNiO0FBQ0EsV0FBTyxFQUFFLFVBQVUsY0FBYyxTQUFTZixHQUFHO0FBQUEsSUFDN0MsR0FBRyxFQUFFLFVBQVUsaUJBQWlCLFNBQVNBLEdBQUc7QUFBQSxJQUM1QyxHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDRGdCO0FBQUE7QUFBQSxFQUVELFNBQVMsR0FBRztBQUNWLE1BQUVoQixHQUFHLENBQUM7QUFDTixhQUFTQSxJQUFJO0FBQ1gsYUFBTyxNQUFNLFFBQVEsRUFBRSxNQUFNLE1BQU0sU0FBUyxLQUFLO0FBQUEsSUFDbkQ7QUFDQSxXQUFPQTtBQUFBLEVBQ1QsRUFBRWUsQ0FBQztBQUFBLEdBQ0ZFO0FBQUE7QUFBQSxFQUVELFNBQVMsR0FBRztBQUNWLE1BQUVqQixHQUFHLENBQUM7QUFDTixhQUFTQSxJQUFJO0FBQ1gsYUFBTyxNQUFNLFFBQVEsRUFBRSxNQUFNLE1BQU0sU0FBUyxLQUFLO0FBQUEsSUFDbkQ7QUFDQSxXQUFPQTtBQUFBLEVBQ1QsRUFBRWUsQ0FBQztBQUFBLEdBQ0ZHO0FBQUE7QUFBQSxFQUVELFNBQVMsR0FBRztBQUNWLE1BQUVsQixHQUFHLENBQUM7QUFDTixhQUFTQSxJQUFJO0FBQ1gsYUFBTyxNQUFNLFFBQVEsRUFBRSxNQUFNLE1BQU0sU0FBUyxLQUFLO0FBQUEsSUFDbkQ7QUFDQSxXQUFPQTtBQUFBLEVBQ1QsRUFBRWUsQ0FBQztBQUFBLEdBQ0ZJLElBQUksSUFBSWYsRUFBRSxHQUFHRSxJQUFJLElBQUlLLEVBQUUsR0FBR04sSUFBSSxJQUFJUSxFQUFFLEdBQUcsSUFBSSxJQUFJQyxFQUFFLEdBQUdQLElBQUksSUFBSUssRUFBRSxHQUFHSCxJQUFJLElBQUlPLEVBQUUsR0FBR1IsSUFBSSxJQUFJUyxFQUFFLEdBQUdQLElBQUksSUFBSVEsRUFBRTtBQUN4RyxTQUFTRSxJQUFJO0FBQ1gsU0FBT0Q7QUFDVDtBQUNBLElBQUk7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsVUFBVSxXQUFXLFNBQVNuQixHQUFHQyxHQUFHLEdBQUc7QUFDOUMsYUFBT2tCO0FBQUEsSUFDVCxHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSSxXQUFXQztBQUFBO0FBQUEsRUFFN0IsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsY0FBYyxXQUFXO0FBQ2hDLGFBQU8sS0FBSyxjQUFjLEtBQUssWUFBWSxJQUFJLEVBQUUsSUFBSSxLQUFLO0FBQUEsSUFDNUQsR0FBRyxFQUFFLFVBQVUseUJBQXlCLFNBQVN2QixHQUFHO0FBQ2xELGFBQU9KLEVBQUcwQixHQUFHdEIsR0FBR0gsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUMvQixHQUFHLEVBQUUsVUFBVSxtQkFBbUIsV0FBVztBQUMzQyxhQUFPQyxFQUFHd0IsQ0FBQyxLQUFLRDtBQUFBLElBQ2xCLEdBQUcsRUFBRSxVQUFVLFdBQVcsU0FBU3JCLEdBQUdDLEdBQUcsR0FBRztBQUMxQyxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0QsR0FBR0MsR0FBRyxDQUFDO0FBQUEsSUFDakQsR0FBRyxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUFGLEVBQUd1QixHQUFHekIsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUNyQixHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDRDJCLElBQUlELEVBQUUsWUFBWTsiLAogICJuYW1lcyI6IFsiRnQiLCAibnQiLCAiemUiLCAiTXQiLCAiZSIsICJuIiwgImEiLCAidSIsICJPIiwgImgiLCAibSIsICJkIiwgIlIiLCAidyIsICJHIiwgIk0iLCAiYiIsICJOIiwgInkiLCAicCIsICJnIiwgIkMiLCAiRSIsICJsIiwgIkQiLCAiVCIsICJjIiwgIlUiLCAiayJdCn0K
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktQ0lxNm1CRkYtIX57MDBkfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgVnQsIGQgYXMgZnQsIFEgYXMgUWUsIGUgYXMgR3QgfSBmcm9tICcuL2luZGV4LSF+ezAwNH1+LmpzJztcblxudmFyIG8gPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oKSB7XG4gIHZhciB0ID0gZnVuY3Rpb24oZSwgbikge1xuICAgIHJldHVybiB0ID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24ociwgYSkge1xuICAgICAgci5fX3Byb3RvX18gPSBhO1xuICAgIH0gfHwgZnVuY3Rpb24ociwgYSkge1xuICAgICAgZm9yICh2YXIgdSBpbiBhKSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSwgdSkgJiYgKHJbdV0gPSBhW3VdKTtcbiAgICB9LCB0KGUsIG4pO1xuICB9O1xuICByZXR1cm4gZnVuY3Rpb24oZSwgbikge1xuICAgIGlmICh0eXBlb2YgbiAhPSBcImZ1bmN0aW9uXCIgJiYgbiAhPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKG4pICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcbiAgICB0KGUsIG4pO1xuICAgIGZ1bmN0aW9uIHIoKSB7XG4gICAgICB0aGlzLmNvbnN0cnVjdG9yID0gZTtcbiAgICB9XG4gICAgZS5wcm90b3R5cGUgPSBuID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShuKSA6IChyLnByb3RvdHlwZSA9IG4ucHJvdG90eXBlLCBuZXcgcigpKTtcbiAgfTtcbn0oKSwgTyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlR2F1Z2UgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gaDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gUDtcbiAgICB9LCB0LnByb3RvdHlwZS5jcmVhdGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIG07XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBkO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgIHJldHVybiBSO1xuICAgIH0sIHQucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24oZSwgbikge1xuICAgICAgcmV0dXJuIHc7XG4gICAgfSwgdC5wcm90b3R5cGUuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIgPSBmdW5jdGlvbihlLCBuKSB7XG4gICAgICByZXR1cm4gRztcbiAgICB9LCB0LnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICB9LCB0LnByb3RvdHlwZS5yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uKGUpIHtcbiAgICB9LCB0O1xuICB9KClcbiksIGkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIHQoKSB7XG4gICAgfVxuICAgIHJldHVybiB0O1xuICB9KClcbiksIE0gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIGIgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIE4gPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHkgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZS5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24obiwgcikge1xuICAgIH0sIGU7XG4gIH0oaSlcbiksIHAgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQucHJvdG90eXBlLmFkZENhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24oZSkge1xuICAgIH0sIHQ7XG4gIH0oKVxuKSwgZyA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbih0KSB7XG4gICAgbyhlLCB0KTtcbiAgICBmdW5jdGlvbiBlKCkge1xuICAgICAgcmV0dXJuIHQgIT09IG51bGwgJiYgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBlO1xuICB9KHApXG4pLCBDID0gKFxuICAvKiogQGNsYXNzICovXG4gIGZ1bmN0aW9uKHQpIHtcbiAgICBvKGUsIHQpO1xuICAgIGZ1bmN0aW9uIGUoKSB7XG4gICAgICByZXR1cm4gdCAhPT0gbnVsbCAmJiB0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgcmV0dXJuIGU7XG4gIH0ocClcbiksIEUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24odCkge1xuICAgIG8oZSwgdCk7XG4gICAgZnVuY3Rpb24gZSgpIHtcbiAgICAgIHJldHVybiB0ICE9PSBudWxsICYmIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbiAgfShwKVxuKSwgbCA9IG5ldyBPKCksIG0gPSBuZXcgTSgpLCBoID0gbmV3IE4oKSwgUCA9IG5ldyB5KCksIGQgPSBuZXcgYigpLCB3ID0gbmV3IGcoKSwgUiA9IG5ldyBDKCksIEcgPSBuZXcgRSgpO1xuZnVuY3Rpb24gRCgpIHtcbiAgcmV0dXJuIGw7XG59XG52YXIgSSA9IChcbiAgLyoqIEBjbGFzcyAqL1xuICBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiB0KCkge1xuICAgIH1cbiAgICByZXR1cm4gdC5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbihlLCBuLCByKSB7XG4gICAgICByZXR1cm4gbDtcbiAgICB9LCB0O1xuICB9KClcbiksIFQgPSBuZXcgSSgpLCBjID0gXCJtZXRyaWNzXCIsIFUgPSAoXG4gIC8qKiBAY2xhc3MgKi9cbiAgZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gdCgpIHtcbiAgICB9XG4gICAgcmV0dXJuIHQuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZSB8fCAodGhpcy5faW5zdGFuY2UgPSBuZXcgdCgpKSwgdGhpcy5faW5zdGFuY2U7XG4gICAgfSwgdC5wcm90b3R5cGUuc2V0R2xvYmFsTWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKGUpIHtcbiAgICAgIHJldHVybiBWdChjLCBlLCBmdC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlclByb3ZpZGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gUWUoYykgfHwgVDtcbiAgICB9LCB0LnByb3RvdHlwZS5nZXRNZXRlciA9IGZ1bmN0aW9uKGUsIG4sIHIpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1ldGVyUHJvdmlkZXIoKS5nZXRNZXRlcihlLCBuLCByKTtcbiAgICB9LCB0LnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24oKSB7XG4gICAgICBHdChjLCBmdC5pbnN0YW5jZSgpKTtcbiAgICB9LCB0O1xuICB9KClcbiksIGsgPSBVLmdldEluc3RhbmNlKCk7XG5cbmV4cG9ydCB7IEQsIGsgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLEdBQUksS0FBS0MsR0FBSSxLQUFLQyxHQUFJLEtBQUtDLFNBQVU7QUFFbkQsSUFBSSxJQUFvQiwyQkFBVztBQUNqQyxNQUFJLElBQUksU0FBU0MsR0FBR0MsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsRUFBRSxhQUFhLFNBQVMsU0FBUyxHQUFHQyxHQUFHO0FBQ3ZGLFFBQUUsWUFBWUE7QUFBQSxJQUNoQixLQUFLLFNBQVMsR0FBR0EsR0FBRztBQUNsQixlQUFTQyxLQUFLRCxFQUFHLFFBQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFB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RyxTQUFTRSxJQUFJO0FBQ1gsU0FBT0Q7QUFDVDtBQUNBLElBQUk7QUFBQTtBQUFBLEVBRUYsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsVUFBVSxXQUFXLFNBQVNuQixHQUFHQyxHQUFHLEdBQUc7QUFDOUMsYUFBT2tCO0FBQUEsSUFDVCxHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDREUsSUFBSSxJQUFJLEVBQUUsR0FBR0MsSUFBSSxXQUFXQztBQUFBO0FBQUEsRUFFN0IsV0FBVztBQUNULGFBQVMsSUFBSTtBQUFBLElBQ2I7QUFDQSxXQUFPLEVBQUUsY0FBYyxXQUFXO0FBQ2hDLGFBQU8sS0FBSyxjQUFjLEtBQUssWUFBWSxJQUFJLEVBQUUsSUFBSSxLQUFLO0FBQUEsSUFDNUQsR0FBRyxFQUFFLFVBQVUseUJBQXlCLFNBQVN2QixHQUFHO0FBQ2xELGFBQU9KLEVBQUcwQixHQUFHdEIsR0FBR0gsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUMvQixHQUFHLEVBQUUsVUFBVSxtQkFBbUIsV0FBVztBQUMzQyxhQUFPQyxFQUFHd0IsQ0FBQyxLQUFLRDtBQUFBLElBQ2xCLEdBQUcsRUFBRSxVQUFVLFdBQVcsU0FBU3JCLEdBQUdDLEdBQUcsR0FBRztBQUMxQyxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0QsR0FBR0MsR0FBRyxDQUFDO0FBQUEsSUFDakQsR0FBRyxFQUFFLFVBQVUsVUFBVSxXQUFXO0FBQ2xDLE1BQUFGLEVBQUd1QixHQUFHekIsRUFBRyxTQUFTLENBQUM7QUFBQSxJQUNyQixHQUFHO0FBQUEsRUFDTCxFQUFFO0FBQUEsR0FDRDJCLElBQUlELEVBQUUsWUFBWTsiLAogICJuYW1lcyI6IFsiVnQiLCAiZnQiLCAiUWUiLCAiR3QiLCAiZSIsICJuIiwgImEiLCAidSIsICJPIiwgImgiLCAibSIsICJkIiwgIlIiLCAidyIsICJHIiwgIk0iLCAiYiIsICJOIiwgInkiLCAicCIsICJnIiwgIkMiLCAiRSIsICJsIiwgIkQiLCAiVCIsICJjIiwgIlUiLCAiayJdCn0K
|