@getopenpay/openpay-js 0.5.15 → 0.5.16
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/{Resource-Ds5bbQ3b.js → Resource-CUhg8dEK.js} +4 -4
- package/dist/{SimpleSpanProcessor-0bSccE1S.js → SimpleSpanProcessor-BtNzab2_.js} +37 -37
- package/dist/{detect-resources-UwRkF4Xd.js → detect-resources-6fNItMfQ.js} +12 -12
- package/dist/{diag-api-CMlZXyyv.js → diag-api-BaoBTidT.js} +1 -1
- package/dist/{index-DFO-DCsT.js → index-2Dpi7rDE.js} +11 -11
- package/dist/{index-CWTkU3J-.js → index-BkFKN09r.js} +1 -1
- package/dist/{index-BZEpD-f0.js → index-BohOdvI5.js} +135 -135
- package/dist/{index-JNJd_YS1.js → index-Cb6WFqJj.js} +33 -33
- package/dist/{index-1jECpTsg.js → index-CfhP31jP.js} +9 -9
- package/dist/{index-BmKZeOoc.js → index-CmjNpx1j.js} +6 -6
- package/dist/{index-CDdbDQxQ.js → index-CsjF5pDg.js} +1 -1
- package/dist/index-Dcezwdcs.js +7000 -0
- package/dist/{index-BhZy-TW3.js → index-DhyFkarT.js} +10 -10
- package/dist/{index-DsxDp11a.js → index-t_WVTb5S.js} +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +8 -8
- package/dist/{metrics-api-C9pRFfr-.js → metrics-api-CsLzDvjo.js} +28 -28
- package/dist/{suppress-tracing-B94rObkn.js → suppress-tracing-Cu47NVB2.js} +1 -1
- package/dist/{url-CdPstDG9.js → url-CgnFZYDI.js} +8 -8
- package/dist/{utils--M6ihaNw.js → utils-BJ1UAbM8.js} +1 -1
- package/dist/{utils-VJ-0MC7c.js → utils-Dius2V8g.js} +20 -20
- package/package.json +1 -1
- package/dist/index-j7i6AeZa.js +0 -7005
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as M, t as p, i as P, T as o, b as D, d as b } from "./index-
|
|
2
|
-
import { i as A } from "./suppress-tracing-
|
|
1
|
+
import { c as M, t as p, i as P, T as o, b as D, d as b } from "./index-Dcezwdcs.js";
|
|
2
|
+
import { i as A } from "./suppress-tracing-Cu47NVB2.js";
|
|
3
3
|
var l = M("OpenTelemetry Context Key B3 Debug Flag"), f = "b3", v = "x-b3-traceid", g = "x-b3-spanid", c = "x-b3-sampled", B = "x-b3-parentspanid", S = "x-b3-flags", F = /* @__PURE__ */ new Set([!0, "true", "True", "1", 1]), N = /* @__PURE__ */ new Set([!1, "false", "False", "0", 0]);
|
|
4
4
|
function V(r) {
|
|
5
5
|
return r === o.SAMPLED || r === o.NONE;
|
|
@@ -32,7 +32,7 @@ function R(r, t) {
|
|
|
32
32
|
}
|
|
33
33
|
var U = (
|
|
34
34
|
/** @class */
|
|
35
|
-
function() {
|
|
35
|
+
(function() {
|
|
36
36
|
function r() {
|
|
37
37
|
}
|
|
38
38
|
return r.prototype.inject = function(t, a, n) {
|
|
@@ -58,7 +58,7 @@ var U = (
|
|
|
58
58
|
B
|
|
59
59
|
];
|
|
60
60
|
}, r;
|
|
61
|
-
}()
|
|
61
|
+
})()
|
|
62
62
|
), G = function(r, t) {
|
|
63
63
|
var a = typeof Symbol == "function" && r[Symbol.iterator];
|
|
64
64
|
if (!a) return r;
|
|
@@ -84,7 +84,7 @@ function K(r) {
|
|
|
84
84
|
}
|
|
85
85
|
var Y = (
|
|
86
86
|
/** @class */
|
|
87
|
-
function() {
|
|
87
|
+
(function() {
|
|
88
88
|
function r() {
|
|
89
89
|
}
|
|
90
90
|
return r.prototype.inject = function(t, a, n) {
|
|
@@ -113,14 +113,14 @@ var Y = (
|
|
|
113
113
|
}, r.prototype.fields = function() {
|
|
114
114
|
return [f];
|
|
115
115
|
}, r;
|
|
116
|
-
}()
|
|
116
|
+
})()
|
|
117
117
|
), E;
|
|
118
118
|
(function(r) {
|
|
119
119
|
r[r.SINGLE_HEADER = 0] = "SINGLE_HEADER", r[r.MULTI_HEADER = 1] = "MULTI_HEADER";
|
|
120
120
|
})(E || (E = {}));
|
|
121
121
|
var z = (
|
|
122
122
|
/** @class */
|
|
123
|
-
function() {
|
|
123
|
+
(function() {
|
|
124
124
|
function r(t) {
|
|
125
125
|
t === void 0 && (t = {}), this._b3MultiPropagator = new U(), this._b3SinglePropagator = new Y(), t.injectEncoding === E.MULTI_HEADER ? (this._inject = this._b3MultiPropagator.inject, this._fields = this._b3MultiPropagator.fields()) : (this._inject = this._b3SinglePropagator.inject, this._fields = this._b3SinglePropagator.fields());
|
|
126
126
|
}
|
|
@@ -132,7 +132,7 @@ var z = (
|
|
|
132
132
|
}, r.prototype.fields = function() {
|
|
133
133
|
return this._fields;
|
|
134
134
|
}, r;
|
|
135
|
-
}()
|
|
135
|
+
})()
|
|
136
136
|
);
|
|
137
137
|
export {
|
|
138
138
|
E as B3InjectEncoding,
|
|
@@ -144,4 +144,4 @@ export {
|
|
|
144
144
|
g as X_B3_SPAN_ID,
|
|
145
145
|
v as X_B3_TRACE_ID
|
|
146
146
|
};
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBsfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgY3JlYXRlQ29udGV4dEtleSwgdCBhcyB0cmFjZSwgaSBhcyBpc1NwYW5Db250ZXh0VmFsaWQsIFQgYXMgVHJhY2VGbGFncywgYiBhcyBpc1ZhbGlkVHJhY2VJZCwgZCBhcyBpc1ZhbGlkU3BhbklkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBpIGFzIGlzVHJhY2luZ1N1cHByZXNzZWQgfSBmcm9tICcuL3N1cHByZXNzLXRyYWNpbmctIX57MDBhfX4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIHNoYXJlZCBjb250ZXh0IGZvciBzdG9yaW5nIGFuIGV4dHJhY3RlZCBiMyBkZWJ1ZyBmbGFnICovXG52YXIgQjNfREVCVUdfRkxBR19LRVkgPSBjcmVhdGVDb250ZXh0S2V5KCdPcGVuVGVsZW1ldHJ5IENvbnRleHQgS2V5IEIzIERlYnVnIEZsYWcnKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBCMyBzaW5nbGUtaGVhZGVyIGtleSAqL1xudmFyIEIzX0NPTlRFWFRfSEVBREVSID0gJ2IzJztcbi8qIGIzIG11bHRpLWhlYWRlciBrZXlzICovXG52YXIgWF9CM19UUkFDRV9JRCA9ICd4LWIzLXRyYWNlaWQnO1xudmFyIFhfQjNfU1BBTl9JRCA9ICd4LWIzLXNwYW5pZCc7XG52YXIgWF9CM19TQU1QTEVEID0gJ3gtYjMtc2FtcGxlZCc7XG52YXIgWF9CM19QQVJFTlRfU1BBTl9JRCA9ICd4LWIzLXBhcmVudHNwYW5pZCc7XG52YXIgWF9CM19GTEFHUyA9ICd4LWIzLWZsYWdzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBWQUxJRF9TQU1QTEVEX1ZBTFVFUyA9IG5ldyBTZXQoW3RydWUsICd0cnVlJywgJ1RydWUnLCAnMScsIDFdKTtcbnZhciBWQUxJRF9VTlNBTVBMRURfVkFMVUVTID0gbmV3IFNldChbZmFsc2UsICdmYWxzZScsICdGYWxzZScsICcwJywgMF0pO1xuZnVuY3Rpb24gaXNWYWxpZFNhbXBsZWRWYWx1ZShzYW1wbGVkKSB7XG4gICAgcmV0dXJuIHNhbXBsZWQgPT09IFRyYWNlRmxhZ3MuU0FNUExFRCB8fCBzYW1wbGVkID09PSBUcmFjZUZsYWdzLk5PTkU7XG59XG5mdW5jdGlvbiBwYXJzZUhlYWRlcihoZWFkZXIpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xufVxuZnVuY3Rpb24gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBrZXkpIHtcbiAgICB2YXIgaGVhZGVyID0gZ2V0dGVyLmdldChjYXJyaWVyLCBrZXkpO1xuICAgIHJldHVybiBwYXJzZUhlYWRlcihoZWFkZXIpO1xufVxuZnVuY3Rpb24gZ2V0VHJhY2VJZChjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICB2YXIgdHJhY2VJZCA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19UUkFDRV9JRCk7XG4gICAgaWYgKHR5cGVvZiB0cmFjZUlkID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHJhY2VJZC5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gZ2V0U3BhbklkKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBzcGFuSWQgPSBnZXRIZWFkZXJWYWx1ZShjYXJyaWVyLCBnZXR0ZXIsIFhfQjNfU1BBTl9JRCk7XG4gICAgaWYgKHR5cGVvZiBzcGFuSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBzcGFuSWQ7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cbmZ1bmN0aW9uIGdldERlYnVnKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBkZWJ1ZyA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19GTEFHUyk7XG4gICAgcmV0dXJuIGRlYnVnID09PSAnMScgPyAnMScgOiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciB0cmFjZUZsYWdzID0gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBYX0IzX1NBTVBMRUQpO1xuICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgaWYgKGRlYnVnID09PSAnMScgfHwgVkFMSURfU0FNUExFRF9WQUxVRVMuaGFzKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgIHJldHVybiBUcmFjZUZsYWdzLlNBTVBMRUQ7XG4gICAgfVxuICAgIGlmICh0cmFjZUZsYWdzID09PSB1bmRlZmluZWQgfHwgVkFMSURfVU5TQU1QTEVEX1ZBTFVFUy5oYXModHJhY2VGbGFncykpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbiAgICB9XG4gICAgLy8gVGhpcyBpbmRpY2F0ZXMgdG8gaXNWYWxpZFNhbXBsZWRWYWx1ZSB0aGF0IHRoaXMgaXMgbm90IHZhbGlkXG4gICAgcmV0dXJuO1xufVxuLyoqXG4gKiBQcm9wYWdhdG9yIGZvciB0aGUgQjMgbXVsdGlwbGUtaGVhZGVyIEhUVFAgZm9ybWF0LlxuICogQmFzZWQgb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuemlwa2luL2IzLXByb3BhZ2F0aW9uXG4gKi9cbnZhciBCM011bHRpUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM011bHRpUHJvcGFnYXRvcigpIHtcbiAgICB9XG4gICAgQjNNdWx0aVByb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgdmFyIHNwYW5Db250ZXh0ID0gdHJhY2UuZ2V0U3BhbkNvbnRleHQoY29udGV4dCk7XG4gICAgICAgIGlmICghc3BhbkNvbnRleHQgfHxcbiAgICAgICAgICAgICFpc1NwYW5Db250ZXh0VmFsaWQoc3BhbkNvbnRleHQpIHx8XG4gICAgICAgICAgICBpc1RyYWNpbmdTdXBwcmVzc2VkKGNvbnRleHQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YXIgZGVidWcgPSBjb250ZXh0LmdldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1RSQUNFX0lELCBzcGFuQ29udGV4dC50cmFjZUlkKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1NQQU5fSUQsIHNwYW5Db250ZXh0LnNwYW5JZCk7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgQjMgc3BlYywgaWYgdGhlIGRlYnVnIGZsYWcgaXMgc2V0LFxuICAgICAgICAvLyB0aGUgc2FtcGxlZCBmbGFnIHNob3VsZG4ndCBiZSBwcm9wYWdhdGVkIGFzIHdlbGwuXG4gICAgICAgIGlmIChkZWJ1ZyA9PT0gJzEnKSB7XG4gICAgICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIFhfQjNfRkxBR1MsIGRlYnVnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzcGFuQ29udGV4dC50cmFjZUZsYWdzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIFdlIHNldCB0aGUgaGVhZGVyIG9ubHkgaWYgdGhlcmUgaXMgYW4gZXhpc3Rpbmcgc2FtcGxpbmcgZGVjaXNpb24uXG4gICAgICAgICAgICAvLyBPdGhlcndpc2Ugd2Ugd2lsbCBvbWl0IGl0ID0+IEFic2VudC5cbiAgICAgICAgICAgIHNldHRlci5zZXQoY2FycmllciwgWF9CM19TQU1QTEVELCAoVHJhY2VGbGFncy5TQU1QTEVEICYgc3BhbkNvbnRleHQudHJhY2VGbGFncykgPT09IFRyYWNlRmxhZ3MuU0FNUExFRFxuICAgICAgICAgICAgICAgID8gJzEnXG4gICAgICAgICAgICAgICAgOiAnMCcpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCM011bHRpUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIHRyYWNlSWQgPSBnZXRUcmFjZUlkKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBzcGFuSWQgPSBnZXRTcGFuSWQoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgdmFyIHRyYWNlRmxhZ3MgPSBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIGlmIChpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSAmJlxuICAgICAgICAgICAgaXNWYWxpZFNwYW5JZChzcGFuSWQpICYmXG4gICAgICAgICAgICBpc1ZhbGlkU2FtcGxlZFZhbHVlKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgZGVidWcpO1xuICAgICAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgICAgICB0cmFjZUlkOiB0cmFjZUlkLFxuICAgICAgICAgICAgICAgIHNwYW5JZDogc3BhbklkLFxuICAgICAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRyYWNlRmxhZ3M6IHRyYWNlRmxhZ3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9O1xuICAgIEIzTXVsdGlQcm9wYWdhdG9yLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBYX0IzX1RSQUNFX0lELFxuICAgICAgICAgICAgWF9CM19TUEFOX0lELFxuICAgICAgICAgICAgWF9CM19GTEFHUyxcbiAgICAgICAgICAgIFhfQjNfU0FNUExFRCxcbiAgICAgICAgICAgIFhfQjNfUEFSRU5UX1NQQU5fSUQsXG4gICAgICAgIF07XG4gICAgfTtcbiAgICByZXR1cm4gQjNNdWx0aVByb3BhZ2F0b3I7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fcmVhZCA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fcmVhZCkgfHwgZnVuY3Rpb24gKG8sIG4pIHtcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gICAgaWYgKCFtKSByZXR1cm4gbztcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcbiAgICB0cnkge1xuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cbiAgICB9XG4gICAgcmV0dXJuIGFyO1xufTtcbnZhciBCM19DT05URVhUX1JFR0VYID0gLygoPzpbMC05YS1mXXsxNn0pezEsMn0pLShbMC05YS1mXXsxNn0pKD86LShbMDFkXSg/IVswLTlhLWZdKSkpPyg/Oi0oWzAtOWEtZl17MTZ9KSk/LztcbnZhciBQQURESU5HID0gJzAnLnJlcGVhdCgxNik7XG52YXIgU0FNUExFRF9WQUxVRVMgPSBuZXcgU2V0KFsnZCcsICcxJ10pO1xudmFyIERFQlVHX1NUQVRFID0gJ2QnO1xuZnVuY3Rpb24gY29udmVydFRvVHJhY2VJZDEyOCh0cmFjZUlkKSB7XG4gICAgcmV0dXJuIHRyYWNlSWQubGVuZ3RoID09PSAzMiA/IHRyYWNlSWQgOiBcIlwiICsgUEFERElORyArIHRyYWNlSWQ7XG59XG5mdW5jdGlvbiBjb252ZXJ0VG9UcmFjZUZsYWdzKHNhbXBsaW5nU3RhdGUpIHtcbiAgICBpZiAoc2FtcGxpbmdTdGF0ZSAmJiBTQU1QTEVEX1ZBTFVFUy5oYXMoc2FtcGxpbmdTdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuU0FNUExFRDtcbiAgICB9XG4gICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbn1cbi8qKlxuICogUHJvcGFnYXRvciBmb3IgdGhlIEIzIHNpbmdsZS1oZWFkZXIgSFRUUCBmb3JtYXQuXG4gKiBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL29wZW56aXBraW4vYjMtcHJvcGFnYXRpb25cbiAqL1xudmFyIEIzU2luZ2xlUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM1NpbmdsZVByb3BhZ2F0b3IoKSB7XG4gICAgfVxuICAgIEIzU2luZ2xlUHJvcGFnYXRvci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIHNldHRlcikge1xuICAgICAgICB2YXIgc3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcGFuQ29udGV4dCB8fFxuICAgICAgICAgICAgIWlzU3BhbkNvbnRleHRWYWxpZChzcGFuQ29udGV4dCkgfHxcbiAgICAgICAgICAgIGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHZhciBzYW1wbGluZ1N0YXRlID0gY29udGV4dC5nZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSkgfHwgc3BhbkNvbnRleHQudHJhY2VGbGFncyAmIDB4MTtcbiAgICAgICAgdmFyIHZhbHVlID0gc3BhbkNvbnRleHQudHJhY2VJZCArIFwiLVwiICsgc3BhbkNvbnRleHQuc3BhbklkICsgXCItXCIgKyBzYW1wbGluZ1N0YXRlO1xuICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSLCB2YWx1ZSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbiAoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKSB7XG4gICAgICAgIHZhciBoZWFkZXIgPSBnZXR0ZXIuZ2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSKTtcbiAgICAgICAgdmFyIGIzQ29udGV4dCA9IEFycmF5LmlzQXJyYXkoaGVhZGVyKSA/IGhlYWRlclswXSA6IGhlYWRlcjtcbiAgICAgICAgaWYgKHR5cGVvZiBiM0NvbnRleHQgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciBtYXRjaCA9IGIzQ29udGV4dC5tYXRjaChCM19DT05URVhUX1JFR0VYKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgICAgICB2YXIgX2EgPSBfX3JlYWQobWF0Y2gsIDQpLCBleHRyYWN0ZWRUcmFjZUlkID0gX2FbMV0sIHNwYW5JZCA9IF9hWzJdLCBzYW1wbGluZ1N0YXRlID0gX2FbM107XG4gICAgICAgIHZhciB0cmFjZUlkID0gY29udmVydFRvVHJhY2VJZDEyOChleHRyYWN0ZWRUcmFjZUlkKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSB8fCAhaXNWYWxpZFNwYW5JZChzcGFuSWQpKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciB0cmFjZUZsYWdzID0gY29udmVydFRvVHJhY2VGbGFncyhzYW1wbGluZ1N0YXRlKTtcbiAgICAgICAgaWYgKHNhbXBsaW5nU3RhdGUgPT09IERFQlVHX1NUQVRFKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgc2FtcGxpbmdTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgIHRyYWNlSWQ6IHRyYWNlSWQsXG4gICAgICAgICAgICBzcGFuSWQ6IHNwYW5JZCxcbiAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgdHJhY2VGbGFnczogdHJhY2VGbGFncyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFtCM19DT05URVhUX0hFQURFUl07XG4gICAgfTtcbiAgICByZXR1cm4gQjNTaW5nbGVQcm9wYWdhdG9yO1xufSgpKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBFbnVtZXJhdGlvbiBvZiBCMyBpbmplY3QgZW5jb2RpbmdzICovXG52YXIgQjNJbmplY3RFbmNvZGluZztcbihmdW5jdGlvbiAoQjNJbmplY3RFbmNvZGluZykge1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIlNJTkdMRV9IRUFERVJcIl0gPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiO1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIk1VTFRJX0hFQURFUlwiXSA9IDFdID0gXCJNVUxUSV9IRUFERVJcIjtcbn0pKEIzSW5qZWN0RW5jb2RpbmcgfHwgKEIzSW5qZWN0RW5jb2RpbmcgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBQcm9wYWdhdG9yIHRoYXQgZXh0cmFjdHMgQjMgY29udGV4dCBpbiBib3RoIHNpbmdsZSBhbmQgbXVsdGktaGVhZGVyIHZhcmlhbnRzLFxuICogd2l0aCBjb25maWd1cmFibGUgaW5qZWN0aW9uIGZvcm1hdCBkZWZhdWx0aW5nIHRvIEIzIHNpbmdsZS1oZWFkZXIuIER1ZSB0b1xuICogdGhlIGFzeW1tZXRyeSBpbiBpbmplY3Rpb24gYW5kIGV4dHJhY3Rpb24gZm9ybWF0cyB0aGlzIGlzIG5vdCBzdWl0YWJsZSB0b1xuICogYmUgaW1wbGVtZW50ZWQgYXMgYSBjb21wb3NpdGUgcHJvcGFnYXRvci5cbiAqIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnppcGtpbi9iMy1wcm9wYWdhdGlvblxuICovXG52YXIgQjNQcm9wYWdhdG9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEIzUHJvcGFnYXRvcihjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yID0gbmV3IEIzTXVsdGlQcm9wYWdhdG9yKCk7XG4gICAgICAgIHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvciA9IG5ldyBCM1NpbmdsZVByb3BhZ2F0b3IoKTtcbiAgICAgICAgaWYgKGNvbmZpZy5pbmplY3RFbmNvZGluZyA9PT0gQjNJbmplY3RFbmNvZGluZy5NVUxUSV9IRUFERVIpIHtcbiAgICAgICAgICAgIHRoaXMuX2luamVjdCA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ID0gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5maWVsZHMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCM1Byb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgaWYgKGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbmplY3QoY29udGV4dCwgY2Fycmllciwgc2V0dGVyKTtcbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIGhlYWRlciA9IGdldHRlci5nZXQoY2FycmllciwgQjNfQ09OVEVYVF9IRUFERVIpO1xuICAgICAgICB2YXIgYjNDb250ZXh0ID0gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xuICAgICAgICBpZiAoYjNDb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmV4dHJhY3QoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5leHRyYWN0KGNvbnRleHQsIGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZmllbGRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICAgIH07XG4gICAgcmV0dXJuIEIzUHJvcGFnYXRvcjtcbn0oKSk7XG5cbmV4cG9ydCB7IEIzSW5qZWN0RW5jb2RpbmcsIEIzUHJvcGFnYXRvciwgQjNfQ09OVEVYVF9IRUFERVIsIFhfQjNfRkxBR1MsIFhfQjNfUEFSRU5UX1NQQU5fSUQsIFhfQjNfU0FNUExFRCwgWF9CM19TUEFOX0lELCBYX0IzX1RSQUNFX0lEIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxHQUFr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QUFVLFNBQVMsU0FBVTFCLEdBQVNaLEdBQVNhLEdBQVE7QUFDaEUsTUFBSTVCLEVBQW9CMkIsQ0FBTyxLQUcvQixLQUFLLFFBQVFBLEdBQVNaLEdBQVNhLENBQU07QUFBQSxJQUN6QyxHQUNBeUIsRUFBYSxVQUFVLFVBQVUsU0FBVTFCLEdBQVNaLEdBQVNDLEdBQVE7QUFDakUsVUFBSUgsSUFBU0csRUFBTyxJQUFJRCxHQUFTYixDQUFpQixHQUM5QzhDLElBQVksTUFBTSxRQUFRbkMsQ0FBTSxJQUFJQSxFQUFPLENBQUMsSUFBSUE7QUFDcEQsYUFBSW1DLElBQ08sS0FBSyxvQkFBb0IsUUFBUXJCLEdBQVNaLEdBQVNDLENBQU0sSUFHekQsS0FBSyxtQkFBbUIsUUFBUVcsR0FBU1osR0FBU0MsQ0FBTTtBQUFBLElBRXZFLEdBQ0FxQyxFQUFhLFVBQVUsU0FBUyxXQUFZO0FBQ3hDLGFBQU8sS0FBSztBQUFBLElBQ2hCLEdBQ09BO0FBQUEsRUFDWCxFQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbImNyZWF0ZUNvbnRleHRLZXkiLCAidHJhY2UiLCAiaXNTcGFuQ29udGV4dFZhbGlkIiwgIlRyYWNlRmxhZ3MiLCAiaXNWYWxpZFRyYWNlSWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1RyYWNpbmdTdXBwcmVzc2VkIiwgIkIzX0RFQlVHX0ZMQUdfS0VZIiwgIkIzX0NPTlRFWFRfSEVBREVSIiwgIlhfQjNfVFJBQ0VfSUQiLCAiWF9CM19TUEFOX0lEIiwgIlhfQjNfU0FNUExFRCIsICJYX0IzX1BBUkVOVF9TUEFOX0lEIiwgIlhfQjNfRkxBR1MiLCAiVkFMSURfU0FNUExFRF9WQUxVRVMiLCAiVkFMSURfVU5TQU1QTEVEX1ZBTFVFUyIsICJpc1ZhbGlkU2FtcGxlZFZhbHVlIiwgInNhbXBsZWQiLCAicGFyc2VIZWFkZXIiLCAiaGVhZGVyIiwgImdldEhlYWRlclZhbHVlIiwgImNhcnJpZXIiLCAiZ2V0dGVyIiwgImtleSIsICJnZXRUcmFjZUlkIiwgInRyYWNlSWQiLCAiZ2V0U3BhbklkIiwgInNwYW5JZCIsICJnZXREZWJ1ZyIsICJkZWJ1ZyIsICJnZXRUcmFjZUZsYWdzIiwgInRyYWNlRmxhZ3MiLCAiQjNNdWx0aVByb3BhZ2F0b3IiLCAiY29udGV4dCIsICJzZXR0ZXIiLCAic3BhbkNvbnRleHQiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlIiwgImVycm9yIiwgIkIzX0NPTlRFWFRfUkVHRVgiLCAiUEFERElORyIsICJTQU1QTEVEX1ZBTFVFUyIsICJERUJVR19TVEFURSIsICJjb252ZXJ0VG9UcmFjZUlkMTI4IiwgImNvbnZlcnRUb1RyYWNlRmxhZ3MiLCAic2FtcGxpbmdTdGF0ZSIsICJCM1NpbmdsZVByb3BhZ2F0b3IiLCAidmFsdWUiLCAiYjNDb250ZXh0IiwgIm1hdGNoIiwgIl9hIiwgImV4dHJhY3RlZFRyYWNlSWQiLCAiQjNJbmplY3RFbmNvZGluZyIsICJCM1Byb3BhZ2F0b3IiLCAiY29uZmlnIl0KfQo=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBsfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IGMgYXMgY3JlYXRlQ29udGV4dEtleSwgdCBhcyB0cmFjZSwgaSBhcyBpc1NwYW5Db250ZXh0VmFsaWQsIFQgYXMgVHJhY2VGbGFncywgYiBhcyBpc1ZhbGlkVHJhY2VJZCwgZCBhcyBpc1ZhbGlkU3BhbklkIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBpIGFzIGlzVHJhY2luZ1N1cHByZXNzZWQgfSBmcm9tICcuL3N1cHByZXNzLXRyYWNpbmctIX57MDBhfX4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqIHNoYXJlZCBjb250ZXh0IGZvciBzdG9yaW5nIGFuIGV4dHJhY3RlZCBiMyBkZWJ1ZyBmbGFnICovXG52YXIgQjNfREVCVUdfRkxBR19LRVkgPSBjcmVhdGVDb250ZXh0S2V5KCdPcGVuVGVsZW1ldHJ5IENvbnRleHQgS2V5IEIzIERlYnVnIEZsYWcnKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBCMyBzaW5nbGUtaGVhZGVyIGtleSAqL1xudmFyIEIzX0NPTlRFWFRfSEVBREVSID0gJ2IzJztcbi8qIGIzIG11bHRpLWhlYWRlciBrZXlzICovXG52YXIgWF9CM19UUkFDRV9JRCA9ICd4LWIzLXRyYWNlaWQnO1xudmFyIFhfQjNfU1BBTl9JRCA9ICd4LWIzLXNwYW5pZCc7XG52YXIgWF9CM19TQU1QTEVEID0gJ3gtYjMtc2FtcGxlZCc7XG52YXIgWF9CM19QQVJFTlRfU1BBTl9JRCA9ICd4LWIzLXBhcmVudHNwYW5pZCc7XG52YXIgWF9CM19GTEFHUyA9ICd4LWIzLWZsYWdzJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBWQUxJRF9TQU1QTEVEX1ZBTFVFUyA9IG5ldyBTZXQoW3RydWUsICd0cnVlJywgJ1RydWUnLCAnMScsIDFdKTtcbnZhciBWQUxJRF9VTlNBTVBMRURfVkFMVUVTID0gbmV3IFNldChbZmFsc2UsICdmYWxzZScsICdGYWxzZScsICcwJywgMF0pO1xuZnVuY3Rpb24gaXNWYWxpZFNhbXBsZWRWYWx1ZShzYW1wbGVkKSB7XG4gICAgcmV0dXJuIHNhbXBsZWQgPT09IFRyYWNlRmxhZ3MuU0FNUExFRCB8fCBzYW1wbGVkID09PSBUcmFjZUZsYWdzLk5PTkU7XG59XG5mdW5jdGlvbiBwYXJzZUhlYWRlcihoZWFkZXIpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xufVxuZnVuY3Rpb24gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBrZXkpIHtcbiAgICB2YXIgaGVhZGVyID0gZ2V0dGVyLmdldChjYXJyaWVyLCBrZXkpO1xuICAgIHJldHVybiBwYXJzZUhlYWRlcihoZWFkZXIpO1xufVxuZnVuY3Rpb24gZ2V0VHJhY2VJZChjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICB2YXIgdHJhY2VJZCA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19UUkFDRV9JRCk7XG4gICAgaWYgKHR5cGVvZiB0cmFjZUlkID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdHJhY2VJZC5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gZ2V0U3BhbklkKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBzcGFuSWQgPSBnZXRIZWFkZXJWYWx1ZShjYXJyaWVyLCBnZXR0ZXIsIFhfQjNfU1BBTl9JRCk7XG4gICAgaWYgKHR5cGVvZiBzcGFuSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBzcGFuSWQ7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cbmZ1bmN0aW9uIGdldERlYnVnKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciBkZWJ1ZyA9IGdldEhlYWRlclZhbHVlKGNhcnJpZXIsIGdldHRlciwgWF9CM19GTEFHUyk7XG4gICAgcmV0dXJuIGRlYnVnID09PSAnMScgPyAnMScgOiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcikge1xuICAgIHZhciB0cmFjZUZsYWdzID0gZ2V0SGVhZGVyVmFsdWUoY2FycmllciwgZ2V0dGVyLCBYX0IzX1NBTVBMRUQpO1xuICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgaWYgKGRlYnVnID09PSAnMScgfHwgVkFMSURfU0FNUExFRF9WQUxVRVMuaGFzKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgIHJldHVybiBUcmFjZUZsYWdzLlNBTVBMRUQ7XG4gICAgfVxuICAgIGlmICh0cmFjZUZsYWdzID09PSB1bmRlZmluZWQgfHwgVkFMSURfVU5TQU1QTEVEX1ZBTFVFUy5oYXModHJhY2VGbGFncykpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbiAgICB9XG4gICAgLy8gVGhpcyBpbmRpY2F0ZXMgdG8gaXNWYWxpZFNhbXBsZWRWYWx1ZSB0aGF0IHRoaXMgaXMgbm90IHZhbGlkXG4gICAgcmV0dXJuO1xufVxuLyoqXG4gKiBQcm9wYWdhdG9yIGZvciB0aGUgQjMgbXVsdGlwbGUtaGVhZGVyIEhUVFAgZm9ybWF0LlxuICogQmFzZWQgb246IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuemlwa2luL2IzLXByb3BhZ2F0aW9uXG4gKi9cbnZhciBCM011bHRpUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM011bHRpUHJvcGFnYXRvcigpIHtcbiAgICB9XG4gICAgQjNNdWx0aVByb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgdmFyIHNwYW5Db250ZXh0ID0gdHJhY2UuZ2V0U3BhbkNvbnRleHQoY29udGV4dCk7XG4gICAgICAgIGlmICghc3BhbkNvbnRleHQgfHxcbiAgICAgICAgICAgICFpc1NwYW5Db250ZXh0VmFsaWQoc3BhbkNvbnRleHQpIHx8XG4gICAgICAgICAgICBpc1RyYWNpbmdTdXBwcmVzc2VkKGNvbnRleHQpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YXIgZGVidWcgPSBjb250ZXh0LmdldFZhbHVlKEIzX0RFQlVHX0ZMQUdfS0VZKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1RSQUNFX0lELCBzcGFuQ29udGV4dC50cmFjZUlkKTtcbiAgICAgICAgc2V0dGVyLnNldChjYXJyaWVyLCBYX0IzX1NQQU5fSUQsIHNwYW5Db250ZXh0LnNwYW5JZCk7XG4gICAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgQjMgc3BlYywgaWYgdGhlIGRlYnVnIGZsYWcgaXMgc2V0LFxuICAgICAgICAvLyB0aGUgc2FtcGxlZCBmbGFnIHNob3VsZG4ndCBiZSBwcm9wYWdhdGVkIGFzIHdlbGwuXG4gICAgICAgIGlmIChkZWJ1ZyA9PT0gJzEnKSB7XG4gICAgICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIFhfQjNfRkxBR1MsIGRlYnVnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzcGFuQ29udGV4dC50cmFjZUZsYWdzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIFdlIHNldCB0aGUgaGVhZGVyIG9ubHkgaWYgdGhlcmUgaXMgYW4gZXhpc3Rpbmcgc2FtcGxpbmcgZGVjaXNpb24uXG4gICAgICAgICAgICAvLyBPdGhlcndpc2Ugd2Ugd2lsbCBvbWl0IGl0ID0+IEFic2VudC5cbiAgICAgICAgICAgIHNldHRlci5zZXQoY2FycmllciwgWF9CM19TQU1QTEVELCAoVHJhY2VGbGFncy5TQU1QTEVEICYgc3BhbkNvbnRleHQudHJhY2VGbGFncykgPT09IFRyYWNlRmxhZ3MuU0FNUExFRFxuICAgICAgICAgICAgICAgID8gJzEnXG4gICAgICAgICAgICAgICAgOiAnMCcpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBCM011bHRpUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIHRyYWNlSWQgPSBnZXRUcmFjZUlkKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBzcGFuSWQgPSBnZXRTcGFuSWQoY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgdmFyIHRyYWNlRmxhZ3MgPSBnZXRUcmFjZUZsYWdzKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHZhciBkZWJ1ZyA9IGdldERlYnVnKGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIGlmIChpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSAmJlxuICAgICAgICAgICAgaXNWYWxpZFNwYW5JZChzcGFuSWQpICYmXG4gICAgICAgICAgICBpc1ZhbGlkU2FtcGxlZFZhbHVlKHRyYWNlRmxhZ3MpKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgZGVidWcpO1xuICAgICAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgICAgICB0cmFjZUlkOiB0cmFjZUlkLFxuICAgICAgICAgICAgICAgIHNwYW5JZDogc3BhbklkLFxuICAgICAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHRyYWNlRmxhZ3M6IHRyYWNlRmxhZ3MsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9O1xuICAgIEIzTXVsdGlQcm9wYWdhdG9yLnByb3RvdHlwZS5maWVsZHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBYX0IzX1RSQUNFX0lELFxuICAgICAgICAgICAgWF9CM19TUEFOX0lELFxuICAgICAgICAgICAgWF9CM19GTEFHUyxcbiAgICAgICAgICAgIFhfQjNfU0FNUExFRCxcbiAgICAgICAgICAgIFhfQjNfUEFSRU5UX1NQQU5fSUQsXG4gICAgICAgIF07XG4gICAgfTtcbiAgICByZXR1cm4gQjNNdWx0aVByb3BhZ2F0b3I7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fcmVhZCA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fcmVhZCkgfHwgZnVuY3Rpb24gKG8sIG4pIHtcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gICAgaWYgKCFtKSByZXR1cm4gbztcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcbiAgICB0cnkge1xuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHsgaWYgKGUpIHRocm93IGUuZXJyb3I7IH1cbiAgICB9XG4gICAgcmV0dXJuIGFyO1xufTtcbnZhciBCM19DT05URVhUX1JFR0VYID0gLygoPzpbMC05YS1mXXsxNn0pezEsMn0pLShbMC05YS1mXXsxNn0pKD86LShbMDFkXSg/IVswLTlhLWZdKSkpPyg/Oi0oWzAtOWEtZl17MTZ9KSk/LztcbnZhciBQQURESU5HID0gJzAnLnJlcGVhdCgxNik7XG52YXIgU0FNUExFRF9WQUxVRVMgPSBuZXcgU2V0KFsnZCcsICcxJ10pO1xudmFyIERFQlVHX1NUQVRFID0gJ2QnO1xuZnVuY3Rpb24gY29udmVydFRvVHJhY2VJZDEyOCh0cmFjZUlkKSB7XG4gICAgcmV0dXJuIHRyYWNlSWQubGVuZ3RoID09PSAzMiA/IHRyYWNlSWQgOiBcIlwiICsgUEFERElORyArIHRyYWNlSWQ7XG59XG5mdW5jdGlvbiBjb252ZXJ0VG9UcmFjZUZsYWdzKHNhbXBsaW5nU3RhdGUpIHtcbiAgICBpZiAoc2FtcGxpbmdTdGF0ZSAmJiBTQU1QTEVEX1ZBTFVFUy5oYXMoc2FtcGxpbmdTdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIFRyYWNlRmxhZ3MuU0FNUExFRDtcbiAgICB9XG4gICAgcmV0dXJuIFRyYWNlRmxhZ3MuTk9ORTtcbn1cbi8qKlxuICogUHJvcGFnYXRvciBmb3IgdGhlIEIzIHNpbmdsZS1oZWFkZXIgSFRUUCBmb3JtYXQuXG4gKiBCYXNlZCBvbjogaHR0cHM6Ly9naXRodWIuY29tL29wZW56aXBraW4vYjMtcHJvcGFnYXRpb25cbiAqL1xudmFyIEIzU2luZ2xlUHJvcGFnYXRvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBCM1NpbmdsZVByb3BhZ2F0b3IoKSB7XG4gICAgfVxuICAgIEIzU2luZ2xlUHJvcGFnYXRvci5wcm90b3R5cGUuaW5qZWN0ID0gZnVuY3Rpb24gKGNvbnRleHQsIGNhcnJpZXIsIHNldHRlcikge1xuICAgICAgICB2YXIgc3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcGFuQ29udGV4dCB8fFxuICAgICAgICAgICAgIWlzU3BhbkNvbnRleHRWYWxpZChzcGFuQ29udGV4dCkgfHxcbiAgICAgICAgICAgIGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHZhciBzYW1wbGluZ1N0YXRlID0gY29udGV4dC5nZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSkgfHwgc3BhbkNvbnRleHQudHJhY2VGbGFncyAmIDB4MTtcbiAgICAgICAgdmFyIHZhbHVlID0gc3BhbkNvbnRleHQudHJhY2VJZCArIFwiLVwiICsgc3BhbkNvbnRleHQuc3BhbklkICsgXCItXCIgKyBzYW1wbGluZ1N0YXRlO1xuICAgICAgICBzZXR0ZXIuc2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSLCB2YWx1ZSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmV4dHJhY3QgPSBmdW5jdGlvbiAoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKSB7XG4gICAgICAgIHZhciBoZWFkZXIgPSBnZXR0ZXIuZ2V0KGNhcnJpZXIsIEIzX0NPTlRFWFRfSEVBREVSKTtcbiAgICAgICAgdmFyIGIzQ29udGV4dCA9IEFycmF5LmlzQXJyYXkoaGVhZGVyKSA/IGhlYWRlclswXSA6IGhlYWRlcjtcbiAgICAgICAgaWYgKHR5cGVvZiBiM0NvbnRleHQgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciBtYXRjaCA9IGIzQ29udGV4dC5tYXRjaChCM19DT05URVhUX1JFR0VYKTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgICAgICB2YXIgX2EgPSBfX3JlYWQobWF0Y2gsIDQpLCBleHRyYWN0ZWRUcmFjZUlkID0gX2FbMV0sIHNwYW5JZCA9IF9hWzJdLCBzYW1wbGluZ1N0YXRlID0gX2FbM107XG4gICAgICAgIHZhciB0cmFjZUlkID0gY29udmVydFRvVHJhY2VJZDEyOChleHRyYWN0ZWRUcmFjZUlkKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkVHJhY2VJZCh0cmFjZUlkKSB8fCAhaXNWYWxpZFNwYW5JZChzcGFuSWQpKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgICAgIHZhciB0cmFjZUZsYWdzID0gY29udmVydFRvVHJhY2VGbGFncyhzYW1wbGluZ1N0YXRlKTtcbiAgICAgICAgaWYgKHNhbXBsaW5nU3RhdGUgPT09IERFQlVHX1NUQVRFKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5zZXRWYWx1ZShCM19ERUJVR19GTEFHX0tFWSwgc2FtcGxpbmdTdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYWNlLnNldFNwYW5Db250ZXh0KGNvbnRleHQsIHtcbiAgICAgICAgICAgIHRyYWNlSWQ6IHRyYWNlSWQsXG4gICAgICAgICAgICBzcGFuSWQ6IHNwYW5JZCxcbiAgICAgICAgICAgIGlzUmVtb3RlOiB0cnVlLFxuICAgICAgICAgICAgdHJhY2VGbGFnczogdHJhY2VGbGFncyxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBCM1NpbmdsZVByb3BhZ2F0b3IucHJvdG90eXBlLmZpZWxkcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIFtCM19DT05URVhUX0hFQURFUl07XG4gICAgfTtcbiAgICByZXR1cm4gQjNTaW5nbGVQcm9wYWdhdG9yO1xufSgpKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBFbnVtZXJhdGlvbiBvZiBCMyBpbmplY3QgZW5jb2RpbmdzICovXG52YXIgQjNJbmplY3RFbmNvZGluZztcbihmdW5jdGlvbiAoQjNJbmplY3RFbmNvZGluZykge1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIlNJTkdMRV9IRUFERVJcIl0gPSAwXSA9IFwiU0lOR0xFX0hFQURFUlwiO1xuICAgIEIzSW5qZWN0RW5jb2RpbmdbQjNJbmplY3RFbmNvZGluZ1tcIk1VTFRJX0hFQURFUlwiXSA9IDFdID0gXCJNVUxUSV9IRUFERVJcIjtcbn0pKEIzSW5qZWN0RW5jb2RpbmcgfHwgKEIzSW5qZWN0RW5jb2RpbmcgPSB7fSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBQcm9wYWdhdG9yIHRoYXQgZXh0cmFjdHMgQjMgY29udGV4dCBpbiBib3RoIHNpbmdsZSBhbmQgbXVsdGktaGVhZGVyIHZhcmlhbnRzLFxuICogd2l0aCBjb25maWd1cmFibGUgaW5qZWN0aW9uIGZvcm1hdCBkZWZhdWx0aW5nIHRvIEIzIHNpbmdsZS1oZWFkZXIuIER1ZSB0b1xuICogdGhlIGFzeW1tZXRyeSBpbiBpbmplY3Rpb24gYW5kIGV4dHJhY3Rpb24gZm9ybWF0cyB0aGlzIGlzIG5vdCBzdWl0YWJsZSB0b1xuICogYmUgaW1wbGVtZW50ZWQgYXMgYSBjb21wb3NpdGUgcHJvcGFnYXRvci5cbiAqIEJhc2VkIG9uOiBodHRwczovL2dpdGh1Yi5jb20vb3BlbnppcGtpbi9iMy1wcm9wYWdhdGlvblxuICovXG52YXIgQjNQcm9wYWdhdG9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEIzUHJvcGFnYXRvcihjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7IGNvbmZpZyA9IHt9OyB9XG4gICAgICAgIHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yID0gbmV3IEIzTXVsdGlQcm9wYWdhdG9yKCk7XG4gICAgICAgIHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvciA9IG5ldyBCM1NpbmdsZVByb3BhZ2F0b3IoKTtcbiAgICAgICAgaWYgKGNvbmZpZy5pbmplY3RFbmNvZGluZyA9PT0gQjNJbmplY3RFbmNvZGluZy5NVUxUSV9IRUFERVIpIHtcbiAgICAgICAgICAgIHRoaXMuX2luamVjdCA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzTXVsdGlQcm9wYWdhdG9yLmZpZWxkcygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faW5qZWN0ID0gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmluamVjdDtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IHRoaXMuX2IzU2luZ2xlUHJvcGFnYXRvci5maWVsZHMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBCM1Byb3BhZ2F0b3IucHJvdG90eXBlLmluamVjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBzZXR0ZXIpIHtcbiAgICAgICAgaWYgKGlzVHJhY2luZ1N1cHByZXNzZWQoY29udGV4dCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbmplY3QoY29udGV4dCwgY2Fycmllciwgc2V0dGVyKTtcbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZXh0cmFjdCA9IGZ1bmN0aW9uIChjb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpIHtcbiAgICAgICAgdmFyIGhlYWRlciA9IGdldHRlci5nZXQoY2FycmllciwgQjNfQ09OVEVYVF9IRUFERVIpO1xuICAgICAgICB2YXIgYjNDb250ZXh0ID0gQXJyYXkuaXNBcnJheShoZWFkZXIpID8gaGVhZGVyWzBdIDogaGVhZGVyO1xuICAgICAgICBpZiAoYjNDb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYjNTaW5nbGVQcm9wYWdhdG9yLmV4dHJhY3QoY29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9iM011bHRpUHJvcGFnYXRvci5leHRyYWN0KGNvbnRleHQsIGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEIzUHJvcGFnYXRvci5wcm90b3R5cGUuZmllbGRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmllbGRzO1xuICAgIH07XG4gICAgcmV0dXJuIEIzUHJvcGFnYXRvcjtcbn0oKSk7XG5cbmV4cG9ydCB7IEIzSW5qZWN0RW5jb2RpbmcsIEIzUHJvcGFnYXRvciwgQjNfQ09OVEVYVF9IRUFERVIsIFhfQjNfRkxBR1MsIFhfQjNfUEFSRU5UX1NQQU5fSUQsIFhfQjNfU0FNUExFRCwgWF9CM19TUEFOX0lELCBYX0IzX1RSQUNFX0lEIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxHQUFr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QUFVLFNBQVMsU0FBVTFCLEdBQVNaLEdBQVNhLEdBQVE7QUFDaEUsTUFBSTVCLEVBQW9CMkIsQ0FBTyxLQUcvQixLQUFLLFFBQVFBLEdBQVNaLEdBQVNhLENBQU07QUFBQSxJQUN6QyxHQUNBeUIsRUFBYSxVQUFVLFVBQVUsU0FBVTFCLEdBQVNaLEdBQVNDLEdBQVE7QUFDakUsVUFBSUgsSUFBU0csRUFBTyxJQUFJRCxHQUFTYixDQUFpQixHQUM5QzhDLElBQVksTUFBTSxRQUFRbkMsQ0FBTSxJQUFJQSxFQUFPLENBQUMsSUFBSUE7QUFDcEQsYUFBSW1DLElBQ08sS0FBSyxvQkFBb0IsUUFBUXJCLEdBQVNaLEdBQVNDLENBQU0sSUFHekQsS0FBSyxtQkFBbUIsUUFBUVcsR0FBU1osR0FBU0MsQ0FBTTtBQUFBLElBRXZFLEdBQ0FxQyxFQUFhLFVBQVUsU0FBUyxXQUFZO0FBQ3hDLGFBQU8sS0FBSztBQUFBLElBQ2hCLEdBQ09BO0FBQUEsRUFDWCxHQUFFO0FBQUE7IiwKICAibmFtZXMiOiBbImNyZWF0ZUNvbnRleHRLZXkiLCAidHJhY2UiLCAiaXNTcGFuQ29udGV4dFZhbGlkIiwgIlRyYWNlRmxhZ3MiLCAiaXNWYWxpZFRyYWNlSWQiLCAiaXNWYWxpZFNwYW5JZCIsICJpc1RyYWNpbmdTdXBwcmVzc2VkIiwgIkIzX0RFQlVHX0ZMQUdfS0VZIiwgIkIzX0NPTlRFWFRfSEVBREVSIiwgIlhfQjNfVFJBQ0VfSUQiLCAiWF9CM19TUEFOX0lEIiwgIlhfQjNfU0FNUExFRCIsICJYX0IzX1BBUkVOVF9TUEFOX0lEIiwgIlhfQjNfRkxBR1MiLCAiVkFMSURfU0FNUExFRF9WQUxVRVMiLCAiVkFMSURfVU5TQU1QTEVEX1ZBTFVFUyIsICJpc1ZhbGlkU2FtcGxlZFZhbHVlIiwgInNhbXBsZWQiLCAicGFyc2VIZWFkZXIiLCAiaGVhZGVyIiwgImdldEhlYWRlclZhbHVlIiwgImNhcnJpZXIiLCAiZ2V0dGVyIiwgImtleSIsICJnZXRUcmFjZUlkIiwgInRyYWNlSWQiLCAiZ2V0U3BhbklkIiwgInNwYW5JZCIsICJnZXREZWJ1ZyIsICJkZWJ1ZyIsICJnZXRUcmFjZUZsYWdzIiwgInRyYWNlRmxhZ3MiLCAiQjNNdWx0aVByb3BhZ2F0b3IiLCAiY29udGV4dCIsICJzZXR0ZXIiLCAic3BhbkNvbnRleHQiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlIiwgImVycm9yIiwgIkIzX0NPTlRFWFRfUkVHRVgiLCAiUEFERElORyIsICJTQU1QTEVEX1ZBTFVFUyIsICJERUJVR19TVEFURSIsICJjb252ZXJ0VG9UcmFjZUlkMTI4IiwgImNvbnZlcnRUb1RyYWNlRmxhZ3MiLCAic2FtcGxpbmdTdGF0ZSIsICJCM1NpbmdsZVByb3BhZ2F0b3IiLCAidmFsdWUiLCAiYjNDb250ZXh0IiwgIm1hdGNoIiwgIl9hIiwgImV4dHJhY3RlZFRyYWNlSWQiLCAiQjNJbmplY3RFbmNvZGluZyIsICJCM1Byb3BhZ2F0b3IiLCAiY29uZmlnIl0KfQo=
|