@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 { r as f, D as s, g as _, u as v } from "./index-
|
|
2
|
-
var o = /* @__PURE__ */ function() {
|
|
1
|
+
import { r as f, D as s, g as _, u as v } from "./index-Dcezwdcs.js";
|
|
2
|
+
var o = /* @__PURE__ */ (function() {
|
|
3
3
|
var t = function(e, n) {
|
|
4
4
|
return t = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, a) {
|
|
5
5
|
r.__proto__ = a;
|
|
@@ -16,9 +16,9 @@ var o = /* @__PURE__ */ function() {
|
|
|
16
16
|
}
|
|
17
17
|
e.prototype = n === null ? Object.create(n) : (r.prototype = n.prototype, new r());
|
|
18
18
|
};
|
|
19
|
-
}(), O = (
|
|
19
|
+
})(), O = (
|
|
20
20
|
/** @class */
|
|
21
|
-
function() {
|
|
21
|
+
(function() {
|
|
22
22
|
function t() {
|
|
23
23
|
}
|
|
24
24
|
return t.prototype.createGauge = function(e, n) {
|
|
@@ -38,106 +38,106 @@ var o = /* @__PURE__ */ function() {
|
|
|
38
38
|
}, t.prototype.addBatchObservableCallback = function(e, n) {
|
|
39
39
|
}, t.prototype.removeBatchObservableCallback = function(e) {
|
|
40
40
|
}, t;
|
|
41
|
-
}()
|
|
41
|
+
})()
|
|
42
42
|
), i = (
|
|
43
43
|
/** @class */
|
|
44
|
-
/* @__PURE__ */ function() {
|
|
44
|
+
/* @__PURE__ */ (function() {
|
|
45
45
|
function t() {
|
|
46
46
|
}
|
|
47
47
|
return t;
|
|
48
|
-
}()
|
|
48
|
+
})()
|
|
49
49
|
), M = (
|
|
50
50
|
/** @class */
|
|
51
|
-
function(t) {
|
|
51
|
+
(function(t) {
|
|
52
52
|
o(e, t);
|
|
53
53
|
function e() {
|
|
54
54
|
return t !== null && t.apply(this, arguments) || this;
|
|
55
55
|
}
|
|
56
56
|
return e.prototype.add = function(n, r) {
|
|
57
57
|
}, e;
|
|
58
|
-
}(i)
|
|
58
|
+
})(i)
|
|
59
59
|
), b = (
|
|
60
60
|
/** @class */
|
|
61
|
-
function(t) {
|
|
61
|
+
(function(t) {
|
|
62
62
|
o(e, t);
|
|
63
63
|
function e() {
|
|
64
64
|
return t !== null && t.apply(this, arguments) || this;
|
|
65
65
|
}
|
|
66
66
|
return e.prototype.add = function(n, r) {
|
|
67
67
|
}, e;
|
|
68
|
-
}(i)
|
|
68
|
+
})(i)
|
|
69
69
|
), N = (
|
|
70
70
|
/** @class */
|
|
71
|
-
function(t) {
|
|
71
|
+
(function(t) {
|
|
72
72
|
o(e, t);
|
|
73
73
|
function e() {
|
|
74
74
|
return t !== null && t.apply(this, arguments) || this;
|
|
75
75
|
}
|
|
76
76
|
return e.prototype.record = function(n, r) {
|
|
77
77
|
}, e;
|
|
78
|
-
}(i)
|
|
78
|
+
})(i)
|
|
79
79
|
), y = (
|
|
80
80
|
/** @class */
|
|
81
|
-
function(t) {
|
|
81
|
+
(function(t) {
|
|
82
82
|
o(e, t);
|
|
83
83
|
function e() {
|
|
84
84
|
return t !== null && t.apply(this, arguments) || this;
|
|
85
85
|
}
|
|
86
86
|
return e.prototype.record = function(n, r) {
|
|
87
87
|
}, e;
|
|
88
|
-
}(i)
|
|
88
|
+
})(i)
|
|
89
89
|
), p = (
|
|
90
90
|
/** @class */
|
|
91
|
-
function() {
|
|
91
|
+
(function() {
|
|
92
92
|
function t() {
|
|
93
93
|
}
|
|
94
94
|
return t.prototype.addCallback = function(e) {
|
|
95
95
|
}, t.prototype.removeCallback = function(e) {
|
|
96
96
|
}, t;
|
|
97
|
-
}()
|
|
97
|
+
})()
|
|
98
98
|
), g = (
|
|
99
99
|
/** @class */
|
|
100
|
-
function(t) {
|
|
100
|
+
(function(t) {
|
|
101
101
|
o(e, t);
|
|
102
102
|
function e() {
|
|
103
103
|
return t !== null && t.apply(this, arguments) || this;
|
|
104
104
|
}
|
|
105
105
|
return e;
|
|
106
|
-
}(p)
|
|
106
|
+
})(p)
|
|
107
107
|
), C = (
|
|
108
108
|
/** @class */
|
|
109
|
-
function(t) {
|
|
109
|
+
(function(t) {
|
|
110
110
|
o(e, t);
|
|
111
111
|
function e() {
|
|
112
112
|
return t !== null && t.apply(this, arguments) || this;
|
|
113
113
|
}
|
|
114
114
|
return e;
|
|
115
|
-
}(p)
|
|
115
|
+
})(p)
|
|
116
116
|
), E = (
|
|
117
117
|
/** @class */
|
|
118
|
-
function(t) {
|
|
118
|
+
(function(t) {
|
|
119
119
|
o(e, t);
|
|
120
120
|
function e() {
|
|
121
121
|
return t !== null && t.apply(this, arguments) || this;
|
|
122
122
|
}
|
|
123
123
|
return e;
|
|
124
|
-
}(p)
|
|
124
|
+
})(p)
|
|
125
125
|
), l = new O(), m = new M(), h = new N(), P = new y(), d = new b(), w = new g(), R = new C(), G = new E();
|
|
126
126
|
function D() {
|
|
127
127
|
return l;
|
|
128
128
|
}
|
|
129
129
|
var I = (
|
|
130
130
|
/** @class */
|
|
131
|
-
function() {
|
|
131
|
+
(function() {
|
|
132
132
|
function t() {
|
|
133
133
|
}
|
|
134
134
|
return t.prototype.getMeter = function(e, n, r) {
|
|
135
135
|
return l;
|
|
136
136
|
}, t;
|
|
137
|
-
}()
|
|
137
|
+
})()
|
|
138
138
|
), T = new I(), c = "metrics", U = (
|
|
139
139
|
/** @class */
|
|
140
|
-
function() {
|
|
140
|
+
(function() {
|
|
141
141
|
function t() {
|
|
142
142
|
}
|
|
143
143
|
return t.getInstance = function() {
|
|
@@ -151,10 +151,10 @@ var I = (
|
|
|
151
151
|
}, t.prototype.disable = function() {
|
|
152
152
|
v(c, s.instance());
|
|
153
153
|
}, t;
|
|
154
|
-
}()
|
|
154
|
+
})()
|
|
155
155
|
), k = U.getInstance();
|
|
156
156
|
export {
|
|
157
157
|
D as c,
|
|
158
158
|
k as m
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktIX57MDBmfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgYXMgcmVnaXN0ZXJHbG9iYWwsIEQgYXMgRGlhZ0FQSSwgZyBhcyBnZXRHbG9iYWwsIHUgYXMgdW5yZWdpc3Rlckdsb2JhbCB9IGZyb20gJy4vaW5kZXgtIX57MDA5fX4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fZXh0ZW5kcyA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG4vKipcbiAqIE5vb3BNZXRlciBpcyBhIG5vb3AgaW1wbGVtZW50YXRpb24gb2YgdGhlIHtAbGluayBNZXRlcn0gaW50ZXJmYWNlLiBJdCByZXVzZXNcbiAqIGNvbnN0YW50IE5vb3BNZXRyaWNzIGZvciBhbGwgb2YgaXRzIG1ldGhvZHMuXG4gKi9cbnZhciBOb29wTWV0ZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTm9vcE1ldGVyKCkge1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVHYXVnZX1cbiAgICAgKi9cbiAgICBOb29wTWV0ZXIucHJvdG90eXBlLmNyZWF0ZUdhdWdlID0gZnVuY3Rpb24gKF9uYW1lLCBfb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gTk9PUF9HQVVHRV9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVIaXN0b2dyYW19XG4gICAgICovXG4gICAgTm9vcE1ldGVyLnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbiAoX25hbWUsIF9vcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBOT09QX0hJU1RPR1JBTV9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVDb3VudGVyfVxuICAgICAqL1xuICAgIE5vb3BNZXRlci5wcm90b3R5cGUuY3JlYXRlQ291bnRlciA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfQ09VTlRFUl9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVVcERvd25Db3VudGVyfVxuICAgICAqL1xuICAgIE5vb3BNZXRlci5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEBzZWUge0BsaW5rIE1ldGVyLmNyZWF0ZU9ic2VydmFibGVHYXVnZX1cbiAgICAgKi9cbiAgICBOb29wTWV0ZXIucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVPYnNlcnZhYmxlQ291bnRlcn1cbiAgICAgKi9cbiAgICBOb29wTWV0ZXIucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24gKF9uYW1lLCBfb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQHNlZSB7QGxpbmsgTWV0ZXIuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJ9XG4gICAgICovXG4gICAgTm9vcE1ldGVyLnByb3RvdHlwZS5jcmVhdGVPYnNlcnZhYmxlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQHNlZSB7QGxpbmsgTWV0ZXIuYWRkQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2t9XG4gICAgICovXG4gICAgTm9vcE1ldGVyLnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uIChfY2FsbGJhY2ssIF9vYnNlcnZhYmxlcykgeyB9O1xuICAgIC8qKlxuICAgICAqIEBzZWUge0BsaW5rIE1ldGVyLnJlbW92ZUJhdGNoT2JzZXJ2YWJsZUNhbGxiYWNrfVxuICAgICAqL1xuICAgIE5vb3BNZXRlci5wcm90b3R5cGUucmVtb3ZlQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2sgPSBmdW5jdGlvbiAoX2NhbGxiYWNrKSB7IH07XG4gICAgcmV0dXJuIE5vb3BNZXRlcjtcbn0oKSk7XG52YXIgTm9vcE1ldHJpYyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBOb29wTWV0cmljKCkge1xuICAgIH1cbiAgICByZXR1cm4gTm9vcE1ldHJpYztcbn0oKSk7XG52YXIgTm9vcENvdW50ZXJNZXRyaWMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKE5vb3BDb3VudGVyTWV0cmljLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE5vb3BDb3VudGVyTWV0cmljKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIE5vb3BDb3VudGVyTWV0cmljLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoX3ZhbHVlLCBfYXR0cmlidXRlcykgeyB9O1xuICAgIHJldHVybiBOb29wQ291bnRlck1ldHJpYztcbn0oTm9vcE1ldHJpYykpO1xudmFyIE5vb3BVcERvd25Db3VudGVyTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhOb29wVXBEb3duQ291bnRlck1ldHJpYywgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBOb29wVXBEb3duQ291bnRlck1ldHJpYygpIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICBOb29wVXBEb3duQ291bnRlck1ldHJpYy5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKF92YWx1ZSwgX2F0dHJpYnV0ZXMpIHsgfTtcbiAgICByZXR1cm4gTm9vcFVwRG93bkNvdW50ZXJNZXRyaWM7XG59KE5vb3BNZXRyaWMpKTtcbnZhciBOb29wR2F1Z2VNZXRyaWMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKE5vb3BHYXVnZU1ldHJpYywgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBOb29wR2F1Z2VNZXRyaWMoKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgTm9vcEdhdWdlTWV0cmljLnByb3RvdHlwZS5yZWNvcmQgPSBmdW5jdGlvbiAoX3ZhbHVlLCBfYXR0cmlidXRlcykgeyB9O1xuICAgIHJldHVybiBOb29wR2F1Z2VNZXRyaWM7XG59KE5vb3BNZXRyaWMpKTtcbnZhciBOb29wSGlzdG9ncmFtTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhOb29wSGlzdG9ncmFtTWV0cmljLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE5vb3BIaXN0b2dyYW1NZXRyaWMoKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgTm9vcEhpc3RvZ3JhbU1ldHJpYy5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24gKF92YWx1ZSwgX2F0dHJpYnV0ZXMpIHsgfTtcbiAgICByZXR1cm4gTm9vcEhpc3RvZ3JhbU1ldHJpYztcbn0oTm9vcE1ldHJpYykpO1xudmFyIE5vb3BPYnNlcnZhYmxlTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE5vb3BPYnNlcnZhYmxlTWV0cmljKCkge1xuICAgIH1cbiAgICBOb29wT2JzZXJ2YWJsZU1ldHJpYy5wcm90b3R5cGUuYWRkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoX2NhbGxiYWNrKSB7IH07XG4gICAgTm9vcE9ic2VydmFibGVNZXRyaWMucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24gKF9jYWxsYmFjaykgeyB9O1xuICAgIHJldHVybiBOb29wT2JzZXJ2YWJsZU1ldHJpYztcbn0oKSk7XG52YXIgTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWMsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM7XG59KE5vb3BPYnNlcnZhYmxlTWV0cmljKSk7XG52YXIgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYywgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljO1xufShOb29wT2JzZXJ2YWJsZU1ldHJpYykpO1xudmFyIE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYygpIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljO1xufShOb29wT2JzZXJ2YWJsZU1ldHJpYykpO1xudmFyIE5PT1BfTUVURVIgPSBuZXcgTm9vcE1ldGVyKCk7XG4vLyBTeW5jaHJvbm91cyBpbnN0cnVtZW50c1xudmFyIE5PT1BfQ09VTlRFUl9NRVRSSUMgPSBuZXcgTm9vcENvdW50ZXJNZXRyaWMoKTtcbnZhciBOT09QX0dBVUdFX01FVFJJQyA9IG5ldyBOb29wR2F1Z2VNZXRyaWMoKTtcbnZhciBOT09QX0hJU1RPR1JBTV9NRVRSSUMgPSBuZXcgTm9vcEhpc3RvZ3JhbU1ldHJpYygpO1xudmFyIE5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQyA9IG5ldyBOb29wVXBEb3duQ291bnRlck1ldHJpYygpO1xuLy8gQXN5bmNocm9ub3VzIGluc3RydW1lbnRzXG52YXIgTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDID0gbmV3IE5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYygpO1xudmFyIE5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUMgPSBuZXcgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYygpO1xudmFyIE5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDID0gbmV3IE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYygpO1xuLyoqXG4gKiBDcmVhdGUgYSBuby1vcCBNZXRlclxuICovXG5mdW5jdGlvbiBjcmVhdGVOb29wTWV0ZXIoKSB7XG4gICAgcmV0dXJuIE5PT1BfTUVURVI7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSB7QGxpbmsgTWV0ZXJQcm92aWRlcn0gd2hpY2ggcmV0dXJucyBhbiBpbXBvdGVudCBNZXRlclxuICogZm9yIGFsbCBjYWxscyB0byBgZ2V0TWV0ZXJgXG4gKi9cbnZhciBOb29wTWV0ZXJQcm92aWRlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBOb29wTWV0ZXJQcm92aWRlcigpIHtcbiAgICB9XG4gICAgTm9vcE1ldGVyUHJvdmlkZXIucHJvdG90eXBlLmdldE1ldGVyID0gZnVuY3Rpb24gKF9uYW1lLCBfdmVyc2lvbiwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfTUVURVI7XG4gICAgfTtcbiAgICByZXR1cm4gTm9vcE1ldGVyUHJvdmlkZXI7XG59KCkpO1xudmFyIE5PT1BfTUVURVJfUFJPVklERVIgPSBuZXcgTm9vcE1ldGVyUHJvdmlkZXIoKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBBUElfTkFNRSA9ICdtZXRyaWNzJztcbi8qKlxuICogU2luZ2xldG9uIG9iamVjdCB3aGljaCByZXByZXNlbnRzIHRoZSBlbnRyeSBwb2ludCB0byB0aGUgT3BlblRlbGVtZXRyeSBNZXRyaWNzIEFQSVxuICovXG52YXIgTWV0cmljc0FQSSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICAvKiogRW1wdHkgcHJpdmF0ZSBjb25zdHJ1Y3RvciBwcmV2ZW50cyBlbmQgdXNlcnMgZnJvbSBjb25zdHJ1Y3RpbmcgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEFQSSAqL1xuICAgIGZ1bmN0aW9uIE1ldHJpY3NBUEkoKSB7XG4gICAgfVxuICAgIC8qKiBHZXQgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGUgTWV0cmljcyBBUEkgKi9cbiAgICBNZXRyaWNzQVBJLmdldEluc3RhbmNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2luc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IG5ldyBNZXRyaWNzQVBJKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IGdsb2JhbCBtZXRlciBwcm92aWRlci5cbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIG1ldGVyIHByb3ZpZGVyIHdhcyBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZCwgZWxzZSBmYWxzZS5cbiAgICAgKi9cbiAgICBNZXRyaWNzQVBJLnByb3RvdHlwZS5zZXRHbG9iYWxNZXRlclByb3ZpZGVyID0gZnVuY3Rpb24gKHByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiByZWdpc3Rlckdsb2JhbChBUElfTkFNRSwgcHJvdmlkZXIsIERpYWdBUEkuaW5zdGFuY2UoKSk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBnbG9iYWwgbWV0ZXIgcHJvdmlkZXIuXG4gICAgICovXG4gICAgTWV0cmljc0FQSS5wcm90b3R5cGUuZ2V0TWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGdldEdsb2JhbChBUElfTkFNRSkgfHwgTk9PUF9NRVRFUl9QUk9WSURFUjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBtZXRlciBmcm9tIHRoZSBnbG9iYWwgbWV0ZXIgcHJvdmlkZXIuXG4gICAgICovXG4gICAgTWV0cmljc0FQSS5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbiAobmFtZSwgdmVyc2lvbiwgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZXRlclByb3ZpZGVyKCkuZ2V0TWV0ZXIobmFtZSwgdmVyc2lvbiwgb3B0aW9ucyk7XG4gICAgfTtcbiAgICAvKiogUmVtb3ZlIHRoZSBnbG9iYWwgbWV0ZXIgcHJvdmlkZXIgKi9cbiAgICBNZXRyaWNzQVBJLnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB1bnJlZ2lzdGVyR2xvYmFsKEFQSV9OQU1FLCBEaWFnQVBJLmluc3RhbmNlKCkpO1xuICAgIH07XG4gICAgcmV0dXJuIE1ldHJpY3NBUEk7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gU3BsaXQgbW9kdWxlLWxldmVsIHZhcmlhYmxlIGRlZmluaXRpb24gaW50byBzZXBhcmF0ZSBmaWxlcyB0byBhbGxvd1xuLy8gdHJlZS1zaGFraW5nIG9uIGVhY2ggYXBpIGluc3RhbmNlLlxuLyoqIEVudHJ5cG9pbnQgZm9yIG1ldHJpY3MgQVBJICovXG52YXIgbWV0cmljcyA9IE1ldHJpY3NBUEkuZ2V0SW5zdGFuY2UoKTtcblxuZXhwb3J0IHsgY3JlYXRlTm9vcE1ldGVyIGFzIGMsIG1ldHJpY3MgYXMgbSB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBS0EsR0FBZ0IsS0FBS0MsR0FBUyxLQUFLQyxHQUFXLEtBQUtDLFNBQXdCO0FBaUJ6RixJQUFJQyxJQUFtRCwyQkFBWTtBQUMvRCxNQUFJQyxJQUFnQixTQUFVQyxHQUFHQyxHQUFHO0FBQ2hDLFdBQUFGLElBQWdCLE9BQU8sa0JBQ2xCLEVBQUUsV0FBVyxDQUFDLEVBQUUsYUFBYSxTQUFTLFNBQVVDLEdBQUdDLEdBQUc7QUFBRSxNQUFBRCxFQUFFLFlBQVlDO0FBQUEsSUFBRyxLQUMxRSxTQUFVRCxHQUFHQyxHQUFHO0FBQUUsZUFBU0MsS0FBS0QsRUFBRyxDQUFJLE9BQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFBR0YsRUFBRUUsQ0FBQyxJQUFJRCxFQUFFQyxDQUFDO0FBQUEsSUFBRyxHQUM3RkgsRUFBY0MsR0FBR0MsQ0FBQztBQUFBLEVBQzdCO0FBQ0EsU0FBTyxTQUFVRCxHQUFHQyxHQUFHO0FBQ25CLFFBQUksT0FBT0EsS0FBTSxjQUFjQSxNQUFNO0FBQ2pDLFlBQU0sSUFBSSxVQUFVLHlCQUF5QixPQUFPQSxDQUFDLElBQUksK0JBQStCO0FBQzVGLElBQUFGLEVBQWNDLEdBQUdDLENBQUM7QUFDbEIsYUFBU0UsSUFBSztBQUFFLFdBQUssY0FBY0g7QUFBQSxJQUFHO0FBQ3RDLElBQUFBLEVBQUUsWUFBWUMsTUFBTSxPQUFPLE9BQU8sT0FBT0EsQ0FBQyxLQUFLRSxFQUFHLFlBQVlGLEVBQUUsV0FBVyxJQUFJRSxFQUFHO0FBQUEsRUFDdEY7QUFDSixFQUFHLEdBS0NDO0FBQUE7QUFBQSxFQUEyQixXQUFZO0FBQ3ZDLGFBQVNBLElBQVk7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QixJQUFJRixFQUFrQixHQWlCNUNHLElBQVcsV0FJWEM7QUFBQTtBQUFBLEVBQTRCLFdBQVk7QUFFeEMsYUFBU0EsSUFBYTtBQUFBLElBQ3RCO0FBRUEsV0FBQUEsRUFBVyxjQUFjLFdBQVk7QUFDakMsYUFBSyxLQUFLLGNBQ04sS0FBSyxZQUFZLElBQUlBLEVBQVcsSUFFN0IsS0FBSztBQUFBLElBQ2hCLEdBS0FBLEVBQVcsVUFBVSx5QkFBeUIsU0FBVUMsR0FBVTtBQUM5RCxhQUFPekMsRUFBZXVDLEdBQVVFLEdBQVV4QyxFQUFRLFNBQVMsQ0FBQztBQUFBLElBQ2hFLEdBSUF1QyxFQUFXLFVBQVUsbUJBQW1CLFdBQVk7QUFDaEQsYUFBT3RDLEVBQVVxQyxDQUFRLEtBQUtEO0FBQUEsSUFDbEMsR0FJQUUsRUFBVyxVQUFVLFdBQVcsU0FBVUUsR0FBTUMsR0FBU0MsR0FBUztBQUM5RCxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0YsR0FBTUMsR0FBU0MsQ0FBTztBQUFBLElBQ2xFLEdBRUFKLEVBQVcsVUFBVSxVQUFVLFdBQVk7QUFDdkMsTUFBQXJDLEVBQWlCb0MsR0FBVXRDLEVBQVEsU0FBUyxDQUFDO0FBQUEsSUFDakQsR0FDT3VDO0FBQUEsRUFDWCxFQUFFO0FBQUEsR0FvQkVLLElBQVVMLEVBQVcsWUFBWTsiLAogICJuYW1lcyI6IFsicmVnaXN0ZXJHbG9iYWwiLCAiRGlhZ0FQSSIsICJnZXRHbG9iYWwiLCAidW5yZWdpc3Rlckdsb2JhbCIsICJfX2V4dGVuZHMiLCAiZXh0ZW5kU3RhdGljcyIsICJkIiwgImIiLCAicCIsICJfXyIsICJOb29wTWV0ZXIiLCAiX25hbWUiLCAiX29wdGlvbnMiLCAiTk9PUF9HQVVHRV9NRVRSSUMiLCAiTk9PUF9ISVNUT0dSQU1fTUVUUklDIiwgIk5PT1BfQ09VTlRFUl9NRVRSSUMiLCAiTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDIiwgIk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUMiLCAiTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDIiwgIk5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDIiwgIl9jYWxsYmFjayIsICJfb2JzZXJ2YWJsZXMiLCAiTm9vcE1ldHJpYyIsICJOb29wQ291bnRlck1ldHJpYyIsICJfc3VwZXIiLCAiX3ZhbHVlIiwgIl9hdHRyaWJ1dGVzIiwgIk5vb3BVcERvd25Db3VudGVyTWV0cmljIiwgIk5vb3BHYXVnZU1ldHJpYyIsICJOb29wSGlzdG9ncmFtTWV0cmljIiwgIk5vb3BPYnNlcnZhYmxlTWV0cmljIiwgIk5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYyIsICJOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljIiwgIk5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYyIsICJOT09QX01FVEVSIiwgImNyZWF0ZU5vb3BNZXRlciIsICJOb29wTWV0ZXJQcm92aWRlciIsICJfdmVyc2lvbiIsICJOT09QX01FVEVSX1BST1ZJREVSIiwgIkFQSV9OQU1FIiwgIk1ldHJpY3NBUEkiLCAicHJvdmlkZXIiLCAibmFtZSIsICJ2ZXJzaW9uIiwgIm9wdGlvbnMiLCAibWV0cmljcyJdCn0K
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWV0cmljcy1hcGktIX57MDBmfX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IHIgYXMgcmVnaXN0ZXJHbG9iYWwsIEQgYXMgRGlhZ0FQSSwgZyBhcyBnZXRHbG9iYWwsIHUgYXMgdW5yZWdpc3Rlckdsb2JhbCB9IGZyb20gJy4vaW5kZXgtIX57MDA5fX4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fZXh0ZW5kcyA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG4vKipcbiAqIE5vb3BNZXRlciBpcyBhIG5vb3AgaW1wbGVtZW50YXRpb24gb2YgdGhlIHtAbGluayBNZXRlcn0gaW50ZXJmYWNlLiBJdCByZXVzZXNcbiAqIGNvbnN0YW50IE5vb3BNZXRyaWNzIGZvciBhbGwgb2YgaXRzIG1ldGhvZHMuXG4gKi9cbnZhciBOb29wTWV0ZXIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTm9vcE1ldGVyKCkge1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVHYXVnZX1cbiAgICAgKi9cbiAgICBOb29wTWV0ZXIucHJvdG90eXBlLmNyZWF0ZUdhdWdlID0gZnVuY3Rpb24gKF9uYW1lLCBfb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gTk9PUF9HQVVHRV9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVIaXN0b2dyYW19XG4gICAgICovXG4gICAgTm9vcE1ldGVyLnByb3RvdHlwZS5jcmVhdGVIaXN0b2dyYW0gPSBmdW5jdGlvbiAoX25hbWUsIF9vcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBOT09QX0hJU1RPR1JBTV9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVDb3VudGVyfVxuICAgICAqL1xuICAgIE5vb3BNZXRlci5wcm90b3R5cGUuY3JlYXRlQ291bnRlciA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfQ09VTlRFUl9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVVcERvd25Db3VudGVyfVxuICAgICAqL1xuICAgIE5vb3BNZXRlci5wcm90b3R5cGUuY3JlYXRlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIEBzZWUge0BsaW5rIE1ldGVyLmNyZWF0ZU9ic2VydmFibGVHYXVnZX1cbiAgICAgKi9cbiAgICBOb29wTWV0ZXIucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVHYXVnZSA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUM7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAc2VlIHtAbGluayBNZXRlci5jcmVhdGVPYnNlcnZhYmxlQ291bnRlcn1cbiAgICAgKi9cbiAgICBOb29wTWV0ZXIucHJvdG90eXBlLmNyZWF0ZU9ic2VydmFibGVDb3VudGVyID0gZnVuY3Rpb24gKF9uYW1lLCBfb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQHNlZSB7QGxpbmsgTWV0ZXIuY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJ9XG4gICAgICovXG4gICAgTm9vcE1ldGVyLnByb3RvdHlwZS5jcmVhdGVPYnNlcnZhYmxlVXBEb3duQ291bnRlciA9IGZ1bmN0aW9uIChfbmFtZSwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQHNlZSB7QGxpbmsgTWV0ZXIuYWRkQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2t9XG4gICAgICovXG4gICAgTm9vcE1ldGVyLnByb3RvdHlwZS5hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayA9IGZ1bmN0aW9uIChfY2FsbGJhY2ssIF9vYnNlcnZhYmxlcykgeyB9O1xuICAgIC8qKlxuICAgICAqIEBzZWUge0BsaW5rIE1ldGVyLnJlbW92ZUJhdGNoT2JzZXJ2YWJsZUNhbGxiYWNrfVxuICAgICAqL1xuICAgIE5vb3BNZXRlci5wcm90b3R5cGUucmVtb3ZlQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2sgPSBmdW5jdGlvbiAoX2NhbGxiYWNrKSB7IH07XG4gICAgcmV0dXJuIE5vb3BNZXRlcjtcbn0oKSk7XG52YXIgTm9vcE1ldHJpYyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBOb29wTWV0cmljKCkge1xuICAgIH1cbiAgICByZXR1cm4gTm9vcE1ldHJpYztcbn0oKSk7XG52YXIgTm9vcENvdW50ZXJNZXRyaWMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKE5vb3BDb3VudGVyTWV0cmljLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE5vb3BDb3VudGVyTWV0cmljKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIE5vb3BDb3VudGVyTWV0cmljLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoX3ZhbHVlLCBfYXR0cmlidXRlcykgeyB9O1xuICAgIHJldHVybiBOb29wQ291bnRlck1ldHJpYztcbn0oTm9vcE1ldHJpYykpO1xudmFyIE5vb3BVcERvd25Db3VudGVyTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhOb29wVXBEb3duQ291bnRlck1ldHJpYywgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBOb29wVXBEb3duQ291bnRlck1ldHJpYygpIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICBOb29wVXBEb3duQ291bnRlck1ldHJpYy5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKF92YWx1ZSwgX2F0dHJpYnV0ZXMpIHsgfTtcbiAgICByZXR1cm4gTm9vcFVwRG93bkNvdW50ZXJNZXRyaWM7XG59KE5vb3BNZXRyaWMpKTtcbnZhciBOb29wR2F1Z2VNZXRyaWMgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKE5vb3BHYXVnZU1ldHJpYywgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBOb29wR2F1Z2VNZXRyaWMoKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgTm9vcEdhdWdlTWV0cmljLnByb3RvdHlwZS5yZWNvcmQgPSBmdW5jdGlvbiAoX3ZhbHVlLCBfYXR0cmlidXRlcykgeyB9O1xuICAgIHJldHVybiBOb29wR2F1Z2VNZXRyaWM7XG59KE5vb3BNZXRyaWMpKTtcbnZhciBOb29wSGlzdG9ncmFtTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhOb29wSGlzdG9ncmFtTWV0cmljLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE5vb3BIaXN0b2dyYW1NZXRyaWMoKSB7XG4gICAgICAgIHJldHVybiBfc3VwZXIgIT09IG51bGwgJiYgX3N1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG4gICAgTm9vcEhpc3RvZ3JhbU1ldHJpYy5wcm90b3R5cGUucmVjb3JkID0gZnVuY3Rpb24gKF92YWx1ZSwgX2F0dHJpYnV0ZXMpIHsgfTtcbiAgICByZXR1cm4gTm9vcEhpc3RvZ3JhbU1ldHJpYztcbn0oTm9vcE1ldHJpYykpO1xudmFyIE5vb3BPYnNlcnZhYmxlTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE5vb3BPYnNlcnZhYmxlTWV0cmljKCkge1xuICAgIH1cbiAgICBOb29wT2JzZXJ2YWJsZU1ldHJpYy5wcm90b3R5cGUuYWRkQ2FsbGJhY2sgPSBmdW5jdGlvbiAoX2NhbGxiYWNrKSB7IH07XG4gICAgTm9vcE9ic2VydmFibGVNZXRyaWMucHJvdG90eXBlLnJlbW92ZUNhbGxiYWNrID0gZnVuY3Rpb24gKF9jYWxsYmFjaykgeyB9O1xuICAgIHJldHVybiBOb29wT2JzZXJ2YWJsZU1ldHJpYztcbn0oKSk7XG52YXIgTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWMsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM7XG59KE5vb3BPYnNlcnZhYmxlTWV0cmljKSk7XG52YXIgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYywgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljKCkge1xuICAgICAgICByZXR1cm4gX3N1cGVyICE9PSBudWxsICYmIF9zdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpIHx8IHRoaXM7XG4gICAgfVxuICAgIHJldHVybiBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljO1xufShOb29wT2JzZXJ2YWJsZU1ldHJpYykpO1xudmFyIE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYygpIHtcbiAgICAgICAgcmV0dXJuIF9zdXBlciAhPT0gbnVsbCAmJiBfc3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCB0aGlzO1xuICAgIH1cbiAgICByZXR1cm4gTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljO1xufShOb29wT2JzZXJ2YWJsZU1ldHJpYykpO1xudmFyIE5PT1BfTUVURVIgPSBuZXcgTm9vcE1ldGVyKCk7XG4vLyBTeW5jaHJvbm91cyBpbnN0cnVtZW50c1xudmFyIE5PT1BfQ09VTlRFUl9NRVRSSUMgPSBuZXcgTm9vcENvdW50ZXJNZXRyaWMoKTtcbnZhciBOT09QX0dBVUdFX01FVFJJQyA9IG5ldyBOb29wR2F1Z2VNZXRyaWMoKTtcbnZhciBOT09QX0hJU1RPR1JBTV9NRVRSSUMgPSBuZXcgTm9vcEhpc3RvZ3JhbU1ldHJpYygpO1xudmFyIE5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQyA9IG5ldyBOb29wVXBEb3duQ291bnRlck1ldHJpYygpO1xuLy8gQXN5bmNocm9ub3VzIGluc3RydW1lbnRzXG52YXIgTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDID0gbmV3IE5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYygpO1xudmFyIE5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUMgPSBuZXcgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYygpO1xudmFyIE5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDID0gbmV3IE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYygpO1xuLyoqXG4gKiBDcmVhdGUgYSBuby1vcCBNZXRlclxuICovXG5mdW5jdGlvbiBjcmVhdGVOb29wTWV0ZXIoKSB7XG4gICAgcmV0dXJuIE5PT1BfTUVURVI7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSB7QGxpbmsgTWV0ZXJQcm92aWRlcn0gd2hpY2ggcmV0dXJucyBhbiBpbXBvdGVudCBNZXRlclxuICogZm9yIGFsbCBjYWxscyB0byBgZ2V0TWV0ZXJgXG4gKi9cbnZhciBOb29wTWV0ZXJQcm92aWRlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBOb29wTWV0ZXJQcm92aWRlcigpIHtcbiAgICB9XG4gICAgTm9vcE1ldGVyUHJvdmlkZXIucHJvdG90eXBlLmdldE1ldGVyID0gZnVuY3Rpb24gKF9uYW1lLCBfdmVyc2lvbiwgX29wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIE5PT1BfTUVURVI7XG4gICAgfTtcbiAgICByZXR1cm4gTm9vcE1ldGVyUHJvdmlkZXI7XG59KCkpO1xudmFyIE5PT1BfTUVURVJfUFJPVklERVIgPSBuZXcgTm9vcE1ldGVyUHJvdmlkZXIoKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBBUElfTkFNRSA9ICdtZXRyaWNzJztcbi8qKlxuICogU2luZ2xldG9uIG9iamVjdCB3aGljaCByZXByZXNlbnRzIHRoZSBlbnRyeSBwb2ludCB0byB0aGUgT3BlblRlbGVtZXRyeSBNZXRyaWNzIEFQSVxuICovXG52YXIgTWV0cmljc0FQSSA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICAvKiogRW1wdHkgcHJpdmF0ZSBjb25zdHJ1Y3RvciBwcmV2ZW50cyBlbmQgdXNlcnMgZnJvbSBjb25zdHJ1Y3RpbmcgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEFQSSAqL1xuICAgIGZ1bmN0aW9uIE1ldHJpY3NBUEkoKSB7XG4gICAgfVxuICAgIC8qKiBHZXQgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGUgTWV0cmljcyBBUEkgKi9cbiAgICBNZXRyaWNzQVBJLmdldEluc3RhbmNlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2luc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IG5ldyBNZXRyaWNzQVBJKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IGdsb2JhbCBtZXRlciBwcm92aWRlci5cbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIG1ldGVyIHByb3ZpZGVyIHdhcyBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZCwgZWxzZSBmYWxzZS5cbiAgICAgKi9cbiAgICBNZXRyaWNzQVBJLnByb3RvdHlwZS5zZXRHbG9iYWxNZXRlclByb3ZpZGVyID0gZnVuY3Rpb24gKHByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiByZWdpc3Rlckdsb2JhbChBUElfTkFNRSwgcHJvdmlkZXIsIERpYWdBUEkuaW5zdGFuY2UoKSk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBnbG9iYWwgbWV0ZXIgcHJvdmlkZXIuXG4gICAgICovXG4gICAgTWV0cmljc0FQSS5wcm90b3R5cGUuZ2V0TWV0ZXJQcm92aWRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGdldEdsb2JhbChBUElfTkFNRSkgfHwgTk9PUF9NRVRFUl9QUk9WSURFUjtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBtZXRlciBmcm9tIHRoZSBnbG9iYWwgbWV0ZXIgcHJvdmlkZXIuXG4gICAgICovXG4gICAgTWV0cmljc0FQSS5wcm90b3R5cGUuZ2V0TWV0ZXIgPSBmdW5jdGlvbiAobmFtZSwgdmVyc2lvbiwgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZXRlclByb3ZpZGVyKCkuZ2V0TWV0ZXIobmFtZSwgdmVyc2lvbiwgb3B0aW9ucyk7XG4gICAgfTtcbiAgICAvKiogUmVtb3ZlIHRoZSBnbG9iYWwgbWV0ZXIgcHJvdmlkZXIgKi9cbiAgICBNZXRyaWNzQVBJLnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB1bnJlZ2lzdGVyR2xvYmFsKEFQSV9OQU1FLCBEaWFnQVBJLmluc3RhbmNlKCkpO1xuICAgIH07XG4gICAgcmV0dXJuIE1ldHJpY3NBUEk7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gU3BsaXQgbW9kdWxlLWxldmVsIHZhcmlhYmxlIGRlZmluaXRpb24gaW50byBzZXBhcmF0ZSBmaWxlcyB0byBhbGxvd1xuLy8gdHJlZS1zaGFraW5nIG9uIGVhY2ggYXBpIGluc3RhbmNlLlxuLyoqIEVudHJ5cG9pbnQgZm9yIG1ldHJpY3MgQVBJICovXG52YXIgbWV0cmljcyA9IE1ldHJpY3NBUEkuZ2V0SW5zdGFuY2UoKTtcblxuZXhwb3J0IHsgY3JlYXRlTm9vcE1ldGVyIGFzIGMsIG1ldHJpY3MgYXMgbSB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFNBQVMsS0FBS0EsR0FBZ0IsS0FBS0MsR0FBUyxLQUFLQyxHQUFXLEtBQUtDLFNBQXdCO0FBaUJ6RixJQUFJQyxJQUFtRCw0QkFBWTtBQUMvRCxNQUFJQyxJQUFnQixTQUFVQyxHQUFHQyxHQUFHO0FBQ2hDLFdBQUFGLElBQWdCLE9BQU8sa0JBQ2xCLEVBQUUsV0FBVyxDQUFDLEVBQUUsYUFBYSxTQUFTLFNBQVVDLEdBQUdDLEdBQUc7QUFBRSxNQUFBRCxFQUFFLFlBQVlDO0FBQUEsSUFBRyxLQUMxRSxTQUFVRCxHQUFHQyxHQUFHO0FBQUUsZUFBU0MsS0FBS0QsRUFBRyxDQUFJLE9BQU8sVUFBVSxlQUFlLEtBQUtBLEdBQUdDLENBQUMsTUFBR0YsRUFBRUUsQ0FBQyxJQUFJRCxFQUFFQyxDQUFDO0FBQUEsSUFBRyxHQUM3RkgsRUFBY0MsR0FBR0MsQ0FBQztBQUFBLEVBQzdCO0FBQ0EsU0FBTyxTQUFVRCxHQUFHQyxHQUFHO0FBQ25CLFFBQUksT0FBT0EsS0FBTSxjQUFjQSxNQUFNO0FBQ2pDLFlBQU0sSUFBSSxVQUFVLHlCQUF5QixPQUFPQSxDQUFDLElBQUksK0JBQStCO0FBQzVGLElBQUFGLEVBQWNDLEdBQUdDLENBQUM7QUFDbEIsYUFBU0UsSUFBSztBQUFFLFdBQUssY0FBY0g7QUFBQSxJQUFHO0FBQ3RDLElBQUFBLEVBQUUsWUFBWUMsTUFBTSxPQUFPLE9BQU8sT0FBT0EsQ0FBQyxLQUFLRSxFQUFHLFlBQVlGLEVBQUUsV0FBVyxJQUFJRSxFQUFHO0FBQUEsRUFDdEY7QUFDSixHQUFHLEdBS0NDO0FBQUE7QUFBQSxHQUEyQixXQUFZO0FBQ3ZDLGFBQVNBLElBQVk7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QixJQUFJRixFQUFrQixHQWlCNUNHLElBQVcsV0FJWEM7QUFBQTtBQUFBLEdBQTRCLFdBQVk7QUFFeEMsYUFBU0EsSUFBYTtBQUFBLElBQ3RCO0FBRUEsV0FBQUEsRUFBVyxjQUFjLFdBQVk7QUFDakMsYUFBSyxLQUFLLGNBQ04sS0FBSyxZQUFZLElBQUlBLEVBQVcsSUFFN0IsS0FBSztBQUFBLElBQ2hCLEdBS0FBLEVBQVcsVUFBVSx5QkFBeUIsU0FBVUMsR0FBVTtBQUM5RCxhQUFPekMsRUFBZXVDLEdBQVVFLEdBQVV4QyxFQUFRLFNBQVMsQ0FBQztBQUFBLElBQ2hFLEdBSUF1QyxFQUFXLFVBQVUsbUJBQW1CLFdBQVk7QUFDaEQsYUFBT3RDLEVBQVVxQyxDQUFRLEtBQUtEO0FBQUEsSUFDbEMsR0FJQUUsRUFBVyxVQUFVLFdBQVcsU0FBVUUsR0FBTUMsR0FBU0MsR0FBUztBQUM5RCxhQUFPLEtBQUssaUJBQWlCLEVBQUUsU0FBU0YsR0FBTUMsR0FBU0MsQ0FBTztBQUFBLElBQ2xFLEdBRUFKLEVBQVcsVUFBVSxVQUFVLFdBQVk7QUFDdkMsTUFBQXJDLEVBQWlCb0MsR0FBVXRDLEVBQVEsU0FBUyxDQUFDO0FBQUEsSUFDakQsR0FDT3VDO0FBQUEsRUFDWCxHQUFFO0FBQUEsR0FvQkVLLElBQVVMLEVBQVcsWUFBWTsiLAogICJuYW1lcyI6IFsicmVnaXN0ZXJHbG9iYWwiLCAiRGlhZ0FQSSIsICJnZXRHbG9iYWwiLCAidW5yZWdpc3Rlckdsb2JhbCIsICJfX2V4dGVuZHMiLCAiZXh0ZW5kU3RhdGljcyIsICJkIiwgImIiLCAicCIsICJfXyIsICJOb29wTWV0ZXIiLCAiX25hbWUiLCAiX29wdGlvbnMiLCAiTk9PUF9HQVVHRV9NRVRSSUMiLCAiTk9PUF9ISVNUT0dSQU1fTUVUUklDIiwgIk5PT1BfQ09VTlRFUl9NRVRSSUMiLCAiTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDIiwgIk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUMiLCAiTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDIiwgIk5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDIiwgIl9jYWxsYmFjayIsICJfb2JzZXJ2YWJsZXMiLCAiTm9vcE1ldHJpYyIsICJOb29wQ291bnRlck1ldHJpYyIsICJfc3VwZXIiLCAiX3ZhbHVlIiwgIl9hdHRyaWJ1dGVzIiwgIk5vb3BVcERvd25Db3VudGVyTWV0cmljIiwgIk5vb3BHYXVnZU1ldHJpYyIsICJOb29wSGlzdG9ncmFtTWV0cmljIiwgIk5vb3BPYnNlcnZhYmxlTWV0cmljIiwgIk5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYyIsICJOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljIiwgIk5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYyIsICJOT09QX01FVEVSIiwgImNyZWF0ZU5vb3BNZXRlciIsICJOb29wTWV0ZXJQcm92aWRlciIsICJfdmVyc2lvbiIsICJOT09QX01FVEVSX1BST1ZJREVSIiwgIkFQSV9OQU1FIiwgIk1ldHJpY3NBUEkiLCAicHJvdmlkZXIiLCAibmFtZSIsICJ2ZXJzaW9uIiwgIm9wdGlvbnMiLCAibWV0cmljcyJdCn0K
|