UNPKG

@getopenpay/openpay-js

Version:

Accept payments through OpenPay, right on your site

128 lines (127 loc) 21.8 kB
import { R as u } from "./index-BmfwKlzi.js"; import { B as c } from "./SimpleSpanProcessor-a50wJDqC.js"; import { A as g, b as x, a as S, C as b, F as w, N as C, P, R as T, d as O, S as A, e as M, c as R, T as N } from "./SimpleSpanProcessor-a50wJDqC.js"; import { P as E, a as F, b as j, g as k, h as W, p as I, s as D, c as G } from "./utils-RafSjFZg.js"; var l = function(n, r) { var e = typeof Symbol == "function" && n[Symbol.iterator]; if (!e) return n; var t = e.call(n), o, a = [], s; try { for (; (r === void 0 || r-- > 0) && !(o = t.next()).done; ) a.push(o.value); } catch (i) { s = { error: i }; } finally { try { o && !o.done && (e = t.return) && e.call(t); } finally { if (s) throw s.error; } } return a; }, p = function(n, r, e) { if (e || arguments.length === 2) for (var t = 0, o = r.length, a; t < o; t++) (a || !(t in r)) && (a || (a = Array.prototype.slice.call(r, 0, t)), a[t] = r[t]); return n.concat(a || Array.prototype.slice.call(r)); }, f = ( /** @class */ (function() { function n() { this._enabled = !1, this._currentContext = u; } return n.prototype._bindFunction = function(r, e) { r === void 0 && (r = u); var t = this, o = function() { for (var a = this, s = [], i = 0; i < arguments.length; i++) s[i] = arguments[i]; return t.with(r, function() { return e.apply(a, s); }); }; return Object.defineProperty(o, "length", { enumerable: !1, configurable: !0, writable: !1, value: e.length }), o; }, n.prototype.active = function() { return this._currentContext; }, n.prototype.bind = function(r, e) { return r === void 0 && (r = this.active()), typeof e == "function" ? this._bindFunction(r, e) : e; }, n.prototype.disable = function() { return this._currentContext = u, this._enabled = !1, this; }, n.prototype.enable = function() { return this._enabled ? this : (this._enabled = !0, this._currentContext = u, this); }, n.prototype.with = function(r, e, t) { for (var o = [], a = 3; a < arguments.length; a++) o[a - 3] = arguments[a]; var s = this._currentContext; this._currentContext = r || u; try { return e.call.apply(e, p([t], l(o), !1)); } finally { this._currentContext = s; } }, n; })() ), d = /* @__PURE__ */ (function() { var n = function(r, e) { return n = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t, o) { t.__proto__ = o; } || function(t, o) { for (var a in o) Object.prototype.hasOwnProperty.call(o, a) && (t[a] = o[a]); }, n(r, e); }; return function(r, e) { if (typeof e != "function" && e !== null) throw new TypeError("Class extends value " + String(e) + " is not a constructor or null"); n(r, e); function t() { this.constructor = r; } r.prototype = e === null ? Object.create(e) : (t.prototype = e.prototype, new t()); }; })(), v = ( /** @class */ (function(n) { d(r, n); function r(e) { e === void 0 && (e = {}); var t = n.call(this, e) || this; if (e.contextManager) throw "contextManager should be defined in register method not in constructor"; if (e.propagator) throw "propagator should be defined in register method not in constructor"; return t; } return r.prototype.register = function(e) { e === void 0 && (e = {}), e.contextManager === void 0 && (e.contextManager = new f()), e.contextManager && e.contextManager.enable(), n.prototype.register.call(this, e); }, r; })(c) ); export { g as AlwaysOffSampler, x as AlwaysOnSampler, c as BasicTracerProvider, S as BatchSpanProcessor, b as ConsoleSpanExporter, w as ForceFlushState, C as NoopSpanProcessor, P as ParentBasedSampler, E as PerformanceTimingNames, T as RandomIdGenerator, O as SamplingDecision, A as SimpleSpanProcessor, M as Span, f as StackContextManager, R as TraceIdRatioBasedSampler, N as Tracer, v as WebTracerProvider, F as addSpanNetworkEvent, j as addSpanNetworkEvents, k as getResource, W as hasKey, I as parseUrl, D as shouldPropagateTraceHeaders, G as sortResources }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiaW5kZXgtIX57MDBifX4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFIgYXMgUk9PVF9DT05URVhUIH0gZnJvbSAnLi9pbmRleC0hfnswMDl9fi5qcyc7XG5pbXBvcnQgeyBCIGFzIEJhc2ljVHJhY2VyUHJvdmlkZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDA0fX4uanMnO1xuZXhwb3J0IHsgQSBhcyBBbHdheXNPZmZTYW1wbGVyLCBiIGFzIEFsd2F5c09uU2FtcGxlciwgYSBhcyBCYXRjaFNwYW5Qcm9jZXNzb3IsIEMgYXMgQ29uc29sZVNwYW5FeHBvcnRlciwgRiBhcyBGb3JjZUZsdXNoU3RhdGUsIE4gYXMgTm9vcFNwYW5Qcm9jZXNzb3IsIFAgYXMgUGFyZW50QmFzZWRTYW1wbGVyLCBSIGFzIFJhbmRvbUlkR2VuZXJhdG9yLCBkIGFzIFNhbXBsaW5nRGVjaXNpb24sIFMgYXMgU2ltcGxlU3BhblByb2Nlc3NvciwgZSBhcyBTcGFuLCBjIGFzIFRyYWNlSWRSYXRpb0Jhc2VkU2FtcGxlciwgVCBhcyBUcmFjZXIgfSBmcm9tICcuL1NpbXBsZVNwYW5Qcm9jZXNzb3ItIX57MDA0fX4uanMnO1xuZXhwb3J0IHsgUCBhcyBQZXJmb3JtYW5jZVRpbWluZ05hbWVzLCBhIGFzIGFkZFNwYW5OZXR3b3JrRXZlbnQsIGIgYXMgYWRkU3Bhbk5ldHdvcmtFdmVudHMsIGcgYXMgZ2V0UmVzb3VyY2UsIGggYXMgaGFzS2V5LCBwIGFzIHBhcnNlVXJsLCBzIGFzIHNob3VsZFByb3BhZ2F0ZVRyYWNlSGVhZGVycywgYyBhcyBzb3J0UmVzb3VyY2VzIH0gZnJvbSAnLi91dGlscy0hfnswMGN9fi5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG52YXIgX19yZWFkID0gKHVuZGVmaW5lZCAmJiB1bmRlZmluZWQuX19yZWFkKSB8fCBmdW5jdGlvbiAobywgbikge1xuICAgIHZhciBtID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXTtcbiAgICBpZiAoIW0pIHJldHVybiBvO1xuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH1cbiAgICBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpW1wicmV0dXJuXCJdKSkgbS5jYWxsKGkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICAgIH1cbiAgICByZXR1cm4gYXI7XG59O1xudmFyIF9fc3ByZWFkQXJyYXkgPSAodW5kZWZpbmVkICYmIHVuZGVmaW5lZC5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoYXIgfHwgIShpIGluIGZyb20pKSB7XG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufTtcbi8qKlxuICogU3RhY2sgQ29udGV4dCBNYW5hZ2VyIGZvciBtYW5hZ2luZyB0aGUgc3RhdGUgaW4gd2ViXG4gKiBpdCBkb2Vzbid0IGZ1bGx5IHN1cHBvcnQgdGhlIGFzeW5jIGNhbGxzIHRob3VnaFxuICovXG52YXIgU3RhY2tDb250ZXh0TWFuYWdlciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTdGFja0NvbnRleHRNYW5hZ2VyKCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogd2hldGhlciB0aGUgY29udGV4dCBtYW5hZ2VyIGlzIGVuYWJsZWQgb3Igbm90XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBLZWVwcyB0aGUgcmVmZXJlbmNlIHRvIGN1cnJlbnQgY29udGV4dFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fY3VycmVudENvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IEZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdpdGhpbiB0aGUgY29udGV4dFxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuX2JpbmRGdW5jdGlvbiA9IGZ1bmN0aW9uIChjb250ZXh0LCB0YXJnZXQpIHtcbiAgICAgICAgaWYgKGNvbnRleHQgPT09IHZvaWQgMCkgeyBjb250ZXh0ID0gUk9PVF9DT05URVhUOyB9XG4gICAgICAgIHZhciBtYW5hZ2VyID0gdGhpcztcbiAgICAgICAgdmFyIGNvbnRleHRXcmFwcGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYW5hZ2VyLndpdGgoY29udGV4dCwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGFyZ2V0LmFwcGx5KF90aGlzLCBhcmdzKTsgfSk7XG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb250ZXh0V3JhcHBlciwgJ2xlbmd0aCcsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgdmFsdWU6IHRhcmdldC5sZW5ndGgsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gY29udGV4dFdyYXBwZXI7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBhY3RpdmUgY29udGV4dFxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmFjdGl2ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQmluZHMgYSB0aGUgY2VydGFpbiBjb250ZXh0IG9yIHRoZSBhY3RpdmUgb25lIHRvIHRoZSB0YXJnZXQgZnVuY3Rpb24gYW5kIHRoZW4gcmV0dXJucyB0aGUgdGFyZ2V0XG4gICAgICogQHBhcmFtIGNvbnRleHQgQSBjb250ZXh0IChzcGFuKSB0byBiZSBiaW5kIHRvIHRhcmdldFxuICAgICAqIEBwYXJhbSB0YXJnZXQgYSBmdW5jdGlvbiBvciBldmVudCBlbWl0dGVyLiBXaGVuIHRhcmdldCBvciBvbmUgb2YgaXRzIGNhbGxiYWNrcyBpcyBjYWxsZWQsXG4gICAgICogIHRoZSBwcm92aWRlZCBjb250ZXh0IHdpbGwgYmUgdXNlZCBhcyB0aGUgYWN0aXZlIGNvbnRleHQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FsbC5cbiAgICAgKi9cbiAgICBTdGFja0NvbnRleHRNYW5hZ2VyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRleHQsIHRhcmdldCkge1xuICAgICAgICAvLyBpZiBubyBzcGVjaWZpYyBjb250ZXh0IHRvIHByb3BhZ2F0ZSBpcyBnaXZlbiwgd2UgdXNlIHRoZSBjdXJyZW50IG9uZVxuICAgICAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250ZXh0ID0gdGhpcy5hY3RpdmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JpbmRGdW5jdGlvbihjb250ZXh0LCB0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlIHRoZSBjb250ZXh0IG1hbmFnZXIgKGNsZWFycyB0aGUgY3VycmVudCBjb250ZXh0KVxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGUgY29udGV4dCBtYW5hZ2VyIGFuZCBjcmVhdGVzIGEgZGVmYXVsdChyb290KSBjb250ZXh0XG4gICAgICovXG4gICAgU3RhY2tDb250ZXh0TWFuYWdlci5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5fZW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDb250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIENhbGxzIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBbZm5dIHdpdGggdGhlIHByb3ZpZGVkIFtjb250ZXh0XS4gSWYgW2NvbnRleHRdIGlzIHVuZGVmaW5lZCB0aGVuIGl0IHdpbGwgdXNlIHRoZSB3aW5kb3cuXG4gICAgICogVGhlIGNvbnRleHQgd2lsbCBiZSBzZXQgYXMgYWN0aXZlXG4gICAgICogQHBhcmFtIGNvbnRleHRcbiAgICAgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgKiBAcGFyYW0gdGhpc0FyZyBvcHRpb25hbCByZWNlaXZlciB0byBiZSB1c2VkIGZvciBjYWxsaW5nIGZuXG4gICAgICogQHBhcmFtIGFyZ3Mgb3B0aW9uYWwgYXJndW1lbnRzIGZvcndhcmRlZCB0byBmblxuICAgICAqL1xuICAgIFN0YWNrQ29udGV4dE1hbmFnZXIucHJvdG90eXBlLndpdGggPSBmdW5jdGlvbiAoY29udGV4dCwgZm4sIHRoaXNBcmcpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgX2kgPSAzOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgICAgIGFyZ3NbX2kgLSAzXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHByZXZpb3VzQ29udGV4dCA9IHRoaXMuX2N1cnJlbnRDb250ZXh0O1xuICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IGNvbnRleHQgfHwgUk9PVF9DT05URVhUO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGZuLmNhbGwuYXBwbHkoZm4sIF9fc3ByZWFkQXJyYXkoW3RoaXNBcmddLCBfX3JlYWQoYXJncyksIGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50Q29udGV4dCA9IHByZXZpb3VzQ29udGV4dDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIFN0YWNrQ29udGV4dE1hbmFnZXI7XG59KCkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIF9fZXh0ZW5kcyA9ICh1bmRlZmluZWQgJiYgdW5kZWZpbmVkLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG4vKipcbiAqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHdlYiB0cmFjZXIgd2l0aCB7QGxpbmsgU3RhY2tDb250ZXh0TWFuYWdlcn1cbiAqL1xudmFyIFdlYlRyYWNlclByb3ZpZGVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhXZWJUcmFjZXJQcm92aWRlciwgX3N1cGVyKTtcbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IFRyYWNlciBpbnN0YW5jZS5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFdlYiBUcmFjZXIgY29uZmlnXG4gICAgICovXG4gICAgZnVuY3Rpb24gV2ViVHJhY2VyUHJvdmlkZXIoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBjb25maWcpIHx8IHRoaXM7XG4gICAgICAgIGlmIChjb25maWcuY29udGV4dE1hbmFnZXIpIHtcbiAgICAgICAgICAgIHRocm93ICgnY29udGV4dE1hbmFnZXIgc2hvdWxkIGJlIGRlZmluZWQgaW4gcmVnaXN0ZXIgbWV0aG9kIG5vdCBpbicgK1xuICAgICAgICAgICAgICAgICcgY29uc3RydWN0b3InKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLnByb3BhZ2F0b3IpIHtcbiAgICAgICAgICAgIHRocm93ICdwcm9wYWdhdG9yIHNob3VsZCBiZSBkZWZpbmVkIGluIHJlZ2lzdGVyIG1ldGhvZCBub3QgaW4gY29uc3RydWN0b3InO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdGhpcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhpcyBUcmFjZXJQcm92aWRlciBmb3IgdXNlIHdpdGggdGhlIE9wZW5UZWxlbWV0cnkgQVBJLlxuICAgICAqIFVuZGVmaW5lZCB2YWx1ZXMgbWF5IGJlIHJlcGxhY2VkIHdpdGggZGVmYXVsdHMsIGFuZFxuICAgICAqIG51bGwgdmFsdWVzIHdpbGwgYmUgc2tpcHBlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBvYmplY3QgZm9yIFNESyByZWdpc3RyYXRpb25cbiAgICAgKi9cbiAgICBXZWJUcmFjZXJQcm92aWRlci5wcm90b3R5cGUucmVnaXN0ZXIgPSBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHZvaWQgMCkgeyBjb25maWcgPSB7fTsgfVxuICAgICAgICBpZiAoY29uZmlnLmNvbnRleHRNYW5hZ2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbmZpZy5jb250ZXh0TWFuYWdlciA9IG5ldyBTdGFja0NvbnRleHRNYW5hZ2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5jb250ZXh0TWFuYWdlcikge1xuICAgICAgICAgICAgY29uZmlnLmNvbnRleHRNYW5hZ2VyLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIF9zdXBlci5wcm90b3R5cGUucmVnaXN0ZXIuY2FsbCh0aGlzLCBjb25maWcpO1xuICAgIH07XG4gICAgcmV0dXJuIFdlYlRyYWNlclByb3ZpZGVyO1xufShCYXNpY1RyYWNlclByb3ZpZGVyKSk7XG5cbmV4cG9ydCB7IEJhc2ljVHJhY2VyUHJvdmlkZXIsIFN0YWNrQ29udGV4dE1hbmFnZXIsIFdlYlRyYWNlclByb3ZpZGVyIH07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsU0FBUyxLQUFLQSxTQUFvQjtBQUNsQyxTQUFTLEtBQUtDLFNBQTJCO0FBQ3pDLFNBQWMsS0FBTEMsR0FBNEIsS0FBTEMsR0FBMkIsS0FBTEMsR0FBOEIsS0FBTEMsR0FBK0IsS0FBTEMsR0FBMkIsS0FBTEMsR0FBNkIsR0FBeUIsS0FBTEMsR0FBNkIsS0FBTEMsR0FBNEIsS0FBTEMsR0FBK0IsS0FBTEMsR0FBZ0IsS0FBTEMsR0FBb0MsS0FBTEMsU0FBbUI7QUFDdFQsU0FBYyxLQUFMQyxHQUFrQyxLQUFMVixHQUErQixLQUFMRCxHQUFnQyxLQUFMWSxHQUF1QixLQUFMQyxHQUFrQixLQUFMQyxHQUFvQixLQUFMQyxHQUF1QyxLQUFMTixTQUEwQjtBQWlCck0sSUFBSU8sSUFBNEMsU0FBVUMsR0FBR0MsR0FBRztBQUM1RCxNQUFJQyxJQUFJLE9BQU8sVUFBVyxjQUFjRixFQUFFLE9BQU8sUUFBUTtBQUN6RCxNQUFJLENBQUNFLEVBQUcsUUFBT0Y7QUFDZixNQUFJRyxJQUFJRCxFQUFFLEtBQUtGLENBQUMsR0FBR0ksR0FBR0MsSUFBSyxDQUFDLEdBQUdkO0FBQy9CLE1BQUk7QUFDQSxZQUFRVSxNQUFNLFVBQVVBLE1BQU0sTUFBTSxFQUFFRyxJQUFJRCxFQUFFLEtBQUssR0FBRyxPQUFNLENBQUFFLEVBQUcsS0FBS0QsRUFBRSxLQUFLO0FBQUEsRUFDN0UsU0FDT0UsR0FBTztBQUFFLElBQUFmLElBQUksRUFBRSxPQUFPZSxFQUFNO0FBQUEsRUFBRyxVQUN0QztBQUNJLFFBQUk7QUFDQSxNQUFJRixLQUFLLENBQUNBLEVBQUUsU0FBU0YsSUFBSUMsRUFBRSxXQUFZRCxFQUFFLEtBQUtDLENBQUM7QUFBQSxJQUNuRCxVQUNBO0FBQVUsVUFBSVosRUFBRyxPQUFNQSxFQUFFO0FBQUEsSUFBTztB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QUFBOyIsCiAgIm5hbWVzIjogWyJST09UX0NPTlRFWFQiLCAiQmFzaWNUcmFjZXJQcm92aWRlciIsICJBIiwgImIiLCAiYSIsICJDIiwgIkYiLCAiTiIsICJSIiwgImQiLCAiUyIsICJlIiwgImMiLCAiVCIsICJQIiwgImciLCAiaCIsICJwIiwgInMiLCAiX19yZWFkIiwgIm8iLCAibiIsICJtIiwgImkiLCAiciIsICJhciIsICJlcnJvciIsICJfX3NwcmVhZEFycmF5IiwgInRvIiwgImZyb20iLCAicGFjayIsICJsIiwgIlN0YWNrQ29udGV4dE1hbmFnZXIiLCAiY29udGV4dCIsICJ0YXJnZXQiLCAibWFuYWdlciIsICJjb250ZXh0V3JhcHBlciIsICJfdGhpcyIsICJhcmdzIiwgIl9pIiwgImZuIiwgInRoaXNBcmciLCAicHJldmlvdXNDb250ZXh0IiwgIl9fZXh0ZW5kcyIsICJleHRlbmRTdGF0aWNzIiwgIl9fIiwgIldlYlRyYWNlclByb3ZpZGVyIiwgIl9zdXBlciIsICJjb25maWciXQp9Cg==