@getopenpay/openpay-js 0.3.4 → 0.3.5

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.
@@ -0,0 +1,854 @@
1
+ import { g as c } from "./_commonjsHelpers-DnMzE-71.js";
2
+ import { p as G, z as K, A as f, B as F, D as y, C as W, E as h, F as Q, G as j, H as J, I as X, J as w, K as k, L as q, M as $, N as x, O as Z, P as z, Q as EE, R as SE, T as TE, U as _E, V as AE, W as aE, X as RE, Y as eE, Z as sE, _ as NE, $ as tE, a0 as OE, a1 as rE, a2 as ME, a3 as LE, a4 as CE, a5 as UE, a6 as IE, a7 as DE, a8 as nE, a9 as PE, aa as oE, ab as cE, ac as iE, ad as VE, ae as uE, af as vE, ag as GE, ah as dE, ai as lE, aj as YE, ak as BE, al as HE, am as bE, an as pE, ao as mE, ap as gE, aq as KE, ar as fE, as as FE, at as yE, au as WE, av as hE, aw as QE, ax as jE, ay as JE, az as XE, aA as wE, aB as kE, aC as qE, aD as $E, aE as xE, aF as ZE, aG as zE, aH as ES, aI as SS, aJ as TS, aK as _S, aL as AS, aM as aS, aN as RS, aO as eS, aP as sS, aQ as NS, aR as tS, aS as OS, aT as rS, aU as MS, aV as LS, aW as CS, aX as US, aY as IS, aZ as DS, a_ as nS, a$ as PS, b0 as oS, b1 as cS, b2 as iS, b3 as VS, b4 as uS, b5 as vS, b6 as GS, b7 as dS, b8 as lS, b9 as YS, ba as BS, bb as HS, bc as bS, bd as pS, be as mS, bf as gS, bg as KS, bh as fS, bi as FS, bj as yS, bk as WS, bl as hS, bm as QS, bn as jS, bo as JS, bp as XS, bq as wS, br as kS, bs as qS, bt as $S, bu as xS, bv as ZS, bw as zS, bx as ET, by as ST, bz as TT, bA as _T, bB as AT, bC as aT, bD as RT, bE as eT, bF as sT, bG as NT, bH as tT, bI as OT, bJ as rT, bK as MT, bL as LT, bM as CT, bN as UT, bO as IT, bP as DT, bQ as nT, bR as PT, bS as oT, bT as cT, bU as iT, bV as VT, bW as uT, bX as vT, bY as GT, bZ as dT, b_ as lT, b$ as YT, c0 as BT, c1 as HT, c2 as bT, c3 as pT, c4 as mT, c5 as gT, c6 as KT, c7 as fT, c8 as FT, c9 as yT, ca as WT, cb as hT, cc as QT, cd as jT, ce as JT, cf as XT, cg as wT, ch as kT, ci as qT, cj as $T, ck as xT, cl as ZT, cm as zT, cn as E_, co as S_, cp as T_, cq as __, cr as A_, cs as a_, ct as R_, cu as e_, cv as s_, cw as N_, cx as t_, cy as O_, cz as r_, cA as M_, cB as L_, cC as C_, cD as U_, cE as I_, cF as D_, v as n_, x as P_, s as o_, cG as c_, cH as i_, cI as V_, cJ as u_, cK as v_, cL as G_, cM as d_, cN as l_, cO as Y_, cP as B_, cQ as H_, cR as b_, cS as p_, cT as m_, c as g_, f as K_, cU as f_, k as F_, S as y_, a as W_, cV as h_, d as Q_, cW as j_, b as J_, cX as X_, g as w_, e as k_, cY as q_, cZ as $_, c_ as x_, c$ as Z_, d0 as z_, d1 as EA, d2 as SA, d3 as TA, d4 as _A, d5 as AA, d6 as aA, d7 as RA, d8 as eA, d9 as sA, da as NA, db as tA, dc as OA, dd as rA, de as MA, df as LA, dg as CA, dh as UA, di as IA, dj as DA, dk as nA, dl as PA, dm as oA, dn as cA, dp as iA, dq as VA, dr as uA, ds as vA, dt as GA, du as dA, dv as lA, dw as YA, dx as BA, dy as HA, dz as bA, dA as pA, dB as mA, dC as gA, dD as KA, dE as fA, dF as FA, dG as yA, dH as WA, dI as hA } from "./url-BwiN4sTR.js";
3
+ import { c as d, t as l, a as QA, h as jA, I as JA, j as XA, P as wA, k as kA, R as qA, S as $A, f as xA, T as ZA, b as zA, i as Ea, e as Sa, d as Ta } from "./index-DUAfQijD.js";
4
+ import { m as Y, c as _a } from "./metrics-api-Qe5u_X_E.js";
5
+ import { S as Aa, e as aa } from "./index-BDf1_xy1.js";
6
+ import { d as B } from "./diag-api-Ck_l5qgD.js";
7
+ import { A as Ra, k as ea, l as sa, C as Na, m as ta, n as Oa, o as ra, p as Ma, q as La, r as Ca, s as Ua, t as Ia, u as Da, v as na, w as Pa, x as oa, y as ca, z as ia, B as Va, E as ua, F as va, G as Ga, H as da, I as la, J as Ya, K as Ba, L as Ha, M as ba, N as pa, O as ma, P as ga, Q as Ka, R as fa, U as Fa, V as ya, W as Wa, X as ha, Y as Qa, Z as ja, _ as Ja, $ as Xa, a0 as wa, a1 as ka, a2 as qa, a3 as $a, a4 as xa, a5 as Za, a6 as za, a7 as ER, a8 as SR, a9 as TR, aa as _R, ab as AR, ac as aR, ad as RR, ae as eR, af as sR, ag as NR, ah as tR, ai as OR, aj as rR, ak as MR, al as LR, am as CR, an as UR, ao as IR, ap as DR, aq as nR, ar as PR, as as oR, at as cR, au as iR, av as VR, aw as uR, ax as vR, ay as GR, az as dR, aA as lR, aB as YR, aC as BR, aD as HR, aE as bR, aF as pR, aG as mR, aH as gR, aI as KR, aJ as fR, aK as FR, aL as yR, aM as WR, aN as hR, aO as QR, aP as jR, aQ as JR, aR as XR, aS as wR, aT as kR, aU as qR, aV as $R, aW as xR, aX as ZR, aY as zR, aZ as Ee, a_ as Se, a$ as Te, b0 as _e, b1 as Ae, b2 as ae, b3 as Re, b4 as ee, b5 as se, b6 as Ne, b7 as te, f as Oe, e as re, g as Me, b8 as Le, S as Ce, b9 as Ue, ba as Ie, bb as De, a as ne, c as Pe, d as oe, bc as ce, bd as ie, be as Ve, bf as ue, bg as ve, bh as Ge, bi as de, bj as le, bk as Ye, bl as Be, bm as He, bn as be, bo as pe, bp as me, bq as ge } from "./sdk-info-SNq483aR.js";
8
+ function Ke(S, E) {
9
+ for (var T = 0; T < E.length; T++) {
10
+ const _ = E[T];
11
+ if (typeof _ != "string" && !Array.isArray(_)) {
12
+ for (const A in _)
13
+ if (A !== "default" && !(A in S)) {
14
+ const a = Object.getOwnPropertyDescriptor(_, A);
15
+ a && Object.defineProperty(S, A, a.get ? a : {
16
+ enumerable: !0,
17
+ get: () => _[A]
18
+ });
19
+ }
20
+ }
21
+ }
22
+ return Object.freeze(Object.defineProperty(S, Symbol.toStringTag, { value: "Module" }));
23
+ }
24
+ var D = [
25
+ { n: "error", c: "error" },
26
+ { n: "warn", c: "warn" },
27
+ { n: "info", c: "info" },
28
+ { n: "debug", c: "debug" },
29
+ { n: "verbose", c: "trace" }
30
+ ], fe = (
31
+ /** @class */
32
+ /* @__PURE__ */ function() {
33
+ function S() {
34
+ function E(_) {
35
+ return function() {
36
+ for (var A = [], a = 0; a < arguments.length; a++)
37
+ A[a] = arguments[a];
38
+ if (console) {
39
+ var R = console[_];
40
+ if (typeof R != "function" && (R = console.log), typeof R == "function")
41
+ return R.apply(console, A);
42
+ }
43
+ };
44
+ }
45
+ for (var T = 0; T < D.length; T++)
46
+ this[D[T].n] = E(D[T].c);
47
+ }
48
+ return S;
49
+ }()
50
+ ), P;
51
+ (function(S) {
52
+ S[S.INT = 0] = "INT", S[S.DOUBLE = 1] = "DOUBLE";
53
+ })(P || (P = {}));
54
+ var o = "[_0-9a-z-*/]", Fe = "[a-z]" + o + "{0,255}", ye = "[a-z0-9]" + o + "{0,240}@[a-z]" + o + "{0,13}", We = new RegExp("^(?:" + Fe + "|" + ye + ")$"), he = /^[ -~]{0,255}[!-~]$/, Qe = /,|=/;
55
+ function je(S) {
56
+ return We.test(S);
57
+ }
58
+ function Je(S) {
59
+ return he.test(S) && !Qe.test(S);
60
+ }
61
+ var i = 32, Xe = 512, V = ",", u = "=", we = (
62
+ /** @class */
63
+ function() {
64
+ function S(E) {
65
+ this._internalState = /* @__PURE__ */ new Map(), E && this._parse(E);
66
+ }
67
+ return S.prototype.set = function(E, T) {
68
+ var _ = this._clone();
69
+ return _._internalState.has(E) && _._internalState.delete(E), _._internalState.set(E, T), _;
70
+ }, S.prototype.unset = function(E) {
71
+ var T = this._clone();
72
+ return T._internalState.delete(E), T;
73
+ }, S.prototype.get = function(E) {
74
+ return this._internalState.get(E);
75
+ }, S.prototype.serialize = function() {
76
+ var E = this;
77
+ return this._keys().reduce(function(T, _) {
78
+ return T.push(_ + u + E.get(_)), T;
79
+ }, []).join(V);
80
+ }, S.prototype._parse = function(E) {
81
+ E.length > Xe || (this._internalState = E.split(V).reverse().reduce(function(T, _) {
82
+ var A = _.trim(), a = A.indexOf(u);
83
+ if (a !== -1) {
84
+ var R = A.slice(0, a), e = A.slice(a + 1, _.length);
85
+ je(R) && Je(e) && T.set(R, e);
86
+ }
87
+ return T;
88
+ }, /* @__PURE__ */ new Map()), this._internalState.size > i && (this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, i))));
89
+ }, S.prototype._keys = function() {
90
+ return Array.from(this._internalState.keys()).reverse();
91
+ }, S.prototype._clone = function() {
92
+ var E = new S();
93
+ return E._internalState = new Map(this._internalState), E;
94
+ }, S;
95
+ }()
96
+ );
97
+ function ke(S) {
98
+ return new we(S);
99
+ }
100
+ const qe = {
101
+ context: d,
102
+ diag: B,
103
+ metrics: Y,
104
+ propagation: G,
105
+ trace: l
106
+ }, $e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
107
+ __proto__: null,
108
+ DiagConsoleLogger: fe,
109
+ get DiagLogLevel() {
110
+ return QA;
111
+ },
112
+ INVALID_SPANID: jA,
113
+ INVALID_SPAN_CONTEXT: JA,
114
+ INVALID_TRACEID: XA,
115
+ ProxyTracer: wA,
116
+ ProxyTracerProvider: kA,
117
+ ROOT_CONTEXT: qA,
118
+ get SamplingDecision() {
119
+ return Aa;
120
+ },
121
+ get SpanKind() {
122
+ return $A;
123
+ },
124
+ get SpanStatusCode() {
125
+ return xA;
126
+ },
127
+ get TraceFlags() {
128
+ return ZA;
129
+ },
130
+ get ValueType() {
131
+ return P;
132
+ },
133
+ baggageEntryMetadataFromString: K,
134
+ context: d,
135
+ createContextKey: zA,
136
+ createNoopMeter: _a,
137
+ createTraceState: ke,
138
+ default: qe,
139
+ defaultTextMapGetter: f,
140
+ defaultTextMapSetter: F,
141
+ diag: B,
142
+ isSpanContextValid: Ea,
143
+ isValidSpanId: Sa,
144
+ isValidTraceId: Ta,
145
+ metrics: Y,
146
+ propagation: G,
147
+ trace: l
148
+ }, Symbol.toStringTag, { value: "Module" }));
149
+ var xe = "aspnetcore.rate_limiting.result", Ze = "acquired", ze = "endpoint_limiter", Es = "global_limiter", Ss = "request_canceled", Ts = "telemetry.sdk.language", _s = "cpp", As = "dotnet", as = "erlang", Rs = "go", es = "java", ss = "nodejs", Ns = "php", ts = "python", Os = "ruby", rs = "rust", Ms = "swift", Ls = "webjs", Cs = "telemetry.sdk.name", Us = "telemetry.sdk.version", Is = "aspnetcore.diagnostics.handler.type", Ds = "aspnetcore.diagnostics.exception.result", ns = "aborted", Ps = "handled", os = "skipped", cs = "unhandled", is = "aspnetcore.rate_limiting.policy", Vs = "aspnetcore.request.is_unhandled", us = "aspnetcore.routing.is_fallback", vs = "aspnetcore.routing.match_status", Gs = "failure", ds = "success", ls = "client.address", Ys = "client.port", Bs = "error.type", Hs = "_OTHER", bs = "exception.escaped", ps = "exception.message", ms = "exception.stacktrace", gs = "exception.type", Ks = function(S) {
150
+ return "http.request.header." + S;
151
+ }, fs = "http.request.method", Fs = "_OTHER", ys = "CONNECT", Ws = "DELETE", hs = "GET", Qs = "HEAD", js = "OPTIONS", Js = "PATCH", Xs = "POST", ws = "PUT", ks = "TRACE", qs = "http.request.method_original", $s = "http.request.resend_count", xs = function(S) {
152
+ return "http.response.header." + S;
153
+ }, Zs = "http.response.status_code", zs = "http.route", EN = "jvm.gc.action", SN = "jvm.gc.name", TN = "jvm.memory.pool.name", _N = "jvm.memory.type", AN = "heap", aN = "non_heap", RN = "jvm.thread.daemon", eN = "jvm.thread.state", sN = "blocked", NN = "new", tN = "runnable", ON = "terminated", rN = "timed_waiting", MN = "waiting", LN = "network.local.address", CN = "network.local.port", UN = "network.peer.address", IN = "network.peer.port", DN = "network.protocol.name", nN = "network.protocol.version", PN = "network.transport", oN = "pipe", cN = "quic", iN = "tcp", VN = "udp", uN = "unix", vN = "network.type", GN = "ipv4", dN = "ipv6", lN = "otel.scope.name", YN = "otel.scope.version", BN = "otel.status_code", HN = "ERROR", bN = "OK", pN = "otel.status_description", mN = "server.address", gN = "server.port", KN = "service.name", fN = "service.version", FN = "signalr.connection.status", yN = "app_shutdown", WN = "normal_closure", hN = "timeout", QN = "signalr.transport", jN = "long_polling", JN = "server_sent_events", XN = "web_sockets", wN = "url.fragment", kN = "url.full", qN = "url.path", $N = "url.query", xN = "url.scheme", ZN = "user_agent.original", zN = "aspnetcore.diagnostics.exceptions", Et = "aspnetcore.rate_limiting.active_request_leases", St = "aspnetcore.rate_limiting.queued_requests", Tt = "aspnetcore.rate_limiting.request.time_in_queue", _t = "aspnetcore.rate_limiting.request_lease.duration", At = "aspnetcore.rate_limiting.requests", at = "aspnetcore.routing.match_attempts", Rt = "http.client.request.duration", et = "http.server.request.duration", st = "jvm.class.count", Nt = "jvm.class.loaded", tt = "jvm.class.unloaded", Ot = "jvm.cpu.count", rt = "jvm.cpu.recent_utilization", Mt = "jvm.cpu.time", Lt = "jvm.gc.duration", Ct = "jvm.memory.committed", Ut = "jvm.memory.limit", It = "jvm.memory.used", Dt = "jvm.memory.used_after_last_gc", nt = "jvm.thread.count", Pt = "kestrel.active_connections", ot = "kestrel.active_tls_handshakes", ct = "kestrel.connection.duration", it = "kestrel.queued_connections", Vt = "kestrel.queued_requests", ut = "kestrel.rejected_connections", vt = "kestrel.tls_handshake.duration", Gt = "kestrel.upgraded_connections", dt = "signalr.server.active_connections", lt = "signalr.server.connection.duration";
154
+ const Yt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
155
+ __proto__: null,
156
+ ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED: ns,
157
+ ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED: Ps,
158
+ ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED: os,
159
+ ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED: cs,
160
+ ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED: Ze,
161
+ ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER: ze,
162
+ ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER: Es,
163
+ ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED: Ss,
164
+ ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE: Gs,
165
+ ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS: ds,
166
+ ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT: Ds,
167
+ ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE: Is,
168
+ ATTR_ASPNETCORE_RATE_LIMITING_POLICY: is,
169
+ ATTR_ASPNETCORE_RATE_LIMITING_RESULT: xe,
170
+ ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED: Vs,
171
+ ATTR_ASPNETCORE_ROUTING_IS_FALLBACK: us,
172
+ ATTR_ASPNETCORE_ROUTING_MATCH_STATUS: vs,
173
+ ATTR_CLIENT_ADDRESS: ls,
174
+ ATTR_CLIENT_PORT: Ys,
175
+ ATTR_ERROR_TYPE: Bs,
176
+ ATTR_EXCEPTION_ESCAPED: bs,
177
+ ATTR_EXCEPTION_MESSAGE: ps,
178
+ ATTR_EXCEPTION_STACKTRACE: ms,
179
+ ATTR_EXCEPTION_TYPE: gs,
180
+ ATTR_HTTP_REQUEST_HEADER: Ks,
181
+ ATTR_HTTP_REQUEST_METHOD: fs,
182
+ ATTR_HTTP_REQUEST_METHOD_ORIGINAL: qs,
183
+ ATTR_HTTP_REQUEST_RESEND_COUNT: $s,
184
+ ATTR_HTTP_RESPONSE_HEADER: xs,
185
+ ATTR_HTTP_RESPONSE_STATUS_CODE: Zs,
186
+ ATTR_HTTP_ROUTE: zs,
187
+ ATTR_JVM_GC_ACTION: EN,
188
+ ATTR_JVM_GC_NAME: SN,
189
+ ATTR_JVM_MEMORY_POOL_NAME: TN,
190
+ ATTR_JVM_MEMORY_TYPE: _N,
191
+ ATTR_JVM_THREAD_DAEMON: RN,
192
+ ATTR_JVM_THREAD_STATE: eN,
193
+ ATTR_NETWORK_LOCAL_ADDRESS: LN,
194
+ ATTR_NETWORK_LOCAL_PORT: CN,
195
+ ATTR_NETWORK_PEER_ADDRESS: UN,
196
+ ATTR_NETWORK_PEER_PORT: IN,
197
+ ATTR_NETWORK_PROTOCOL_NAME: DN,
198
+ ATTR_NETWORK_PROTOCOL_VERSION: nN,
199
+ ATTR_NETWORK_TRANSPORT: PN,
200
+ ATTR_NETWORK_TYPE: vN,
201
+ ATTR_OTEL_SCOPE_NAME: lN,
202
+ ATTR_OTEL_SCOPE_VERSION: YN,
203
+ ATTR_OTEL_STATUS_CODE: BN,
204
+ ATTR_OTEL_STATUS_DESCRIPTION: pN,
205
+ ATTR_SERVER_ADDRESS: mN,
206
+ ATTR_SERVER_PORT: gN,
207
+ ATTR_SERVICE_NAME: KN,
208
+ ATTR_SERVICE_VERSION: fN,
209
+ ATTR_SIGNALR_CONNECTION_STATUS: FN,
210
+ ATTR_SIGNALR_TRANSPORT: QN,
211
+ ATTR_TELEMETRY_SDK_LANGUAGE: Ts,
212
+ ATTR_TELEMETRY_SDK_NAME: Cs,
213
+ ATTR_TELEMETRY_SDK_VERSION: Us,
214
+ ATTR_URL_FRAGMENT: wN,
215
+ ATTR_URL_FULL: kN,
216
+ ATTR_URL_PATH: qN,
217
+ ATTR_URL_QUERY: $N,
218
+ ATTR_URL_SCHEME: xN,
219
+ ATTR_USER_AGENT_ORIGINAL: ZN,
220
+ AWSECSLAUNCHTYPEVALUES_EC2: Ra,
221
+ AWSECSLAUNCHTYPEVALUES_FARGATE: ea,
222
+ AwsEcsLaunchtypeValues: sa,
223
+ CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS: Na,
224
+ CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC: ta,
225
+ CLOUDPLATFORMVALUES_AWS_EC2: Oa,
226
+ CLOUDPLATFORMVALUES_AWS_ECS: ra,
227
+ CLOUDPLATFORMVALUES_AWS_EKS: Ma,
228
+ CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK: La,
229
+ CLOUDPLATFORMVALUES_AWS_LAMBDA: Ca,
230
+ CLOUDPLATFORMVALUES_AZURE_AKS: Ua,
231
+ CLOUDPLATFORMVALUES_AZURE_APP_SERVICE: Ia,
232
+ CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES: Da,
233
+ CLOUDPLATFORMVALUES_AZURE_FUNCTIONS: na,
234
+ CLOUDPLATFORMVALUES_AZURE_VM: Pa,
235
+ CLOUDPLATFORMVALUES_GCP_APP_ENGINE: oa,
236
+ CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS: ca,
237
+ CLOUDPLATFORMVALUES_GCP_CLOUD_RUN: ia,
238
+ CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE: Va,
239
+ CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE: ua,
240
+ CLOUDPROVIDERVALUES_ALIBABA_CLOUD: va,
241
+ CLOUDPROVIDERVALUES_AWS: Ga,
242
+ CLOUDPROVIDERVALUES_AZURE: da,
243
+ CLOUDPROVIDERVALUES_GCP: la,
244
+ CloudPlatformValues: Ya,
245
+ CloudProviderValues: Ba,
246
+ DBCASSANDRACONSISTENCYLEVELVALUES_ALL: y,
247
+ DBCASSANDRACONSISTENCYLEVELVALUES_ANY: W,
248
+ DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM: h,
249
+ DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE: Q,
250
+ DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM: j,
251
+ DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL: J,
252
+ DBCASSANDRACONSISTENCYLEVELVALUES_ONE: X,
253
+ DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM: w,
254
+ DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL: k,
255
+ DBCASSANDRACONSISTENCYLEVELVALUES_THREE: q,
256
+ DBCASSANDRACONSISTENCYLEVELVALUES_TWO: $,
257
+ DBSYSTEMVALUES_ADABAS: x,
258
+ DBSYSTEMVALUES_CACHE: Z,
259
+ DBSYSTEMVALUES_CASSANDRA: z,
260
+ DBSYSTEMVALUES_CLOUDSCAPE: EE,
261
+ DBSYSTEMVALUES_COCKROACHDB: SE,
262
+ DBSYSTEMVALUES_COLDFUSION: TE,
263
+ DBSYSTEMVALUES_COSMOSDB: _E,
264
+ DBSYSTEMVALUES_COUCHBASE: AE,
265
+ DBSYSTEMVALUES_COUCHDB: aE,
266
+ DBSYSTEMVALUES_DB2: RE,
267
+ DBSYSTEMVALUES_DERBY: eE,
268
+ DBSYSTEMVALUES_DYNAMODB: sE,
269
+ DBSYSTEMVALUES_EDB: NE,
270
+ DBSYSTEMVALUES_ELASTICSEARCH: tE,
271
+ DBSYSTEMVALUES_FILEMAKER: OE,
272
+ DBSYSTEMVALUES_FIREBIRD: rE,
273
+ DBSYSTEMVALUES_FIRSTSQL: ME,
274
+ DBSYSTEMVALUES_GEODE: LE,
275
+ DBSYSTEMVALUES_H2: CE,
276
+ DBSYSTEMVALUES_HANADB: UE,
277
+ DBSYSTEMVALUES_HBASE: IE,
278
+ DBSYSTEMVALUES_HIVE: DE,
279
+ DBSYSTEMVALUES_HSQLDB: nE,
280
+ DBSYSTEMVALUES_INFORMIX: PE,
281
+ DBSYSTEMVALUES_INGRES: oE,
282
+ DBSYSTEMVALUES_INSTANTDB: cE,
283
+ DBSYSTEMVALUES_INTERBASE: iE,
284
+ DBSYSTEMVALUES_MARIADB: VE,
285
+ DBSYSTEMVALUES_MAXDB: uE,
286
+ DBSYSTEMVALUES_MEMCACHED: vE,
287
+ DBSYSTEMVALUES_MONGODB: GE,
288
+ DBSYSTEMVALUES_MSSQL: dE,
289
+ DBSYSTEMVALUES_MYSQL: lE,
290
+ DBSYSTEMVALUES_NEO4J: YE,
291
+ DBSYSTEMVALUES_NETEZZA: BE,
292
+ DBSYSTEMVALUES_ORACLE: HE,
293
+ DBSYSTEMVALUES_OTHER_SQL: bE,
294
+ DBSYSTEMVALUES_PERVASIVE: pE,
295
+ DBSYSTEMVALUES_POINTBASE: mE,
296
+ DBSYSTEMVALUES_POSTGRESQL: gE,
297
+ DBSYSTEMVALUES_PROGRESS: KE,
298
+ DBSYSTEMVALUES_REDIS: fE,
299
+ DBSYSTEMVALUES_REDSHIFT: FE,
300
+ DBSYSTEMVALUES_SQLITE: yE,
301
+ DBSYSTEMVALUES_SYBASE: WE,
302
+ DBSYSTEMVALUES_TERADATA: hE,
303
+ DBSYSTEMVALUES_VERTICA: QE,
304
+ DbCassandraConsistencyLevelValues: jE,
305
+ DbSystemValues: JE,
306
+ ERROR_TYPE_VALUE_OTHER: Hs,
307
+ FAASDOCUMENTOPERATIONVALUES_DELETE: XE,
308
+ FAASDOCUMENTOPERATIONVALUES_EDIT: wE,
309
+ FAASDOCUMENTOPERATIONVALUES_INSERT: kE,
310
+ FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD: qE,
311
+ FAASINVOKEDPROVIDERVALUES_AWS: $E,
312
+ FAASINVOKEDPROVIDERVALUES_AZURE: xE,
313
+ FAASINVOKEDPROVIDERVALUES_GCP: ZE,
314
+ FAASTRIGGERVALUES_DATASOURCE: zE,
315
+ FAASTRIGGERVALUES_HTTP: ES,
316
+ FAASTRIGGERVALUES_OTHER: SS,
317
+ FAASTRIGGERVALUES_PUBSUB: TS,
318
+ FAASTRIGGERVALUES_TIMER: _S,
319
+ FaasDocumentOperationValues: AS,
320
+ FaasInvokedProviderValues: aS,
321
+ FaasTriggerValues: RS,
322
+ HOSTARCHVALUES_AMD64: Ha,
323
+ HOSTARCHVALUES_ARM32: ba,
324
+ HOSTARCHVALUES_ARM64: pa,
325
+ HOSTARCHVALUES_IA64: ma,
326
+ HOSTARCHVALUES_PPC32: ga,
327
+ HOSTARCHVALUES_PPC64: Ka,
328
+ HOSTARCHVALUES_X86: fa,
329
+ HTTPFLAVORVALUES_HTTP_1_0: eS,
330
+ HTTPFLAVORVALUES_HTTP_1_1: sS,
331
+ HTTPFLAVORVALUES_HTTP_2_0: NS,
332
+ HTTPFLAVORVALUES_QUIC: tS,
333
+ HTTPFLAVORVALUES_SPDY: OS,
334
+ HTTP_REQUEST_METHOD_VALUE_CONNECT: ys,
335
+ HTTP_REQUEST_METHOD_VALUE_DELETE: Ws,
336
+ HTTP_REQUEST_METHOD_VALUE_GET: hs,
337
+ HTTP_REQUEST_METHOD_VALUE_HEAD: Qs,
338
+ HTTP_REQUEST_METHOD_VALUE_OPTIONS: js,
339
+ HTTP_REQUEST_METHOD_VALUE_OTHER: Fs,
340
+ HTTP_REQUEST_METHOD_VALUE_PATCH: Js,
341
+ HTTP_REQUEST_METHOD_VALUE_POST: Xs,
342
+ HTTP_REQUEST_METHOD_VALUE_PUT: ws,
343
+ HTTP_REQUEST_METHOD_VALUE_TRACE: ks,
344
+ HostArchValues: Fa,
345
+ HttpFlavorValues: rS,
346
+ JVM_MEMORY_TYPE_VALUE_HEAP: AN,
347
+ JVM_MEMORY_TYPE_VALUE_NON_HEAP: aN,
348
+ JVM_THREAD_STATE_VALUE_BLOCKED: sN,
349
+ JVM_THREAD_STATE_VALUE_NEW: NN,
350
+ JVM_THREAD_STATE_VALUE_RUNNABLE: tN,
351
+ JVM_THREAD_STATE_VALUE_TERMINATED: ON,
352
+ JVM_THREAD_STATE_VALUE_TIMED_WAITING: rN,
353
+ JVM_THREAD_STATE_VALUE_WAITING: MN,
354
+ MESSAGETYPEVALUES_RECEIVED: MS,
355
+ MESSAGETYPEVALUES_SENT: LS,
356
+ MESSAGINGDESTINATIONKINDVALUES_QUEUE: CS,
357
+ MESSAGINGDESTINATIONKINDVALUES_TOPIC: US,
358
+ MESSAGINGOPERATIONVALUES_PROCESS: IS,
359
+ MESSAGINGOPERATIONVALUES_RECEIVE: DS,
360
+ METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS: zN,
361
+ METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES: Et,
362
+ METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS: St,
363
+ METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS: At,
364
+ METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION: _t,
365
+ METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE: Tt,
366
+ METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS: at,
367
+ METRIC_HTTP_CLIENT_REQUEST_DURATION: Rt,
368
+ METRIC_HTTP_SERVER_REQUEST_DURATION: et,
369
+ METRIC_JVM_CLASS_COUNT: st,
370
+ METRIC_JVM_CLASS_LOADED: Nt,
371
+ METRIC_JVM_CLASS_UNLOADED: tt,
372
+ METRIC_JVM_CPU_COUNT: Ot,
373
+ METRIC_JVM_CPU_RECENT_UTILIZATION: rt,
374
+ METRIC_JVM_CPU_TIME: Mt,
375
+ METRIC_JVM_GC_DURATION: Lt,
376
+ METRIC_JVM_MEMORY_COMMITTED: Ct,
377
+ METRIC_JVM_MEMORY_LIMIT: Ut,
378
+ METRIC_JVM_MEMORY_USED: It,
379
+ METRIC_JVM_MEMORY_USED_AFTER_LAST_GC: Dt,
380
+ METRIC_JVM_THREAD_COUNT: nt,
381
+ METRIC_KESTREL_ACTIVE_CONNECTIONS: Pt,
382
+ METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES: ot,
383
+ METRIC_KESTREL_CONNECTION_DURATION: ct,
384
+ METRIC_KESTREL_QUEUED_CONNECTIONS: it,
385
+ METRIC_KESTREL_QUEUED_REQUESTS: Vt,
386
+ METRIC_KESTREL_REJECTED_CONNECTIONS: ut,
387
+ METRIC_KESTREL_TLS_HANDSHAKE_DURATION: vt,
388
+ METRIC_KESTREL_UPGRADED_CONNECTIONS: Gt,
389
+ METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS: dt,
390
+ METRIC_SIGNALR_SERVER_CONNECTION_DURATION: lt,
391
+ MessageTypeValues: nS,
392
+ MessagingDestinationKindValues: PS,
393
+ MessagingOperationValues: oS,
394
+ NETHOSTCONNECTIONSUBTYPEVALUES_CDMA: cS,
395
+ NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT: iS,
396
+ NETHOSTCONNECTIONSUBTYPEVALUES_EDGE: VS,
397
+ NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD: uS,
398
+ NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0: vS,
399
+ NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A: GS,
400
+ NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B: dS,
401
+ NETHOSTCONNECTIONSUBTYPEVALUES_GPRS: lS,
402
+ NETHOSTCONNECTIONSUBTYPEVALUES_GSM: YS,
403
+ NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA: BS,
404
+ NETHOSTCONNECTIONSUBTYPEVALUES_HSPA: HS,
405
+ NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP: bS,
406
+ NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA: pS,
407
+ NETHOSTCONNECTIONSUBTYPEVALUES_IDEN: mS,
408
+ NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN: gS,
409
+ NETHOSTCONNECTIONSUBTYPEVALUES_LTE: KS,
410
+ NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA: fS,
411
+ NETHOSTCONNECTIONSUBTYPEVALUES_NR: FS,
412
+ NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA: yS,
413
+ NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA: WS,
414
+ NETHOSTCONNECTIONSUBTYPEVALUES_UMTS: hS,
415
+ NETHOSTCONNECTIONTYPEVALUES_CELL: QS,
416
+ NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE: jS,
417
+ NETHOSTCONNECTIONTYPEVALUES_UNKNOWN: JS,
418
+ NETHOSTCONNECTIONTYPEVALUES_WIFI: XS,
419
+ NETHOSTCONNECTIONTYPEVALUES_WIRED: wS,
420
+ NETTRANSPORTVALUES_INPROC: kS,
421
+ NETTRANSPORTVALUES_IP: qS,
422
+ NETTRANSPORTVALUES_IP_TCP: $S,
423
+ NETTRANSPORTVALUES_IP_UDP: xS,
424
+ NETTRANSPORTVALUES_OTHER: ZS,
425
+ NETTRANSPORTVALUES_PIPE: zS,
426
+ NETTRANSPORTVALUES_UNIX: ET,
427
+ NETWORK_TRANSPORT_VALUE_PIPE: oN,
428
+ NETWORK_TRANSPORT_VALUE_QUIC: cN,
429
+ NETWORK_TRANSPORT_VALUE_TCP: iN,
430
+ NETWORK_TRANSPORT_VALUE_UDP: VN,
431
+ NETWORK_TRANSPORT_VALUE_UNIX: uN,
432
+ NETWORK_TYPE_VALUE_IPV4: GN,
433
+ NETWORK_TYPE_VALUE_IPV6: dN,
434
+ NetHostConnectionSubtypeValues: ST,
435
+ NetHostConnectionTypeValues: TT,
436
+ NetTransportValues: _T,
437
+ OSTYPEVALUES_AIX: ya,
438
+ OSTYPEVALUES_DARWIN: Wa,
439
+ OSTYPEVALUES_DRAGONFLYBSD: ha,
440
+ OSTYPEVALUES_FREEBSD: Qa,
441
+ OSTYPEVALUES_HPUX: ja,
442
+ OSTYPEVALUES_LINUX: Ja,
443
+ OSTYPEVALUES_NETBSD: Xa,
444
+ OSTYPEVALUES_OPENBSD: wa,
445
+ OSTYPEVALUES_SOLARIS: ka,
446
+ OSTYPEVALUES_WINDOWS: qa,
447
+ OSTYPEVALUES_Z_OS: $a,
448
+ OTEL_STATUS_CODE_VALUE_ERROR: HN,
449
+ OTEL_STATUS_CODE_VALUE_OK: bN,
450
+ OsTypeValues: xa,
451
+ RPCGRPCSTATUSCODEVALUES_ABORTED: AT,
452
+ RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS: aT,
453
+ RPCGRPCSTATUSCODEVALUES_CANCELLED: RT,
454
+ RPCGRPCSTATUSCODEVALUES_DATA_LOSS: eT,
455
+ RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED: sT,
456
+ RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION: NT,
457
+ RPCGRPCSTATUSCODEVALUES_INTERNAL: tT,
458
+ RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT: OT,
459
+ RPCGRPCSTATUSCODEVALUES_NOT_FOUND: rT,
460
+ RPCGRPCSTATUSCODEVALUES_OK: MT,
461
+ RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE: LT,
462
+ RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED: CT,
463
+ RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED: UT,
464
+ RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED: IT,
465
+ RPCGRPCSTATUSCODEVALUES_UNAVAILABLE: DT,
466
+ RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED: nT,
467
+ RPCGRPCSTATUSCODEVALUES_UNKNOWN: PT,
468
+ RpcGrpcStatusCodeValues: oT,
469
+ SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET: cT,
470
+ SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: iT,
471
+ SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ: VT,
472
+ SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY: uT,
473
+ SEMATTRS_AWS_DYNAMODB_COUNT: vT,
474
+ SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE: GT,
475
+ SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: dT,
476
+ SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: lT,
477
+ SEMATTRS_AWS_DYNAMODB_INDEX_NAME: YT,
478
+ SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS: BT,
479
+ SEMATTRS_AWS_DYNAMODB_LIMIT: HT,
480
+ SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: bT,
481
+ SEMATTRS_AWS_DYNAMODB_PROJECTION: pT,
482
+ SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: mT,
483
+ SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: gT,
484
+ SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT: KT,
485
+ SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD: fT,
486
+ SEMATTRS_AWS_DYNAMODB_SEGMENT: FT,
487
+ SEMATTRS_AWS_DYNAMODB_SELECT: yT,
488
+ SEMATTRS_AWS_DYNAMODB_TABLE_COUNT: WT,
489
+ SEMATTRS_AWS_DYNAMODB_TABLE_NAMES: hT,
490
+ SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS: QT,
491
+ SEMATTRS_AWS_LAMBDA_INVOKED_ARN: jT,
492
+ SEMATTRS_CODE_FILEPATH: JT,
493
+ SEMATTRS_CODE_FUNCTION: XT,
494
+ SEMATTRS_CODE_LINENO: wT,
495
+ SEMATTRS_CODE_NAMESPACE: kT,
496
+ SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL: qT,
497
+ SEMATTRS_DB_CASSANDRA_COORDINATOR_DC: $T,
498
+ SEMATTRS_DB_CASSANDRA_COORDINATOR_ID: xT,
499
+ SEMATTRS_DB_CASSANDRA_IDEMPOTENCE: ZT,
500
+ SEMATTRS_DB_CASSANDRA_KEYSPACE: zT,
501
+ SEMATTRS_DB_CASSANDRA_PAGE_SIZE: E_,
502
+ SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: S_,
503
+ SEMATTRS_DB_CASSANDRA_TABLE: T_,
504
+ SEMATTRS_DB_CONNECTION_STRING: __,
505
+ SEMATTRS_DB_HBASE_NAMESPACE: A_,
506
+ SEMATTRS_DB_JDBC_DRIVER_CLASSNAME: a_,
507
+ SEMATTRS_DB_MONGODB_COLLECTION: R_,
508
+ SEMATTRS_DB_MSSQL_INSTANCE_NAME: e_,
509
+ SEMATTRS_DB_NAME: s_,
510
+ SEMATTRS_DB_OPERATION: N_,
511
+ SEMATTRS_DB_REDIS_DATABASE_INDEX: t_,
512
+ SEMATTRS_DB_SQL_TABLE: O_,
513
+ SEMATTRS_DB_STATEMENT: r_,
514
+ SEMATTRS_DB_SYSTEM: M_,
515
+ SEMATTRS_DB_USER: L_,
516
+ SEMATTRS_ENDUSER_ID: C_,
517
+ SEMATTRS_ENDUSER_ROLE: U_,
518
+ SEMATTRS_ENDUSER_SCOPE: I_,
519
+ SEMATTRS_EXCEPTION_ESCAPED: D_,
520
+ SEMATTRS_EXCEPTION_MESSAGE: n_,
521
+ SEMATTRS_EXCEPTION_STACKTRACE: P_,
522
+ SEMATTRS_EXCEPTION_TYPE: o_,
523
+ SEMATTRS_FAAS_COLDSTART: c_,
524
+ SEMATTRS_FAAS_CRON: i_,
525
+ SEMATTRS_FAAS_DOCUMENT_COLLECTION: V_,
526
+ SEMATTRS_FAAS_DOCUMENT_NAME: u_,
527
+ SEMATTRS_FAAS_DOCUMENT_OPERATION: v_,
528
+ SEMATTRS_FAAS_DOCUMENT_TIME: G_,
529
+ SEMATTRS_FAAS_EXECUTION: d_,
530
+ SEMATTRS_FAAS_INVOKED_NAME: l_,
531
+ SEMATTRS_FAAS_INVOKED_PROVIDER: Y_,
532
+ SEMATTRS_FAAS_INVOKED_REGION: B_,
533
+ SEMATTRS_FAAS_TIME: H_,
534
+ SEMATTRS_FAAS_TRIGGER: b_,
535
+ SEMATTRS_HTTP_CLIENT_IP: p_,
536
+ SEMATTRS_HTTP_FLAVOR: m_,
537
+ SEMATTRS_HTTP_HOST: g_,
538
+ SEMATTRS_HTTP_METHOD: K_,
539
+ SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH: f_,
540
+ SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: F_,
541
+ SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH: y_,
542
+ SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: W_,
543
+ SEMATTRS_HTTP_ROUTE: h_,
544
+ SEMATTRS_HTTP_SCHEME: Q_,
545
+ SEMATTRS_HTTP_SERVER_NAME: j_,
546
+ SEMATTRS_HTTP_STATUS_CODE: J_,
547
+ SEMATTRS_HTTP_TARGET: X_,
548
+ SEMATTRS_HTTP_URL: w_,
549
+ SEMATTRS_HTTP_USER_AGENT: k_,
550
+ SEMATTRS_MESSAGE_COMPRESSED_SIZE: q_,
551
+ SEMATTRS_MESSAGE_ID: $_,
552
+ SEMATTRS_MESSAGE_TYPE: x_,
553
+ SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE: Z_,
554
+ SEMATTRS_MESSAGING_CONSUMER_ID: z_,
555
+ SEMATTRS_MESSAGING_CONVERSATION_ID: EA,
556
+ SEMATTRS_MESSAGING_DESTINATION: SA,
557
+ SEMATTRS_MESSAGING_DESTINATION_KIND: TA,
558
+ SEMATTRS_MESSAGING_KAFKA_CLIENT_ID: _A,
559
+ SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP: AA,
560
+ SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY: aA,
561
+ SEMATTRS_MESSAGING_KAFKA_PARTITION: RA,
562
+ SEMATTRS_MESSAGING_KAFKA_TOMBSTONE: eA,
563
+ SEMATTRS_MESSAGING_MESSAGE_ID: sA,
564
+ SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES: NA,
565
+ SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES: tA,
566
+ SEMATTRS_MESSAGING_OPERATION: OA,
567
+ SEMATTRS_MESSAGING_PROTOCOL: rA,
568
+ SEMATTRS_MESSAGING_PROTOCOL_VERSION: MA,
569
+ SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY: LA,
570
+ SEMATTRS_MESSAGING_SYSTEM: CA,
571
+ SEMATTRS_MESSAGING_TEMP_DESTINATION: UA,
572
+ SEMATTRS_MESSAGING_URL: IA,
573
+ SEMATTRS_NET_HOST_CARRIER_ICC: DA,
574
+ SEMATTRS_NET_HOST_CARRIER_MCC: nA,
575
+ SEMATTRS_NET_HOST_CARRIER_MNC: PA,
576
+ SEMATTRS_NET_HOST_CARRIER_NAME: oA,
577
+ SEMATTRS_NET_HOST_CONNECTION_SUBTYPE: cA,
578
+ SEMATTRS_NET_HOST_CONNECTION_TYPE: iA,
579
+ SEMATTRS_NET_HOST_IP: VA,
580
+ SEMATTRS_NET_HOST_NAME: uA,
581
+ SEMATTRS_NET_HOST_PORT: vA,
582
+ SEMATTRS_NET_PEER_IP: GA,
583
+ SEMATTRS_NET_PEER_NAME: dA,
584
+ SEMATTRS_NET_PEER_PORT: lA,
585
+ SEMATTRS_NET_TRANSPORT: YA,
586
+ SEMATTRS_PEER_SERVICE: BA,
587
+ SEMATTRS_RPC_GRPC_STATUS_CODE: HA,
588
+ SEMATTRS_RPC_JSONRPC_ERROR_CODE: bA,
589
+ SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE: pA,
590
+ SEMATTRS_RPC_JSONRPC_REQUEST_ID: mA,
591
+ SEMATTRS_RPC_JSONRPC_VERSION: gA,
592
+ SEMATTRS_RPC_METHOD: KA,
593
+ SEMATTRS_RPC_SERVICE: fA,
594
+ SEMATTRS_RPC_SYSTEM: FA,
595
+ SEMATTRS_THREAD_ID: yA,
596
+ SEMATTRS_THREAD_NAME: WA,
597
+ SEMRESATTRS_AWS_ECS_CLUSTER_ARN: Za,
598
+ SEMRESATTRS_AWS_ECS_CONTAINER_ARN: za,
599
+ SEMRESATTRS_AWS_ECS_LAUNCHTYPE: ER,
600
+ SEMRESATTRS_AWS_ECS_TASK_ARN: SR,
601
+ SEMRESATTRS_AWS_ECS_TASK_FAMILY: TR,
602
+ SEMRESATTRS_AWS_ECS_TASK_REVISION: _R,
603
+ SEMRESATTRS_AWS_EKS_CLUSTER_ARN: AR,
604
+ SEMRESATTRS_AWS_LOG_GROUP_ARNS: aR,
605
+ SEMRESATTRS_AWS_LOG_GROUP_NAMES: RR,
606
+ SEMRESATTRS_AWS_LOG_STREAM_ARNS: eR,
607
+ SEMRESATTRS_AWS_LOG_STREAM_NAMES: sR,
608
+ SEMRESATTRS_CLOUD_ACCOUNT_ID: NR,
609
+ SEMRESATTRS_CLOUD_AVAILABILITY_ZONE: tR,
610
+ SEMRESATTRS_CLOUD_PLATFORM: OR,
611
+ SEMRESATTRS_CLOUD_PROVIDER: rR,
612
+ SEMRESATTRS_CLOUD_REGION: MR,
613
+ SEMRESATTRS_CONTAINER_ID: LR,
614
+ SEMRESATTRS_CONTAINER_IMAGE_NAME: CR,
615
+ SEMRESATTRS_CONTAINER_IMAGE_TAG: UR,
616
+ SEMRESATTRS_CONTAINER_NAME: IR,
617
+ SEMRESATTRS_CONTAINER_RUNTIME: DR,
618
+ SEMRESATTRS_DEPLOYMENT_ENVIRONMENT: nR,
619
+ SEMRESATTRS_DEVICE_ID: PR,
620
+ SEMRESATTRS_DEVICE_MODEL_IDENTIFIER: oR,
621
+ SEMRESATTRS_DEVICE_MODEL_NAME: cR,
622
+ SEMRESATTRS_FAAS_ID: iR,
623
+ SEMRESATTRS_FAAS_INSTANCE: VR,
624
+ SEMRESATTRS_FAAS_MAX_MEMORY: uR,
625
+ SEMRESATTRS_FAAS_NAME: vR,
626
+ SEMRESATTRS_FAAS_VERSION: GR,
627
+ SEMRESATTRS_HOST_ARCH: dR,
628
+ SEMRESATTRS_HOST_ID: lR,
629
+ SEMRESATTRS_HOST_IMAGE_ID: YR,
630
+ SEMRESATTRS_HOST_IMAGE_NAME: BR,
631
+ SEMRESATTRS_HOST_IMAGE_VERSION: HR,
632
+ SEMRESATTRS_HOST_NAME: bR,
633
+ SEMRESATTRS_HOST_TYPE: pR,
634
+ SEMRESATTRS_K8S_CLUSTER_NAME: mR,
635
+ SEMRESATTRS_K8S_CONTAINER_NAME: gR,
636
+ SEMRESATTRS_K8S_CRONJOB_NAME: KR,
637
+ SEMRESATTRS_K8S_CRONJOB_UID: fR,
638
+ SEMRESATTRS_K8S_DAEMONSET_NAME: FR,
639
+ SEMRESATTRS_K8S_DAEMONSET_UID: yR,
640
+ SEMRESATTRS_K8S_DEPLOYMENT_NAME: WR,
641
+ SEMRESATTRS_K8S_DEPLOYMENT_UID: hR,
642
+ SEMRESATTRS_K8S_JOB_NAME: QR,
643
+ SEMRESATTRS_K8S_JOB_UID: jR,
644
+ SEMRESATTRS_K8S_NAMESPACE_NAME: JR,
645
+ SEMRESATTRS_K8S_NODE_NAME: XR,
646
+ SEMRESATTRS_K8S_NODE_UID: wR,
647
+ SEMRESATTRS_K8S_POD_NAME: kR,
648
+ SEMRESATTRS_K8S_POD_UID: qR,
649
+ SEMRESATTRS_K8S_REPLICASET_NAME: $R,
650
+ SEMRESATTRS_K8S_REPLICASET_UID: xR,
651
+ SEMRESATTRS_K8S_STATEFULSET_NAME: ZR,
652
+ SEMRESATTRS_K8S_STATEFULSET_UID: zR,
653
+ SEMRESATTRS_OS_DESCRIPTION: Ee,
654
+ SEMRESATTRS_OS_NAME: Se,
655
+ SEMRESATTRS_OS_TYPE: Te,
656
+ SEMRESATTRS_OS_VERSION: _e,
657
+ SEMRESATTRS_PROCESS_COMMAND: Ae,
658
+ SEMRESATTRS_PROCESS_COMMAND_ARGS: ae,
659
+ SEMRESATTRS_PROCESS_COMMAND_LINE: Re,
660
+ SEMRESATTRS_PROCESS_EXECUTABLE_NAME: ee,
661
+ SEMRESATTRS_PROCESS_EXECUTABLE_PATH: se,
662
+ SEMRESATTRS_PROCESS_OWNER: Ne,
663
+ SEMRESATTRS_PROCESS_PID: te,
664
+ SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION: Oe,
665
+ SEMRESATTRS_PROCESS_RUNTIME_NAME: re,
666
+ SEMRESATTRS_PROCESS_RUNTIME_VERSION: Me,
667
+ SEMRESATTRS_SERVICE_INSTANCE_ID: Le,
668
+ SEMRESATTRS_SERVICE_NAME: Ce,
669
+ SEMRESATTRS_SERVICE_NAMESPACE: Ue,
670
+ SEMRESATTRS_SERVICE_VERSION: Ie,
671
+ SEMRESATTRS_TELEMETRY_AUTO_VERSION: De,
672
+ SEMRESATTRS_TELEMETRY_SDK_LANGUAGE: ne,
673
+ SEMRESATTRS_TELEMETRY_SDK_NAME: Pe,
674
+ SEMRESATTRS_TELEMETRY_SDK_VERSION: oe,
675
+ SEMRESATTRS_WEBENGINE_DESCRIPTION: ce,
676
+ SEMRESATTRS_WEBENGINE_NAME: ie,
677
+ SEMRESATTRS_WEBENGINE_VERSION: Ve,
678
+ SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN: yN,
679
+ SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE: WN,
680
+ SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT: hN,
681
+ SIGNALR_TRANSPORT_VALUE_LONG_POLLING: jN,
682
+ SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS: JN,
683
+ SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS: XN,
684
+ SemanticAttributes: hA,
685
+ SemanticResourceAttributes: ue,
686
+ TELEMETRYSDKLANGUAGEVALUES_CPP: ve,
687
+ TELEMETRYSDKLANGUAGEVALUES_DOTNET: Ge,
688
+ TELEMETRYSDKLANGUAGEVALUES_ERLANG: de,
689
+ TELEMETRYSDKLANGUAGEVALUES_GO: le,
690
+ TELEMETRYSDKLANGUAGEVALUES_JAVA: Ye,
691
+ TELEMETRYSDKLANGUAGEVALUES_NODEJS: Be,
692
+ TELEMETRYSDKLANGUAGEVALUES_PHP: He,
693
+ TELEMETRYSDKLANGUAGEVALUES_PYTHON: be,
694
+ TELEMETRYSDKLANGUAGEVALUES_RUBY: pe,
695
+ TELEMETRYSDKLANGUAGEVALUES_WEBJS: me,
696
+ TELEMETRY_SDK_LANGUAGE_VALUE_CPP: _s,
697
+ TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET: As,
698
+ TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG: as,
699
+ TELEMETRY_SDK_LANGUAGE_VALUE_GO: Rs,
700
+ TELEMETRY_SDK_LANGUAGE_VALUE_JAVA: es,
701
+ TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS: ss,
702
+ TELEMETRY_SDK_LANGUAGE_VALUE_PHP: Ns,
703
+ TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON: ts,
704
+ TELEMETRY_SDK_LANGUAGE_VALUE_RUBY: Os,
705
+ TELEMETRY_SDK_LANGUAGE_VALUE_RUST: rs,
706
+ TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT: Ms,
707
+ TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS: Ls,
708
+ TelemetrySdkLanguageValues: ge
709
+ }, Symbol.toStringTag, { value: "Module" }));
710
+ var t = {}, M = {};
711
+ const H = /* @__PURE__ */ c($e), Bt = /* @__PURE__ */ c(Yt), Ht = /* @__PURE__ */ c(aa);
712
+ var b = {}, L = {};
713
+ Object.defineProperty(L, "__esModule", { value: !0 });
714
+ L.defaultServiceName = void 0;
715
+ function bt() {
716
+ return "unknown_service";
717
+ }
718
+ L.defaultServiceName = bt;
719
+ (function(S) {
720
+ Object.defineProperty(S, "__esModule", { value: !0 }), S.defaultServiceName = void 0;
721
+ var E = L;
722
+ Object.defineProperty(S, "defaultServiceName", { enumerable: !0, get: function() {
723
+ return E.defaultServiceName;
724
+ } });
725
+ })(b);
726
+ Object.defineProperty(M, "__esModule", { value: !0 });
727
+ M.Resource = void 0;
728
+ const v = H, N = Bt, n = Ht, pt = b;
729
+ class s {
730
+ constructor(E, T) {
731
+ var _;
732
+ this._attributes = E, this.asyncAttributesPending = T != null, this._syncAttributes = (_ = this._attributes) !== null && _ !== void 0 ? _ : {}, this._asyncAttributesPromise = T == null ? void 0 : T.then((A) => (this._attributes = Object.assign({}, this._attributes, A), this.asyncAttributesPending = !1, A), (A) => (v.diag.debug("a resource's async attributes promise rejected: %s", A), this.asyncAttributesPending = !1, {}));
733
+ }
734
+ /**
735
+ * Returns an empty Resource
736
+ */
737
+ static empty() {
738
+ return s.EMPTY;
739
+ }
740
+ /**
741
+ * Returns a Resource that identifies the SDK in use.
742
+ */
743
+ static default() {
744
+ return new s({
745
+ [N.SEMRESATTRS_SERVICE_NAME]: (0, pt.defaultServiceName)(),
746
+ [N.SEMRESATTRS_TELEMETRY_SDK_LANGUAGE]: n.SDK_INFO[N.SEMRESATTRS_TELEMETRY_SDK_LANGUAGE],
747
+ [N.SEMRESATTRS_TELEMETRY_SDK_NAME]: n.SDK_INFO[N.SEMRESATTRS_TELEMETRY_SDK_NAME],
748
+ [N.SEMRESATTRS_TELEMETRY_SDK_VERSION]: n.SDK_INFO[N.SEMRESATTRS_TELEMETRY_SDK_VERSION]
749
+ });
750
+ }
751
+ get attributes() {
752
+ var E;
753
+ return this.asyncAttributesPending && v.diag.error("Accessing resource attributes before async attributes settled"), (E = this._attributes) !== null && E !== void 0 ? E : {};
754
+ }
755
+ /**
756
+ * Returns a promise that will never be rejected. Resolves when all async attributes have finished being added to
757
+ * this Resource's attributes. This is useful in exporters to block until resource detection
758
+ * has finished.
759
+ */
760
+ async waitForAsyncAttributes() {
761
+ this.asyncAttributesPending && await this._asyncAttributesPromise;
762
+ }
763
+ /**
764
+ * Returns a new, merged {@link Resource} by merging the current Resource
765
+ * with the other Resource. In case of a collision, other Resource takes
766
+ * precedence.
767
+ *
768
+ * @param other the Resource that will be merged with this.
769
+ * @returns the newly merged Resource.
770
+ */
771
+ merge(E) {
772
+ var T;
773
+ if (!E)
774
+ return this;
775
+ const _ = Object.assign(Object.assign({}, this._syncAttributes), (T = E._syncAttributes) !== null && T !== void 0 ? T : E.attributes);
776
+ if (!this._asyncAttributesPromise && !E._asyncAttributesPromise)
777
+ return new s(_);
778
+ const A = Promise.all([
779
+ this._asyncAttributesPromise,
780
+ E._asyncAttributesPromise
781
+ ]).then(([a, R]) => {
782
+ var e;
783
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, this._syncAttributes), a), (e = E._syncAttributes) !== null && e !== void 0 ? e : E.attributes), R);
784
+ });
785
+ return new s(_, A);
786
+ }
787
+ }
788
+ M.Resource = s;
789
+ s.EMPTY = new s({});
790
+ var C = {};
791
+ Object.defineProperty(C, "__esModule", { value: !0 });
792
+ C.isPromiseLike = void 0;
793
+ const mt = (S) => S !== null && typeof S == "object" && typeof S.then == "function";
794
+ C.isPromiseLike = mt;
795
+ Object.defineProperty(t, "__esModule", { value: !0 });
796
+ var p = t.detectResourcesSync = m = t.detectResources = void 0;
797
+ const r = M, O = H, gt = C, Kt = async (S = {}) => {
798
+ const E = await Promise.all((S.detectors || []).map(async (T) => {
799
+ try {
800
+ const _ = await T.detect(S);
801
+ return O.diag.debug(`${T.constructor.name} found resource.`, _), _;
802
+ } catch (_) {
803
+ return O.diag.debug(`${T.constructor.name} failed: ${_.message}`), r.Resource.empty();
804
+ }
805
+ }));
806
+ return g(E), E.reduce((T, _) => T.merge(_), r.Resource.empty());
807
+ };
808
+ var m = t.detectResources = Kt;
809
+ const ft = (S = {}) => {
810
+ var E;
811
+ const T = ((E = S.detectors) !== null && E !== void 0 ? E : []).map((A) => {
812
+ try {
813
+ const a = A.detect(S);
814
+ let R;
815
+ if ((0, gt.isPromiseLike)(a)) {
816
+ const e = async () => {
817
+ var U;
818
+ const I = await a;
819
+ return await ((U = I.waitForAsyncAttributes) === null || U === void 0 ? void 0 : U.call(I)), I.attributes;
820
+ };
821
+ R = new r.Resource({}, e());
822
+ } else
823
+ R = a;
824
+ return R.waitForAsyncAttributes ? R.waitForAsyncAttributes().then(() => O.diag.debug(`${A.constructor.name} found resource.`, R)) : O.diag.debug(`${A.constructor.name} found resource.`, R), R;
825
+ } catch (a) {
826
+ return O.diag.error(`${A.constructor.name} failed: ${a.message}`), r.Resource.empty();
827
+ }
828
+ }), _ = T.reduce((A, a) => A.merge(a), r.Resource.empty());
829
+ return _.waitForAsyncAttributes && _.waitForAsyncAttributes().then(() => {
830
+ g(T);
831
+ }), _;
832
+ };
833
+ p = t.detectResourcesSync = ft;
834
+ const g = (S) => {
835
+ S.forEach((E) => {
836
+ if (Object.keys(E.attributes).length > 0) {
837
+ const T = JSON.stringify(E.attributes, null, 4);
838
+ O.diag.verbose(T);
839
+ }
840
+ });
841
+ }, Xt = /* @__PURE__ */ Ke({
842
+ __proto__: null,
843
+ default: t,
844
+ get detectResources() {
845
+ return m;
846
+ },
847
+ get detectResourcesSync() {
848
+ return p;
849
+ }
850
+ }, [t]);
851
+ export {
852
+ Xt as d
853
+ };
854
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiZGV0ZWN0LXJlc291cmNlcy0hfnswMGx9fi5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgZyBhcyBnZXRBdWdtZW50ZWROYW1lc3BhY2UgfSBmcm9tICcuL19jb21tb25qc0hlbHBlcnMtIX57MDAzfX4uanMnO1xuaW1wb3J0IHsgcCBhcyBwcm9wYWdhdGlvbiwgeiBhcyBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcsIEEgYXMgZGVmYXVsdFRleHRNYXBHZXR0ZXIsIEIgYXMgZGVmYXVsdFRleHRNYXBTZXR0ZXIsIEQgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0FMTCwgQyBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQU5ZLCBFIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19FQUNIX1FVT1JVTSwgRiBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfT05FLCBHIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9RVU9SVU0sIEggYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1NFUklBTCwgSSBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfT05FLCBKIGFzIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19RVU9SVU0sIEsgYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1NFUklBTCwgTCBhcyBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVEhSRUUsIE0gYXMgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1RXTywgTiBhcyBEQlNZU1RFTVZBTFVFU19BREFCQVMsIE8gYXMgREJTWVNURU1WQUxVRVNfQ0FDSEUsIFAgYXMgREJTWVNURU1WQUxVRVNfQ0FTU0FORFJBLCBRIGFzIERCU1lTVEVNVkFMVUVTX0NMT1VEU0NBUEUsIFIgYXMgREJTWVNURU1WQUxVRVNfQ09DS1JPQUNIREIsIFQgYXMgREJTWVNURU1WQUxVRVNfQ09MREZVU0lPTiwgVSBhcyBEQlNZU1RFTVZBTFVFU19DT1NNT1NEQiwgViBhcyBEQlNZU1RFTVZBTFVFU19DT1VDSEJBU0UsIFcgYXMgREJTWVNURU1WQUxVRVNfQ09VQ0hEQiwgWCBhcyBEQlNZU1RFTVZBTFVFU19EQjIsIFkgYXMgREJTWVNURU1WQUxVRVNfREVSQlksIFogYXMgREJTWVNURU1WQUxVRVNfRFlOQU1PREIsIF8gYXMgREJTWVNURU1WQUxVRVNfRURCLCAkIGFzIERCU1lTVEVNVkFMVUVTX0VMQVNUSUNTRUFSQ0gsIGEwIGFzIERCU1lTVEVNVkFMVUVTX0ZJTEVNQUtFUiwgYTEgYXMgREJTWVNURU1WQUxVRVNfRklSRUJJUkQsIGEyIGFzIERCU1lTVEVNVkFMVUVTX0ZJUlNUU1FMLCBhMyBhcyBEQlNZU1RFTVZBTFVFU19HRU9ERSwgYTQgYXMgREJTWVNURU1WQUxVRVNfSDIsIGE1IGFzIERCU1lTVEVNVkFMVUVTX0hBTkFEQiwgYTYgYXMgREJTWVNURU1WQUxVRVNfSEJBU0UsIGE3IGFzIERCU1lTVEVNVkFMVUVTX0hJVkUsIGE4IGFzIERCU1lTVEVNVkFMVUVTX0hTUUxEQiwgYTkgYXMgREJTWVNURU1WQUxVRVNfSU5GT1JNSVgsIGFhIGFzIERCU1lTVEVNVkFMVUVTX0lOR1JFUywgYWIgYXMgREJTWVNURU1WQUxVRVNfSU5TVEFOVERCLCBhYyBhcyBEQlNZU1RFTVZBTFVFU19JTlRFUkJBU0UsIGFkIGFzIERCU1lTVEVNVkFMVUVTX01BUklBREIsIGFlIGFzIERCU1lTVEVNVkFMVUVTX01BWERCLCBhZiBhcyBEQlNZU1RFTVZBTFVFU19NRU1DQUNIRUQsIGFnIGFzIERCU1lTVEVNVkFMVUVTX01PTkdPREIsIGFoIGFzIERCU1lTVEVNVkFMVUVTX01TU1FMLCBhaSBhcyBEQlNZU1RFTVZBTFVFU19NWVNRTCwgYWogYXMgREJTWVNURU1WQUxVRVNfTkVPNEosIGFrIGFzIERCU1lTVEVNVkFMVUVTX05FVEVaWkEsIGFsIGFzIERCU1lTVEVNVkFMVUVTX09SQUNMRSwgYW0gYXMgREJTWVNURU1WQUxVRVNfT1RIRVJfU1FMLCBhbiBhcyBEQlNZU1RFTVZBTFVFU19QRVJWQVNJVkUsIGFvIGFzIERCU1lTVEVNVkFMVUVTX1BPSU5UQkFTRSwgYXAgYXMgREJTWVNURU1WQUxVRVNfUE9TVEdSRVNRTCwgYXEgYXMgREJTWVNURU1WQUxVRVNfUFJPR1JFU1MsIGFyIGFzIERCU1lTVEVNVkFMVUVTX1JFRElTLCBhcyBhcyBEQlNZU1RFTVZBTFVFU19SRURTSElGVCwgYXQgYXMgREJTWVNURU1WQUxVRVNfU1FMSVRFLCBhdSBhcyBEQlNZU1RFTVZBTFVFU19TWUJBU0UsIGF2IGFzIERCU1lTVEVNVkFMVUVTX1RFUkFEQVRBLCBhdyBhcyBEQlNZU1RFTVZBTFVFU19WRVJUSUNBLCBheCBhcyBEYkNhc3NhbmRyYUNvbnNpc3RlbmN5TGV2ZWxWYWx1ZXMsIGF5IGFzIERiU3lzdGVtVmFsdWVzLCBheiBhcyBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfREVMRVRFLCBhQSBhcyBGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfRURJVCwgYUIgYXMgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0lOU0VSVCwgYUMgYXMgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VELCBhRCBhcyBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FXUywgYUUgYXMgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BWlVSRSwgYUYgYXMgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19HQ1AsIGFHIGFzIEZBQVNUUklHR0VSVkFMVUVTX0RBVEFTT1VSQ0UsIGFIIGFzIEZBQVNUUklHR0VSVkFMVUVTX0hUVFAsIGFJIGFzIEZBQVNUUklHR0VSVkFMVUVTX09USEVSLCBhSiBhcyBGQUFTVFJJR0dFUlZBTFVFU19QVUJTVUIsIGFLIGFzIEZBQVNUUklHR0VSVkFMVUVTX1RJTUVSLCBhTCBhcyBGYWFzRG9jdW1lbnRPcGVyYXRpb25WYWx1ZXMsIGFNIGFzIEZhYXNJbnZva2VkUHJvdmlkZXJWYWx1ZXMsIGFOIGFzIEZhYXNUcmlnZ2VyVmFsdWVzLCBhTyBhcyBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMV8wLCBhUCBhcyBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMV8xLCBhUSBhcyBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMl8wLCBhUiBhcyBIVFRQRkxBVk9SVkFMVUVTX1FVSUMsIGFTIGFzIEhUVFBGTEFWT1JWQUxVRVNfU1BEWSwgYVQgYXMgSHR0cEZsYXZvclZhbHVlcywgYVUgYXMgTUVTU0FHRVRZUEVWQUxVRVNfUkVDRUlWRUQsIGFWIGFzIE1FU1NBR0VUWVBFVkFMVUVTX1NFTlQsIGFXIGFzIE1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19RVUVVRSwgYVggYXMgTUVTU0FHSU5HREVTVElOQVRJT05LSU5EVkFMVUVTX1RPUElDLCBhWSBhcyBNRVNTQUdJTkdPUEVSQVRJT05WQUxVRVNfUFJPQ0VTUywgYVogYXMgTUVTU0FHSU5HT1BFUkFUSU9OVkFMVUVTX1JFQ0VJVkUsIGFfIGFzIE1lc3NhZ2VUeXBlVmFsdWVzLCBhJCBhcyBNZXNzYWdpbmdEZXN0aW5hdGlvbktpbmRWYWx1ZXMsIGIwIGFzIE1lc3NhZ2luZ09wZXJhdGlvblZhbHVlcywgYjEgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEsIGIyIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19DRE1BMjAwMF8xWFJUVCwgYjMgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VER0UsIGI0IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FSFJQRCwgYjUgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fMCwgYjYgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQSwgYjcgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQiwgYjggYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0dQUlMsIGI5IGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19HU00sIGJhIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU0RQQSwgYmIgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTUEEsIGJjIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1BBUCwgYmQgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTVVBBLCBiZSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSURFTiwgYmYgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0lXTEFOLCBiZyBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFLCBiaCBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFX0NBLCBiaSBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlIsIGJqIGFzIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19OUk5TQSwgYmsgYXMgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1REX1NDRE1BLCBibCBhcyBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVU1UUywgYm0gYXMgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX0NFTEwsIGJuIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTkFWQUlMQUJMRSwgYm8gYXMgTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOS05PV04sIGJwIGFzIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSUZJLCBicSBhcyBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfV0lSRUQsIGJyIGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JTlBST0MsIGJzIGFzIE5FVFRSQU5TUE9SVFZBTFVFU19JUCwgYnQgYXMgTkVUVFJBTlNQT1JUVkFMVUVTX0lQX1RDUCwgYnUgYXMgTkVUVFJBTlNQT1JUVkFMVUVTX0lQX1VEUCwgYnYgYXMgTkVUVFJBTlNQT1JUVkFMVUVTX09USEVSLCBidyBhcyBORVRUUkFOU1BPUlRWQUxVRVNfUElQRSwgYnggYXMgTkVUVFJBTlNQT1JUVkFMVUVTX1VOSVgsIGJ5IGFzIE5ldEhvc3RDb25uZWN0aW9uU3VidHlwZVZhbHVlcywgYnogYXMgTmV0SG9zdENvbm5lY3Rpb25UeXBlVmFsdWVzLCBiQSBhcyBOZXRUcmFuc3BvcnRWYWx1ZXMsIGJCIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0FCT1JURUQsIGJDIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0FMUkVBRFlfRVhJU1RTLCBiRCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19DQU5DRUxMRUQsIGJFIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RBVEFfTE9TUywgYkYgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREVBRExJTkVfRVhDRUVERUQsIGJHIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0ZBSUxFRF9QUkVDT05ESVRJT04sIGJIIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0lOVEVSTkFMLCBiSSBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19JTlZBTElEX0FSR1VNRU5ULCBiSiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19OT1RfRk9VTkQsIGJLIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX09LLCBiTCBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19PVVRfT0ZfUkFOR0UsIGJNIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1BFUk1JU1NJT05fREVOSUVELCBiTiBhcyBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19SRVNPVVJDRV9FWEhBVVNURUQsIGJPIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVVUSEVOVElDQVRFRCwgYlAgYXMgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5BVkFJTEFCTEUsIGJRIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOSU1QTEVNRU5URUQsIGJSIGFzIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOS05PV04sIGJTIGFzIFJwY0dycGNTdGF0dXNDb2RlVmFsdWVzLCBiVCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFU19UT19HRVQsIGJVIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVfREVGSU5JVElPTlMsIGJWIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TSVNURU5UX1JFQUQsIGJXIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TVU1FRF9DQVBBQ0lUWSwgYlggYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPVU5ULCBiWSBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfRVhDTFVTSVZFX1NUQVJUX1RBQkxFLCBiWiBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfR0xPQkFMX1NFQ09OREFSWV9JTkRFWEVTLCBiXyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfR0xPQkFMX1NFQ09OREFSWV9JTkRFWF9VUERBVEVTLCBiJCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfSU5ERVhfTkFNRSwgYzAgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0lURU1fQ09MTEVDVElPTl9NRVRSSUNTLCBjMSBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfTElNSVQsIGMyIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9MT0NBTF9TRUNPTkRBUllfSU5ERVhFUywgYzMgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST0pFQ1RJT04sIGM0IGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9QUk9WSVNJT05FRF9SRUFEX0NBUEFDSVRZLCBjNSBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfV1JJVEVfQ0FQQUNJVFksIGM2IGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9TQ0FOTkVEX0NPVU5ULCBjNyBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0NBTl9GT1JXQVJELCBjOCBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VHTUVOVCwgYzkgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NFTEVDVCwgY2EgYXMgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX0NPVU5ULCBjYiBhcyBTRU1BVFRSU19BV1NfRFlOQU1PREJfVEFCTEVfTkFNRVMsIGNjIGFzIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UT1RBTF9TRUdNRU5UUywgY2QgYXMgU0VNQVRUUlNfQVdTX0xBTUJEQV9JTlZPS0VEX0FSTiwgY2UgYXMgU0VNQVRUUlNfQ09ERV9GSUxFUEFUSCwgY2YgYXMgU0VNQVRUUlNfQ09ERV9GVU5DVElPTiwgY2cgYXMgU0VNQVRUUlNfQ09ERV9MSU5FTk8sIGNoIGFzIFNFTUFUVFJTX0NPREVfTkFNRVNQQUNFLCBjaSBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09OU0lTVEVOQ1lfTEVWRUwsIGNqIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9EQywgY2sgYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPT1JESU5BVE9SX0lELCBjbCBhcyBTRU1BVFRSU19EQl9DQVNTQU5EUkFfSURFTVBPVEVOQ0UsIGNtIGFzIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9LRVlTUEFDRSwgY24gYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1BBR0VfU0laRSwgY28gYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1NQRUNVTEFUSVZFX0VYRUNVVElPTl9DT1VOVCwgY3AgYXMgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1RBQkxFLCBjcSBhcyBTRU1BVFRSU19EQl9DT05ORUNUSU9OX1NUUklORywgY3IgYXMgU0VNQVRUUlNfREJfSEJBU0VfTkFNRVNQQUNFLCBjcyBhcyBTRU1BVFRSU19EQl9KREJDX0RSSVZFUl9DTEFTU05BTUUsIGN0IGFzIFNFTUFUVFJTX0RCX01PTkdPREJfQ09MTEVDVElPTiwgY3UgYXMgU0VNQVRUUlNfREJfTVNTUUxfSU5TVEFOQ0VfTkFNRSwgY3YgYXMgU0VNQVRUUlNfREJfTkFNRSwgY3cgYXMgU0VNQVRUUlNfREJfT1BFUkFUSU9OLCBjeCBhcyBTRU1BVFRSU19EQl9SRURJU19EQVRBQkFTRV9JTkRFWCwgY3kgYXMgU0VNQVRUUlNfREJfU1FMX1RBQkxFLCBjeiBhcyBTRU1BVFRSU19EQl9TVEFURU1FTlQsIGNBIGFzIFNFTUFUVFJTX0RCX1NZU1RFTSwgY0IgYXMgU0VNQVRUUlNfREJfVVNFUiwgY0MgYXMgU0VNQVRUUlNfRU5EVVNFUl9JRCwgY0QgYXMgU0VNQVRUUlNfRU5EVVNFUl9ST0xFLCBjRSBhcyBTRU1BVFRSU19FTkRVU0VSX1NDT1BFLCBjRiBhcyBTRU1BVFRSU19FWENFUFRJT05fRVNDQVBFRCwgdiBhcyBTRU1BVFRSU19FWENFUFRJT05fTUVTU0FHRSwgeCBhcyBTRU1BVFRSU19FWENFUFRJT05fU1RBQ0tUUkFDRSwgcyBhcyBTRU1BVFRSU19FWENFUFRJT05fVFlQRSwgY0cgYXMgU0VNQVRUUlNfRkFBU19DT0xEU1RBUlQsIGNIIGFzIFNFTUFUVFJTX0ZBQVNfQ1JPTiwgY0kgYXMgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9DT0xMRUNUSU9OLCBjSiBhcyBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX05BTUUsIGNLIGFzIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfT1BFUkFUSU9OLCBjTCBhcyBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX1RJTUUsIGNNIGFzIFNFTUFUVFJTX0ZBQVNfRVhFQ1VUSU9OLCBjTiBhcyBTRU1BVFRSU19GQUFTX0lOVk9LRURfTkFNRSwgY08gYXMgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1BST1ZJREVSLCBjUCBhcyBTRU1BVFRSU19GQUFTX0lOVk9LRURfUkVHSU9OLCBjUSBhcyBTRU1BVFRSU19GQUFTX1RJTUUsIGNSIGFzIFNFTUFUVFJTX0ZBQVNfVFJJR0dFUiwgY1MgYXMgU0VNQVRUUlNfSFRUUF9DTElFTlRfSVAsIGNUIGFzIFNFTUFUVFJTX0hUVFBfRkxBVk9SLCBjIGFzIFNFTUFUVFJTX0hUVFBfSE9TVCwgZiBhcyBTRU1BVFRSU19IVFRQX01FVEhPRCwgY1UgYXMgU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RILCBrIGFzIFNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQsIFMgYXMgU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSCwgYSBhcyBTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCwgY1YgYXMgU0VNQVRUUlNfSFRUUF9ST1VURSwgZCBhcyBTRU1BVFRSU19IVFRQX1NDSEVNRSwgY1cgYXMgU0VNQVRUUlNfSFRUUF9TRVJWRVJfTkFNRSwgYiBhcyBTRU1BVFRSU19IVFRQX1NUQVRVU19DT0RFLCBjWCBhcyBTRU1BVFRSU19IVFRQX1RBUkdFVCwgZyBhcyBTRU1BVFRSU19IVFRQX1VSTCwgZSBhcyBTRU1BVFRSU19IVFRQX1VTRVJfQUdFTlQsIGNZIGFzIFNFTUFUVFJTX01FU1NBR0VfQ09NUFJFU1NFRF9TSVpFLCBjWiBhcyBTRU1BVFRSU19NRVNTQUdFX0lELCBjXyBhcyBTRU1BVFRSU19NRVNTQUdFX1RZUEUsIGMkIGFzIFNFTUFUVFJTX01FU1NBR0VfVU5DT01QUkVTU0VEX1NJWkUsIGQwIGFzIFNFTUFUVFJTX01FU1NBR0lOR19DT05TVU1FUl9JRCwgZDEgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0NPTlZFUlNBVElPTl9JRCwgZDIgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OLCBkMyBhcyBTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT05fS0lORCwgZDQgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NMSUVOVF9JRCwgZDUgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NPTlNVTUVSX0dST1VQLCBkNiBhcyBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfTUVTU0FHRV9LRVksIGQ3IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9QQVJUSVRJT04sIGQ4IGFzIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9UT01CU1RPTkUsIGQ5IGFzIFNFTUFUVFJTX01FU1NBR0lOR19NRVNTQUdFX0lELCBkYSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX0NPTVBSRVNTRURfU0laRV9CWVRFUywgZGIgYXMgU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfUEFZTE9BRF9TSVpFX0JZVEVTLCBkYyBhcyBTRU1BVFRSU19NRVNTQUdJTkdfT1BFUkFUSU9OLCBkZCBhcyBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0wsIGRlIGFzIFNFTUFUVFJTX01FU1NBR0lOR19QUk9UT0NPTF9WRVJTSU9OLCBkZiBhcyBTRU1BVFRSU19NRVNTQUdJTkdfUkFCQklUTVFfUk9VVElOR19LRVksIGRnIGFzIFNFTUFUVFJTX01FU1NBR0lOR19TWVNURU0sIGRoIGFzIFNFTUFUVFJTX01FU1NBR0lOR19URU1QX0RFU1RJTkFUSU9OLCBkaSBhcyBTRU1BVFRSU19NRVNTQUdJTkdfVVJMLCBkaiBhcyBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX0lDQywgZGsgYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9NQ0MsIGRsIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NBUlJJRVJfTU5DLCBkbSBhcyBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX05BTUUsIGRuIGFzIFNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fU1VCVFlQRSwgZHAgYXMgU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9UWVBFLCBkcSBhcyBTRU1BVFRSU19ORVRfSE9TVF9JUCwgZHIgYXMgU0VNQVRUUlNfTkVUX0hPU1RfTkFNRSwgZHMgYXMgU0VNQVRUUlNfTkVUX0hPU1RfUE9SVCwgZHQgYXMgU0VNQVRUUlNfTkVUX1BFRVJfSVAsIGR1IGFzIFNFTUFUVFJTX05FVF9QRUVSX05BTUUsIGR2IGFzIFNFTUFUVFJTX05FVF9QRUVSX1BPUlQsIGR3IGFzIFNFTUFUVFJTX05FVF9UUkFOU1BPUlQsIGR4IGFzIFNFTUFUVFJTX1BFRVJfU0VSVklDRSwgZHkgYXMgU0VNQVRUUlNfUlBDX0dSUENfU1RBVFVTX0NPREUsIGR6IGFzIFNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX0NPREUsIGRBIGFzIFNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX01FU1NBR0UsIGRCIGFzIFNFTUFUVFJTX1JQQ19KU09OUlBDX1JFUVVFU1RfSUQsIGRDIGFzIFNFTUFUVFJTX1JQQ19KU09OUlBDX1ZFUlNJT04sIGREIGFzIFNFTUFUVFJTX1JQQ19NRVRIT0QsIGRFIGFzIFNFTUFUVFJTX1JQQ19TRVJWSUNFLCBkRiBhcyBTRU1BVFRSU19SUENfU1lTVEVNLCBkRyBhcyBTRU1BVFRSU19USFJFQURfSUQsIGRIIGFzIFNFTUFUVFJTX1RIUkVBRF9OQU1FLCBkSSBhcyBTZW1hbnRpY0F0dHJpYnV0ZXMgfSBmcm9tICcuL3VybC0hfnswMDh9fi5qcyc7XG5pbXBvcnQgeyBjIGFzIGNvbnRleHQsIHQgYXMgdHJhY2UsIGEgYXMgRGlhZ0xvZ0xldmVsLCBoIGFzIElOVkFMSURfU1BBTklELCBJIGFzIElOVkFMSURfU1BBTl9DT05URVhULCBqIGFzIElOVkFMSURfVFJBQ0VJRCwgUCBhcyBQcm94eVRyYWNlciwgayBhcyBQcm94eVRyYWNlclByb3ZpZGVyLCBSIGFzIFJPT1RfQ09OVEVYVCwgUyBhcyBTcGFuS2luZCwgZiBhcyBTcGFuU3RhdHVzQ29kZSwgVCBhcyBUcmFjZUZsYWdzLCBiIGFzIGNyZWF0ZUNvbnRleHRLZXksIGkgYXMgaXNTcGFuQ29udGV4dFZhbGlkLCBlIGFzIGlzVmFsaWRTcGFuSWQsIGQgYXMgaXNWYWxpZFRyYWNlSWQgfSBmcm9tICcuL2luZGV4LSF+ezAwNX1+LmpzJztcbmltcG9ydCB7IG0gYXMgbWV0cmljcywgYyBhcyBjcmVhdGVOb29wTWV0ZXIgfSBmcm9tICcuL21ldHJpY3MtYXBpLSF+ezAwZ31+LmpzJztcbmltcG9ydCB7IFMgYXMgU2FtcGxpbmdEZWNpc2lvbiwgZSBhcyBlc20kMiB9IGZyb20gJy4vaW5kZXgtIX57MDBrfX4uanMnO1xuaW1wb3J0IHsgZCBhcyBkaWFnIH0gZnJvbSAnLi9kaWFnLWFwaS0hfnswMDR9fi5qcyc7XG5pbXBvcnQgeyBBIGFzIEFXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRUMyLCBrIGFzIEFXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRkFSR0FURSwgbCBhcyBBd3NFY3NMYXVuY2h0eXBlVmFsdWVzLCBDIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9FQ1MsIG0gYXMgQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0ZDLCBuIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDMiwgbyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQ1MsIHAgYXMgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUtTLCBxIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VMQVNUSUNfQkVBTlNUQUxLLCByIGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0xBTUJEQSwgcyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FLUywgdCBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FQUF9TRVJWSUNFLCB1IGFzIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUywgdiBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0ZVTkNUSU9OUywgdyBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX1ZNLCB4IGFzIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0FQUF9FTkdJTkUsIHkgYXMgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TLCB6IGFzIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX1JVTiwgQiBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DT01QVVRFX0VOR0lORSwgRSBhcyBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9LVUJFUk5FVEVTX0VOR0lORSwgRiBhcyBDTE9VRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQsIEcgYXMgQ0xPVURQUk9WSURFUlZBTFVFU19BV1MsIEggYXMgQ0xPVURQUk9WSURFUlZBTFVFU19BWlVSRSwgSSBhcyBDTE9VRFBST1ZJREVSVkFMVUVTX0dDUCwgSiBhcyBDbG91ZFBsYXRmb3JtVmFsdWVzLCBLIGFzIENsb3VkUHJvdmlkZXJWYWx1ZXMsIEwgYXMgSE9TVEFSQ0hWQUxVRVNfQU1ENjQsIE0gYXMgSE9TVEFSQ0hWQUxVRVNfQVJNMzIsIE4gYXMgSE9TVEFSQ0hWQUxVRVNfQVJNNjQsIE8gYXMgSE9TVEFSQ0hWQUxVRVNfSUE2NCwgUCBhcyBIT1NUQVJDSFZBTFVFU19QUEMzMiwgUSBhcyBIT1NUQVJDSFZBTFVFU19QUEM2NCwgUiBhcyBIT1NUQVJDSFZBTFVFU19YODYsIFUgYXMgSG9zdEFyY2hWYWx1ZXMsIFYgYXMgT1NUWVBFVkFMVUVTX0FJWCwgVyBhcyBPU1RZUEVWQUxVRVNfREFSV0lOLCBYIGFzIE9TVFlQRVZBTFVFU19EUkFHT05GTFlCU0QsIFkgYXMgT1NUWVBFVkFMVUVTX0ZSRUVCU0QsIFogYXMgT1NUWVBFVkFMVUVTX0hQVVgsIF8gYXMgT1NUWVBFVkFMVUVTX0xJTlVYLCAkIGFzIE9TVFlQRVZBTFVFU19ORVRCU0QsIGEwIGFzIE9TVFlQRVZBTFVFU19PUEVOQlNELCBhMSBhcyBPU1RZUEVWQUxVRVNfU09MQVJJUywgYTIgYXMgT1NUWVBFVkFMVUVTX1dJTkRPV1MsIGEzIGFzIE9TVFlQRVZBTFVFU19aX09TLCBhNCBhcyBPc1R5cGVWYWx1ZXMsIGE1IGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ0xVU1RFUl9BUk4sIGE2IGFzIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ09OVEFJTkVSX0FSTiwgYTcgYXMgU0VNUkVTQVRUUlNfQVdTX0VDU19MQVVOQ0hUWVBFLCBhOCBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfQVJOLCBhOSBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfRkFNSUxZLCBhYSBhcyBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfUkVWSVNJT04sIGFiIGFzIFNFTVJFU0FUVFJTX0FXU19FS1NfQ0xVU1RFUl9BUk4sIGFjIGFzIFNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfQVJOUywgYWQgYXMgU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9OQU1FUywgYWUgYXMgU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fQVJOUywgYWYgYXMgU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fTkFNRVMsIGFnIGFzIFNFTVJFU0FUVFJTX0NMT1VEX0FDQ09VTlRfSUQsIGFoIGFzIFNFTVJFU0FUVFJTX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FLCBhaSBhcyBTRU1SRVNBVFRSU19DTE9VRF9QTEFURk9STSwgYWogYXMgU0VNUkVTQVRUUlNfQ0xPVURfUFJPVklERVIsIGFrIGFzIFNFTVJFU0FUVFJTX0NMT1VEX1JFR0lPTiwgYWwgYXMgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lELCBhbSBhcyBTRU1SRVNBVFRSU19DT05UQUlORVJfSU1BR0VfTkFNRSwgYW4gYXMgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX1RBRywgYW8gYXMgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX05BTUUsIGFwIGFzIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9SVU5USU1FLCBhcSBhcyBTRU1SRVNBVFRSU19ERVBMT1lNRU5UX0VOVklST05NRU5ULCBhciBhcyBTRU1SRVNBVFRSU19ERVZJQ0VfSUQsIGFzIGFzIFNFTVJFU0FUVFJTX0RFVklDRV9NT0RFTF9JREVOVElGSUVSLCBhdCBhcyBTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfTkFNRSwgYXUgYXMgU0VNUkVTQVRUUlNfRkFBU19JRCwgYXYgYXMgU0VNUkVTQVRUUlNfRkFBU19JTlNUQU5DRSwgYXcgYXMgU0VNUkVTQVRUUlNfRkFBU19NQVhfTUVNT1JZLCBheCBhcyBTRU1SRVNBVFRSU19GQUFTX05BTUUsIGF5IGFzIFNFTVJFU0FUVFJTX0ZBQVNfVkVSU0lPTiwgYXogYXMgU0VNUkVTQVRUUlNfSE9TVF9BUkNILCBhQSBhcyBTRU1SRVNBVFRSU19IT1NUX0lELCBhQiBhcyBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX0lELCBhQyBhcyBTRU1SRVNBVFRSU19IT1NUX0lNQUdFX05BTUUsIGFEIGFzIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfVkVSU0lPTiwgYUUgYXMgU0VNUkVTQVRUUlNfSE9TVF9OQU1FLCBhRiBhcyBTRU1SRVNBVFRSU19IT1NUX1RZUEUsIGFHIGFzIFNFTVJFU0FUVFJTX0s4U19DTFVTVEVSX05BTUUsIGFIIGFzIFNFTVJFU0FUVFJTX0s4U19DT05UQUlORVJfTkFNRSwgYUkgYXMgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSwgYUogYXMgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfVUlELCBhSyBhcyBTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX05BTUUsIGFMIGFzIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfVUlELCBhTSBhcyBTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9OQU1FLCBhTiBhcyBTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9VSUQsIGFPIGFzIFNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSwgYVAgYXMgU0VNUkVTQVRUUlNfSzhTX0pPQl9VSUQsIGFRIGFzIFNFTVJFU0FUVFJTX0s4U19OQU1FU1BBQ0VfTkFNRSwgYVIgYXMgU0VNUkVTQVRUUlNfSzhTX05PREVfTkFNRSwgYVMgYXMgU0VNUkVTQVRUUlNfSzhTX05PREVfVUlELCBhVCBhcyBTRU1SRVNBVFRSU19LOFNfUE9EX05BTUUsIGFVIGFzIFNFTVJFU0FUVFJTX0s4U19QT0RfVUlELCBhViBhcyBTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9OQU1FLCBhVyBhcyBTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9VSUQsIGFYIGFzIFNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9OQU1FLCBhWSBhcyBTRU1SRVNBVFRSU19LOFNfU1RBVEVGVUxTRVRfVUlELCBhWiBhcyBTRU1SRVNBVFRSU19PU19ERVNDUklQVElPTiwgYV8gYXMgU0VNUkVTQVRUUlNfT1NfTkFNRSwgYSQgYXMgU0VNUkVTQVRUUlNfT1NfVFlQRSwgYjAgYXMgU0VNUkVTQVRUUlNfT1NfVkVSU0lPTiwgYjEgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5ELCBiMiBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfQVJHUywgYjMgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EX0xJTkUsIGI0IGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FLCBiNSBhcyBTRU1SRVNBVFRSU19QUk9DRVNTX0VYRUNVVEFCTEVfUEFUSCwgYjYgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19PV05FUiwgYjcgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19QSUQsIGYgYXMgU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OLCBlIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9OQU1FLCBnIGFzIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9WRVJTSU9OLCBiOCBhcyBTRU1SRVNBVFRSU19TRVJWSUNFX0lOU1RBTkNFX0lELCBTIGFzIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRSwgYjkgYXMgU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FU1BBQ0UsIGJhIGFzIFNFTVJFU0FUVFJTX1NFUlZJQ0VfVkVSU0lPTiwgYmIgYXMgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX0FVVE9fVkVSU0lPTiwgYSBhcyBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFLCBjIGFzIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRSwgZCBhcyBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT04sIGJjIGFzIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9ERVNDUklQVElPTiwgYmQgYXMgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUsIGJlIGFzIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9WRVJTSU9OLCBiZiBhcyBTZW1hbnRpY1Jlc291cmNlQXR0cmlidXRlcywgYmcgYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQLCBiaCBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19ET1RORVQsIGJpIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0VSTEFORywgYmogYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08sIGJrIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0pBVkEsIGJsIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX05PREVKUywgYm0gYXMgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQLCBibiBhcyBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QWVRIT04sIGJvIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1JVQlksIGJwIGFzIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTLCBicSBhcyBUZWxlbWV0cnlTZGtMYW5ndWFnZVZhbHVlcyB9IGZyb20gJy4vc2RrLWluZm8tIX57MDBhfX4uanMnO1xuXG5mdW5jdGlvbiBfbWVyZ2VOYW1lc3BhY2VzKG4sIG0pIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG0ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZSA9IG1baV07XG4gICAgICAgIGlmICh0eXBlb2YgZSAhPT0gJ3N0cmluZycgJiYgIUFycmF5LmlzQXJyYXkoZSkpIHsgZm9yIChjb25zdCBrIGluIGUpIHtcbiAgICAgICAgICAgIGlmIChrICE9PSAnZGVmYXVsdCcgJiYgIShrIGluIG4pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSwgayk7XG4gICAgICAgICAgICAgICAgaWYgKGQpIHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIGssIGQuZ2V0ID8gZCA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQ6ICgpID0+IGVba11cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IH1cbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSkpO1xufVxuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xudmFyIGNvbnNvbGVNYXAgPSBbXG4gICAgeyBuOiAnZXJyb3InLCBjOiAnZXJyb3InIH0sXG4gICAgeyBuOiAnd2FybicsIGM6ICd3YXJuJyB9LFxuICAgIHsgbjogJ2luZm8nLCBjOiAnaW5mbycgfSxcbiAgICB7IG46ICdkZWJ1ZycsIGM6ICdkZWJ1ZycgfSxcbiAgICB7IG46ICd2ZXJib3NlJywgYzogJ3RyYWNlJyB9LFxuXTtcbi8qKlxuICogQSBzaW1wbGUgSW1tdXRhYmxlIENvbnNvbGUgYmFzZWQgZGlhZ25vc3RpYyBsb2dnZXIgd2hpY2ggd2lsbCBvdXRwdXQgYW55IG1lc3NhZ2VzIHRvIHRoZSBDb25zb2xlLlxuICogSWYgeW91IHdhbnQgdG8gbGltaXQgdGhlIGFtb3VudCBvZiBsb2dnaW5nIHRvIGEgc3BlY2lmaWMgbGV2ZWwgb3IgbG93ZXIgdXNlIHRoZVxuICoge0BsaW5rIGNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlcn1cbiAqL1xudmFyIERpYWdDb25zb2xlTG9nZ2VyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERpYWdDb25zb2xlTG9nZ2VyKCkge1xuICAgICAgICBmdW5jdGlvbiBfY29uc29sZUZ1bmMoZnVuY05hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGFyZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuICAgICAgICAgICAgICAgICAgICBhcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjb25zb2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNvbWUgZW52aXJvbm1lbnRzIG9ubHkgZXhwb3NlIHRoZSBjb25zb2xlIHdoZW4gdGhlIEYxMiBkZXZlbG9wZXIgY29uc29sZSBpcyBvcGVuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aGVGdW5jID0gY29uc29sZVtmdW5jTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhlRnVuYyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90IGFsbCBlbnZpcm9ubWVudHMgc3VwcG9ydCBhbGwgZnVuY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlRnVuYyA9IGNvbnNvbGUubG9nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIE9uZSBsYXN0IGZpbmFsIGNoZWNrXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhlRnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoZUZ1bmMuYXBwbHkoY29uc29sZSwgYXJncyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uc29sZU1hcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdGhpc1tjb25zb2xlTWFwW2ldLm5dID0gX2NvbnNvbGVGdW5jKGNvbnNvbGVNYXBbaV0uYyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIERpYWdDb25zb2xlTG9nZ2VyO1xufSgpKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKiBUaGUgVHlwZSBvZiB2YWx1ZS4gSXQgZGVzY3JpYmVzIGhvdyB0aGUgZGF0YSBpcyByZXBvcnRlZC4gKi9cbnZhciBWYWx1ZVR5cGU7XG4oZnVuY3Rpb24gKFZhbHVlVHlwZSkge1xuICAgIFZhbHVlVHlwZVtWYWx1ZVR5cGVbXCJJTlRcIl0gPSAwXSA9IFwiSU5UXCI7XG4gICAgVmFsdWVUeXBlW1ZhbHVlVHlwZVtcIkRPVUJMRVwiXSA9IDFdID0gXCJET1VCTEVcIjtcbn0pKFZhbHVlVHlwZSB8fCAoVmFsdWVUeXBlID0ge30pKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBWQUxJRF9LRVlfQ0hBUl9SQU5HRSA9ICdbXzAtOWEtei0qL10nO1xudmFyIFZBTElEX0tFWSA9IFwiW2Etel1cIiArIFZBTElEX0tFWV9DSEFSX1JBTkdFICsgXCJ7MCwyNTV9XCI7XG52YXIgVkFMSURfVkVORE9SX0tFWSA9IFwiW2EtejAtOV1cIiArIFZBTElEX0tFWV9DSEFSX1JBTkdFICsgXCJ7MCwyNDB9QFthLXpdXCIgKyBWQUxJRF9LRVlfQ0hBUl9SQU5HRSArIFwiezAsMTN9XCI7XG52YXIgVkFMSURfS0VZX1JFR0VYID0gbmV3IFJlZ0V4cChcIl4oPzpcIiArIFZBTElEX0tFWSArIFwifFwiICsgVkFMSURfVkVORE9SX0tFWSArIFwiKSRcIik7XG52YXIgVkFMSURfVkFMVUVfQkFTRV9SRUdFWCA9IC9eWyAtfl17MCwyNTV9WyEtfl0kLztcbnZhciBJTlZBTElEX1ZBTFVFX0NPTU1BX0VRVUFMX1JFR0VYID0gLyx8PS87XG4vKipcbiAqIEtleSBpcyBvcGFxdWUgc3RyaW5nIHVwIHRvIDI1NiBjaGFyYWN0ZXJzIHByaW50YWJsZS4gSXQgTVVTVCBiZWdpbiB3aXRoIGFcbiAqIGxvd2VyY2FzZSBsZXR0ZXIsIGFuZCBjYW4gb25seSBjb250YWluIGxvd2VyY2FzZSBsZXR0ZXJzIGEteiwgZGlnaXRzIDAtOSxcbiAqIHVuZGVyc2NvcmVzIF8sIGRhc2hlcyAtLCBhc3Rlcmlza3MgKiwgYW5kIGZvcndhcmQgc2xhc2hlcyAvLlxuICogRm9yIG11bHRpLXRlbmFudCB2ZW5kb3Igc2NlbmFyaW9zLCBhbiBhdCBzaWduIChAKSBjYW4gYmUgdXNlZCB0byBwcmVmaXggdGhlXG4gKiB2ZW5kb3IgbmFtZS4gVmVuZG9ycyBTSE9VTEQgc2V0IHRoZSB0ZW5hbnQgSUQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUga2V5LlxuICogc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi90cmFjZS1jb250ZXh0LyNrZXlcbiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVLZXkoa2V5KSB7XG4gICAgcmV0dXJuIFZBTElEX0tFWV9SRUdFWC50ZXN0KGtleSk7XG59XG4vKipcbiAqIFZhbHVlIGlzIG9wYXF1ZSBzdHJpbmcgdXAgdG8gMjU2IGNoYXJhY3RlcnMgcHJpbnRhYmxlIEFTQ0lJIFJGQzAwMjBcbiAqIGNoYXJhY3RlcnMgKGkuZS4sIHRoZSByYW5nZSAweDIwIHRvIDB4N0UpIGV4Y2VwdCBjb21tYSAsIGFuZCA9LlxuICovXG5mdW5jdGlvbiB2YWxpZGF0ZVZhbHVlKHZhbHVlKSB7XG4gICAgcmV0dXJuIChWQUxJRF9WQUxVRV9CQVNFX1JFR0VYLnRlc3QodmFsdWUpICYmXG4gICAgICAgICFJTlZBTElEX1ZBTFVFX0NPTU1BX0VRVUFMX1JFR0VYLnRlc3QodmFsdWUpKTtcbn1cblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbnZhciBNQVhfVFJBQ0VfU1RBVEVfSVRFTVMgPSAzMjtcbnZhciBNQVhfVFJBQ0VfU1RBVEVfTEVOID0gNTEyO1xudmFyIExJU1RfTUVNQkVSU19TRVBBUkFUT1IgPSAnLCc7XG52YXIgTElTVF9NRU1CRVJfS0VZX1ZBTFVFX1NQTElUVEVSID0gJz0nO1xuLyoqXG4gKiBUcmFjZVN0YXRlIG11c3QgYmUgYSBjbGFzcyBhbmQgbm90IGEgc2ltcGxlIG9iamVjdCB0eXBlIGJlY2F1c2Ugb2YgdGhlIHNwZWNcbiAqIHJlcXVpcmVtZW50IChodHRwczovL3d3dy53My5vcmcvVFIvdHJhY2UtY29udGV4dC8jdHJhY2VzdGF0ZS1maWVsZCkuXG4gKlxuICogSGVyZSBpcyB0aGUgbGlzdCBvZiBhbGxvd2VkIG11dGF0aW9uczpcbiAqIC0gTmV3IGtleS12YWx1ZSBwYWlyIHNob3VsZCBiZSBhZGRlZCBpbnRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcbiAqIC0gVGhlIHZhbHVlIG9mIGFueSBrZXkgY2FuIGJlIHVwZGF0ZWQuIE1vZGlmaWVkIGtleXMgTVVTVCBiZSBtb3ZlZCB0byB0aGVcbiAqIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAqL1xudmFyIFRyYWNlU3RhdGVJbXBsID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRyYWNlU3RhdGVJbXBsKHJhd1RyYWNlU3RhdGUpIHtcbiAgICAgICAgdGhpcy5faW50ZXJuYWxTdGF0ZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgaWYgKHJhd1RyYWNlU3RhdGUpXG4gICAgICAgICAgICB0aGlzLl9wYXJzZShyYXdUcmFjZVN0YXRlKTtcbiAgICB9XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgICAgIC8vIFRPRE86IEJlbmNobWFyayB0aGUgZGlmZmVyZW50IGFwcHJvYWNoZXMobWFwIHZzIGxpc3QpIGFuZFxuICAgICAgICAvLyB1c2UgdGhlIGZhc3RlciBvbmUuXG4gICAgICAgIHZhciB0cmFjZVN0YXRlID0gdGhpcy5fY2xvbmUoKTtcbiAgICAgICAgaWYgKHRyYWNlU3RhdGUuX2ludGVybmFsU3RhdGUuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIHRyYWNlU3RhdGUuX2ludGVybmFsU3RhdGUuZGVsZXRlKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0cmFjZVN0YXRlO1xuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLnVuc2V0ID0gZnVuY3Rpb24gKGtleSkge1xuICAgICAgICB2YXIgdHJhY2VTdGF0ZSA9IHRoaXMuX2Nsb25lKCk7XG4gICAgICAgIHRyYWNlU3RhdGUuX2ludGVybmFsU3RhdGUuZGVsZXRlKGtleSk7XG4gICAgICAgIHJldHVybiB0cmFjZVN0YXRlO1xuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGUuZ2V0KGtleSk7XG4gICAgfTtcbiAgICBUcmFjZVN0YXRlSW1wbC5wcm90b3R5cGUuc2VyaWFsaXplID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICByZXR1cm4gdGhpcy5fa2V5cygpXG4gICAgICAgICAgICAucmVkdWNlKGZ1bmN0aW9uIChhZ2csIGtleSkge1xuICAgICAgICAgICAgYWdnLnB1c2goa2V5ICsgTElTVF9NRU1CRVJfS0VZX1ZBTFVFX1NQTElUVEVSICsgX3RoaXMuZ2V0KGtleSkpO1xuICAgICAgICAgICAgcmV0dXJuIGFnZztcbiAgICAgICAgfSwgW10pXG4gICAgICAgICAgICAuam9pbihMSVNUX01FTUJFUlNfU0VQQVJBVE9SKTtcbiAgICB9O1xuICAgIFRyYWNlU3RhdGVJbXBsLnByb3RvdHlwZS5fcGFyc2UgPSBmdW5jdGlvbiAocmF3VHJhY2VTdGF0ZSkge1xuICAgICAgICBpZiAocmF3VHJhY2VTdGF0ZS5sZW5ndGggPiBNQVhfVFJBQ0VfU1RBVEVfTEVOKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB0aGlzLl9pbnRlcm5hbFN0YXRlID0gcmF3VHJhY2VTdGF0ZVxuICAgICAgICAgICAgLnNwbGl0KExJU1RfTUVNQkVSU19TRVBBUkFUT1IpXG4gICAgICAgICAgICAucmV2ZXJzZSgpIC8vIFN0b3JlIGluIHJldmVyc2Ugc28gbmV3IGtleXMgKC5zZXQoLi4uKSkgd2lsbCBiZSBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZ1xuICAgICAgICAgICAgLnJlZHVjZShmdW5jdGlvbiAoYWdnLCBwYXJ0KSB7XG4gICAgICAgICAgICB2YXIgbGlzdE1lbWJlciA9IHBhcnQudHJpbSgpOyAvLyBPcHRpb25hbCBXaGl0ZXNwYWNlIChPV1MpIGhhbmRsaW5nXG4gICAgICAgICAgICB2YXIgaSA9IGxpc3RNZW1iZXIuaW5kZXhPZihMSVNUX01FTUJFUl9LRVlfVkFMVUVfU1BMSVRURVIpO1xuICAgICAgICAgICAgaWYgKGkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdmFyIGtleSA9IGxpc3RNZW1iZXIuc2xpY2UoMCwgaSk7XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gbGlzdE1lbWJlci5zbGljZShpICsgMSwgcGFydC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0ZUtleShrZXkpICYmIHZhbGlkYXRlVmFsdWUodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFnZy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFnZztcbiAgICAgICAgfSwgbmV3IE1hcCgpKTtcbiAgICAgICAgLy8gQmVjYXVzZSBvZiB0aGUgcmV2ZXJzZSgpIHJlcXVpcmVtZW50LCB0cnVuYyBtdXN0IGJlIGRvbmUgYWZ0ZXIgbWFwIGlzIGNyZWF0ZWRcbiAgICAgICAgaWYgKHRoaXMuX2ludGVybmFsU3RhdGUuc2l6ZSA+IE1BWF9UUkFDRV9TVEFURV9JVEVNUykge1xuICAgICAgICAgICAgdGhpcy5faW50ZXJuYWxTdGF0ZSA9IG5ldyBNYXAoQXJyYXkuZnJvbSh0aGlzLl9pbnRlcm5hbFN0YXRlLmVudHJpZXMoKSlcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpIC8vIFVzZSByZXZlcnNlIHNhbWUgYXMgb3JpZ2luYWwgdHJhY2VzdGF0ZSBwYXJzZSBjaGFpblxuICAgICAgICAgICAgICAgIC5zbGljZSgwLCBNQVhfVFJBQ0VfU1RBVEVfSVRFTVMpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLl9rZXlzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pbnRlcm5hbFN0YXRlLmtleXMoKSkucmV2ZXJzZSgpO1xuICAgIH07XG4gICAgVHJhY2VTdGF0ZUltcGwucHJvdG90eXBlLl9jbG9uZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHRyYWNlU3RhdGUgPSBuZXcgVHJhY2VTdGF0ZUltcGwoKTtcbiAgICAgICAgdHJhY2VTdGF0ZS5faW50ZXJuYWxTdGF0ZSA9IG5ldyBNYXAodGhpcy5faW50ZXJuYWxTdGF0ZSk7XG4gICAgICAgIHJldHVybiB0cmFjZVN0YXRlO1xuICAgIH07XG4gICAgcmV0dXJuIFRyYWNlU3RhdGVJbXBsO1xufSgpKTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVRyYWNlU3RhdGUocmF3VHJhY2VTdGF0ZSkge1xuICAgIHJldHVybiBuZXcgVHJhY2VTdGF0ZUltcGwocmF3VHJhY2VTdGF0ZSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyBEZWZhdWx0IGV4cG9ydC5cbmNvbnN0IGluZGV4ID0ge1xuICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgZGlhZzogZGlhZyxcbiAgICBtZXRyaWNzOiBtZXRyaWNzLFxuICAgIHByb3BhZ2F0aW9uOiBwcm9wYWdhdGlvbixcbiAgICB0cmFjZTogdHJhY2UsXG59O1xuXG5jb25zdCBlc20kMSA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKC8qI19fUFVSRV9fKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoe1xuICAgIF9fcHJvdG9fXzogbnVsbCxcbiAgICBEaWFnQ29uc29sZUxvZ2dlcixcbiAgICBnZXQgRGlhZ0xvZ0xldmVsICgpIHsgcmV0dXJuIERpYWdMb2dMZXZlbDsgfSxcbiAgICBJTlZBTElEX1NQQU5JRCxcbiAgICBJTlZBTElEX1NQQU5fQ09OVEVYVCxcbiAgICBJTlZBTElEX1RSQUNFSUQsXG4gICAgUHJveHlUcmFjZXIsXG4gICAgUHJveHlUcmFjZXJQcm92aWRlcixcbiAgICBST09UX0NPTlRFWFQsXG4gICAgZ2V0IFNhbXBsaW5nRGVjaXNpb24gKCkgeyByZXR1cm4gU2FtcGxpbmdEZWNpc2lvbjsgfSxcbiAgICBnZXQgU3BhbktpbmQgKCkgeyByZXR1cm4gU3BhbktpbmQ7IH0sXG4gICAgZ2V0IFNwYW5TdGF0dXNDb2RlICgpIHsgcmV0dXJuIFNwYW5TdGF0dXNDb2RlOyB9LFxuICAgIGdldCBUcmFjZUZsYWdzICgpIHsgcmV0dXJuIFRyYWNlRmxhZ3M7IH0sXG4gICAgZ2V0IFZhbHVlVHlwZSAoKSB7IHJldHVybiBWYWx1ZVR5cGU7IH0sXG4gICAgYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nLFxuICAgIGNvbnRleHQsXG4gICAgY3JlYXRlQ29udGV4dEtleSxcbiAgICBjcmVhdGVOb29wTWV0ZXIsXG4gICAgY3JlYXRlVHJhY2VTdGF0ZSxcbiAgICBkZWZhdWx0OiBpbmRleCxcbiAgICBkZWZhdWx0VGV4dE1hcEdldHRlcixcbiAgICBkZWZhdWx0VGV4dE1hcFNldHRlcixcbiAgICBkaWFnLFxuICAgIGlzU3BhbkNvbnRleHRWYWxpZCxcbiAgICBpc1ZhbGlkU3BhbklkLFxuICAgIGlzVmFsaWRUcmFjZUlkLFxuICAgIG1ldHJpY3MsXG4gICAgcHJvcGFnYXRpb24sXG4gICAgdHJhY2Vcbn0sIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSkpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBETyBOT1QgRURJVCwgdGhpcyBpcyBhbiBBdXRvLWdlbmVyYXRlZCBmaWxlIGZyb20gc2NyaXB0cy9zZW1jb252L3RlbXBsYXRlcy9yZWdpc3RyeS9zdGFibGUvYXR0cmlidXRlcy50cy5qMlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKipcbiAqIFJhdGUtbGltaXRpbmcgcmVzdWx0LCBzaG93cyB3aGV0aGVyIHRoZSBsZWFzZSB3YXMgYWNxdWlyZWQgb3IgY29udGFpbnMgYSByZWplY3Rpb24gcmVhc29uXG4gKlxuICogQGV4YW1wbGUgYWNxdWlyZWRcbiAqIEBleGFtcGxlIHJlcXVlc3RfY2FuY2VsZWRcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVCA9ICdhc3BuZXRjb3JlLnJhdGVfbGltaXRpbmcucmVzdWx0Jztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJhY3F1aXJlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9BQ1FVSVJFRCA9IFwiYWNxdWlyZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJlbmRwb2ludF9saW1pdGVyXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX0VORFBPSU5UX0xJTUlURVIgPSBcImVuZHBvaW50X2xpbWl0ZXJcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJnbG9iYWxfbGltaXRlclwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9HTE9CQUxfTElNSVRFUiA9IFwiZ2xvYmFsX2xpbWl0ZXJcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJyZXF1ZXN0X2NhbmNlbGVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUX1ZBTFVFX1JFUVVFU1RfQ0FOQ0VMRUQgPSBcInJlcXVlc3RfY2FuY2VsZWRcIjtcbi8qKlxuICogVGhlIGxhbmd1YWdlIG9mIHRoZSB0ZWxlbWV0cnkgU0RLLlxuICovXG52YXIgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFID0gJ3RlbGVtZXRyeS5zZGsubGFuZ3VhZ2UnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImNwcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9DUFAgPSBcImNwcFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImRvdG5ldFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9ET1RORVQgPSBcImRvdG5ldFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImVybGFuZ1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9FUkxBTkcgPSBcImVybGFuZ1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImdvXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0dPID0gXCJnb1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImphdmFcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfSkFWQSA9IFwiamF2YVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIm5vZGVqc1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9OT0RFSlMgPSBcIm5vZGVqc1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInBocFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9QSFAgPSBcInBocFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInB5dGhvblwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRX0uXG4gICovXG52YXIgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9QWVRIT04gPSBcInB5dGhvblwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJ1YnlcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVCWSA9IFwicnVieVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInJ1c3RcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1RFTEVNRVRSWV9TREtfTEFOR1VBR0V9LlxuICAqL1xudmFyIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfUlVTVCA9IFwicnVzdFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInN3aWZ0XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1NXSUZUID0gXCJzd2lmdFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIndlYmpzXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFfS5cbiAgKi9cbnZhciBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1dFQkpTID0gXCJ3ZWJqc1wiO1xuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgdGVsZW1ldHJ5IFNESyBhcyBkZWZpbmVkIGFib3ZlLlxuICpcbiAqIEBleGFtcGxlIG9wZW50ZWxlbWV0cnlcbiAqXG4gKiBAbm90ZSBUaGUgT3BlblRlbGVtZXRyeSBTREsgKipNVVNUKiogc2V0IHRoZSBgdGVsZW1ldHJ5LnNkay5uYW1lYCBhdHRyaWJ1dGUgdG8gYG9wZW50ZWxlbWV0cnlgLlxuICogSWYgYW5vdGhlciBTREssIGxpa2UgYSBmb3JrIG9yIGEgdmVuZG9yLXByb3ZpZGVkIGltcGxlbWVudGF0aW9uLCBpcyB1c2VkLCB0aGlzIFNESyAqKk1VU1QqKiBzZXQgdGhlXG4gKiBgdGVsZW1ldHJ5LnNkay5uYW1lYCBhdHRyaWJ1dGUgdG8gdGhlIGZ1bGx5LXF1YWxpZmllZCBjbGFzcyBvciBtb2R1bGUgbmFtZSBvZiB0aGlzIFNESydzIG1haW4gZW50cnkgcG9pbnRcbiAqIG9yIGFub3RoZXIgc3VpdGFibGUgaWRlbnRpZmllciBkZXBlbmRpbmcgb24gdGhlIGxhbmd1YWdlLlxuICogVGhlIGlkZW50aWZpZXIgYG9wZW50ZWxlbWV0cnlgIGlzIHJlc2VydmVkIGFuZCAqKk1VU1QgTk9UKiogYmUgdXNlZCBpbiB0aGlzIGNhc2UuXG4gKiBBbGwgY3VzdG9tIGlkZW50aWZpZXJzICoqU0hPVUxEKiogYmUgc3RhYmxlIGFjcm9zcyBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgYW4gaW1wbGVtZW50YXRpb24uXG4gKi9cbnZhciBBVFRSX1RFTEVNRVRSWV9TREtfTkFNRSA9ICd0ZWxlbWV0cnkuc2RrLm5hbWUnO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIHRlbGVtZXRyeSBTREsuXG4gKlxuICogQGV4YW1wbGUgMS4yLjNcbiAqL1xudmFyIEFUVFJfVEVMRU1FVFJZX1NES19WRVJTSU9OID0gJ3RlbGVtZXRyeS5zZGsudmVyc2lvbic7XG4vKipcbiAqIEZ1bGwgdHlwZSBuYW1lIG9mIHRoZSBbYElFeGNlcHRpb25IYW5kbGVyYF0oaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2RvdG5ldC9hcGkvbWljcm9zb2Z0LmFzcG5ldGNvcmUuZGlhZ25vc3RpY3MuaWV4Y2VwdGlvbmhhbmRsZXIpIGltcGxlbWVudGF0aW9uIHRoYXQgaGFuZGxlZCB0aGUgZXhjZXB0aW9uLlxuICpcbiAqIEBleGFtcGxlIENvbnRvc28uTXlIYW5kbGVyXG4gKi9cbnZhciBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfSEFORExFUl9UWVBFID0gJ2FzcG5ldGNvcmUuZGlhZ25vc3RpY3MuaGFuZGxlci50eXBlJztcbi8qKlxuICogQVNQLk5FVCBDb3JlIGV4Y2VwdGlvbiBtaWRkbGV3YXJlIGhhbmRsaW5nIHJlc3VsdFxuICpcbiAqIEBleGFtcGxlIGhhbmRsZWRcbiAqIEBleGFtcGxlIHVuaGFuZGxlZFxuICovXG52YXIgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFQgPSAnYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5leGNlcHRpb24ucmVzdWx0Jztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJhYm9ydGVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFR9LlxuICAqL1xudmFyIEFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9BQk9SVEVEID0gXCJhYm9ydGVkXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwiaGFuZGxlZFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfSEFORExFRCA9IFwiaGFuZGxlZFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInNraXBwZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1NLSVBQRUQgPSBcInNraXBwZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ1bmhhbmRsZWRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVH0uXG4gICovXG52YXIgQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUX1ZBTFVFX1VOSEFORExFRCA9IFwidW5oYW5kbGVkXCI7XG4vKipcbiAqIFJhdGUgbGltaXRpbmcgcG9saWN5IG5hbWUuXG4gKlxuICogQGV4YW1wbGUgZml4ZWRcbiAqIEBleGFtcGxlIHNsaWRpbmdcbiAqIEBleGFtcGxlIHRva2VuXG4gKi9cbnZhciBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19QT0xJQ1kgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnBvbGljeSc7XG4vKipcbiAqIEZsYWcgaW5kaWNhdGluZyBpZiByZXF1ZXN0IHdhcyBoYW5kbGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBwaXBlbGluZS5cbiAqXG4gKiBAZXhhbXBsZSB0cnVlXG4gKi9cbnZhciBBVFRSX0FTUE5FVENPUkVfUkVRVUVTVF9JU19VTkhBTkRMRUQgPSAnYXNwbmV0Y29yZS5yZXF1ZXN0LmlzX3VuaGFuZGxlZCc7XG4vKipcbiAqIEEgdmFsdWUgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgbWF0Y2hlZCByb3V0ZSBpcyBhIGZhbGxiYWNrIHJvdXRlLlxuICpcbiAqIEBleGFtcGxlIHRydWVcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX0lTX0ZBTExCQUNLID0gJ2FzcG5ldGNvcmUucm91dGluZy5pc19mYWxsYmFjayc7XG4vKipcbiAqIE1hdGNoIHJlc3VsdCAtIHN1Y2Nlc3Mgb3IgZmFpbHVyZVxuICpcbiAqIEBleGFtcGxlIHN1Y2Nlc3NcbiAqIEBleGFtcGxlIGZhaWx1cmVcbiAqL1xudmFyIEFUVFJfQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVUyA9ICdhc3BuZXRjb3JlLnJvdXRpbmcubWF0Y2hfc3RhdHVzJztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJmYWlsdXJlXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTX1ZBTFVFX0ZBSUxVUkUgPSBcImZhaWx1cmVcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJzdWNjZXNzXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTfS5cbiAgKi9cbnZhciBBU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTX1ZBTFVFX1NVQ0NFU1MgPSBcInN1Y2Nlc3NcIjtcbi8qKlxuICogQ2xpZW50IGFkZHJlc3MgLSBkb21haW4gbmFtZSBpZiBhdmFpbGFibGUgd2l0aG91dCByZXZlcnNlIEROUyBsb29rdXA7IG90aGVyd2lzZSwgSVAgYWRkcmVzcyBvciBVbml4IGRvbWFpbiBzb2NrZXQgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSBjbGllbnQuZXhhbXBsZS5jb21cbiAqIEBleGFtcGxlIDEwLjEuMi44MFxuICogQGV4YW1wbGUgL3RtcC9teS5zb2NrXG4gKlxuICogQG5vdGUgV2hlbiBvYnNlcnZlZCBmcm9tIHRoZSBzZXJ2ZXIgc2lkZSwgYW5kIHdoZW4gY29tbXVuaWNhdGluZyB0aHJvdWdoIGFuIGludGVybWVkaWFyeSwgYGNsaWVudC5hZGRyZXNzYCAqKlNIT1VMRCoqIHJlcHJlc2VudCB0aGUgY2xpZW50IGFkZHJlc3MgYmVoaW5kIGFueSBpbnRlcm1lZGlhcmllcywgIGZvciBleGFtcGxlIHByb3hpZXMsIGlmIGl0J3MgYXZhaWxhYmxlLlxuICovXG52YXIgQVRUUl9DTElFTlRfQUREUkVTUyA9ICdjbGllbnQuYWRkcmVzcyc7XG4vKipcbiAqIENsaWVudCBwb3J0IG51bWJlci5cbiAqXG4gKiBAZXhhbXBsZSA2NTEyM1xuICpcbiAqIEBub3RlIFdoZW4gb2JzZXJ2ZWQgZnJvbSB0aGUgc2VydmVyIHNpZGUsIGFuZCB3aGVuIGNvbW11bmljYXRpbmcgdGhyb3VnaCBhbiBpbnRlcm1lZGlhcnksIGBjbGllbnQucG9ydGAgKipTSE9VTEQqKiByZXByZXNlbnQgdGhlIGNsaWVudCBwb3J0IGJlaGluZCBhbnkgaW50ZXJtZWRpYXJpZXMsICBmb3IgZXhhbXBsZSBwcm94aWVzLCBpZiBpdCdzIGF2YWlsYWJsZS5cbiAqL1xudmFyIEFUVFJfQ0xJRU5UX1BPUlQgPSAnY2xpZW50LnBvcnQnO1xuLyoqXG4gKiBEZXNjcmliZXMgYSBjbGFzcyBvZiBlcnJvciB0aGUgb3BlcmF0aW9uIGVuZGVkIHdpdGguXG4gKlxuICogQGV4YW1wbGUgdGltZW91dFxuICogQGV4YW1wbGUgamF2YS5uZXQuVW5rbm93bkhvc3RFeGNlcHRpb25cbiAqIEBleGFtcGxlIHNlcnZlcl9jZXJ0aWZpY2F0ZV9pbnZhbGlkXG4gKiBAZXhhbXBsZSA1MDBcbiAqXG4gKiBAbm90ZSBUaGUgYGVycm9yLnR5cGVgICoqU0hPVUxEKiogYmUgcHJlZGljdGFibGUsIGFuZCAqKlNIT1VMRCoqIGhhdmUgbG93IGNhcmRpbmFsaXR5LlxuICpcbiAqIFdoZW4gYGVycm9yLnR5cGVgIGlzIHNldCB0byBhIHR5cGUgKGUuZy4sIGFuIGV4Y2VwdGlvbiB0eXBlKSwgaXRzXG4gKiBjYW5vbmljYWwgY2xhc3MgbmFtZSBpZGVudGlmeWluZyB0aGUgdHlwZSB3aXRoaW4gdGhlIGFydGlmYWN0ICoqU0hPVUxEKiogYmUgdXNlZC5cbiAqXG4gKiBJbnN0cnVtZW50YXRpb25zICoqU0hPVUxEKiogZG9jdW1lbnQgdGhlIGxpc3Qgb2YgZXJyb3JzIHRoZXkgcmVwb3J0LlxuICpcbiAqIFRoZSBjYXJkaW5hbGl0eSBvZiBgZXJyb3IudHlwZWAgd2l0aGluIG9uZSBpbnN0cnVtZW50YXRpb24gbGlicmFyeSAqKlNIT1VMRCoqIGJlIGxvdy5cbiAqIFRlbGVtZXRyeSBjb25zdW1lcnMgdGhhdCBhZ2dyZWdhdGUgZGF0YSBmcm9tIG11bHRpcGxlIGluc3RydW1lbnRhdGlvbiBsaWJyYXJpZXMgYW5kIGFwcGxpY2F0aW9uc1xuICogc2hvdWxkIGJlIHByZXBhcmVkIGZvciBgZXJyb3IudHlwZWAgdG8gaGF2ZSBoaWdoIGNhcmRpbmFsaXR5IGF0IHF1ZXJ5IHRpbWUgd2hlbiBub1xuICogYWRkaXRpb25hbCBmaWx0ZXJzIGFyZSBhcHBsaWVkLlxuICpcbiAqIElmIHRoZSBvcGVyYXRpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIGluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQgTk9UKiogc2V0IGBlcnJvci50eXBlYC5cbiAqXG4gKiBJZiBhIHNwZWNpZmljIGRvbWFpbiBkZWZpbmVzIGl0cyBvd24gc2V0IG9mIGVycm9yIGlkZW50aWZpZXJzIChzdWNoIGFzIEhUVFAgb3IgZ1JQQyBzdGF0dXMgY29kZXMpLFxuICogaXQncyAqKlJFQ09NTUVOREVEKiogdG86XG4gKlxuICogICAtIFVzZSBhIGRvbWFpbi1zcGVjaWZpYyBhdHRyaWJ1dGVcbiAqICAgLSBTZXQgYGVycm9yLnR5cGVgIHRvIGNhcHR1cmUgYWxsIGVycm9ycywgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgYXJlIGRlZmluZWQgd2l0aGluIHRoZSBkb21haW4tc3BlY2lmaWMgc2V0IG9yIG5vdC5cbiAqL1xudmFyIEFUVFJfRVJST1JfVFlQRSA9ICdlcnJvci50eXBlJztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJfT1RIRVJcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0VSUk9SX1RZUEV9LlxuICAqL1xudmFyIEVSUk9SX1RZUEVfVkFMVUVfT1RIRVIgPSBcIl9PVEhFUlwiO1xuLyoqXG4gKiAqKlNIT1VMRCoqIGJlIHNldCB0byB0cnVlIGlmIHRoZSBleGNlcHRpb24gZXZlbnQgaXMgcmVjb3JkZWQgYXQgYSBwb2ludCB3aGVyZSBpdCBpcyBrbm93biB0aGF0IHRoZSBleGNlcHRpb24gaXMgZXNjYXBpbmcgdGhlIHNjb3BlIG9mIHRoZSBzcGFuLlxuICpcbiAqIEBub3RlIEFuIGV4Y2VwdGlvbiBpcyBjb25zaWRlcmVkIHRvIGhhdmUgZXNjYXBlZCAob3IgbGVmdCkgdGhlIHNjb3BlIG9mIGEgc3BhbixcbiAqIGlmIHRoYXQgc3BhbiBpcyBlbmRlZCB3aGlsZSB0aGUgZXhjZXB0aW9uIGlzIHN0aWxsIGxvZ2ljYWxseSBcImluIGZsaWdodFwiLlxuICogVGhpcyBtYXkgYmUgYWN0dWFsbHkgXCJpbiBmbGlnaHRcIiBpbiBzb21lIGxhbmd1YWdlcyAoZS5nLiBpZiB0aGUgZXhjZXB0aW9uXG4gKiBpcyBwYXNzZWQgdG8gYSBDb250ZXh0IG1hbmFnZXIncyBgX19leGl0X19gIG1ldGhvZCBpbiBQeXRob24pIGJ1dCB3aWxsXG4gKiB1c3VhbGx5IGJlIGNhdWdodCBhdCB0aGUgcG9pbnQgb2YgcmVjb3JkaW5nIHRoZSBleGNlcHRpb24gaW4gbW9zdCBsYW5ndWFnZXMuXG4gKlxuICogSXQgaXMgdXN1YWxseSBub3QgcG9zc2libGUgdG8gZGV0ZXJtaW5lIGF0IHRoZSBwb2ludCB3aGVyZSBhbiBleGNlcHRpb24gaXMgdGhyb3duXG4gKiB3aGV0aGVyIGl0IHdpbGwgZXNjYXBlIHRoZSBzY29wZSBvZiBhIHNwYW4uXG4gKiBIb3dldmVyLCBpdCBpcyB0cml2aWFsIHRvIGtub3cgdGhhdCBhbiBleGNlcHRpb25cbiAqIHdpbGwgZXNjYXBlLCBpZiBvbmUgY2hlY2tzIGZvciBhbiBhY3RpdmUgZXhjZXB0aW9uIGp1c3QgYmVmb3JlIGVuZGluZyB0aGUgc3BhbixcbiAqIGFzIGRvbmUgaW4gdGhlIFtleGFtcGxlIGZvciByZWNvcmRpbmcgc3BhbiBleGNlcHRpb25zXShodHRwczovL29wZW50ZWxlbWV0cnkuaW8vZG9jcy9zcGVjcy9zZW1jb252L2V4Y2VwdGlvbnMvZXhjZXB0aW9ucy1zcGFucy8jcmVjb3JkaW5nLWFuLWV4Y2VwdGlvbikuXG4gKlxuICogSXQgZm9sbG93cyB0aGF0IGFuIGV4Y2VwdGlvbiBtYXkgc3RpbGwgZXNjYXBlIHRoZSBzY29wZSBvZiB0aGUgc3BhblxuICogZXZlbiBpZiB0aGUgYGV4Y2VwdGlvbi5lc2NhcGVkYCBhdHRyaWJ1dGUgd2FzIG5vdCBzZXQgb3Igc2V0IHRvIGZhbHNlLFxuICogc2luY2UgdGhlIGV2ZW50IG1pZ2h0IGhhdmUgYmVlbiByZWNvcmRlZCBhdCBhIHRpbWUgd2hlcmUgaXQgd2FzIG5vdFxuICogY2xlYXIgd2hldGhlciB0aGUgZXhjZXB0aW9uIHdpbGwgZXNjYXBlLlxuICovXG52YXIgQVRUUl9FWENFUFRJT05fRVNDQVBFRCA9ICdleGNlcHRpb24uZXNjYXBlZCc7XG4vKipcbiAqIFRoZSBleGNlcHRpb24gbWVzc2FnZS5cbiAqXG4gKiBAZXhhbXBsZSBEaXZpc2lvbiBieSB6ZXJvXG4gKiBAZXhhbXBsZSBDYW4ndCBjb252ZXJ0ICdpbnQnIG9iamVjdCB0byBzdHIgaW1wbGljaXRseVxuICovXG52YXIgQVRUUl9FWENFUFRJT05fTUVTU0FHRSA9ICdleGNlcHRpb24ubWVzc2FnZSc7XG4vKipcbiAqIEEgc3RhY2t0cmFjZSBhcyBhIHN0cmluZyBpbiB0aGUgbmF0dXJhbCByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGxhbmd1YWdlIHJ1bnRpbWUuIFRoZSByZXByZXNlbnRhdGlvbiBpcyB0byBiZSBkZXRlcm1pbmVkIGFuZCBkb2N1bWVudGVkIGJ5IGVhY2ggbGFuZ3VhZ2UgU0lHLlxuICpcbiAqIEBleGFtcGxlIFwiRXhjZXB0aW9uIGluIHRocmVhZCBcIm1haW5cIiBqYXZhLmxhbmcuUnVudGltZUV4Y2VwdGlvbjogVGVzdCBleGNlcHRpb25cXFxcbiBhdCBjb20uZXhhbXBsZS5HZW5lcmF0ZVRyYWNlLm1ldGhvZEIoR2VuZXJhdGVUcmFjZS5qYXZhOjEzKVxcXFxuIGF0IGNvbS5leGFtcGxlLkdlbmVyYXRlVHJhY2UubWV0aG9kQShHZW5lcmF0ZVRyYWNlLmphdmE6OSlcXFxcbiBhdCBjb20uZXhhbXBsZS5HZW5lcmF0ZVRyYWNlLm1haW4oR2VuZXJhdGVUcmFjZS5qYXZhOjUpXFxcXG5cIlxuICovXG52YXIgQVRUUl9FWENFUFRJT05fU1RBQ0tUUkFDRSA9ICdleGNlcHRpb24uc3RhY2t0cmFjZSc7XG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBleGNlcHRpb24gKGl0cyBmdWxseS1xdWFsaWZpZWQgY2xhc3MgbmFtZSwgaWYgYXBwbGljYWJsZSkuIFRoZSBkeW5hbWljIHR5cGUgb2YgdGhlIGV4Y2VwdGlvbiBzaG91bGQgYmUgcHJlZmVycmVkIG92ZXIgdGhlIHN0YXRpYyB0eXBlIGluIGxhbmd1YWdlcyB0aGF0IHN1cHBvcnQgaXQuXG4gKlxuICogQGV4YW1wbGUgamF2YS5uZXQuQ29ubmVjdEV4Y2VwdGlvblxuICogQGV4YW1wbGUgT1NFcnJvclxuICovXG52YXIgQVRUUl9FWENFUFRJT05fVFlQRSA9ICdleGNlcHRpb24udHlwZSc7XG4vKipcbiAqIEhUVFAgcmVxdWVzdCBoZWFkZXJzLCBgPGtleT5gIGJlaW5nIHRoZSBub3JtYWxpemVkIEhUVFAgSGVhZGVyIG5hbWUgKGxvd2VyY2FzZSksIHRoZSB2YWx1ZSBiZWluZyB0aGUgaGVhZGVyIHZhbHVlcy5cbiAqXG4gKiBAZXhhbXBsZSBodHRwLnJlcXVlc3QuaGVhZGVyLmNvbnRlbnQtdHlwZT1bXCJhcHBsaWNhdGlvbi9qc29uXCJdXG4gKiBAZXhhbXBsZSBodHRwLnJlcXVlc3QuaGVhZGVyLngtZm9yd2FyZGVkLWZvcj1bXCIxLjIuMy40XCIsIFwiMS4yLjMuNVwiXVxuICpcbiAqIEBub3RlIEluc3RydW1lbnRhdGlvbnMgKipTSE9VTEQqKiByZXF1aXJlIGFuIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gb2Ygd2hpY2ggaGVhZGVycyBhcmUgdG8gYmUgY2FwdHVyZWQuIEluY2x1ZGluZyBhbGwgcmVxdWVzdCBoZWFkZXJzIGNhbiBiZSBhIHNlY3VyaXR5IHJpc2sgLSBleHBsaWNpdCBjb25maWd1cmF0aW9uIGhlbHBzIGF2b2lkIGxlYWtpbmcgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLlxuICogVGhlIGBVc2VyLUFnZW50YCBoZWFkZXIgaXMgYWxyZWFkeSBjYXB0dXJlZCBpbiB0aGUgYHVzZXJfYWdlbnQub3JpZ2luYWxgIGF0dHJpYnV0ZS4gVXNlcnMgKipNQVkqKiBleHBsaWNpdGx5IGNvbmZpZ3VyZSBpbnN0cnVtZW50YXRpb25zIHRvIGNhcHR1cmUgdGhlbSBldmVuIHRob3VnaCBpdCBpcyBub3QgcmVjb21tZW5kZWQuXG4gKiBUaGUgYXR0cmlidXRlIHZhbHVlICoqTVVTVCoqIGNvbnNpc3Qgb2YgZWl0aGVyIG11bHRpcGxlIGhlYWRlciB2YWx1ZXMgYXMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhIHNpbmdsZS1pdGVtIGFycmF5IGNvbnRhaW5pbmcgYSBwb3NzaWJseSBjb21tYS1jb25jYXRlbmF0ZWQgc3RyaW5nLCBkZXBlbmRpbmcgb24gdGhlIHdheSB0aGUgSFRUUCBsaWJyYXJ5IHByb3ZpZGVzIGFjY2VzcyB0byBoZWFkZXJzLlxuICovXG52YXIgQVRUUl9IVFRQX1JFUVVFU1RfSEVBREVSID0gZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gXCJodHRwLnJlcXVlc3QuaGVhZGVyLlwiICsga2V5OyB9O1xuLyoqXG4gKiBIVFRQIHJlcXVlc3QgbWV0aG9kLlxuICpcbiAqIEBleGFtcGxlIEdFVFxuICogQGV4YW1wbGUgUE9TVFxuICogQGV4YW1wbGUgSEVBRFxuICpcbiAqIEBub3RlIEhUVFAgcmVxdWVzdCBtZXRob2QgdmFsdWUgKipTSE9VTEQqKiBiZSBcImtub3duXCIgdG8gdGhlIGluc3RydW1lbnRhdGlvbi5cbiAqIEJ5IGRlZmF1bHQsIHRoaXMgY29udmVudGlvbiBkZWZpbmVzIFwia25vd25cIiBtZXRob2RzIGFzIHRoZSBvbmVzIGxpc3RlZCBpbiBbUkZDOTExMF0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzkxMTAuaHRtbCNuYW1lLW1ldGhvZHMpXG4gKiBhbmQgdGhlIFBBVENIIG1ldGhvZCBkZWZpbmVkIGluIFtSRkM1Nzg5XShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNTc4OS5odG1sKS5cbiAqXG4gKiBJZiB0aGUgSFRUUCByZXF1ZXN0IG1ldGhvZCBpcyBub3Qga25vd24gdG8gaW5zdHJ1bWVudGF0aW9uLCBpdCAqKk1VU1QqKiBzZXQgdGhlIGBodHRwLnJlcXVlc3QubWV0aG9kYCBhdHRyaWJ1dGUgdG8gYF9PVEhFUmAuXG4gKlxuICogSWYgdGhlIEhUVFAgaW5zdHJ1bWVudGF0aW9uIGNvdWxkIGVuZCB1cCBjb252ZXJ0aW5nIHZhbGlkIEhUVFAgcmVxdWVzdCBtZXRob2RzIHRvIGBfT1RIRVJgLCB0aGVuIGl0ICoqTVVTVCoqIHByb3ZpZGUgYSB3YXkgdG8gb3ZlcnJpZGVcbiAqIHRoZSBsaXN0IG9mIGtub3duIEhUVFAgbWV0aG9kcy4gSWYgdGhpcyBvdmVycmlkZSBpcyBkb25lIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgKipNVVNUKiogYmUgbmFtZWRcbiAqIE9URUxfSU5TVFJVTUVOVEFUSU9OX0hUVFBfS05PV05fTUVUSE9EUyBhbmQgc3VwcG9ydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGNhc2Utc2Vuc2l0aXZlIGtub3duIEhUVFAgbWV0aG9kc1xuICogKHRoaXMgbGlzdCAqKk1VU1QqKiBiZSBhIGZ1bGwgb3ZlcnJpZGUgb2YgdGhlIGRlZmF1bHQga25vd24gbWV0aG9kLCBpdCBpcyBub3QgYSBsaXN0IG9mIGtub3duIG1ldGhvZHMgaW4gYWRkaXRpb24gdG8gdGhlIGRlZmF1bHRzKS5cbiAqXG4gKiBIVFRQIG1ldGhvZCBuYW1lcyBhcmUgY2FzZS1zZW5zaXRpdmUgYW5kIGBodHRwLnJlcXVlc3QubWV0aG9kYCBhdHRyaWJ1dGUgdmFsdWUgKipNVVNUKiogbWF0Y2ggYSBrbm93biBIVFRQIG1ldGhvZCBuYW1lIGV4YWN0bHkuXG4gKiBJbnN0cnVtZW50YXRpb25zIGZvciBzcGVjaWZpYyB3ZWIgZnJhbWV3b3JrcyB0aGF0IGNvbnNpZGVyIEhUVFAgbWV0aG9kcyB0byBiZSBjYXNlIGluc2Vuc2l0aXZlLCAqKlNIT1VMRCoqIHBvcHVsYXRlIGEgY2Fub25pY2FsIGVxdWl2YWxlbnQuXG4gKiBUcmFjaW5nIGluc3RydW1lbnRhdGlvbnMgdGhhdCBkbyBzbywgKipNVVNUKiogYWxzbyBzZXQgYGh0dHAucmVxdWVzdC5tZXRob2Rfb3JpZ2luYWxgIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZS5cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRCA9ICdodHRwLnJlcXVlc3QubWV0aG9kJztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJfT1RIRVJcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1RIRVIgPSBcIl9PVEhFUlwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIkNPTk5FQ1RcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfQ09OTkVDVCA9IFwiQ09OTkVDVFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIkRFTEVURVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9ERUxFVEUgPSBcIkRFTEVURVwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIkdFVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9HRVQgPSBcIkdFVFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIkhFQURcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfSEVBRCA9IFwiSEVBRFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIk9QVElPTlNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1BUSU9OUyA9IFwiT1BUSU9OU1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIlBBVENIXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BBVENIID0gXCJQQVRDSFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIlBPU1RcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0R9LlxuICAqL1xudmFyIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUE9TVCA9IFwiUE9TVFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIlBVVFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSFRUUF9SRVFVRVNUX01FVEhPRH0uXG4gICovXG52YXIgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QVVQgPSBcIlBVVFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIlRSQUNFXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EfS5cbiAgKi9cbnZhciBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1RSQUNFID0gXCJUUkFDRVwiO1xuLyoqXG4gKiBPcmlnaW5hbCBIVFRQIG1ldGhvZCBzZW50IGJ5IHRoZSBjbGllbnQgaW4gdGhlIHJlcXVlc3QgbGluZS5cbiAqXG4gKiBAZXhhbXBsZSBHZVRcbiAqIEBleGFtcGxlIEFDTFxuICogQGV4YW1wbGUgZm9vXG4gKi9cbnZhciBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RfT1JJR0lOQUwgPSAnaHR0cC5yZXF1ZXN0Lm1ldGhvZF9vcmlnaW5hbCc7XG4vKipcbiAqIFRoZSBvcmRpbmFsIG51bWJlciBvZiByZXF1ZXN0IHJlc2VuZGluZyBhdHRlbXB0IChmb3IgYW55IHJlYXNvbiwgaW5jbHVkaW5nIHJlZGlyZWN0cykuXG4gKlxuICogQGV4YW1wbGUgM1xuICpcbiAqIEBub3RlIFRoZSByZXNlbmQgY291bnQgKipTSE9VTEQqKiBiZSB1cGRhdGVkIGVhY2ggdGltZSBhbiBIVFRQIHJlcXVlc3QgZ2V0cyByZXNlbnQgYnkgdGhlIGNsaWVudCwgcmVnYXJkbGVzcyBvZiB3aGF0IHdhcyB0aGUgY2F1c2Ugb2YgdGhlIHJlc2VuZGluZyAoZS5nLiByZWRpcmVjdGlvbiwgYXV0aG9yaXphdGlvbiBmYWlsdXJlLCA1MDMgU2VydmVyIFVuYXZhaWxhYmxlLCBuZXR3b3JrIGlzc3Vlcywgb3IgYW55IG90aGVyKS5cbiAqL1xudmFyIEFUVFJfSFRUUF9SRVFVRVNUX1JFU0VORF9DT1VOVCA9ICdodHRwLnJlcXVlc3QucmVzZW5kX2NvdW50Jztcbi8qKlxuICogSFRUUCByZXNwb25zZSBoZWFkZXJzLCBgPGtleT5gIGJlaW5nIHRoZSBub3JtYWxpemVkIEhUVFAgSGVhZGVyIG5hbWUgKGxvd2VyY2FzZSksIHRoZSB2YWx1ZSBiZWluZyB0aGUgaGVhZGVyIHZhbHVlcy5cbiAqXG4gKiBAZXhhbXBsZSBodHRwLnJlc3BvbnNlLmhlYWRlci5jb250ZW50LXR5cGU9W1wiYXBwbGljYXRpb24vanNvblwiXVxuICogQGV4YW1wbGUgaHR0cC5yZXNwb25zZS5oZWFkZXIubXktY3VzdG9tLWhlYWRlcj1bXCJhYmNcIiwgXCJkZWZcIl1cbiAqXG4gKiBAbm90ZSBJbnN0cnVtZW50YXRpb25zICoqU0hPVUxEKiogcmVxdWlyZSBhbiBleHBsaWNpdCBjb25maWd1cmF0aW9uIG9mIHdoaWNoIGhlYWRlcnMgYXJlIHRvIGJlIGNhcHR1cmVkLiBJbmNsdWRpbmcgYWxsIHJlc3BvbnNlIGhlYWRlcnMgY2FuIGJlIGEgc2VjdXJpdHkgcmlzayAtIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gaGVscHMgYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgaW5mb3JtYXRpb24uXG4gKiBVc2VycyAqKk1BWSoqIGV4cGxpY2l0bHkgY29uZmlndXJlIGluc3RydW1lbnRhdGlvbnMgdG8gY2FwdHVyZSB0aGVtIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCByZWNvbW1lbmRlZC5cbiAqIFRoZSBhdHRyaWJ1dGUgdmFsdWUgKipNVVNUKiogY29uc2lzdCBvZiBlaXRoZXIgbXVsdGlwbGUgaGVhZGVyIHZhbHVlcyBhcyBhbiBhcnJheSBvZiBzdHJpbmdzIG9yIGEgc2luZ2xlLWl0ZW0gYXJyYXkgY29udGFpbmluZyBhIHBvc3NpYmx5IGNvbW1hLWNvbmNhdGVuYXRlZCBzdHJpbmcsIGRlcGVuZGluZyBvbiB0aGUgd2F5IHRoZSBIVFRQIGxpYnJhcnkgcHJvdmlkZXMgYWNjZXNzIHRvIGhlYWRlcnMuXG4gKi9cbnZhciBBVFRSX0hUVFBfUkVTUE9OU0VfSEVBREVSID0gZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gXCJodHRwLnJlc3BvbnNlLmhlYWRlci5cIiArIGtleTsgfTtcbi8qKlxuICogW0hUVFAgcmVzcG9uc2Ugc3RhdHVzIGNvZGVdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjMxI3NlY3Rpb24tNikuXG4gKlxuICogQGV4YW1wbGUgMjAwXG4gKi9cbnZhciBBVFRSX0hUVFBfUkVTUE9OU0VfU1RBVFVTX0NPREUgPSAnaHR0cC5yZXNwb25zZS5zdGF0dXNfY29kZSc7XG4vKipcbiAqIFRoZSBtYXRjaGVkIHJvdXRlLCB0aGF0IGlzLCB0aGUgcGF0aCB0ZW1wbGF0ZSBpbiB0aGUgZm9ybWF0IHVzZWQgYnkgdGhlIHJlc3BlY3RpdmUgc2VydmVyIGZyYW1ld29yay5cbiAqXG4gKiBAZXhhbXBsZSAvdXNlcnMvOnVzZXJJRD9cbiAqIEBleGFtcGxlIHtjb250cm9sbGVyfS97YWN0aW9ufS97aWQ/fVxuICpcbiAqIEBub3RlICoqTVVTVCBOT1QqKiBiZSBwb3B1bGF0ZWQgd2hlbiB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIEhUVFAgc2VydmVyIGZyYW1ld29yayBhcyB0aGUgcm91dGUgYXR0cmlidXRlIHNob3VsZCBoYXZlIGxvdy1jYXJkaW5hbGl0eSBhbmQgdGhlIFVSSSBwYXRoIGNhbiBOT1Qgc3Vic3RpdHV0ZSBpdC5cbiAqICoqU0hPVUxEKiogaW5jbHVkZSB0aGUgW2FwcGxpY2F0aW9uIHJvb3RdKC9kb2NzL2h0dHAvaHR0cC1zcGFucy5tZCNodHRwLXNlcnZlci1kZWZpbml0aW9ucykgaWYgdGhlcmUgaXMgb25lLlxuICovXG52YXIgQVRUUl9IVFRQX1JPVVRFID0gJ2h0dHAucm91dGUnO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBhY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgZW5kIG9mIG1pbm9yIEdDXG4gKiBAZXhhbXBsZSBlbmQgb2YgbWFqb3IgR0NcbiAqXG4gKiBAbm90ZSBHYXJiYWdlIGNvbGxlY3RvciBhY3Rpb24gaXMgZ2VuZXJhbGx5IG9idGFpbmVkIHZpYSBbR2FyYmFnZUNvbGxlY3Rpb25Ob3RpZmljYXRpb25JbmZvI2dldEdjQWN0aW9uKCldKGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2VuL2phdmEvamF2YXNlLzExL2RvY3MvYXBpL2pkay5tYW5hZ2VtZW50L2NvbS9zdW4vbWFuYWdlbWVudC9HYXJiYWdlQ29sbGVjdGlvbk5vdGlmaWNhdGlvbkluZm8uaHRtbCNnZXRHY0FjdGlvbigpKS5cbiAqL1xudmFyIEFUVFJfSlZNX0dDX0FDVElPTiA9ICdqdm0uZ2MuYWN0aW9uJztcbi8qKlxuICogTmFtZSBvZiB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuXG4gKlxuICogQGV4YW1wbGUgRzEgWW91bmcgR2VuZXJhdGlvblxuICogQGV4YW1wbGUgRzEgT2xkIEdlbmVyYXRpb25cbiAqXG4gKiBAbm90ZSBHYXJiYWdlIGNvbGxlY3RvciBuYW1lIGlzIGdlbmVyYWxseSBvYnRhaW5lZCB2aWEgW0dhcmJhZ2VDb2xsZWN0aW9uTm90aWZpY2F0aW9uSW5mbyNnZXRHY05hbWUoKV0oaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTEvZG9jcy9hcGkvamRrLm1hbmFnZW1lbnQvY29tL3N1bi9tYW5hZ2VtZW50L0dhcmJhZ2VDb2xsZWN0aW9uTm90aWZpY2F0aW9uSW5mby5odG1sI2dldEdjTmFtZSgpKS5cbiAqL1xudmFyIEFUVFJfSlZNX0dDX05BTUUgPSAnanZtLmdjLm5hbWUnO1xuLyoqXG4gKiBOYW1lIG9mIHRoZSBtZW1vcnkgcG9vbC5cbiAqXG4gKiBAZXhhbXBsZSBHMSBPbGQgR2VuXG4gKiBAZXhhbXBsZSBHMSBFZGVuIHNwYWNlXG4gKiBAZXhhbXBsZSBHMSBTdXJ2aXZvciBTcGFjZVxuICpcbiAqIEBub3RlIFBvb2wgbmFtZXMgYXJlIGdlbmVyYWxseSBvYnRhaW5lZCB2aWEgW01lbW9yeVBvb2xNWEJlYW4jZ2V0TmFtZSgpXShodHRwczovL2RvY3Mub3JhY2xlLmNvbS9lbi9qYXZhL2phdmFzZS8xMS9kb2NzL2FwaS9qYXZhLm1hbmFnZW1lbnQvamF2YS9sYW5nL21hbmFnZW1lbnQvTWVtb3J5UG9vbE1YQmVhbi5odG1sI2dldE5hbWUoKSkuXG4gKi9cbnZhciBBVFRSX0pWTV9NRU1PUllfUE9PTF9OQU1FID0gJ2p2bS5tZW1vcnkucG9vbC5uYW1lJztcbi8qKlxuICogVGhlIHR5cGUgb2YgbWVtb3J5LlxuICpcbiAqIEBleGFtcGxlIGhlYXBcbiAqIEBleGFtcGxlIG5vbl9oZWFwXG4gKi9cbnZhciBBVFRSX0pWTV9NRU1PUllfVFlQRSA9ICdqdm0ubWVtb3J5LnR5cGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImhlYXBcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9NRU1PUllfVFlQRX0uXG4gICovXG52YXIgSlZNX01FTU9SWV9UWVBFX1ZBTFVFX0hFQVAgPSBcImhlYXBcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJub25faGVhcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX01FTU9SWV9UWVBFfS5cbiAgKi9cbnZhciBKVk1fTUVNT1JZX1RZUEVfVkFMVUVfTk9OX0hFQVAgPSBcIm5vbl9oZWFwXCI7XG4vKipcbiAqIFdoZXRoZXIgdGhlIHRocmVhZCBpcyBkYWVtb24gb3Igbm90LlxuICovXG52YXIgQVRUUl9KVk1fVEhSRUFEX0RBRU1PTiA9ICdqdm0udGhyZWFkLmRhZW1vbic7XG4vKipcbiAqIFN0YXRlIG9mIHRoZSB0aHJlYWQuXG4gKlxuICogQGV4YW1wbGUgcnVubmFibGVcbiAqIEBleGFtcGxlIGJsb2NrZWRcbiAqL1xudmFyIEFUVFJfSlZNX1RIUkVBRF9TVEFURSA9ICdqdm0udGhyZWFkLnN0YXRlJztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJibG9ja2VkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX0JMT0NLRUQgPSBcImJsb2NrZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJuZXdcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX0pWTV9USFJFQURfU1RBVEV9LlxuICAqL1xudmFyIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfTkVXID0gXCJuZXdcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJydW5uYWJsZVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfSlZNX1RIUkVBRF9TVEFURX0uXG4gICovXG52YXIgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9SVU5OQUJMRSA9IFwicnVubmFibGVcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ0ZXJtaW5hdGVkXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RFUk1JTkFURUQgPSBcInRlcm1pbmF0ZWRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ0aW1lZF93YWl0aW5nXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RJTUVEX1dBSVRJTkcgPSBcInRpbWVkX3dhaXRpbmdcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ3YWl0aW5nXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9KVk1fVEhSRUFEX1NUQVRFfS5cbiAgKi9cbnZhciBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1dBSVRJTkcgPSBcIndhaXRpbmdcIjtcbi8qKlxuICogTG9jYWwgYWRkcmVzcyBvZiB0aGUgbmV0d29yayBjb25uZWN0aW9uIC0gSVAgYWRkcmVzcyBvciBVbml4IGRvbWFpbiBzb2NrZXQgbmFtZS5cbiAqXG4gKiBAZXhhbXBsZSAxMC4xLjIuODBcbiAqIEBleGFtcGxlIC90bXAvbXkuc29ja1xuICovXG52YXIgQVRUUl9ORVRXT1JLX0xPQ0FMX0FERFJFU1MgPSAnbmV0d29yay5sb2NhbC5hZGRyZXNzJztcbi8qKlxuICogTG9jYWwgcG9ydCBudW1iZXIgb2YgdGhlIG5ldHdvcmsgY29ubmVjdGlvbi5cbiAqXG4gKiBAZXhhbXBsZSA2NTEyM1xuICovXG52YXIgQVRUUl9ORVRXT1JLX0xPQ0FMX1BPUlQgPSAnbmV0d29yay5sb2NhbC5wb3J0Jztcbi8qKlxuICogUGVlciBhZGRyZXNzIG9mIHRoZSBuZXR3b3JrIGNvbm5lY3Rpb24gLSBJUCBhZGRyZXNzIG9yIFVuaXggZG9tYWluIHNvY2tldCBuYW1lLlxuICpcbiAqIEBleGFtcGxlIDEwLjEuMi44MFxuICogQGV4YW1wbGUgL3RtcC9teS5zb2NrXG4gKi9cbnZhciBBVFRSX05FVFdPUktfUEVFUl9BRERSRVNTID0gJ25ldHdvcmsucGVlci5hZGRyZXNzJztcbi8qKlxuICogUGVlciBwb3J0IG51bWJlciBvZiB0aGUgbmV0d29yayBjb25uZWN0aW9uLlxuICpcbiAqIEBleGFtcGxlIDY1MTIzXG4gKi9cbnZhciBBVFRSX05FVFdPUktfUEVFUl9QT1JUID0gJ25ldHdvcmsucGVlci5wb3J0Jztcbi8qKlxuICogW09TSSBhcHBsaWNhdGlvbiBsYXllcl0oaHR0cHM6Ly9vc2ktbW9kZWwuY29tL2FwcGxpY2F0aW9uLWxheWVyLykgb3Igbm9uLU9TSSBlcXVpdmFsZW50LlxuICpcbiAqIEBleGFtcGxlIGFtcXBcbiAqIEBleGFtcGxlIGh0dHBcbiAqIEBleGFtcGxlIG1xdHRcbiAqXG4gKiBAbm90ZSBUaGUgdmFsdWUgKipTSE9VTEQqKiBiZSBub3JtYWxpemVkIHRvIGxvd2VyY2FzZS5cbiAqL1xudmFyIEFUVFJfTkVUV09SS19QUk9UT0NPTF9OQU1FID0gJ25ldHdvcmsucHJvdG9jb2wubmFtZSc7XG4vKipcbiAqIFRoZSBhY3R1YWwgdmVyc2lvbiBvZiB0aGUgcHJvdG9jb2wgdXNlZCBmb3IgbmV0d29yayBjb21tdW5pY2F0aW9uLlxuICpcbiAqIEBleGFtcGxlIDEuMVxuICogQGV4YW1wbGUgMlxuICpcbiAqIEBub3RlIElmIHByb3RvY29sIHZlcnNpb24gaXMgc3ViamVjdCB0byBuZWdvdGlhdGlvbiAoZm9yIGV4YW1wbGUgdXNpbmcgW0FMUE5dKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM3MzAxLmh0bWwpKSwgdGhpcyBhdHRyaWJ1dGUgKipTSE9VTEQqKiBiZSBzZXQgdG8gdGhlIG5lZ290aWF0ZWQgdmVyc2lvbi4gSWYgdGhlIGFjdHVhbCBwcm90b2NvbCB2ZXJzaW9uIGlzIG5vdCBrbm93biwgdGhpcyBhdHRyaWJ1dGUgKipTSE9VTEQgTk9UKiogYmUgc2V0LlxuICovXG52YXIgQVRUUl9ORVRXT1JLX1BST1RPQ09MX1ZFUlNJT04gPSAnbmV0d29yay5wcm90b2NvbC52ZXJzaW9uJztcbi8qKlxuICogW09TSSB0cmFuc3BvcnQgbGF5ZXJdKGh0dHBzOi8vb3NpLW1vZGVsLmNvbS90cmFuc3BvcnQtbGF5ZXIvKSBvciBbaW50ZXItcHJvY2VzcyBjb21tdW5pY2F0aW9uIG1ldGhvZF0oaHR0cHM6Ly93aWtpcGVkaWEub3JnL3dpa2kvSW50ZXItcHJvY2Vzc19jb21tdW5pY2F0aW9uKS5cbiAqXG4gKiBAZXhhbXBsZSB0Y3BcbiAqIEBleGFtcGxlIHVkcFxuICpcbiAqIEBub3RlIFRoZSB2YWx1ZSAqKlNIT1VMRCoqIGJlIG5vcm1hbGl6ZWQgdG8gbG93ZXJjYXNlLlxuICpcbiAqIENvbnNpZGVyIGFsd2F5cyBzZXR0aW5nIHRoZSB0cmFuc3BvcnQgd2hlbiBzZXR0aW5nIGEgcG9ydCBudW1iZXIsIHNpbmNlXG4gKiBhIHBvcnQgbnVtYmVyIGlzIGFtYmlndW91cyB3aXRob3V0IGtub3dpbmcgdGhlIHRyYW5zcG9ydC4gRm9yIGV4YW1wbGVcbiAqIGRpZmZlcmVudCBwcm9jZXNzZXMgY291bGQgYmUgbGlzdGVuaW5nIG9uIFRDUCBwb3J0IDEyMzQ1IGFuZCBVRFAgcG9ydCAxMjM0NS5cbiAqL1xudmFyIEFUVFJfTkVUV09SS19UUkFOU1BPUlQgPSAnbmV0d29yay50cmFuc3BvcnQnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInBpcGVcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX05FVFdPUktfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9QSVBFID0gXCJwaXBlXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwicXVpY1wiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1FVSUMgPSBcInF1aWNcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ0Y3BcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX05FVFdPUktfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9UQ1AgPSBcInRjcFwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcInVkcFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VEUCA9IFwidWRwXCI7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwidW5peFwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfTkVUV09SS19UUkFOU1BPUlR9LlxuICAqL1xudmFyIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VOSVggPSBcInVuaXhcIjtcbi8qKlxuICogW09TSSBuZXR3b3JrIGxheWVyXShodHRwczovL29zaS1tb2RlbC5jb20vbmV0d29yay1sYXllci8pIG9yIG5vbi1PU0kgZXF1aXZhbGVudC5cbiAqXG4gKiBAZXhhbXBsZSBpcHY0XG4gKiBAZXhhbXBsZSBpcHY2XG4gKlxuICogQG5vdGUgVGhlIHZhbHVlICoqU0hPVUxEKiogYmUgbm9ybWFsaXplZCB0byBsb3dlcmNhc2UuXG4gKi9cbnZhciBBVFRSX05FVFdPUktfVFlQRSA9ICduZXR3b3JrLnR5cGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcImlwdjRcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX05FVFdPUktfVFlQRX0uXG4gICovXG52YXIgTkVUV09SS19UWVBFX1ZBTFVFX0lQVjQgPSBcImlwdjRcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJpcHY2XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9ORVRXT1JLX1RZUEV9LlxuICAqL1xudmFyIE5FVFdPUktfVFlQRV9WQUxVRV9JUFY2ID0gXCJpcHY2XCI7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBpbnN0cnVtZW50YXRpb24gc2NvcGUgLSAoYEluc3RydW1lbnRhdGlvblNjb3BlLk5hbWVgIGluIE9UTFApLlxuICpcbiAqIEBleGFtcGxlIGlvLm9wZW50ZWxlbWV0cnkuY29udHJpYi5tb25nb2RiXG4gKi9cbnZhciBBVFRSX09URUxfU0NPUEVfTkFNRSA9ICdvdGVsLnNjb3BlLm5hbWUnO1xuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgaW5zdHJ1bWVudGF0aW9uIHNjb3BlIC0gKGBJbnN0cnVtZW50YXRpb25TY29wZS5WZXJzaW9uYCBpbiBPVExQKS5cbiAqXG4gKiBAZXhhbXBsZSAxLjAuMFxuICovXG52YXIgQVRUUl9PVEVMX1NDT1BFX1ZFUlNJT04gPSAnb3RlbC5zY29wZS52ZXJzaW9uJztcbi8qKlxuICogTmFtZSBvZiB0aGUgY29kZSwgZWl0aGVyIFwiT0tcIiBvciBcIkVSUk9SXCIuICoqTVVTVCBOT1QqKiBiZSBzZXQgaWYgdGhlIHN0YXR1cyBjb2RlIGlzIFVOU0VULlxuICovXG52YXIgQVRUUl9PVEVMX1NUQVRVU19DT0RFID0gJ290ZWwuc3RhdHVzX2NvZGUnO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIkVSUk9SXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9PVEVMX1NUQVRVU19DT0RFfS5cbiAgKi9cbnZhciBPVEVMX1NUQVRVU19DT0RFX1ZBTFVFX0VSUk9SID0gXCJFUlJPUlwiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIk9LXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9PVEVMX1NUQVRVU19DT0RFfS5cbiAgKi9cbnZhciBPVEVMX1NUQVRVU19DT0RFX1ZBTFVFX09LID0gXCJPS1wiO1xuLyoqXG4gKiBEZXNjcmlwdGlvbiBvZiB0aGUgU3RhdHVzIGlmIGl0IGhhcyBhIHZhbHVlLCBvdGhlcndpc2Ugbm90IHNldC5cbiAqXG4gKiBAZXhhbXBsZSByZXNvdXJjZSBub3QgZm91bmRcbiAqL1xudmFyIEFUVFJfT1RFTF9TVEFUVVNfREVTQ1JJUFRJT04gPSAnb3RlbC5zdGF0dXNfZGVzY3JpcHRpb24nO1xuLyoqXG4gKiBTZXJ2ZXIgZG9tYWluIG5hbWUgaWYgYXZhaWxhYmxlIHdpdGhvdXQgcmV2ZXJzZSBETlMgbG9va3VwOyBvdGhlcndpc2UsIElQIGFkZHJlc3Mgb3IgVW5peCBkb21haW4gc29ja2V0IG5hbWUuXG4gKlxuICogQGV4YW1wbGUgZXhhbXBsZS5jb21cbiAqIEBleGFtcGxlIDEwLjEuMi44MFxuICogQGV4YW1wbGUgL3RtcC9teS5zb2NrXG4gKlxuICogQG5vdGUgV2hlbiBvYnNlcnZlZCBmcm9tIHRoZSBjbGllbnQgc2lkZSwgYW5kIHdoZW4gY29tbXVuaWNhdGluZyB0aHJvdWdoIGFuIGludGVybWVkaWFyeSwgYHNlcnZlci5hZGRyZXNzYCAqKlNIT1VMRCoqIHJlcHJlc2VudCB0aGUgc2VydmVyIGFkZHJlc3MgYmVoaW5kIGFueSBpbnRlcm1lZGlhcmllcywgZm9yIGV4YW1wbGUgcHJveGllcywgaWYgaXQncyBhdmFpbGFibGUuXG4gKi9cbnZhciBBVFRSX1NFUlZFUl9BRERSRVNTID0gJ3NlcnZlci5hZGRyZXNzJztcbi8qKlxuICogU2VydmVyIHBvcnQgbnVtYmVyLlxuICpcbiAqIEBleGFtcGxlIDgwXG4gKiBAZXhhbXBsZSA4MDgwXG4gKiBAZXhhbXBsZSA0NDNcbiAqXG4gKiBAbm90ZSBXaGVuIG9ic2VydmVkIGZyb20gdGhlIGNsaWVudCBzaWRlLCBhbmQgd2hlbiBjb21tdW5pY2F0aW5nIHRocm91Z2ggYW4gaW50ZXJtZWRpYXJ5LCBgc2VydmVyLnBvcnRgICoqU0hPVUxEKiogcmVwcmVzZW50IHRoZSBzZXJ2ZXIgcG9ydCBiZWhpbmQgYW55IGludGVybWVkaWFyaWVzLCBmb3IgZXhhbXBsZSBwcm94aWVzLCBpZiBpdCdzIGF2YWlsYWJsZS5cbiAqL1xudmFyIEFUVFJfU0VSVkVSX1BPUlQgPSAnc2VydmVyLnBvcnQnO1xuLyoqXG4gKiBMb2dpY2FsIG5hbWUgb2YgdGhlIHNlcnZpY2UuXG4gKlxuICogQGV4YW1wbGUgc2hvcHBpbmdjYXJ0XG4gKlxuICogQG5vdGUgKipNVVNUKiogYmUgdGhlIHNhbWUgZm9yIGFsbCBpbnN0YW5jZXMgb2YgaG9yaXpvbnRhbGx5IHNjYWxlZCBzZXJ2aWNlcy4gSWYgdGhlIHZhbHVlIHdhcyBub3Qgc3BlY2lmaWVkLCBTREtzICoqTVVTVCoqIGZhbGxiYWNrIHRvIGB1bmtub3duX3NlcnZpY2U6YCBjb25jYXRlbmF0ZWQgd2l0aCBbYHByb2Nlc3MuZXhlY3V0YWJsZS5uYW1lYF0ocHJvY2Vzcy5tZCksIGUuZy4gYHVua25vd25fc2VydmljZTpiYXNoYC4gSWYgYHByb2Nlc3MuZXhlY3V0YWJsZS5uYW1lYCBpcyBub3QgYXZhaWxhYmxlLCB0aGUgdmFsdWUgKipNVVNUKiogYmUgc2V0IHRvIGB1bmtub3duX3NlcnZpY2VgLlxuICovXG52YXIgQVRUUl9TRVJWSUNFX05BTUUgPSAnc2VydmljZS5uYW1lJztcbi8qKlxuICogVGhlIHZlcnNpb24gc3RyaW5nIG9mIHRoZSBzZXJ2aWNlIEFQSSBvciBpbXBsZW1lbnRhdGlvbi4gVGhlIGZvcm1hdCBpcyBub3QgZGVmaW5lZCBieSB0aGVzZSBjb252ZW50aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSAyLjAuMFxuICogQGV4YW1wbGUgYTAxZGJlZjhhXG4gKi9cbnZhciBBVFRSX1NFUlZJQ0VfVkVSU0lPTiA9ICdzZXJ2aWNlLnZlcnNpb24nO1xuLyoqXG4gKiBTaWduYWxSIEhUVFAgY29ubmVjdGlvbiBjbG9zdXJlIHN0YXR1cy5cbiAqXG4gKiBAZXhhbXBsZSBhcHBfc2h1dGRvd25cbiAqIEBleGFtcGxlIHRpbWVvdXRcbiAqL1xudmFyIEFUVFJfU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVUyA9ICdzaWduYWxyLmNvbm5lY3Rpb24uc3RhdHVzJztcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJhcHBfc2h1dGRvd25cIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfQ09OTkVDVElPTl9TVEFUVVN9LlxuICAqL1xudmFyIFNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfQVBQX1NIVVRET1dOID0gXCJhcHBfc2h1dGRvd25cIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJub3JtYWxfY2xvc3VyZVwiIGZvciBhdHRyaWJ1dGUge0BsaW5rIEFUVFJfU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU30uXG4gICovXG52YXIgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9OT1JNQUxfQ0xPU1VSRSA9IFwibm9ybWFsX2Nsb3N1cmVcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJ0aW1lb3V0XCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTfS5cbiAgKi9cbnZhciBTSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTX1ZBTFVFX1RJTUVPVVQgPSBcInRpbWVvdXRcIjtcbi8qKlxuICogW1NpZ25hbFIgdHJhbnNwb3J0IHR5cGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9kb3RuZXQvYXNwbmV0Y29yZS9ibG9iL21haW4vc3JjL1NpZ25hbFIvZG9jcy9zcGVjcy9UcmFuc3BvcnRQcm90b2NvbHMubWQpXG4gKlxuICogQGV4YW1wbGUgd2ViX3NvY2tldHNcbiAqIEBleGFtcGxlIGxvbmdfcG9sbGluZ1xuICovXG52YXIgQVRUUl9TSUdOQUxSX1RSQU5TUE9SVCA9ICdzaWduYWxyLnRyYW5zcG9ydCc7XG4vKipcbiAgKiBFbnVtIHZhbHVlIFwibG9uZ19wb2xsaW5nXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9TSUdOQUxSX1RSQU5TUE9SVH0uXG4gICovXG52YXIgU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfTE9OR19QT0xMSU5HID0gXCJsb25nX3BvbGxpbmdcIjtcbi8qKlxuICAqIEVudW0gdmFsdWUgXCJzZXJ2ZXJfc2VudF9ldmVudHNcIiBmb3IgYXR0cmlidXRlIHtAbGluayBBVFRSX1NJR05BTFJfVFJBTlNQT1JUfS5cbiAgKi9cbnZhciBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9TRVJWRVJfU0VOVF9FVkVOVFMgPSBcInNlcnZlcl9zZW50X2V2ZW50c1wiO1xuLyoqXG4gICogRW51bSB2YWx1ZSBcIndlYl9zb2NrZXRzXCIgZm9yIGF0dHJpYnV0ZSB7QGxpbmsgQVRUUl9TSUdOQUxSX1RSQU5TUE9SVH0uXG4gICovXG52YXIgU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfV0VCX1NPQ0tFVFMgPSBcIndlYl9zb2NrZXRzXCI7XG4vKipcbiAqIFRoZSBbVVJJIGZyYWdtZW50XShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjMzk4NiNzZWN0aW9uLTMuNSkgY29tcG9uZW50XG4gKlxuICogQGV4YW1wbGUgU2VtQ29udlxuICovXG52YXIgQVRUUl9VUkxfRlJBR01FTlQgPSAndXJsLmZyYWdtZW50Jztcbi8qKlxuICogQWJzb2x1dGUgVVJMIGRlc2NyaWJpbmcgYSBuZXR3b3JrIHJlc291cmNlIGFjY29yZGluZyB0byBbUkZDMzk4Nl0oaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzM5ODYpXG4gKlxuICogQGV4YW1wbGUgaHR0cHM6Ly93d3cuZm9vLmJhci9zZWFyY2g/cT1PcGVuVGVsZW1ldHJ5I1NlbUNvbnZcbiAqIEBleGFtcGxlIC8vbG9jYWxob3N0XG4gKlxuICogQG5vdGUgRm9yIG5ldHdvcmsgY2FsbHMsIFVSTCB1c3VhbGx5IGhhcyBgc2NoZW1lOi8vaG9zdFs6cG9ydF1bcGF0aF1bP3F1ZXJ5XVsjZnJhZ21lbnRdYCBmb3JtYXQsIHdoZXJlIHRoZSBmcmFnbWVudCBpcyBub3QgdHJhbnNtaXR0ZWQgb3ZlciBIVFRQLCBidXQgaWYgaXQgaXMga25vd24sIGl0ICoqU0hPVUxEKiogYmUgaW5jbHVkZWQgbmV2ZXJ0aGVsZXNzLlxuICogYHVybC5mdWxsYCAqKk1VU1QgTk9UKiogY29udGFpbiBjcmVkZW50aWFscyBwYXNzZWQgdmlhIFVSTCBpbiBmb3JtIG9mIGBodHRwczovL3VzZXJuYW1lOnBhc3N3b3JkQHd3dy5leGFtcGxlLmNvbS9gLiBJbiBzdWNoIGNhc2UgdXNlcm5hbWUgYW5kIHBhc3N3b3JkICoqU0hPVUxEKiogYmUgcmVkYWN0ZWQgYW5kIGF0dHJpYnV0ZSdzIHZhbHVlICoqU0hPVUxEKiogYmUgYGh0dHBzOi8vUkVEQUNURUQ6UkVEQUNURURAd3d3LmV4YW1wbGUuY29tL2AuXG4gKiBgdXJsLmZ1bGxgICoqU0hPVUxEKiogY2FwdHVyZSB0aGUgYWJzb2x1dGUgVVJMIHdoZW4gaXQgaXMgYXZhaWxhYmxlIChvciBjYW4gYmUgcmVjb25zdHJ1Y3RlZCkuIFNlbnNpdGl2ZSBjb250ZW50IHByb3ZpZGVkIGluIGB1cmwuZnVsbGAgKipTSE9VTEQqKiBiZSBzY3J1YmJlZCB3aGVuIGluc3RydW1lbnRhdGlvbnMgY2FuIGlkZW50aWZ5IGl0LlxuICovXG52YXIgQVRUUl9VUkxfRlVMTCA9ICd1cmwuZnVsbCc7XG4vKipcbiAqIFRoZSBbVVJJIHBhdGhdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMzOTg2I3NlY3Rpb24tMy4zKSBjb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZSAvc2VhcmNoXG4gKlxuICogQG5vdGUgU2Vuc2l0aXZlIGNvbnRlbnQgcHJvdmlkZWQgaW4gYHVybC5wYXRoYCAqKlNIT1VMRCoqIGJlIHNjcnViYmVkIHdoZW4gaW5zdHJ1bWVudGF0aW9ucyBjYW4gaWRlbnRpZnkgaXQuXG4gKi9cbnZhciBBVFRSX1VSTF9QQVRIID0gJ3VybC5wYXRoJztcbi8qKlxuICogVGhlIFtVUkkgcXVlcnldKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMzOTg2I3NlY3Rpb24tMy40KSBjb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZSBxPU9wZW5UZWxlbWV0cnlcbiAqXG4gKiBAbm90ZSBTZW5zaXRpdmUgY29udGVudCBwcm92aWRlZCBpbiBgdXJsLnF1ZXJ5YCAqKlNIT1VMRCoqIGJlIHNjcnViYmVkIHdoZW4gaW5zdHJ1bWVudGF0aW9ucyBjYW4gaWRlbnRpZnkgaXQuXG4gKi9cbnZhciBBVFRSX1VSTF9RVUVSWSA9ICd1cmwucXVlcnknO1xuLyoqXG4gKiBUaGUgW1VSSSBzY2hlbWVdKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMzOTg2I3NlY3Rpb24tMy4xKSBjb21wb25lbnQgaWRlbnRpZnlpbmcgdGhlIHVzZWQgcHJvdG9jb2wuXG4gKlxuICogQGV4YW1wbGUgaHR0cHNcbiAqIEBleGFtcGxlIGZ0cFxuICogQGV4YW1wbGUgdGVsbmV0XG4gKi9cbnZhciBBVFRSX1VSTF9TQ0hFTUUgPSAndXJsLnNjaGVtZSc7XG4vKipcbiAqIFZhbHVlIG9mIHRoZSBbSFRUUCBVc2VyLUFnZW50XShodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjOTExMC5odG1sI2ZpZWxkLnVzZXItYWdlbnQpIGhlYWRlciBzZW50IGJ5IHRoZSBjbGllbnQuXG4gKlxuICogQGV4YW1wbGUgQ0VSTi1MaW5lTW9kZS8yLjE1IGxpYnd3dy8yLjE3YjNcbiAqIEBleGFtcGxlIE1vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgMTRfN18xIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwNS4xLjE1IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi8xNC4xLjIgTW9iaWxlLzE1RTE0OCBTYWZhcmkvNjA0LjFcbiAqIEBleGFtcGxlIFlvdXJBcHAvMS4wLjAgZ3JwYy1qYXZhLW9raHR0cC8xLjI3LjJcbiAqL1xudmFyIEFUVFJfVVNFUl9BR0VOVF9PUklHSU5BTCA9ICd1c2VyX2FnZW50Lm9yaWdpbmFsJztcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRE8gTk9UIEVESVQsIHRoaXMgaXMgYW4gQXV0by1nZW5lcmF0ZWQgZmlsZSBmcm9tIHNjcmlwdHMvc2VtY29udi90ZW1wbGF0ZXMvcmVnaXN0ZXIvc3RhYmxlL21ldHJpY3MudHMuajJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyoqXG4gKiBOdW1iZXIgb2YgZXhjZXB0aW9ucyBjYXVnaHQgYnkgZXhjZXB0aW9uIGhhbmRsaW5nIG1pZGRsZXdhcmUuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLkRpYWdub3N0aWNzYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTlMgPSAnYXNwbmV0Y29yZS5kaWFnbm9zdGljcy5leGNlcHRpb25zJztcbi8qKlxuICogTnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBhY3RpdmUgb24gdGhlIHNlcnZlciB0aGF0IGhvbGQgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5SYXRlTGltaXRpbmdgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19BQ1RJVkVfUkVRVUVTVF9MRUFTRVMgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLmFjdGl2ZV9yZXF1ZXN0X2xlYXNlcyc7XG4vKipcbiAqIE51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgcXVldWVkLCB3YWl0aW5nIHRvIGFjcXVpcmUgYSByYXRlIGxpbWl0aW5nIGxlYXNlLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5SYXRlTGltaXRpbmdgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19RVUVVRURfUkVRVUVTVFMgPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnF1ZXVlZF9yZXF1ZXN0cyc7XG4vKipcbiAqIFRoZSB0aW1lIHRoZSByZXF1ZXN0IHNwZW50IGluIGEgcXVldWUgd2FpdGluZyB0byBhY3F1aXJlIGEgcmF0ZSBsaW1pdGluZyBsZWFzZS5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuUmF0ZUxpbWl0aW5nYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9USU1FX0lOX1FVRVVFID0gJ2FzcG5ldGNvcmUucmF0ZV9saW1pdGluZy5yZXF1ZXN0LnRpbWVfaW5fcXVldWUnO1xuLyoqXG4gKiBUaGUgZHVyYXRpb24gb2YgcmF0ZSBsaW1pdGluZyBsZWFzZSBoZWxkIGJ5IHJlcXVlc3RzIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFUVVFU1RfTEVBU0VfRFVSQVRJT04gPSAnYXNwbmV0Y29yZS5yYXRlX2xpbWl0aW5nLnJlcXVlc3RfbGVhc2UuZHVyYXRpb24nO1xuLyoqXG4gKiBOdW1iZXIgb2YgcmVxdWVzdHMgdGhhdCB0cmllZCB0byBhY3F1aXJlIGEgcmF0ZSBsaW1pdGluZyBsZWFzZS5cbiAqXG4gKiBAbm90ZSBSZXF1ZXN0cyBjb3VsZCBiZTpcbiAqXG4gKiAgIC0gUmVqZWN0ZWQgYnkgZ2xvYmFsIG9yIGVuZHBvaW50IHJhdGUgbGltaXRpbmcgcG9saWNpZXNcbiAqICAgLSBDYW5jZWxlZCB3aGlsZSB3YWl0aW5nIGZvciB0aGUgbGVhc2UuXG4gKlxuICogTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJhdGVMaW1pdGluZ2A7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFUVVFU1RTID0gJ2FzcG5ldGNvcmUucmF0ZV9saW1pdGluZy5yZXF1ZXN0cyc7XG4vKipcbiAqIE51bWJlciBvZiByZXF1ZXN0cyB0aGF0IHdlcmUgYXR0ZW1wdGVkIHRvIGJlIG1hdGNoZWQgdG8gYW4gZW5kcG9pbnQuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlJvdXRpbmdgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9BVFRFTVBUUyA9ICdhc3BuZXRjb3JlLnJvdXRpbmcubWF0Y2hfYXR0ZW1wdHMnO1xuLyoqXG4gKiBEdXJhdGlvbiBvZiBIVFRQIGNsaWVudCByZXF1ZXN0cy5cbiAqL1xudmFyIE1FVFJJQ19IVFRQX0NMSUVOVF9SRVFVRVNUX0RVUkFUSU9OID0gJ2h0dHAuY2xpZW50LnJlcXVlc3QuZHVyYXRpb24nO1xuLyoqXG4gKiBEdXJhdGlvbiBvZiBIVFRQIHNlcnZlciByZXF1ZXN0cy5cbiAqL1xudmFyIE1FVFJJQ19IVFRQX1NFUlZFUl9SRVFVRVNUX0RVUkFUSU9OID0gJ2h0dHAuc2VydmVyLnJlcXVlc3QuZHVyYXRpb24nO1xuLyoqXG4gKiBOdW1iZXIgb2YgY2xhc3NlcyBjdXJyZW50bHkgbG9hZGVkLlxuICovXG52YXIgTUVUUklDX0pWTV9DTEFTU19DT1VOVCA9ICdqdm0uY2xhc3MuY291bnQnO1xuLyoqXG4gKiBOdW1iZXIgb2YgY2xhc3NlcyBsb2FkZWQgc2luY2UgSlZNIHN0YXJ0LlxuICovXG52YXIgTUVUUklDX0pWTV9DTEFTU19MT0FERUQgPSAnanZtLmNsYXNzLmxvYWRlZCc7XG4vKipcbiAqIE51bWJlciBvZiBjbGFzc2VzIHVubG9hZGVkIHNpbmNlIEpWTSBzdGFydC5cbiAqL1xudmFyIE1FVFJJQ19KVk1fQ0xBU1NfVU5MT0FERUQgPSAnanZtLmNsYXNzLnVubG9hZGVkJztcbi8qKlxuICogTnVtYmVyIG9mIHByb2Nlc3NvcnMgYXZhaWxhYmxlIHRvIHRoZSBKYXZhIHZpcnR1YWwgbWFjaGluZS5cbiAqL1xudmFyIE1FVFJJQ19KVk1fQ1BVX0NPVU5UID0gJ2p2bS5jcHUuY291bnQnO1xuLyoqXG4gKiBSZWNlbnQgQ1BVIHV0aWxpemF0aW9uIGZvciB0aGUgcHJvY2VzcyBhcyByZXBvcnRlZCBieSB0aGUgSlZNLlxuICpcbiAqIEBub3RlIFRoZSB2YWx1ZSByYW5nZSBpcyBbMC4wLDEuMF0uIFRoaXMgdXRpbGl6YXRpb24gaXMgbm90IGRlZmluZWQgYXMgYmVpbmcgZm9yIHRoZSBzcGVjaWZpYyBpbnRlcnZhbCBzaW5jZSBsYXN0IG1lYXN1cmVtZW50ICh1bmxpa2UgYHN5c3RlbS5jcHUudXRpbGl6YXRpb25gKS4gW1JlZmVyZW5jZV0oaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vZW4vamF2YS9qYXZhc2UvMTcvZG9jcy9hcGkvamRrLm1hbmFnZW1lbnQvY29tL3N1bi9tYW5hZ2VtZW50L09wZXJhdGluZ1N5c3RlbU1YQmVhbi5odG1sI2dldFByb2Nlc3NDcHVMb2FkKCkpLlxuICovXG52YXIgTUVUUklDX0pWTV9DUFVfUkVDRU5UX1VUSUxJWkFUSU9OID0gJ2p2bS5jcHUucmVjZW50X3V0aWxpemF0aW9uJztcbi8qKlxuICogQ1BVIHRpbWUgdXNlZCBieSB0aGUgcHJvY2VzcyBhcyByZXBvcnRlZCBieSB0aGUgSlZNLlxuICovXG52YXIgTUVUUklDX0pWTV9DUFVfVElNRSA9ICdqdm0uY3B1LnRpbWUnO1xuLyoqXG4gKiBEdXJhdGlvbiBvZiBKVk0gZ2FyYmFnZSBjb2xsZWN0aW9uIGFjdGlvbnMuXG4gKi9cbnZhciBNRVRSSUNfSlZNX0dDX0RVUkFUSU9OID0gJ2p2bS5nYy5kdXJhdGlvbic7XG4vKipcbiAqIE1lYXN1cmUgb2YgbWVtb3J5IGNvbW1pdHRlZC5cbiAqL1xudmFyIE1FVFJJQ19KVk1fTUVNT1JZX0NPTU1JVFRFRCA9ICdqdm0ubWVtb3J5LmNvbW1pdHRlZCc7XG4vKipcbiAqIE1lYXN1cmUgb2YgbWF4IG9idGFpbmFibGUgbWVtb3J5LlxuICovXG52YXIgTUVUUklDX0pWTV9NRU1PUllfTElNSVQgPSAnanZtLm1lbW9yeS5saW1pdCc7XG4vKipcbiAqIE1lYXN1cmUgb2YgbWVtb3J5IHVzZWQuXG4gKi9cbnZhciBNRVRSSUNfSlZNX01FTU9SWV9VU0VEID0gJ2p2bS5tZW1vcnkudXNlZCc7XG4vKipcbiAqIE1lYXN1cmUgb2YgbWVtb3J5IHVzZWQsIGFzIG1lYXN1cmVkIGFmdGVyIHRoZSBtb3N0IHJlY2VudCBnYXJiYWdlIGNvbGxlY3Rpb24gZXZlbnQgb24gdGhpcyBwb29sLlxuICovXG52YXIgTUVUUklDX0pWTV9NRU1PUllfVVNFRF9BRlRFUl9MQVNUX0dDID0gJ2p2bS5tZW1vcnkudXNlZF9hZnRlcl9sYXN0X2djJztcbi8qKlxuICogTnVtYmVyIG9mIGV4ZWN1dGluZyBwbGF0Zm9ybSB0aHJlYWRzLlxuICovXG52YXIgTUVUUklDX0pWTV9USFJFQURfQ09VTlQgPSAnanZtLnRocmVhZC5jb3VudCc7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgYWN0aXZlIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX0FDVElWRV9DT05ORUNUSU9OUyA9ICdrZXN0cmVsLmFjdGl2ZV9jb25uZWN0aW9ucyc7XG4vKipcbiAqIE51bWJlciBvZiBUTFMgaGFuZHNoYWtlcyB0aGF0IGFyZSBjdXJyZW50bHkgaW4gcHJvZ3Jlc3Mgb24gdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfQUNUSVZFX1RMU19IQU5EU0hBS0VTID0gJ2tlc3RyZWwuYWN0aXZlX3Rsc19oYW5kc2hha2VzJztcbi8qKlxuICogVGhlIGR1cmF0aW9uIG9mIGNvbm5lY3Rpb25zIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX0NPTk5FQ1RJT05fRFVSQVRJT04gPSAna2VzdHJlbC5jb25uZWN0aW9uLmR1cmF0aW9uJztcbi8qKlxuICogTnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQgYW5kIGFyZSB3YWl0aW5nIHRvIHN0YXJ0LlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9RVUVVRURfQ09OTkVDVElPTlMgPSAna2VzdHJlbC5xdWV1ZWRfY29ubmVjdGlvbnMnO1xuLyoqXG4gKiBOdW1iZXIgb2YgSFRUUCByZXF1ZXN0cyBvbiBtdWx0aXBsZXhlZCBjb25uZWN0aW9ucyAoSFRUUC8yIGFuZCBIVFRQLzMpIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQgYW5kIGFyZSB3YWl0aW5nIHRvIHN0YXJ0LlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9RVUVVRURfUkVRVUVTVFMgPSAna2VzdHJlbC5xdWV1ZWRfcmVxdWVzdHMnO1xuLyoqXG4gKiBOdW1iZXIgb2YgY29ubmVjdGlvbnMgcmVqZWN0ZWQgYnkgdGhlIHNlcnZlci5cbiAqXG4gKiBAbm90ZSBDb25uZWN0aW9ucyBhcmUgcmVqZWN0ZWQgd2hlbiB0aGUgY3VycmVudGx5IGFjdGl2ZSBjb3VudCBleGNlZWRzIHRoZSB2YWx1ZSBjb25maWd1cmVkIHdpdGggYE1heENvbmN1cnJlbnRDb25uZWN0aW9uc2AuXG4gKiBNZXRlciBuYW1lOiBgTWljcm9zb2Z0LkFzcE5ldENvcmUuU2VydmVyLktlc3RyZWxgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX0tFU1RSRUxfUkVKRUNURURfQ09OTkVDVElPTlMgPSAna2VzdHJlbC5yZWplY3RlZF9jb25uZWN0aW9ucyc7XG4vKipcbiAqIFRoZSBkdXJhdGlvbiBvZiBUTFMgaGFuZHNoYWtlcyBvbiB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5TZXJ2ZXIuS2VzdHJlbGA7IEFkZGVkIGluOiBBU1AuTkVUIENvcmUgOC4wXG4gKi9cbnZhciBNRVRSSUNfS0VTVFJFTF9UTFNfSEFORFNIQUtFX0RVUkFUSU9OID0gJ2tlc3RyZWwudGxzX2hhbmRzaGFrZS5kdXJhdGlvbic7XG4vKipcbiAqIE51bWJlciBvZiBjb25uZWN0aW9ucyB0aGF0IGFyZSBjdXJyZW50bHkgdXBncmFkZWQgKFdlYlNvY2tldHMpLiAuXG4gKlxuICogQG5vdGUgVGhlIGNvdW50ZXIgb25seSB0cmFja3MgSFRUUC8xLjEgY29ubmVjdGlvbnMuXG4gKlxuICogTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLlNlcnZlci5LZXN0cmVsYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19LRVNUUkVMX1VQR1JBREVEX0NPTk5FQ1RJT05TID0gJ2tlc3RyZWwudXBncmFkZWRfY29ubmVjdGlvbnMnO1xuLyoqXG4gKiBOdW1iZXIgb2YgY29ubmVjdGlvbnMgdGhhdCBhcmUgY3VycmVudGx5IGFjdGl2ZSBvbiB0aGUgc2VydmVyLlxuICpcbiAqIEBub3RlIE1ldGVyIG5hbWU6IGBNaWNyb3NvZnQuQXNwTmV0Q29yZS5IdHRwLkNvbm5lY3Rpb25zYDsgQWRkZWQgaW46IEFTUC5ORVQgQ29yZSA4LjBcbiAqL1xudmFyIE1FVFJJQ19TSUdOQUxSX1NFUlZFUl9BQ1RJVkVfQ09OTkVDVElPTlMgPSAnc2lnbmFsci5zZXJ2ZXIuYWN0aXZlX2Nvbm5lY3Rpb25zJztcbi8qKlxuICogVGhlIGR1cmF0aW9uIG9mIGNvbm5lY3Rpb25zIG9uIHRoZSBzZXJ2ZXIuXG4gKlxuICogQG5vdGUgTWV0ZXIgbmFtZTogYE1pY3Jvc29mdC5Bc3BOZXRDb3JlLkh0dHAuQ29ubmVjdGlvbnNgOyBBZGRlZCBpbjogQVNQLk5FVCBDb3JlIDguMFxuICovXG52YXIgTUVUUklDX1NJR05BTFJfU0VSVkVSX0NPTk5FQ1RJT05fRFVSQVRJT04gPSAnc2lnbmFsci5zZXJ2ZXIuY29ubmVjdGlvbi5kdXJhdGlvbic7XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAtLVxuICogVGhlc2UgcmUtZXhwb3J0cyBhcmUgb25seSBvZiBjb25zdGFudHMsIG9ubHkgdHdvLWxldmVscyBkZWVwLCBhbmRcbiAqIHNob3VsZCBub3QgY2F1c2UgcHJvYmxlbXMgZm9yIHRyZWUtc2hha2Vycy5cbiAqL1xuLy8gRGVwcmVjYXRlZC4gVGhlc2UgYXJlIGtlcHQgYXJvdW5kIGZvciBjb21wYXRpYmlsaXR5IHB1cnBvc2VzXG5cbmNvbnN0IGVzbSA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKC8qI19fUFVSRV9fKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoe1xuICAgIF9fcHJvdG9fXzogbnVsbCxcbiAgICBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfQUJPUlRFRCxcbiAgICBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfSEFORExFRCxcbiAgICBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfU0tJUFBFRCxcbiAgICBBU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFRfVkFMVUVfVU5IQU5ETEVELFxuICAgIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfQUNRVUlSRUQsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9FTkRQT0lOVF9MSU1JVEVSLFxuICAgIEFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfR0xPQkFMX0xJTUlURVIsXG4gICAgQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9SRVFVRVNUX0NBTkNFTEVELFxuICAgIEFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfRkFJTFVSRSxcbiAgICBBU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfU1RBVFVTX1ZBTFVFX1NVQ0NFU1MsXG4gICAgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0VYQ0VQVElPTl9SRVNVTFQsXG4gICAgQVRUUl9BU1BORVRDT1JFX0RJQUdOT1NUSUNTX0hBTkRMRVJfVFlQRSxcbiAgICBBVFRSX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19QT0xJQ1ksXG4gICAgQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxULFxuICAgIEFUVFJfQVNQTkVUQ09SRV9SRVFVRVNUX0lTX1VOSEFORExFRCxcbiAgICBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19JU19GQUxMQkFDSyxcbiAgICBBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVMsXG4gICAgQVRUUl9DTElFTlRfQUREUkVTUyxcbiAgICBBVFRSX0NMSUVOVF9QT1JULFxuICAgIEFUVFJfRVJST1JfVFlQRSxcbiAgICBBVFRSX0VYQ0VQVElPTl9FU0NBUEVELFxuICAgIEFUVFJfRVhDRVBUSU9OX01FU1NBR0UsXG4gICAgQVRUUl9FWENFUFRJT05fU1RBQ0tUUkFDRSxcbiAgICBBVFRSX0VYQ0VQVElPTl9UWVBFLFxuICAgIEFUVFJfSFRUUF9SRVFVRVNUX0hFQURFUixcbiAgICBBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0QsXG4gICAgQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EX09SSUdJTkFMLFxuICAgIEFUVFJfSFRUUF9SRVFVRVNUX1JFU0VORF9DT1VOVCxcbiAgICBBVFRSX0hUVFBfUkVTUE9OU0VfSEVBREVSLFxuICAgIEFUVFJfSFRUUF9SRVNQT05TRV9TVEFUVVNfQ09ERSxcbiAgICBBVFRSX0hUVFBfUk9VVEUsXG4gICAgQVRUUl9KVk1fR0NfQUNUSU9OLFxuICAgIEFUVFJfSlZNX0dDX05BTUUsXG4gICAgQVRUUl9KVk1fTUVNT1JZX1BPT0xfTkFNRSxcbiAgICBBVFRSX0pWTV9NRU1PUllfVFlQRSxcbiAgICBBVFRSX0pWTV9USFJFQURfREFFTU9OLFxuICAgIEFUVFJfSlZNX1RIUkVBRF9TVEFURSxcbiAgICBBVFRSX05FVFdPUktfTE9DQUxfQUREUkVTUyxcbiAgICBBVFRSX05FVFdPUktfTE9DQUxfUE9SVCxcbiAgICBBVFRSX05FVFdPUktfUEVFUl9BRERSRVNTLFxuICAgIEFUVFJfTkVUV09SS19QRUVSX1BPUlQsXG4gICAgQVRUUl9ORVRXT1JLX1BST1RPQ09MX05BTUUsXG4gICAgQVRUUl9ORVRXT1JLX1BST1RPQ09MX1ZFUlNJT04sXG4gICAgQVRUUl9ORVRXT1JLX1RSQU5TUE9SVCxcbiAgICBBVFRSX05FVFdPUktfVFlQRSxcbiAgICBBVFRSX09URUxfU0NPUEVfTkFNRSxcbiAgICBBVFRSX09URUxfU0NPUEVfVkVSU0lPTixcbiAgICBBVFRSX09URUxfU1RBVFVTX0NPREUsXG4gICAgQVRUUl9PVEVMX1NUQVRVU19ERVNDUklQVElPTixcbiAgICBBVFRSX1NFUlZFUl9BRERSRVNTLFxuICAgIEFUVFJfU0VSVkVSX1BPUlQsXG4gICAgQVRUUl9TRVJWSUNFX05BTUUsXG4gICAgQVRUUl9TRVJWSUNFX1ZFUlNJT04sXG4gICAgQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTLFxuICAgIEFUVFJfU0lHTkFMUl9UUkFOU1BPUlQsXG4gICAgQVRUUl9URUxFTUVUUllfU0RLX0xBTkdVQUdFLFxuICAgIEFUVFJfVEVMRU1FVFJZX1NES19OQU1FLFxuICAgIEFUVFJfVEVMRU1FVFJZX1NES19WRVJTSU9OLFxuICAgIEFUVFJfVVJMX0ZSQUdNRU5ULFxuICAgIEFUVFJfVVJMX0ZVTEwsXG4gICAgQVRUUl9VUkxfUEFUSCxcbiAgICBBVFRSX1VSTF9RVUVSWSxcbiAgICBBVFRSX1VSTF9TQ0hFTUUsXG4gICAgQVRUUl9VU0VSX0FHRU5UX09SSUdJTkFMLFxuICAgIEFXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRUMyLFxuICAgIEFXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRkFSR0FURSxcbiAgICBBd3NFY3NMYXVuY2h0eXBlVmFsdWVzLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9FQ1MsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0ZDLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDMixcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQ1MsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUtTLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VMQVNUSUNfQkVBTlNUQUxLLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0xBTUJEQSxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FLUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FQUF9TRVJWSUNFLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0ZVTkNUSU9OUyxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX1ZNLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0FQUF9FTkdJTkUsXG4gICAgQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TLFxuICAgIENMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX1JVTixcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DT01QVVRFX0VOR0lORSxcbiAgICBDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9LVUJFUk5FVEVTX0VOR0lORSxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQsXG4gICAgQ0xPVURQUk9WSURFUlZBTFVFU19BV1MsXG4gICAgQ0xPVURQUk9WSURFUlZBTFVFU19BWlVSRSxcbiAgICBDTE9VRFBST1ZJREVSVkFMVUVTX0dDUCxcbiAgICBDbG91ZFBsYXRmb3JtVmFsdWVzLFxuICAgIENsb3VkUHJvdmlkZXJWYWx1ZXMsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0FMTCxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQU5ZLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19FQUNIX1FVT1JVTSxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfT05FLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9RVU9SVU0sXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1NFUklBTCxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfT05FLFxuICAgIERCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19RVU9SVU0sXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1NFUklBTCxcbiAgICBEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVEhSRUUsXG4gICAgREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1RXTyxcbiAgICBEQlNZU1RFTVZBTFVFU19BREFCQVMsXG4gICAgREJTWVNURU1WQUxVRVNfQ0FDSEUsXG4gICAgREJTWVNURU1WQUxVRVNfQ0FTU0FORFJBLFxuICAgIERCU1lTVEVNVkFMVUVTX0NMT1VEU0NBUEUsXG4gICAgREJTWVNURU1WQUxVRVNfQ09DS1JPQUNIREIsXG4gICAgREJTWVNURU1WQUxVRVNfQ09MREZVU0lPTixcbiAgICBEQlNZU1RFTVZBTFVFU19DT1NNT1NEQixcbiAgICBEQlNZU1RFTVZBTFVFU19DT1VDSEJBU0UsXG4gICAgREJTWVNURU1WQUxVRVNfQ09VQ0hEQixcbiAgICBEQlNZU1RFTVZBTFVFU19EQjIsXG4gICAgREJTWVNURU1WQUxVRVNfREVSQlksXG4gICAgREJTWVNURU1WQUxVRVNfRFlOQU1PREIsXG4gICAgREJTWVNURU1WQUxVRVNfRURCLFxuICAgIERCU1lTVEVNVkFMVUVTX0VMQVNUSUNTRUFSQ0gsXG4gICAgREJTWVNURU1WQUxVRVNfRklMRU1BS0VSLFxuICAgIERCU1lTVEVNVkFMVUVTX0ZJUkVCSVJELFxuICAgIERCU1lTVEVNVkFMVUVTX0ZJUlNUU1FMLFxuICAgIERCU1lTVEVNVkFMVUVTX0dFT0RFLFxuICAgIERCU1lTVEVNVkFMVUVTX0gyLFxuICAgIERCU1lTVEVNVkFMVUVTX0hBTkFEQixcbiAgICBEQlNZU1RFTVZBTFVFU19IQkFTRSxcbiAgICBEQlNZU1RFTVZBTFVFU19ISVZFLFxuICAgIERCU1lTVEVNVkFMVUVTX0hTUUxEQixcbiAgICBEQlNZU1RFTVZBTFVFU19JTkZPUk1JWCxcbiAgICBEQlNZU1RFTVZBTFVFU19JTkdSRVMsXG4gICAgREJTWVNURU1WQUxVRVNfSU5TVEFOVERCLFxuICAgIERCU1lTVEVNVkFMVUVTX0lOVEVSQkFTRSxcbiAgICBEQlNZU1RFTVZBTFVFU19NQVJJQURCLFxuICAgIERCU1lTVEVNVkFMVUVTX01BWERCLFxuICAgIERCU1lTVEVNVkFMVUVTX01FTUNBQ0hFRCxcbiAgICBEQlNZU1RFTVZBTFVFU19NT05HT0RCLFxuICAgIERCU1lTVEVNVkFMVUVTX01TU1FMLFxuICAgIERCU1lTVEVNVkFMVUVTX01ZU1FMLFxuICAgIERCU1lTVEVNVkFMVUVTX05FTzRKLFxuICAgIERCU1lTVEVNVkFMVUVTX05FVEVaWkEsXG4gICAgREJTWVNURU1WQUxVRVNfT1JBQ0xFLFxuICAgIERCU1lTVEVNVkFMVUVTX09USEVSX1NRTCxcbiAgICBEQlNZU1RFTVZBTFVFU19QRVJWQVNJVkUsXG4gICAgREJTWVNURU1WQUxVRVNfUE9JTlRCQVNFLFxuICAgIERCU1lTVEVNVkFMVUVTX1BPU1RHUkVTUUwsXG4gICAgREJTWVNURU1WQUxVRVNfUFJPR1JFU1MsXG4gICAgREJTWVNURU1WQUxVRVNfUkVESVMsXG4gICAgREJTWVNURU1WQUxVRVNfUkVEU0hJRlQsXG4gICAgREJTWVNURU1WQUxVRVNfU1FMSVRFLFxuICAgIERCU1lTVEVNVkFMVUVTX1NZQkFTRSxcbiAgICBEQlNZU1RFTVZBTFVFU19URVJBREFUQSxcbiAgICBEQlNZU1RFTVZBTFVFU19WRVJUSUNBLFxuICAgIERiQ2Fzc2FuZHJhQ29uc2lzdGVuY3lMZXZlbFZhbHVlcyxcbiAgICBEYlN5c3RlbVZhbHVlcyxcbiAgICBFUlJPUl9UWVBFX1ZBTFVFX09USEVSLFxuICAgIEZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19ERUxFVEUsXG4gICAgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0VESVQsXG4gICAgRkFBU0RPQ1VNRU5UT1BFUkFUSU9OVkFMVUVTX0lOU0VSVCxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQsXG4gICAgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BV1MsXG4gICAgRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BWlVSRSxcbiAgICBGQUFTSU5WT0tFRFBST1ZJREVSVkFMVUVTX0dDUCxcbiAgICBGQUFTVFJJR0dFUlZBTFVFU19EQVRBU09VUkNFLFxuICAgIEZBQVNUUklHR0VSVkFMVUVTX0hUVFAsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfT1RIRVIsXG4gICAgRkFBU1RSSUdHRVJWQUxVRVNfUFVCU1VCLFxuICAgIEZBQVNUUklHR0VSVkFMVUVTX1RJTUVSLFxuICAgIEZhYXNEb2N1bWVudE9wZXJhdGlvblZhbHVlcyxcbiAgICBGYWFzSW52b2tlZFByb3ZpZGVyVmFsdWVzLFxuICAgIEZhYXNUcmlnZ2VyVmFsdWVzLFxuICAgIEhPU1RBUkNIVkFMVUVTX0FNRDY0LFxuICAgIEhPU1RBUkNIVkFMVUVTX0FSTTMyLFxuICAgIEhPU1RBUkNIVkFMVUVTX0FSTTY0LFxuICAgIEhPU1RBUkNIVkFMVUVTX0lBNjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfUFBDMzIsXG4gICAgSE9TVEFSQ0hWQUxVRVNfUFBDNjQsXG4gICAgSE9TVEFSQ0hWQUxVRVNfWDg2LFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfSFRUUF8xXzAsXG4gICAgSFRUUEZMQVZPUlZBTFVFU19IVFRQXzFfMSxcbiAgICBIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMl8wLFxuICAgIEhUVFBGTEFWT1JWQUxVRVNfUVVJQyxcbiAgICBIVFRQRkxBVk9SVkFMVUVTX1NQRFksXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9DT05ORUNULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfREVMRVRFLFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfR0VULFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfSEVBRCxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX09QVElPTlMsXG4gICAgSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9PVEhFUixcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BBVENILFxuICAgIEhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfUE9TVCxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BVVCxcbiAgICBIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1RSQUNFLFxuICAgIEhvc3RBcmNoVmFsdWVzLFxuICAgIEh0dHBGbGF2b3JWYWx1ZXMsXG4gICAgSlZNX01FTU9SWV9UWVBFX1ZBTFVFX0hFQVAsXG4gICAgSlZNX01FTU9SWV9UWVBFX1ZBTFVFX05PTl9IRUFQLFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfQkxPQ0tFRCxcbiAgICBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX05FVyxcbiAgICBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1JVTk5BQkxFLFxuICAgIEpWTV9USFJFQURfU1RBVEVfVkFMVUVfVEVSTUlOQVRFRCxcbiAgICBKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RJTUVEX1dBSVRJTkcsXG4gICAgSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9XQUlUSU5HLFxuICAgIE1FU1NBR0VUWVBFVkFMVUVTX1JFQ0VJVkVELFxuICAgIE1FU1NBR0VUWVBFVkFMVUVTX1NFTlQsXG4gICAgTUVTU0FHSU5HREVTVElOQVRJT05LSU5EVkFMVUVTX1FVRVVFLFxuICAgIE1FU1NBR0lOR0RFU1RJTkFUSU9OS0lORFZBTFVFU19UT1BJQyxcbiAgICBNRVNTQUdJTkdPUEVSQVRJT05WQUxVRVNfUFJPQ0VTUyxcbiAgICBNRVNTQUdJTkdPUEVSQVRJT05WQUxVRVNfUkVDRUlWRSxcbiAgICBNRVRSSUNfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05TLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfQUNUSVZFX1JFUVVFU1RfTEVBU0VTLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUVVFVUVEX1JFUVVFU1RTLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVFMsXG4gICAgTUVUUklDX0FTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVFVRVNUX0xFQVNFX0RVUkFUSU9OLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9USU1FX0lOX1FVRVVFLFxuICAgIE1FVFJJQ19BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfQVRURU1QVFMsXG4gICAgTUVUUklDX0hUVFBfQ0xJRU5UX1JFUVVFU1RfRFVSQVRJT04sXG4gICAgTUVUUklDX0hUVFBfU0VSVkVSX1JFUVVFU1RfRFVSQVRJT04sXG4gICAgTUVUUklDX0pWTV9DTEFTU19DT1VOVCxcbiAgICBNRVRSSUNfSlZNX0NMQVNTX0xPQURFRCxcbiAgICBNRVRSSUNfSlZNX0NMQVNTX1VOTE9BREVELFxuICAgIE1FVFJJQ19KVk1fQ1BVX0NPVU5ULFxuICAgIE1FVFJJQ19KVk1fQ1BVX1JFQ0VOVF9VVElMSVpBVElPTixcbiAgICBNRVRSSUNfSlZNX0NQVV9USU1FLFxuICAgIE1FVFJJQ19KVk1fR0NfRFVSQVRJT04sXG4gICAgTUVUUklDX0pWTV9NRU1PUllfQ09NTUlUVEVELFxuICAgIE1FVFJJQ19KVk1fTUVNT1JZX0xJTUlULFxuICAgIE1FVFJJQ19KVk1fTUVNT1JZX1VTRUQsXG4gICAgTUVUUklDX0pWTV9NRU1PUllfVVNFRF9BRlRFUl9MQVNUX0dDLFxuICAgIE1FVFJJQ19KVk1fVEhSRUFEX0NPVU5ULFxuICAgIE1FVFJJQ19LRVNUUkVMX0FDVElWRV9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfS0VTVFJFTF9BQ1RJVkVfVExTX0hBTkRTSEFLRVMsXG4gICAgTUVUUklDX0tFU1RSRUxfQ09OTkVDVElPTl9EVVJBVElPTixcbiAgICBNRVRSSUNfS0VTVFJFTF9RVUVVRURfQ09OTkVDVElPTlMsXG4gICAgTUVUUklDX0tFU1RSRUxfUVVFVUVEX1JFUVVFU1RTLFxuICAgIE1FVFJJQ19LRVNUUkVMX1JFSkVDVEVEX0NPTk5FQ1RJT05TLFxuICAgIE1FVFJJQ19LRVNUUkVMX1RMU19IQU5EU0hBS0VfRFVSQVRJT04sXG4gICAgTUVUUklDX0tFU1RSRUxfVVBHUkFERURfQ09OTkVDVElPTlMsXG4gICAgTUVUUklDX1NJR05BTFJfU0VSVkVSX0FDVElWRV9DT05ORUNUSU9OUyxcbiAgICBNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQ09OTkVDVElPTl9EVVJBVElPTixcbiAgICBNZXNzYWdlVHlwZVZhbHVlcyxcbiAgICBNZXNzYWdpbmdEZXN0aW5hdGlvbktpbmRWYWx1ZXMsXG4gICAgTWVzc2FnaW5nT3BlcmF0aW9uVmFsdWVzLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19DRE1BLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19DRE1BMjAwMF8xWFJUVCxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRURHRSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRUhSUEQsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fMCxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET19BLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0IsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0dQUlMsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0dTTSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNEUEEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTUEEsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTUEFQLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU1VQQSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSURFTixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSVdMQU4sXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0xURSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFX0NBLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19OUixcbiAgICBORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTlJOU0EsXG4gICAgTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1REX1NDRE1BLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19VTVRTLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19DRUxMLFxuICAgIE5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTkFWQUlMQUJMRSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfVU5LTk9XTixcbiAgICBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfV0lGSSxcbiAgICBORVRIT1NUQ09OTkVDVElPTlRZUEVWQUxVRVNfV0lSRUQsXG4gICAgTkVUVFJBTlNQT1JUVkFMVUVTX0lOUFJPQyxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSVAsXG4gICAgTkVUVFJBTlNQT1JUVkFMVUVTX0lQX1RDUCxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfSVBfVURQLFxuICAgIE5FVFRSQU5TUE9SVFZBTFVFU19PVEhFUixcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfUElQRSxcbiAgICBORVRUUkFOU1BPUlRWQUxVRVNfVU5JWCxcbiAgICBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9QSVBFLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1FVSUMsXG4gICAgTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVENQLFxuICAgIE5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VEUCxcbiAgICBORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9VTklYLFxuICAgIE5FVFdPUktfVFlQRV9WQUxVRV9JUFY0LFxuICAgIE5FVFdPUktfVFlQRV9WQUxVRV9JUFY2LFxuICAgIE5ldEhvc3RDb25uZWN0aW9uU3VidHlwZVZhbHVlcyxcbiAgICBOZXRIb3N0Q29ubmVjdGlvblR5cGVWYWx1ZXMsXG4gICAgTmV0VHJhbnNwb3J0VmFsdWVzLFxuICAgIE9TVFlQRVZBTFVFU19BSVgsXG4gICAgT1NUWVBFVkFMVUVTX0RBUldJTixcbiAgICBPU1RZUEVWQUxVRVNfRFJBR09ORkxZQlNELFxuICAgIE9TVFlQRVZBTFVFU19GUkVFQlNELFxuICAgIE9TVFlQRVZBTFVFU19IUFVYLFxuICAgIE9TVFlQRVZBTFVFU19MSU5VWCxcbiAgICBPU1RZUEVWQUxVRVNfTkVUQlNELFxuICAgIE9TVFlQRVZBTFVFU19PUEVOQlNELFxuICAgIE9TVFlQRVZBTFVFU19TT0xBUklTLFxuICAgIE9TVFlQRVZBTFVFU19XSU5ET1dTLFxuICAgIE9TVFlQRVZBTFVFU19aX09TLFxuICAgIE9URUxfU1RBVFVTX0NPREVfVkFMVUVfRVJST1IsXG4gICAgT1RFTF9TVEFUVVNfQ09ERV9WQUxVRV9PSyxcbiAgICBPc1R5cGVWYWx1ZXMsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQUJPUlRFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19BTFJFQURZX0VYSVNUUyxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19DQU5DRUxMRUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfREFUQV9MT1NTLFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RFQURMSU5FX0VYQ0VFREVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0ZBSUxFRF9QUkVDT05ESVRJT04sXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5URVJOQUwsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfSU5WQUxJRF9BUkdVTUVOVCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19OT1RfRk9VTkQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT0ssXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfT1VUX09GX1JBTkdFLFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1BFUk1JU1NJT05fREVOSUVELFxuICAgIFJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1JFU09VUkNFX0VYSEFVU1RFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTkFVVEhFTlRJQ0FURUQsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5BVkFJTEFCTEUsXG4gICAgUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5JTVBMRU1FTlRFRCxcbiAgICBSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19VTktOT1dOLFxuICAgIFJwY0dycGNTdGF0dXNDb2RlVmFsdWVzLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9BVFRSSUJVVEVTX1RPX0dFVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFX0RFRklOSVRJT05TLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TSVNURU5UX1JFQUQsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0NPTlNVTUVEX0NBUEFDSVRZLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT1VOVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfRVhDTFVTSVZFX1NUQVJUX1RBQkxFLFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9HTE9CQUxfU0VDT05EQVJZX0lOREVYRVMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0dMT0JBTF9TRUNPTkRBUllfSU5ERVhfVVBEQVRFUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfSU5ERVhfTkFNRSxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfSVRFTV9DT0xMRUNUSU9OX01FVFJJQ1MsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0xJTUlULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9MT0NBTF9TRUNPTkRBUllfSU5ERVhFUyxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPSkVDVElPTixcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfUkVBRF9DQVBBQ0lUWSxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfUFJPVklTSU9ORURfV1JJVEVfQ0FQQUNJVFksXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5ORURfQ09VTlQsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NDQU5fRk9SV0FSRCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VHTUVOVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfU0VMRUNULFxuICAgIFNFTUFUVFJTX0FXU19EWU5BTU9EQl9UQUJMRV9DT1VOVCxcbiAgICBTRU1BVFRSU19BV1NfRFlOQU1PREJfVEFCTEVfTkFNRVMsXG4gICAgU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RPVEFMX1NFR01FTlRTLFxuICAgIFNFTUFUVFJTX0FXU19MQU1CREFfSU5WT0tFRF9BUk4sXG4gICAgU0VNQVRUUlNfQ09ERV9GSUxFUEFUSCxcbiAgICBTRU1BVFRSU19DT0RFX0ZVTkNUSU9OLFxuICAgIFNFTUFUVFJTX0NPREVfTElORU5PLFxuICAgIFNFTUFUVFJTX0NPREVfTkFNRVNQQUNFLFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT05TSVNURU5DWV9MRVZFTCxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09PUkRJTkFUT1JfREMsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPT1JESU5BVE9SX0lELFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9JREVNUE9URU5DRSxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfS0VZU1BBQ0UsXG4gICAgU0VNQVRUUlNfREJfQ0FTU0FORFJBX1BBR0VfU0laRSxcbiAgICBTRU1BVFRSU19EQl9DQVNTQU5EUkFfU1BFQ1VMQVRJVkVfRVhFQ1VUSU9OX0NPVU5ULFxuICAgIFNFTUFUVFJTX0RCX0NBU1NBTkRSQV9UQUJMRSxcbiAgICBTRU1BVFRSU19EQl9DT05ORUNUSU9OX1NUUklORyxcbiAgICBTRU1BVFRSU19EQl9IQkFTRV9OQU1FU1BBQ0UsXG4gICAgU0VNQVRUUlNfREJfSkRCQ19EUklWRVJfQ0xBU1NOQU1FLFxuICAgIFNFTUFUVFJTX0RCX01PTkdPREJfQ09MTEVDVElPTixcbiAgICBTRU1BVFRSU19EQl9NU1NRTF9JTlNUQU5DRV9OQU1FLFxuICAgIFNFTUFUVFJTX0RCX05BTUUsXG4gICAgU0VNQVRUUlNfREJfT1BFUkFUSU9OLFxuICAgIFNFTUFUVFJTX0RCX1JFRElTX0RBVEFCQVNFX0lOREVYLFxuICAgIFNFTUFUVFJTX0RCX1NRTF9UQUJMRSxcbiAgICBTRU1BVFRSU19EQl9TVEFURU1FTlQsXG4gICAgU0VNQVRUUlNfREJfU1lTVEVNLFxuICAgIFNFTUFUVFJTX0RCX1VTRVIsXG4gICAgU0VNQVRUUlNfRU5EVVNFUl9JRCxcbiAgICBTRU1BVFRSU19FTkRVU0VSX1JPTEUsXG4gICAgU0VNQVRUUlNfRU5EVVNFUl9TQ09QRSxcbiAgICBTRU1BVFRSU19FWENFUFRJT05fRVNDQVBFRCxcbiAgICBTRU1BVFRSU19FWENFUFRJT05fTUVTU0FHRSxcbiAgICBTRU1BVFRSU19FWENFUFRJT05fU1RBQ0tUUkFDRSxcbiAgICBTRU1BVFRSU19FWENFUFRJT05fVFlQRSxcbiAgICBTRU1BVFRSU19GQUFTX0NPTERTVEFSVCxcbiAgICBTRU1BVFRSU19GQUFTX0NST04sXG4gICAgU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9DT0xMRUNUSU9OLFxuICAgIFNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfTkFNRSxcbiAgICBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX09QRVJBVElPTixcbiAgICBTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX1RJTUUsXG4gICAgU0VNQVRUUlNfRkFBU19FWEVDVVRJT04sXG4gICAgU0VNQVRUUlNfRkFBU19JTlZPS0VEX05BTUUsXG4gICAgU0VNQVRUUlNfRkFBU19JTlZPS0VEX1BST1ZJREVSLFxuICAgIFNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9SRUdJT04sXG4gICAgU0VNQVRUUlNfRkFBU19USU1FLFxuICAgIFNFTUFUVFJTX0ZBQVNfVFJJR0dFUixcbiAgICBTRU1BVFRSU19IVFRQX0NMSUVOVF9JUCxcbiAgICBTRU1BVFRSU19IVFRQX0ZMQVZPUixcbiAgICBTRU1BVFRSU19IVFRQX0hPU1QsXG4gICAgU0VNQVRUUlNfSFRUUF9NRVRIT0QsXG4gICAgU0VNQVRUUlNfSFRUUF9SRVFVRVNUX0NPTlRFTlRfTEVOR1RILFxuICAgIFNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQsXG4gICAgU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSCxcbiAgICBTRU1BVFRSU19IVFRQX1JFU1BPTlNFX0NPTlRFTlRfTEVOR1RIX1VOQ09NUFJFU1NFRCxcbiAgICBTRU1BVFRSU19IVFRQX1JPVVRFLFxuICAgIFNFTUFUVFJTX0hUVFBfU0NIRU1FLFxuICAgIFNFTUFUVFJTX0hUVFBfU0VSVkVSX05BTUUsXG4gICAgU0VNQVRUUlNfSFRUUF9TVEFUVVNfQ09ERSxcbiAgICBTRU1BVFRSU19IVFRQX1RBUkdFVCxcbiAgICBTRU1BVFRSU19IVFRQX1VSTCxcbiAgICBTRU1BVFRSU19IVFRQX1VTRVJfQUdFTlQsXG4gICAgU0VNQVRUUlNfTUVTU0FHRV9DT01QUkVTU0VEX1NJWkUsXG4gICAgU0VNQVRUUlNfTUVTU0FHRV9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdFX1RZUEUsXG4gICAgU0VNQVRUUlNfTUVTU0FHRV9VTkNPTVBSRVNTRURfU0laRSxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfQ09OU1VNRVJfSUQsXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0NPTlZFUlNBVElPTl9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfREVTVElOQVRJT04sXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OX0tJTkQsXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NMSUVOVF9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfQ09OU1VNRVJfR1JPVVAsXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX01FU1NBR0VfS0VZLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9QQVJUSVRJT04sXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX1RPTUJTVE9ORSxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9JRCxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX0NPTVBSRVNTRURfU0laRV9CWVRFUyxcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfTUVTU0FHRV9QQVlMT0FEX1NJWkVfQllURVMsXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX09QRVJBVElPTixcbiAgICBTRU1BVFRSU19NRVNTQUdJTkdfUFJPVE9DT0wsXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MX1ZFUlNJT04sXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1JBQkJJVE1RX1JPVVRJTkdfS0VZLFxuICAgIFNFTUFUVFJTX01FU1NBR0lOR19TWVNURU0sXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1RFTVBfREVTVElOQVRJT04sXG4gICAgU0VNQVRUUlNfTUVTU0FHSU5HX1VSTCxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX0lDQyxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01DQyxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX01OQyxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9DQVJSSUVSX05BTUUsXG4gICAgU0VNQVRUUlNfTkVUX0hPU1RfQ09OTkVDVElPTl9TVUJUWVBFLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fVFlQRSxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9JUCxcbiAgICBTRU1BVFRSU19ORVRfSE9TVF9OQU1FLFxuICAgIFNFTUFUVFJTX05FVF9IT1NUX1BPUlQsXG4gICAgU0VNQVRUUlNfTkVUX1BFRVJfSVAsXG4gICAgU0VNQVRUUlNfTkVUX1BFRVJfTkFNRSxcbiAgICBTRU1BVFRSU19ORVRfUEVFUl9QT1JULFxuICAgIFNFTUFUVFJTX05FVF9UUkFOU1BPUlQsXG4gICAgU0VNQVRUUlNfUEVFUl9TRVJWSUNFLFxuICAgIFNFTUFUVFJTX1JQQ19HUlBDX1NUQVRVU19DT0RFLFxuICAgIFNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX0NPREUsXG4gICAgU0VNQVRUUlNfUlBDX0pTT05SUENfRVJST1JfTUVTU0FHRSxcbiAgICBTRU1BVFRSU19SUENfSlNPTlJQQ19SRVFVRVNUX0lELFxuICAgIFNFTUFUVFJTX1JQQ19KU09OUlBDX1ZFUlNJT04sXG4gICAgU0VNQVRUUlNfUlBDX01FVEhPRCxcbiAgICBTRU1BVFRSU19SUENfU0VSVklDRSxcbiAgICBTRU1BVFRSU19SUENfU1lTVEVNLFxuICAgIFNFTUFUVFJTX1RIUkVBRF9JRCxcbiAgICBTRU1BVFRSU19USFJFQURfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19BV1NfRUNTX0NMVVNURVJfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfQ09OVEFJTkVSX0FSTixcbiAgICBTRU1SRVNBVFRSU19BV1NfRUNTX0xBVU5DSFRZUEUsXG4gICAgU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX0FSTixcbiAgICBTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfRkFNSUxZLFxuICAgIFNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19SRVZJU0lPTixcbiAgICBTRU1SRVNBVFRSU19BV1NfRUtTX0NMVVNURVJfQVJOLFxuICAgIFNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfQVJOUyxcbiAgICBTRU1SRVNBVFRSU19BV1NfTE9HX0dST1VQX05BTUVTLFxuICAgIFNFTVJFU0FUVFJTX0FXU19MT0dfU1RSRUFNX0FSTlMsXG4gICAgU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fTkFNRVMsXG4gICAgU0VNUkVTQVRUUlNfQ0xPVURfQUNDT1VOVF9JRCxcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9BVkFJTEFCSUxJVFlfWk9ORSxcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9QTEFURk9STSxcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9QUk9WSURFUixcbiAgICBTRU1SRVNBVFRSU19DTE9VRF9SRUdJT04sXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lELFxuICAgIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JTUFHRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0NPTlRBSU5FUl9JTUFHRV9UQUcsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfQ09OVEFJTkVSX1JVTlRJTUUsXG4gICAgU0VNUkVTQVRUUlNfREVQTE9ZTUVOVF9FTlZJUk9OTUVOVCxcbiAgICBTRU1SRVNBVFRSU19ERVZJQ0VfSUQsXG4gICAgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX0lERU5USUZJRVIsXG4gICAgU0VNUkVTQVRUUlNfREVWSUNFX01PREVMX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfRkFBU19JRCxcbiAgICBTRU1SRVNBVFRSU19GQUFTX0lOU1RBTkNFLFxuICAgIFNFTVJFU0FUVFJTX0ZBQVNfTUFYX01FTU9SWSxcbiAgICBTRU1SRVNBVFRSU19GQUFTX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfRkFBU19WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfQVJDSCxcbiAgICBTRU1SRVNBVFRSU19IT1NUX0lELFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfSUQsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0hPU1RfSU1BR0VfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19IT1NUX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSE9TVF9UWVBFLFxuICAgIFNFTVJFU0FUVFJTX0s4U19DTFVTVEVSX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NPTlRBSU5FUl9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19DUk9OSk9CX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfREFFTU9OU0VUX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfREVQTE9ZTUVOVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfSk9CX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX0pPQl9VSUQsXG4gICAgU0VNUkVTQVRUUlNfSzhTX05BTUVTUEFDRV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19OT0RFX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfSzhTX05PREVfVUlELFxuICAgIFNFTVJFU0FUVFJTX0s4U19QT0RfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfUE9EX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfUkVQTElDQVNFVF9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX1VJRCxcbiAgICBTRU1SRVNBVFRSU19LOFNfU1RBVEVGVUxTRVRfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19LOFNfU1RBVEVGVUxTRVRfVUlELFxuICAgIFNFTVJFU0FUVFJTX09TX0RFU0NSSVBUSU9OLFxuICAgIFNFTVJFU0FUVFJTX09TX05BTUUsXG4gICAgU0VNUkVTQVRUUlNfT1NfVFlQRSxcbiAgICBTRU1SRVNBVFRSU19PU19WRVJTSU9OLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORCxcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfQVJHUyxcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX0NPTU1BTkRfTElORSxcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX0VYRUNVVEFCTEVfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX0VYRUNVVEFCTEVfUEFUSCxcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX09XTkVSLFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUElELFxuICAgIFNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9ERVNDUklQVElPTixcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19QUk9DRVNTX1JVTlRJTUVfVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19TRVJWSUNFX0lOU1RBTkNFX0lELFxuICAgIFNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19TRVJWSUNFX05BTUVTUEFDRSxcbiAgICBTRU1SRVNBVFRSU19TRVJWSUNFX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfVEVMRU1FVFJZX0FVVE9fVkVSU0lPTixcbiAgICBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFLFxuICAgIFNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRSxcbiAgICBTRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT04sXG4gICAgU0VNUkVTQVRUUlNfV0VCRU5HSU5FX0RFU0NSSVBUSU9OLFxuICAgIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9OQU1FLFxuICAgIFNFTVJFU0FUVFJTX1dFQkVOR0lORV9WRVJTSU9OLFxuICAgIFNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfQVBQX1NIVVRET1dOLFxuICAgIFNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfTk9STUFMX0NMT1NVUkUsXG4gICAgU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9USU1FT1VULFxuICAgIFNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX0xPTkdfUE9MTElORyxcbiAgICBTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9TRVJWRVJfU0VOVF9FVkVOVFMsXG4gICAgU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfV0VCX1NPQ0tFVFMsXG4gICAgU2VtYW50aWNBdHRyaWJ1dGVzLFxuICAgIFNlbWFudGljUmVzb3VyY2VBdHRyaWJ1dGVzLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0NQUCxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19ET1RORVQsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfRVJMQU5HLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0dPLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0pBVkEsXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfTk9ERUpTLFxuICAgIFRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BIUCxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19QWVRIT04sXG4gICAgVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUlVCWSxcbiAgICBURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19XRUJKUyxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0NQUCxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0RPVE5FVCxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0VSTEFORyxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0dPLFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfSkFWQSxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX05PREVKUyxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BIUCxcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BZVEhPTixcbiAgICBURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVQlksXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVVNULFxuICAgIFRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfU1dJRlQsXG4gICAgVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9XRUJKUyxcbiAgICBUZWxlbWV0cnlTZGtMYW5ndWFnZVZhbHVlc1xufSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KSk7XG5cbnZhciBkZXRlY3RSZXNvdXJjZXMkMiA9IHt9O1xuXG52YXIgUmVzb3VyY2UkMSA9IHt9O1xuXG5jb25zdCByZXF1aXJlJCQxJDEgPSAvKkBfX1BVUkVfXyovZ2V0QXVnbWVudGVkTmFtZXNwYWNlKGVzbSQxKTtcblxuY29uc3QgcmVxdWlyZSQkMSA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtKTtcblxuY29uc3QgcmVxdWlyZSQkMiA9IC8qQF9fUFVSRV9fKi9nZXRBdWdtZW50ZWROYW1lc3BhY2UoZXNtJDIpO1xuXG52YXIgYnJvd3NlciA9IHt9O1xuXG52YXIgZGVmYXVsdFNlcnZpY2VOYW1lJDEgPSB7fTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZWZhdWx0U2VydmljZU5hbWUkMSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5kZWZhdWx0U2VydmljZU5hbWUkMS5kZWZhdWx0U2VydmljZU5hbWUgPSB2b2lkIDA7XG5mdW5jdGlvbiBkZWZhdWx0U2VydmljZU5hbWUoKSB7XG4gICAgcmV0dXJuICd1bmtub3duX3NlcnZpY2UnO1xufVxuZGVmYXVsdFNlcnZpY2VOYW1lJDEuZGVmYXVsdFNlcnZpY2VOYW1lID0gZGVmYXVsdFNlcnZpY2VOYW1lO1xuXG4oZnVuY3Rpb24gKGV4cG9ydHMpIHtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHRleHBvcnRzLmRlZmF1bHRTZXJ2aWNlTmFtZSA9IHZvaWQgMDtcblx0Lypcblx0ICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcblx0ICpcblx0ICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcblx0ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuXHQgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblx0ICpcblx0ICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cdCAqXG5cdCAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcblx0ICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuXHQgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblx0ICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuXHQgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblx0ICovXG5cdHZhciBkZWZhdWx0X3NlcnZpY2VfbmFtZV8xID0gZGVmYXVsdFNlcnZpY2VOYW1lJDE7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRTZXJ2aWNlTmFtZVwiLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gZGVmYXVsdF9zZXJ2aWNlX25hbWVfMS5kZWZhdWx0U2VydmljZU5hbWU7IH0gfSk7XG5cdFxufSAoYnJvd3NlcikpO1xuXG4vKlxuICogQ29weXJpZ2h0IFRoZSBPcGVuVGVsZW1ldHJ5IEF1dGhvcnNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlc291cmNlJDEsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuUmVzb3VyY2UkMS5SZXNvdXJjZSA9IHZvaWQgMDtcbmNvbnN0IGFwaV8xJDEgPSByZXF1aXJlJCQxJDE7XG5jb25zdCBzZW1hbnRpY19jb252ZW50aW9uc18xID0gcmVxdWlyZSQkMTtcbmNvbnN0IGNvcmVfMSA9IHJlcXVpcmUkJDI7XG5jb25zdCBwbGF0Zm9ybV8xID0gYnJvd3Nlcjtcbi8qKlxuICogQSBSZXNvdXJjZSBkZXNjcmliZXMgdGhlIGVudGl0eSBmb3Igd2hpY2ggYSBzaWduYWxzIChtZXRyaWNzIG9yIHRyYWNlKSBhcmVcbiAqIGNvbGxlY3RlZC5cbiAqL1xuY2xhc3MgUmVzb3VyY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgZGljdGlvbmFyeSBvZiBhdHRyaWJ1dGVzIHdpdGggc3RyaW5nIGtleXMgYW5kIHZhbHVlcyB0aGF0IHByb3ZpZGVcbiAgICAgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZW50aXR5IGFzIG51bWJlcnMsIHN0cmluZ3Mgb3IgYm9vbGVhbnNcbiAgICAgKiBUT0RPOiBDb25zaWRlciB0byBhZGQgY2hlY2svdmFsaWRhdGlvbiBvbiBhdHRyaWJ1dGVzLlxuICAgICAqL1xuICAgIGF0dHJpYnV0ZXMsIGFzeW5jQXR0cmlidXRlc1Byb21pc2UpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcbiAgICAgICAgdGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nID0gYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSAhPSBudWxsO1xuICAgICAgICB0aGlzLl9zeW5jQXR0cmlidXRlcyA9IChfYSA9IHRoaXMuX2F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgICAgICB0aGlzLl9hc3luY0F0dHJpYnV0ZXNQcm9taXNlID0gYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSA9PT0gbnVsbCB8fCBhc3luY0F0dHJpYnV0ZXNQcm9taXNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhc3luY0F0dHJpYnV0ZXNQcm9taXNlLnRoZW4oYXN5bmNBdHRyaWJ1dGVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9hdHRyaWJ1dGVzLCBhc3luY0F0dHJpYnV0ZXMpO1xuICAgICAgICAgICAgdGhpcy5hc3luY0F0dHJpYnV0ZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmNBdHRyaWJ1dGVzO1xuICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgYXBpXzEkMS5kaWFnLmRlYnVnKFwiYSByZXNvdXJjZSdzIGFzeW5jIGF0dHJpYnV0ZXMgcHJvbWlzZSByZWplY3RlZDogJXNcIiwgZXJyKTtcbiAgICAgICAgICAgIHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBlbXB0eSBSZXNvdXJjZVxuICAgICAqL1xuICAgIHN0YXRpYyBlbXB0eSgpIHtcbiAgICAgICAgcmV0dXJuIFJlc291cmNlLkVNUFRZO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgUmVzb3VyY2UgdGhhdCBpZGVudGlmaWVzIHRoZSBTREsgaW4gdXNlLlxuICAgICAqL1xuICAgIHN0YXRpYyBkZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gbmV3IFJlc291cmNlKHtcbiAgICAgICAgICAgIFtzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRV06ICgwLCBwbGF0Zm9ybV8xLmRlZmF1bHRTZXJ2aWNlTmFtZSkoKSxcbiAgICAgICAgICAgIFtzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0VdOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX0xBTkdVQUdFXSxcbiAgICAgICAgICAgIFtzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRV06IGNvcmVfMS5TREtfSU5GT1tzZW1hbnRpY19jb252ZW50aW9uc18xLlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTkFNRV0sXG4gICAgICAgICAgICBbc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dOiBjb3JlXzEuU0RLX0lORk9bc2VtYW50aWNfY29udmVudGlvbnNfMS5TRU1SRVNBVFRSU19URUxFTUVUUllfU0RLX1ZFUlNJT05dLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IGF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKHRoaXMuYXN5bmNBdHRyaWJ1dGVzUGVuZGluZykge1xuICAgICAgICAgICAgYXBpXzEkMS5kaWFnLmVycm9yKCdBY2Nlc3NpbmcgcmVzb3VyY2UgYXR0cmlidXRlcyBiZWZvcmUgYXN5bmMgYXR0cmlidXRlcyBzZXR0bGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuX2F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHt9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHdpbGwgbmV2ZXIgYmUgcmVqZWN0ZWQuIFJlc29sdmVzIHdoZW4gYWxsIGFzeW5jIGF0dHJpYnV0ZXMgaGF2ZSBmaW5pc2hlZCBiZWluZyBhZGRlZCB0b1xuICAgICAqIHRoaXMgUmVzb3VyY2UncyBhdHRyaWJ1dGVzLiBUaGlzIGlzIHVzZWZ1bCBpbiBleHBvcnRlcnMgdG8gYmxvY2sgdW50aWwgcmVzb3VyY2UgZGV0ZWN0aW9uXG4gICAgICogaGFzIGZpbmlzaGVkLlxuICAgICAqL1xuICAgIGFzeW5jIHdhaXRGb3JBc3luY0F0dHJpYnV0ZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmFzeW5jQXR0cmlidXRlc1BlbmRpbmcpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIG5ldywgbWVyZ2VkIHtAbGluayBSZXNvdXJjZX0gYnkgbWVyZ2luZyB0aGUgY3VycmVudCBSZXNvdXJjZVxuICAgICAqIHdpdGggdGhlIG90aGVyIFJlc291cmNlLiBJbiBjYXNlIG9mIGEgY29sbGlzaW9uLCBvdGhlciBSZXNvdXJjZSB0YWtlc1xuICAgICAqIHByZWNlZGVuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3RoZXIgdGhlIFJlc291cmNlIHRoYXQgd2lsbCBiZSBtZXJnZWQgd2l0aCB0aGlzLlxuICAgICAqIEByZXR1cm5zIHRoZSBuZXdseSBtZXJnZWQgUmVzb3VyY2UuXG4gICAgICovXG4gICAgbWVyZ2Uob3RoZXIpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIW90aGVyKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIC8vIFNwYW5BdHRyaWJ1dGVzIGZyb20gb3RoZXIgcmVzb3VyY2Ugb3ZlcndyaXRlIGF0dHJpYnV0ZXMgZnJvbSB0aGlzIHJlc291cmNlLlxuICAgICAgICBjb25zdCBtZXJnZWRTeW5jQXR0cmlidXRlcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fc3luY0F0dHJpYnV0ZXMpLCAoKF9hID0gb3RoZXIuX3N5bmNBdHRyaWJ1dGVzKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvdGhlci5hdHRyaWJ1dGVzKSk7XG4gICAgICAgIGlmICghdGhpcy5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSAmJlxuICAgICAgICAgICAgIW90aGVyLl9hc3luY0F0dHJpYnV0ZXNQcm9taXNlKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlc291cmNlKG1lcmdlZFN5bmNBdHRyaWJ1dGVzKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtZXJnZWRBdHRyaWJ1dGVzUHJvbWlzZSA9IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHRoaXMuX2FzeW5jQXR0cmlidXRlc1Byb21pc2UsXG4gICAgICAgICAgICBvdGhlci5fYXN5bmNBdHRyaWJ1dGVzUHJvbWlzZSxcbiAgICAgICAgXSkudGhlbigoW3RoaXNBc3luY0F0dHJpYnV0ZXMsIG90aGVyQXN5bmNBdHRyaWJ1dGVzXSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3N5bmNBdHRyaWJ1dGVzKSwgdGhpc0FzeW5jQXR0cmlidXRlcyksICgoX2EgPSBvdGhlci5fc3luY0F0dHJpYnV0ZXMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG90aGVyLmF0dHJpYnV0ZXMpKSwgb3RoZXJBc3luY0F0dHJpYnV0ZXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBSZXNvdXJjZShtZXJnZWRTeW5jQXR0cmlidXRlcywgbWVyZ2VkQXR0cmlidXRlc1Byb21pc2UpO1xuICAgIH1cbn1cblJlc291cmNlJDEuUmVzb3VyY2UgPSBSZXNvdXJjZTtcblJlc291cmNlLkVNUFRZID0gbmV3IFJlc291cmNlKHt9KTtcblxudmFyIHV0aWxzID0ge307XG5cbi8qXG4gKiBDb3B5cmlnaHQgVGhlIE9wZW5UZWxlbWV0cnkgQXV0aG9yc1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5PYmplY3QuZGVmaW5lUHJvcGVydHkodXRpbHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudXRpbHMuaXNQcm9taXNlTGlrZSA9IHZvaWQgMDtcbmNvbnN0IGlzUHJvbWlzZUxpa2UgPSAodmFsKSA9PiB7XG4gICAgcmV0dXJuICh2YWwgIT09IG51bGwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHZhbC50aGVuID09PSAnZnVuY3Rpb24nKTtcbn07XG51dGlscy5pc1Byb21pc2VMaWtlID0gaXNQcm9taXNlTGlrZTtcblxuLypcbiAqIENvcHlyaWdodCBUaGUgT3BlblRlbGVtZXRyeSBBdXRob3JzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXRlY3RSZXNvdXJjZXMkMiwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgZGV0ZWN0UmVzb3VyY2VzU3luY18xID0gZGV0ZWN0UmVzb3VyY2VzJDIuZGV0ZWN0UmVzb3VyY2VzU3luYyA9IGRldGVjdFJlc291cmNlc18yID0gZGV0ZWN0UmVzb3VyY2VzJDIuZGV0ZWN0UmVzb3VyY2VzID0gdm9pZCAwO1xuY29uc3QgUmVzb3VyY2VfMSA9IFJlc291cmNlJDE7XG5jb25zdCBhcGlfMSA9IHJlcXVpcmUkJDEkMTtcbmNvbnN0IHV0aWxzXzEgPSB1dGlscztcbi8qKlxuICogUnVucyBhbGwgcmVzb3VyY2UgZGV0ZWN0b3JzIGFuZCByZXR1cm5zIHRoZSByZXN1bHRzIG1lcmdlZCBpbnRvIGEgc2luZ2xlIFJlc291cmNlLiBQcm9taXNlXG4gKiBkb2VzIG5vdCByZXNvbHZlIHVudGlsIGFsbCB0aGUgdW5kZXJseWluZyBkZXRlY3RvcnMgaGF2ZSByZXNvbHZlZCwgdW5saWtlXG4gKiBkZXRlY3RSZXNvdXJjZXNTeW5jLlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBkZXRlY3RSZXNvdXJjZXNTeW5jKCkgaW5zdGVhZC5cbiAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2UgZGV0ZWN0aW9uXG4gKi9cbmNvbnN0IGRldGVjdFJlc291cmNlcyA9IGFzeW5jIChjb25maWcgPSB7fSkgPT4ge1xuICAgIGNvbnN0IHJlc291cmNlcyA9IGF3YWl0IFByb21pc2UuYWxsKChjb25maWcuZGV0ZWN0b3JzIHx8IFtdKS5tYXAoYXN5bmMgKGQpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc291cmNlID0gYXdhaXQgZC5kZXRlY3QoY29uZmlnKTtcbiAgICAgICAgICAgIGFwaV8xLmRpYWcuZGVidWcoYCR7ZC5jb25zdHJ1Y3Rvci5uYW1lfSBmb3VuZCByZXNvdXJjZS5gLCByZXNvdXJjZSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzb3VyY2U7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGFwaV8xLmRpYWcuZGVidWcoYCR7ZC5jb25zdHJ1Y3Rvci5uYW1lfSBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgICAgICAgcmV0dXJuIFJlc291cmNlXzEuUmVzb3VyY2UuZW1wdHkoKTtcbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICAvLyBGdXR1cmUgY2hlY2sgaWYgdmVyYm9zZSBsb2dnaW5nIGlzIGVuYWJsZWQgaXNzdWUgIzE5MDNcbiAgICBsb2dSZXNvdXJjZXMocmVzb3VyY2VzKTtcbiAgICByZXR1cm4gcmVzb3VyY2VzLnJlZHVjZSgoYWNjLCByZXNvdXJjZSkgPT4gYWNjLm1lcmdlKHJlc291cmNlKSwgUmVzb3VyY2VfMS5SZXNvdXJjZS5lbXB0eSgpKTtcbn07XG52YXIgZGV0ZWN0UmVzb3VyY2VzXzIgPSBkZXRlY3RSZXNvdXJjZXMkMi5kZXRlY3RSZXNvdXJjZXMgPSBkZXRlY3RSZXNvdXJjZXM7XG4vKipcbiAqIFJ1bnMgYWxsIHJlc291cmNlIGRldGVjdG9ycyBzeW5jaHJvbm91c2x5LCBtZXJnaW5nIHRoZWlyIHJlc3VsdHMuIEluIGNhc2Ugb2YgYXR0cmlidXRlIGNvbGxpc2lvbiBsYXRlciByZXNvdXJjZXMgd2lsbCB0YWtlIHByZWNlZGVuY2UuXG4gKlxuICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciByZXNvdXJjZSBkZXRlY3Rpb25cbiAqL1xuY29uc3QgZGV0ZWN0UmVzb3VyY2VzU3luYyA9IChjb25maWcgPSB7fSkgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCByZXNvdXJjZXMgPSAoKF9hID0gY29uZmlnLmRldGVjdG9ycykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pLm1hcCgoZCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzb3VyY2VPclByb21pc2UgPSBkLmRldGVjdChjb25maWcpO1xuICAgICAgICAgICAgbGV0IHJlc291cmNlO1xuICAgICAgICAgICAgaWYgKCgwLCB1dGlsc18xLmlzUHJvbWlzZUxpa2UpKHJlc291cmNlT3JQcm9taXNlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNyZWF0ZVByb21pc2UgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRSZXNvdXJjZSA9IGF3YWl0IHJlc291cmNlT3JQcm9taXNlO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCAoKF9hID0gcmVzb2x2ZWRSZXNvdXJjZS53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChyZXNvbHZlZFJlc291cmNlKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlZFJlc291cmNlLmF0dHJpYnV0ZXM7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXNvdXJjZSA9IG5ldyBSZXNvdXJjZV8xLlJlc291cmNlKHt9LCBjcmVhdGVQcm9taXNlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzb3VyY2UgPSByZXNvdXJjZU9yUHJvbWlzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZXNvdXJjZS53YWl0Rm9yQXN5bmNBdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgdm9pZCByZXNvdXJjZVxuICAgICAgICAgICAgICAgICAgICAud2FpdEZvckFzeW5jQXR0cmlidXRlcygpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IGFwaV8xLmRpYWcuZGVidWcoYCR7ZC5jb25zdHJ1Y3Rvci5uYW1lfSBmb3VuZCByZXNvdXJjZS5gLCByZXNvdXJjZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYXBpXzEuZGlhZy5kZWJ1ZyhgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZvdW5kIHJlc291cmNlLmAsIHJlc291cmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXNvdXJjZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgYXBpXzEuZGlhZy5lcnJvcihgJHtkLmNvbnN0cnVjdG9yLm5hbWV9IGZhaWxlZDogJHtlLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgICByZXR1cm4gUmVzb3VyY2VfMS5SZXNvdXJjZS5lbXB0eSgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgbWVyZ2VkUmVzb3VyY2VzID0gcmVzb3VyY2VzLnJlZHVjZSgoYWNjLCByZXNvdXJjZSkgPT4gYWNjLm1lcmdlKHJlc291cmNlKSwgUmVzb3VyY2VfMS5SZXNvdXJjZS5lbXB0eSgpKTtcbiAgICBpZiAobWVyZ2VkUmVzb3VyY2VzLndhaXRGb3JBc3luY0F0dHJpYnV0ZXMpIHtcbiAgICAgICAgdm9pZCBtZXJnZWRSZXNvdXJjZXMud2FpdEZvckFzeW5jQXR0cmlidXRlcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgLy8gRnV0dXJlIGNoZWNrIGlmIHZlcmJvc2UgbG9nZ2luZyBpcyBlbmFibGVkIGlzc3VlICMxOTAzXG4gICAgICAgICAgICBsb2dSZXNvdXJjZXMocmVzb3VyY2VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBtZXJnZWRSZXNvdXJjZXM7XG59O1xuZGV0ZWN0UmVzb3VyY2VzU3luY18xID0gZGV0ZWN0UmVzb3VyY2VzJDIuZGV0ZWN0UmVzb3VyY2VzU3luYyA9IGRldGVjdFJlc291cmNlc1N5bmM7XG4vKipcbiAqIFdyaXRlcyBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGV0ZWN0ZWQgcmVzb3VyY2VzIHRvIHRoZSBsb2dnZXIgZGVmaW5lZCBpbiB0aGUgcmVzb3VyY2UgZGV0ZWN0aW9uIGNvbmZpZywgaWYgb25lIGlzIHByb3ZpZGVkLlxuICpcbiAqIEBwYXJhbSByZXNvdXJjZXMgVGhlIGFycmF5IG9mIHtAbGluayBSZXNvdXJjZX0gdGhhdCBzaG91bGQgYmUgbG9nZ2VkLiBFbXB0eSBlbnRyaWVzIHdpbGwgYmUgaWdub3JlZC5cbiAqL1xuY29uc3QgbG9nUmVzb3VyY2VzID0gKHJlc291cmNlcykgPT4ge1xuICAgIHJlc291cmNlcy5mb3JFYWNoKHJlc291cmNlID0+IHtcbiAgICAgICAgLy8gUHJpbnQgb25seSBwb3B1bGF0ZWQgcmVzb3VyY2VzXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhyZXNvdXJjZS5hdHRyaWJ1dGVzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZURlYnVnU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkocmVzb3VyY2UuYXR0cmlidXRlcywgbnVsbCwgNCk7XG4gICAgICAgICAgICBhcGlfMS5kaWFnLnZlcmJvc2UocmVzb3VyY2VEZWJ1Z1N0cmluZyk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmNvbnN0IGRldGVjdFJlc291cmNlcyQxID0gLyojX19QVVJFX18qL19tZXJnZU5hbWVzcGFjZXMoe1xuICAgIF9fcHJvdG9fXzogbnVsbCxcbiAgICBkZWZhdWx0OiBkZXRlY3RSZXNvdXJjZXMkMixcbiAgICBnZXQgZGV0ZWN0UmVzb3VyY2VzICgpIHsgcmV0dXJuIGRldGVjdFJlc291cmNlc18yOyB9LFxuICAgIGdldCBkZXRlY3RSZXNvdXJjZXNTeW5jICgpIHsgcmV0dXJuIGRldGVjdFJlc291cmNlc1N5bmNfMTsgfVxufSwgW2RldGVjdFJlc291cmNlcyQyXSk7XG5cbmV4cG9ydCB7IGRldGVjdFJlc291cmNlcyQxIGFzIGQgfTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxTQUFTLEtBQUtBLFNBQTZCO0FBQzNDLFNBQVMsS0FBS0MsR0FBYSxLQUFLQyxHQUFnQyxLQUFLQyxHQUFzQixLQUFLQyxHQUFzQixLQUFLQyxHQUF1QyxLQUFLQyxHQUF1QyxLQUFLQyxHQUErQyxLQUFLQyxHQUE2QyxLQUFLQyxHQUFnRCxLQUFLQyxHQUFnRCxLQUFLQyxHQUF1QyxLQUFLQyxHQUEwQyxLQUFLQyxHQUEwQyxLQUFLQyxHQUF5QyxLQUFLQyxHQUF1QyxLQUFLQyxHQUF1QixLQUFLQyxHQUFzQixLQUFLQyxHQUEwQixLQUFLQyxJQUEyQixLQUFLQyxJQUE0QixLQUFLQyxJQUEyQixLQUFLQyxJQUF5QixLQUFLQyxJQUEwQixLQUFLQyxJQUF3QixLQUFLQyxJQUFvQixLQUFLQyxJQUFzQixLQUFLQyxJQUF5QixLQUFLQyxJQUFvQixLQUFLQyxJQUE4QixNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUF5QixNQUFNQyxJQUFzQixNQUFNQyxJQUFtQixNQUFNQyxJQUF1QixNQUFNQyxJQUFzQixNQUFNQyxJQUFxQixNQUFNQyxJQUF1QixNQUFNQyxJQUF5QixNQUFNQyxJQUF1QixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUF3QixNQUFNQyxJQUFzQixNQUFNQyxJQUEwQixNQUFNQyxJQUF3QixNQUFNQyxJQUFzQixNQUFNQyxJQUFzQixNQUFNQyxJQUFzQixNQUFNQyxJQUF3QixNQUFNQyxJQUF1QixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUEwQixNQUFNQyxJQUEyQixNQUFNQyxJQUF5QixNQUFNQyxJQUFzQixNQUFNQyxJQUF5QixNQUFNQyxJQUF1QixNQUFNQyxJQUF1QixNQUFNQyxJQUF5QixNQUFNQyxJQUF3QixNQUFNQyxJQUFtQyxNQUFNQyxJQUFnQixNQUFNQyxJQUFvQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUFvQyxNQUFNQyxJQUF5QyxNQUFNQyxJQUErQixNQUFNQyxJQUFpQyxNQUFNQyxJQUErQixNQUFNQyxJQUE4QixNQUFNQyxJQUF3QixNQUFNQyxJQUF5QixNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUE2QixNQUFNQyxJQUEyQixNQUFNQyxJQUFtQixNQUFNQyxJQUEyQixNQUFNQyxJQUEyQixNQUFNQyxJQUEyQixNQUFNQyxJQUF1QixNQUFNQyxJQUF1QixNQUFNQyxJQUFrQixNQUFNQyxJQUE0QixNQUFNQyxJQUF3QixNQUFNQyxJQUFzQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUFtQixNQUFNQyxJQUFnQyxNQUFNQyxJQUEwQixNQUFNQyxJQUFxQyxNQUFNQyxJQUErQyxNQUFNQyxJQUFxQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUF1QyxNQUFNQyxJQUF1QyxNQUFNQyxJQUF1QyxNQUFNQyxJQUFxQyxNQUFNQyxJQUFvQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFxQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFxQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFvQyxNQUFNQyxJQUF1QyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUF5QyxNQUFNQyxJQUFxQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUF5QyxNQUFNQyxJQUFxQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUEyQixNQUFNQyxJQUF1QixNQUFNQyxJQUEyQixNQUFNQyxJQUEyQixNQUFNQyxJQUEwQixNQUFNQyxJQUF5QixNQUFNQyxJQUF5QixNQUFNQyxJQUFnQyxNQUFNQyxJQUE2QixNQUFNQyxJQUFvQixNQUFNQyxJQUFpQyxNQUFNQyxJQUF3QyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUEyQyxNQUFNQyxJQUE2QyxNQUFNQyxJQUFrQyxNQUFNQyxJQUEwQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUE0QixNQUFNQyxJQUFzQyxNQUFNQyxJQUEyQyxNQUFNQyxJQUE0QyxNQUFNQyxJQUF5QyxNQUFNQyxJQUFxQyxNQUFNQyxJQUF1QyxNQUFNQyxJQUFpQyxNQUFNQyxJQUF5QixNQUFNQyxJQUF5QyxNQUFNQyxJQUE2QyxNQUFNQyxJQUF1QyxNQUFNQyxJQUF5QyxNQUFNQyxJQUE2QixNQUFNQyxJQUE2QyxNQUFNQyxJQUFnRCxNQUFNQyxJQUFzRCxNQUFNQyxJQUFrQyxNQUFNQyxJQUErQyxNQUFNQyxJQUE2QixNQUFNQyxJQUErQyxNQUFNQyxJQUFrQyxNQUFNQyxJQUFpRCxNQUFNQyxJQUFrRCxNQUFNQyxJQUFxQyxNQUFNQyxJQUFvQyxNQUFNQyxJQUErQixNQUFNQyxJQUE4QixNQUFNQyxJQUFtQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUF3QixNQUFNQyxJQUF3QixNQUFNQyxJQUFzQixNQUFNQyxJQUF5QixNQUFNQyxJQUF5QyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFzQyxNQUFNQyxJQUFtQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFtRCxNQUFNQyxJQUE2QixNQUFNQyxJQUErQixNQUFNQyxJQUE2QixNQUFNQyxJQUFtQyxNQUFNQyxJQUFnQyxNQUFNQyxJQUFpQyxNQUFNQyxJQUFrQixNQUFNQyxJQUF1QixNQUFNQyxJQUFrQyxNQUFNQyxJQUF1QixNQUFNQyxJQUF1QixNQUFNQyxJQUFvQixNQUFNQyxJQUFrQixNQUFNQyxJQUFxQixNQUFNQyxJQUF1QixNQUFNQyxJQUF3QixNQUFNQyxJQUE0QixLQUFLQyxJQUE0QixLQUFLQyxJQUErQixLQUFLQyxJQUF5QixNQUFNQyxJQUF5QixNQUFNQyxJQUFvQixNQUFNQyxJQUFtQyxNQUFNQyxJQUE2QixNQUFNQyxJQUFrQyxNQUFNQyxJQUE2QixNQUFNQyxJQUF5QixNQUFNQyxJQUE0QixNQUFNQyxJQUFnQyxNQUFNQyxJQUE4QixNQUFNQyxJQUFvQixNQUFNQyxJQUF1QixNQUFNQyxJQUF5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QU1DLElBQWtDLE1BQU1DLElBQWlDLE1BQU1DLElBQTRCLE1BQU1DLElBQStCLE1BQU1DLElBQW9DLE1BQU1DLElBQXVCLE1BQU1DLElBQXFDLE1BQU1DLElBQStCLE1BQU1DLElBQXFCLE1BQU1DLElBQTJCLE1BQU1DLElBQTZCLE1BQU1DLElBQXVCLE1BQU1DLElBQTBCLE1BQU1DLElBQXVCLE1BQU1DLElBQXFCLE1BQU1DLElBQTJCLE1BQU1DLElBQTZCLE1BQU1DLElBQWdDLE1BQU1DLElBQXVCLE1BQU1DLElBQXVCLE1BQU1DLElBQThCLE1BQU1DLElBQWdDLE1BQU1DLElBQThCLE1BQU1DLElBQTZCLE1BQU1DLElBQWdDLE1BQU1DLElBQStCLE1BQU1DLElBQWlDLE1BQU1DLElBQWdDLE1BQU1DLElBQTBCLE1BQU1DLElBQXlCLE1BQU1DLElBQWdDLE1BQU1DLElBQTJCLE1BQU1DLElBQTBCLE1BQU1DLElBQTBCLE1BQU1DLElBQXlCLE1BQU1DLElBQWlDLE1BQU1DLElBQWdDLE1BQU1DLElBQWtDLE1BQU1DLElBQWlDLE1BQU1DLElBQTRCLE1BQU1DLElBQXFCLE1BQU1DLElBQXFCLE1BQU1DLElBQXdCLE1BQU1DLElBQTZCLE1BQU1DLElBQWtDLE1BQU1DLElBQWtDLE1BQU1DLElBQXFDLE1BQU1DLElBQXFDLE1BQU1DLElBQTJCLE1BQU1DLElBQXlCLEtBQUtDLElBQXlDLEtBQUtDLElBQWtDLEtBQUtDLElBQXFDLE1BQU1DLElBQWlDLEtBQUtDLElBQTBCLE1BQU1DLElBQStCLE1BQU1DLElBQTZCLE1BQU1DLElBQW9DLEtBQUtDLElBQW9DLEtBQUtDLElBQWdDLEtBQUtDLElBQW1DLE1BQU1DLElBQW1DLE1BQU1DLElBQTRCLE1BQU1DLElBQStCLE1BQU1DLElBQTRCLE1BQU1DLElBQWdDLE1BQU1DLElBQW1DLE1BQU1DLElBQW1DLE1BQU1DLElBQStCLE1BQU1DLElBQWlDLE1BQU1DLElBQW1DLE1BQU1DLElBQWdDLE1BQU1DLElBQW1DLE1BQU1DLElBQWlDLE1BQU1DLElBQWtDLE1BQU1DLFVBQWtDO0FBRTF5SixTQUFTQyxHQUFpQkMsR0FBR0MsR0FBRztBQUM1QixXQUFTQyxJQUFJLEdBQUdBLElBQUlELEVBQUUsUUFBUUMsS0FBSztBQUMvQixVQUFNQyxJQUFJRixFQUFFQyxDQUFDO0FBQ2IsUUFBSSxPQUFPQyxLQUFNLFlBQVksQ0FBQyxNQUFNLFFBQVFBLENBQUM7QUFBSyxpQkFBV0MsS0FBS0Q7QUFDOUQsWUFBSUMsTUFBTSxhQUFhLEVBQUVBLEtBQUtKLElBQUk7QUFDOUIsZ0JBQU1LLElBQUksT0FBTyx5QkFBeUJGLEdBQUdDLENBQUM7QUFDOUMsVUFBSUMsS0FDQSxPQUFPLGVBQWVMLEdBQUdJLEdBQUdDLEVBQUUsTUFBTUEsSUFBSTtBQUFBLFlBQ3BDLFlBQVk7QUFBQSxZQUNaLEtBQUssTUFBTUYsRUFBRUMsQ0FBQztBQUFBLFVBQ2xCLENBQUM7QUFBQSxRQUVUO0FBQUE7QUFBQSxFQUVSO0FBQ0EsU0FBTyxPQUFPLE9BQU8sT0FBTyxlQUFlSixHQUFHLE9BQU8sYUFBYSxFQUFFLE9BQU8sU0FBUyxDQUFDLENBQUM7QUFDMUY7QUFpQkEsSUFBSU0sSUFBYTtBQUFBLEVBQ2IsRUFBRSxHQUFHLFNBQVMsR0FBRyxRQUFRO0FBQUEsRUFDekIsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPO0FBQUEsRUFDdkIsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPO0FBQUEsRUFDdkIsRUFBRSxHQUFHLFNBQVMsR0FBRyxRQUFRO0FBQUEsRUFDekIsRUFBRSxHQUFHLFdBQVcsR0FBRyxRQUFRO0FBQy9CLEdBTUlDO0FBQUE7QUFBQSxFQUFtQywyQkFBWTtBQUMvQyxhQUFTQSxJQUFvQjtBQUN6QixlQUFTQyxFQUFhQyxHQUFVO0FBQzVCLGVBQU8sV0FBWTtBQUVmLG1CQURJQyxJQUFPLENBQUMsR0FDSEMsSUFBSyxHQUFHQSxJQUFLLFVBQVUsUUFBUUE7QUFDcEMsWUFBQUQsRUFBS0MsQ0FBRSxJQUFJLFVBQVVBLENBQUU7QUFFM0IsY0FBSSxTQUFTO0FBR1QsZ0JBQUlDLElBQVUsUUFBUUgsQ0FBUTtBQU85QixnQkFOSSxPQUFPRyxLQUFZLGVBR25CQSxJQUFVLFFBQVEsTUFHbEIsT0FBT0EsS0FBWTtBQUNuQixxQkFBT0EsRUFBUSxNQUFNLFNBQVNGLENBQUk7QUFBQSxVQUUxQztBQUFBLFFBQ0o7QUFBQSxNQUNKO0FBQ0EsZUFBU1IsSUFBSSxHQUFHQSxJQUFJSSxFQUFXLFFBQVFKO0FBQ25DLGFBQUtJLEVBQVdKLENBQUMsRUFBRSxDQUFDLElBQUlNLEVBQWFGLEVBQVdKLENBQUMsRUFBRSxDQUFDO0FBQUEsSUFFNUQ7QUFDQSxXQUFPSztBQUFBLEVBQ1gsRUFBRTtBQUFBLEdBa0JFTTtBQUFBLENBQ0gsU0FBVUEsR0FBVztBQUNsQixFQUFBQSxFQUFVQSxFQUFVLE1BQVMsQ0FBQyxJQUFJLE9BQ2xDQSxFQUFVQSxFQUFVLFNBQVksQ0FBQyxJQUFJO0FBQ3pDLEdBQUdBLE1BQWNBLElBQVksQ0FBQyxFQUFFO0FBaUJoQyxJQUFJQyxJQUF1QixnQkFDdkJDLEtBQVksVUFBVUQsSUFBdUIsV0FDN0NFLEtBQW1CLGFBQWFGLElBQXVCLGtCQUFrQkEsSUFBdUIsVUFDaEdHLEtBQWtCLElBQUksT0FBTyxTQUFTRixLQUFZLE1BQU1DLEtBQW1CLElBQUksR0FDL0VFLEtBQXlCLHVCQUN6QkMsS0FBa0M7QUFTdEMsU0FBU0MsR0FBWUMsR0FBSztBQUN0QixTQUFPSixHQUFnQixLQUFLSSxDQUFHO0FBQ25DO0FBS0EsU0FBU0MsR0FBY0MsR0FBTztBQUMxQixTQUFRTCxHQUF1QixLQUFLSyxDQUFLLEtBQ3JDLENBQUNKLEdBQWdDLEtBQUtJLENBQUs7QUFDbkQ7QUFpQkEsSUFBSUMsSUFBd0IsSUFDeEJDLEtBQXNCLEtBQ3RCQyxJQUF5QixLQUN6QkMsSUFBaUMsS0FVakNDO0FBQUE7QUFBQSxFQUFnQyxXQUFZO0FBQzVDLGFBQVNBLEVBQWVDLEdBQWU7QUFDbkMsV0FBSyxpQkFBaUIsb0JBQUksSUFBSSxHQUMxQkEsS0FDQSxLQUFLLE9BQU9BLENBQWE7QUFBQSxJQUNqQztBQUNBLFdBQUFELEVBQWUsVUFBVSxNQUFNLFNBQVVQLEdBQUtFLEdBQU87QUFHakQsVUFBSU8sSUFBYSxLQUFLLE9BQU87QUFDN0IsYUFBSUEsRUFBVyxlQUFlLElBQUlULENBQUcsS0FDakNTLEVBQVcsZUFBZSxPQUFPVCxDQUFHLEdBRXhDUyxFQUFXLGVBQWUsSUFBSVQsR0FBS0UsQ0FBSyxHQUNqQ087QUFBQSxJQUNYLEdBQ0FGLEVBQWUsVUFBVSxRQUFRLFNBQVVQLEdBQUs7QUFDNUMsVUFBSVMsSUFBYSxLQUFLLE9BQU87QUFDN0IsYUFBQUEsRUFBVyxlQUFlLE9BQU9ULENBQUcsR0FDN0JTO0FBQUEsSUFDWCxHQUNBRixFQUFlLFVBQVUsTUFBTSxTQUFVUCxHQUFLO0FBQzFDLGFBQU8sS0FBSyxlQUFlLElBQUlBLENBQUc7QUFBQSxJQUN0QyxHQUNBTyxFQUFlLFVBQVUsWUFBWSxXQUFZO0FBQzdDLFVBQUlHLElBQVE7QUFDWixhQUFPLEtBQUssTUFBTSxFQUNiLE9BQU8sU0FBVUMsR0FBS1gsR0FBSztBQUM1QixlQUFBVyxFQUFJLEtBQUtYLElBQU1NLElBQWlDSSxFQUFNLElBQUlWLENBQUcsQ0FBQyxHQUN2RFc7QUFBQSxNQUNYLEdBQUcsQ0FBQyxDQUFDLEVBQ0EsS0FBS04sQ0FBc0I7QUFBQSxJQUNwQyxHQUNBRSxFQUFlLFVBQVUsU0FBUyxTQUFVQyxHQUFlO0FBQ3ZELE1BQUlBLEVBQWMsU0FBU0osT0FFM0IsS0FBSyxpQkFBaUJJLEVBQ2pCLE1BQU1ILENBQXNCLEVBQzVCLFFBQVEsRUFDUixPQUFPLFNBQVVNLEdBQUtDLEdBQU07QUFDN0IsWUFBSUMsSUFBYUQsRUFBSyxLQUFLLEdBQ3ZCL0IsSUFBSWdDLEVBQVcsUUFBUVAsQ0FBOEI7QUFDekQsWUFBSXpCLE1BQU0sSUFBSTtBQUNWLGNBQUltQixJQUFNYSxFQUFXLE1BQU0sR0FBR2hDLENBQUMsR0FDM0JxQixJQUFRVyxFQUFXLE1BQU1oQyxJQUFJLEdBQUcrQixFQUFLLE1BQU07QUFDL0MsVUFBSWIsR0FBWUMsQ0FBRyxLQUFLQyxHQUFjQyxDQUFLLEtBQ3ZDUyxFQUFJLElBQUlYLEdBQUtFLENBQUs7QUFBQSxRQUUxQjtBQUNBLGVBQU9TO0FBQUEsTUFDWCxHQUFHLG9CQUFJLElBQUksQ0FBQyxHQUVSLEtBQUssZUFBZSxPQUFPUixNQUMzQixLQUFLLGlCQUFpQixJQUFJLElBQUksTUFBTSxLQUFLLEtBQUssZUFBZSxRQUFRLENBQUMsRUFDakUsUUFBUSxFQUNSLE1BQU0sR0FBR0EsQ0FBcUIsQ0FBQztBQUFBLElBRTVDLEdBQ0FJLEVBQWUsVUFBVSxRQUFRLFdBQVk7QUFDekMsYUFBTyxNQUFNLEtBQUssS0FBSyxlQUFlLEtBQUssQ0FBQyxFQUFFLFFBQVE7QUFBQSxJQUMxRCxHQUNBQSxFQUFlLFVBQVUsU0FBUyxXQUFZO0FBQzFDLFVBQUlFLElBQWEsSUFBSUYsRUFBZTtBQUNwQyxhQUFBRSxFQUFXLGlCQUFpQixJQUFJLElBQUksS0FBSyxjQUFjLEdBQ2hEQTtBQUFBLElBQ1gsR0FDT0Y7QUFBQSxFQUNYLEVBQUU7QUFBQTtBQWlCRixTQUFTTyxHQUFpQk4sR0FBZTtBQUNyQyxTQUFPLElBQUlELEdBQWVDLENBQWE7QUFDM0M7QUFrQkEsTUFBTU8sS0FBUTtBQUFBLEVBQ1YsU0FBU3JNO0FBQUEsRUFDVCxNQUFNb0I7QUFBQSxFQUNOLFNBQVNKO0FBQUEsRUFDVCxhQUFhclM7QUFBQSxFQUNiLE9BQU9zUjtBQUNYLEdBRU1xTSxLQUFxQix1QkFBTyxPQUFvQix1QkFBTyxlQUFlO0FBQUEsRUFDeEUsV0FBVztBQUFBLEVBQ1gsbUJBQUE5QjtBQUFBLEVBQ0EsSUFBSSxlQUFnQjtBQUFFLFdBQU90SztBQUFBLEVBQWM7QUFBQSxFQUMzQyxnQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsaUJBQUFDO0FBQUEsRUFDQSxhQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxjQUFBQztBQUFBLEVBQ0EsSUFBSSxtQkFBb0I7QUFBRSxXQUFPVTtBQUFBLEVBQWtCO0FBQUEsRUFDbkQsSUFBSSxXQUFZO0FBQUUsV0FBT1Q7QUFBQSxFQUFVO0FBQUEsRUFDbkMsSUFBSSxpQkFBa0I7QUFBRSxXQUFPQztBQUFBLEVBQWdCO0FBQUEsRUFDL0MsSUFBSSxhQUFjO0FBQUUsV0FBT0M7QUFBQSxFQUFZO0FBQUEsRUFDdkMsSUFBSSxZQUFhO0FBQUUsV0FBT21LO0FBQUEsRUFBVztBQUFBLEVBQ3JDLGdDQUFBbGM7QUFBQSxFQUNBLFNBQUFvUjtBQUFBLEVBQ0Esa0JBQUFZO0FBQUEsRUFDQSxpQkFBQUs7QUFBQSxFQUNBLGtCQUFBbUw7QUFBQSxFQUNBLFNBQVNDO0FBQUEsRUFDVCxzQkFBQXhkO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLE1BQUFzUztBQUFBLEVBQ0Esb0JBQUFQO0FBQUEsRUFDQSxlQUFBQztBQUFBLEVBQ0EsZ0JBQUFDO0FBQUEsRUFDQSxTQUFBQztBQUFBLEVBQ0EsYUFBQXJTO0FBQUEsRUFDQSxPQUFBc1I7QUFDSixHQUFHLE9BQU8sYUFBYSxFQUFFLE9BQU8sU0FBUyxDQUFDLENBQUM7QUEwQjNDLElBQUlzTSxLQUF1QyxtQ0FJdkNDLEtBQWlELFlBSWpEQyxLQUF5RCxvQkFJekRDLEtBQXVELGtCQUl2REMsS0FBeUQsb0JBSXpEQyxLQUE4QiwwQkFJOUJDLEtBQW1DLE9BSW5DQyxLQUFzQyxVQUl0Q0MsS0FBc0MsVUFJdENDLEtBQWtDLE1BSWxDQyxLQUFvQyxRQUlwQ0MsS0FBc0MsVUFJdENDLEtBQW1DLE9BSW5DQyxLQUFzQyxVQUl0Q0MsS0FBb0MsUUFJcENDLEtBQW9DLFFBSXBDQyxLQUFxQyxTQUlyQ0MsS0FBcUMsU0FhckNDLEtBQTBCLHNCQU0xQkMsS0FBNkIseUJBTTdCQyxLQUEyQyx1Q0FPM0NDLEtBQStDLDJDQUkvQ0MsS0FBd0QsV0FJeERDLEtBQXdELFdBSXhEQyxLQUF3RCxXQUl4REMsS0FBMEQsYUFRMURDLEtBQXVDLG1DQU12Q0MsS0FBdUMsbUNBTXZDQyxLQUFzQyxrQ0FPdENDLEtBQXVDLG1DQUl2Q0MsS0FBZ0QsV0FJaERDLEtBQWdELFdBVWhEQyxLQUFzQixrQkFRdEJDLEtBQW1CLGVBNkJuQkMsS0FBa0IsY0FJbEJDLEtBQXlCLFVBcUJ6QkMsS0FBeUIscUJBT3pCQyxLQUF5QixxQkFNekJDLEtBQTRCLHdCQU81QkMsS0FBc0Isa0JBV3RCQyxLQUEyQixTQUFVekQsR0FBSztBQUFFLFNBQU8seUJBQXlCQTtBQUFLLEdBdUJqRjBELEtBQTJCLHVCQUkzQkMsS0FBa0MsVUFJbENDLEtBQW9DLFdBSXBDQyxLQUFtQyxVQUluQ0MsS0FBZ0MsT0FJaENDLEtBQWlDLFFBSWpDQyxLQUFvQyxXQUlwQ0MsS0FBa0MsU0FJbENDLEtBQWlDLFFBSWpDQyxLQUFnQyxPQUloQ0MsS0FBa0MsU0FRbENDLEtBQW9DLGdDQVFwQ0MsS0FBaUMsNkJBV2pDQyxLQUE0QixTQUFVdkUsR0FBSztBQUFFLFNBQU8sMEJBQTBCQTtBQUFLLEdBTW5Gd0UsS0FBaUMsNkJBVWpDQyxLQUFrQixjQVNsQkMsS0FBcUIsaUJBU3JCQyxLQUFtQixlQVVuQkMsS0FBNEIsd0JBTzVCQyxLQUF1QixtQkFJdkJDLEtBQTZCLFFBSTdCQyxLQUFpQyxZQUlqQ0MsS0FBeUIscUJBT3pCQyxLQUF3QixvQkFJeEJDLEtBQWlDLFdBSWpDQyxLQUE2QixPQUk3QkMsS0FBa0MsWUFJbENDLEtBQW9DLGNBSXBDQyxLQUF1QyxpQkFJdkNDLEtBQWlDLFdBT2pDQyxLQUE2Qix5QkFNN0JDLEtBQTBCLHNCQU8xQkMsS0FBNEIsd0JBTTVCQyxLQUF5QixxQkFVekJDLEtBQTZCLHlCQVM3QkMsS0FBZ0MsNEJBYWhDQyxLQUF5QixxQkFJekJDLEtBQStCLFFBSS9CQyxLQUErQixRQUkvQkMsS0FBOEIsT0FJOUJDLEtBQThCLE9BSTlCQyxLQUErQixRQVMvQkMsS0FBb0IsZ0JBSXBCQyxLQUEwQixRQUkxQkMsS0FBMEIsUUFNMUJDLEtBQXVCLG1CQU12QkMsS0FBMEIsc0JBSTFCQyxLQUF3QixvQkFJeEJDLEtBQStCLFNBSS9CQyxLQUE0QixNQU01QkMsS0FBK0IsMkJBVS9CQyxLQUFzQixrQkFVdEJDLEtBQW1CLGVBUW5CQyxLQUFvQixnQkFPcEJDLEtBQXVCLG1CQU92QkMsS0FBaUMsNkJBSWpDQyxLQUErQyxnQkFJL0NDLEtBQWlELGtCQUlqREMsS0FBMEMsV0FPMUNDLEtBQXlCLHFCQUl6QkMsS0FBdUMsZ0JBSXZDQyxLQUE2QyxzQkFJN0NDLEtBQXNDLGVBTXRDQyxLQUFvQixnQkFXcEJDLEtBQWdCLFlBUWhCQyxLQUFnQixZQVFoQkMsS0FBaUIsYUFRakJDLEtBQWtCLGNBUWxCQyxLQUEyQix1QkF5QjNCQyxLQUEyQyxxQ0FNM0NDLEtBQXdELGtEQU14REMsS0FBa0QsNENBTWxEQyxLQUF3RCxrREFNeERDLEtBQXlELG1EQVd6REMsS0FBMkMscUNBTTNDQyxLQUEyQyxxQ0FJM0NDLEtBQXNDLGdDQUl0Q0MsS0FBc0MsZ0NBSXRDQyxLQUF5QixtQkFJekJDLEtBQTBCLG9CQUkxQkMsS0FBNEIsc0JBSTVCQyxLQUF1QixpQkFNdkJDLEtBQW9DLDhCQUlwQ0MsS0FBc0IsZ0JBSXRCQyxLQUF5QixtQkFJekJDLEtBQThCLHdCQUk5QkMsS0FBMEIsb0JBSTFCQyxLQUF5QixtQkFJekJDLEtBQXVDLGlDQUl2Q0MsS0FBMEIsb0JBTTFCQyxLQUFvQyw4QkFNcENDLEtBQXVDLGlDQU12Q0MsS0FBcUMsK0JBTXJDQyxLQUFvQyw4QkFNcENDLEtBQWlDLDJCQU9qQ0MsS0FBc0MsZ0NBTXRDQyxLQUF3QyxrQ0FReENDLEtBQXNDLGdDQU10Q0MsS0FBMkMscUNBTTNDQyxLQUE0QztBQXVCaEQsTUFBTUMsS0FBbUIsdUJBQU8sT0FBb0IsdUJBQU8sZUFBZTtBQUFBLEVBQ3RFLFdBQVc7QUFBQSxFQUNYLHVEQUFBdkg7QUFBQSxFQUNBLHVEQUFBQztBQUFBLEVBQ0EsdURBQUFDO0FBQUEsRUFDQSx5REFBQUM7QUFBQSxFQUNBLGdEQUFBeEI7QUFBQSxFQUNBLHdEQUFBQztBQUFBLEVBQ0Esc0RBQUFDO0FBQUEsRUFDQSx3REFBQUM7QUFBQSxFQUNBLCtDQUFBMEI7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0EsOENBQUFWO0FBQUEsRUFDQSwwQ0FBQUQ7QUFBQSxFQUNBLHNDQUFBTTtBQUFBLEVBQ0Esc0NBQUExQjtBQUFBLEVBQ0Esc0NBQUEyQjtBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHFCQUFBRztBQUFBLEVBQ0Esa0JBQUFDO0FBQUEsRUFDQSxpQkFBQUM7QUFBQSxFQUNBLHdCQUFBRTtBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLG1DQUFBVztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsaUJBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLGtCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHdCQUFBRztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSw0QkFBQU87QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLG1CQUFBTTtBQUFBLEVBQ0Esc0JBQUFHO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsOEJBQUFHO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLGtCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0Esd0JBQUFJO0FBQUEsRUFDQSw2QkFBQS9GO0FBQUEsRUFDQSx5QkFBQWE7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsbUJBQUFxRjtBQUFBLEVBQ0EsZUFBQUM7QUFBQSxFQUNBLGVBQUFDO0FBQUEsRUFDQSxnQkFBQUM7QUFBQSxFQUNBLGlCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSw0QkFBQS9SO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLDJDQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsK0NBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0Esd0NBQUFDO0FBQUEsRUFDQSwyQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHVDQUFBL1Q7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsK0NBQUFDO0FBQUEsRUFDQSw2Q0FBQUM7QUFBQSxFQUNBLGdEQUFBQztBQUFBLEVBQ0EsZ0RBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLDBDQUFBQztBQUFBLEVBQ0EsMENBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EsbUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsZ0JBQUFDO0FBQUEsRUFDQSx3QkFBQWdjO0FBQUEsRUFDQSxvQ0FBQS9iO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLG1CQUFBQztBQUFBLEVBQ0Esc0JBQUFzUDtBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0EsMkJBQUEzUDtBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSxtQ0FBQW9iO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLGlDQUFBTDtBQUFBLEVBQ0EsaUNBQUFNO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxnQkFBQXBNO0FBQUEsRUFDQSxrQkFBQXZQO0FBQUEsRUFDQSw0QkFBQXFjO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLGdDQUFBRztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLDRCQUFBN2M7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSwwQ0FBQWdmO0FBQUEsRUFDQSx1REFBQUM7QUFBQSxFQUNBLGlEQUFBQztBQUFBLEVBQ0EsMENBQUFHO0FBQUEsRUFDQSx3REFBQUQ7QUFBQSxFQUNBLHVEQUFBRDtBQUFBLEVBQ0EsMENBQUFHO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLDBDQUFBQztBQUFBLEVBQ0EsMkNBQUFDO0FBQUEsRUFDQSxtQkFBQTdnQjtBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EsK0NBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSx1Q0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLDhCQUFBNGE7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EseUJBQUFFO0FBQUEsRUFDQSx5QkFBQUM7QUFBQSxFQUNBLGdDQUFBbGI7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSxrQkFBQTJNO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxtQkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxtQkFBQUM7QUFBQSxFQUNBLDhCQUFBK047QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EsY0FBQS9OO0FBQUEsRUFDQSxpQ0FBQXJOO0FBQUEsRUFDQSx3Q0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSwyQ0FBQUM7QUFBQSxFQUNBLDZDQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSwwQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLDJDQUFBQztBQUFBLEVBQ0EsNENBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLHFDQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSw2Q0FBQUM7QUFBQSxFQUNBLHVDQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLDZDQUFBQztBQUFBLEVBQ0EsZ0RBQUFDO0FBQUEsRUFDQSxzREFBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsK0NBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLCtDQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxpREFBQUM7QUFBQSxFQUNBLGtEQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLHNDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsbURBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxrQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSxrQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLHlCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsNkJBQUFDO0FBQUEsRUFDQSxrQ0FBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSw0QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSxvQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EseUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLG9CQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLG1EQUFBQztBQUFBLEVBQ0EsdUNBQUFDO0FBQUEsRUFDQSxvREFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSwyQkFBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0Esc0JBQUFDO0FBQUEsRUFDQSxtQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxxQkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSxnQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0EseUNBQUFDO0FBQUEsRUFDQSxzQ0FBQUM7QUFBQSxFQUNBLG9DQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLDBEQUFBQztBQUFBLEVBQ0EsK0NBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSx5Q0FBQUM7QUFBQSxFQUNBLDJCQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLCtCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0Esc0NBQUFDO0FBQUEsRUFDQSxtQ0FBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHNCQUFBQztBQUFBLEVBQ0Esd0JBQUFDO0FBQUEsRUFDQSx3QkFBQUM7QUFBQSxFQUNBLHdCQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0Esb0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EscUJBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0Esb0JBQUFDO0FBQUEsRUFDQSxzQkFBQUM7QUFBQSxFQUNBLGlDQUFBcUU7QUFBQSxFQUNBLG1DQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsbUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsaUNBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLGtDQUFBQztBQUFBLEVBQ0EsOEJBQUFDO0FBQUEsRUFDQSxxQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsNEJBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFBQSxFQUNBLDBCQUFBQztBQUFBLEVBQ0Esa0NBQUFDO0FBQUEsRUFDQSxpQ0FBQUM7QUFBQSxFQUNBLDRCQUFBQztBQUFBLEVBQ0EsK0JBQUFDO0FBQUEsRUFDQSxvQ0FBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EscUNBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLHVCQUFBQztBQUFBLEVBQ0EsMEJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLHFCQUFBQztBQUFBLEVBQ0EsMkJBQUFDO0FBQUEsRUFDQSw2QkFBQUM7QUFBQSxFQUNBLGdDQUFBQztBQUFBLEVBQ0EsdUJBQUFDO0FBQUEsRUFDQSx1QkFBQUM7QUFBQSxFQUNBLDhCQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSw4QkFBQUM7QUFBQSxFQUNBLDZCQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwrQkFBQUM7QUFBQSxFQUNBLGlDQUFBQztBQUFBLEVBQ0EsZ0NBQUFDO0FBQUEsRUFDQSwwQkFBQUM7QUFB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LEtBQUtBLEVBQVMsVUFBVSxFQUFFLFNBQVMsR0FBRztBQUM3QyxZQUFNUSxJQUFzQixLQUFLLFVBQVVSLEVBQVMsWUFBWSxNQUFNLENBQUM7QUFDdkUsTUFBQUwsRUFBTSxLQUFLLFFBQVFhLENBQW1CO0FBQUEsSUFDMUM7QUFBQSxFQUNKLENBQUM7QUFDTCxHQUVNQyxLQUFpQyxnQkFBQWxPLEdBQWlCO0FBQUEsRUFDcEQsV0FBVztBQUFBLEVBQ1gsU0FBU3FMO0FBQUEsRUFDVCxJQUFJLGtCQUFtQjtBQUFFLFdBQU82QjtBQUFBLEVBQW1CO0FBQUEsRUFDbkQsSUFBSSxzQkFBdUI7QUFBRSxXQUFPRDtBQUFBLEVBQXVCO0FBQy9ELEdBQUcsQ0FBQzVCLENBQWlCLENBQUM7IiwKICAibmFtZXMiOiBbImdldEF1Z21lbnRlZE5hbWVzcGFjZSIsICJwcm9wYWdhdGlvbiIsICJiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmciLCAiZGVmYXVsdFRleHRNYXBHZXR0ZXIiLCAiZGVmYXVsdFRleHRNYXBTZXR0ZXIiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0FMTCIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfQU5ZIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19FQUNIX1FVT1JVTSIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfTE9DQUxfT05FIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19MT0NBTF9RVU9SVU0iLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX0xPQ0FMX1NFUklBTCIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfT05FIiwgIkRCQ0FTU0FORFJBQ09OU0lTVEVOQ1lMRVZFTFZBTFVFU19RVU9SVU0iLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1NFUklBTCIsICJEQkNBU1NBTkRSQUNPTlNJU1RFTkNZTEVWRUxWQUxVRVNfVEhSRUUiLCAiREJDQVNTQU5EUkFDT05TSVNURU5DWUxFVkVMVkFMVUVTX1RXTyIsICJEQlNZU1RFTVZBTFVFU19BREFCQVMiLCAiREJTWVNURU1WQUxVRVNfQ0FDSEUiLCAiREJTWVNURU1WQUxVRVNfQ0FTU0FORFJBIiwgIkRCU1lTVEVNVkFMVUVTX0NMT1VEU0NBUEUiLCAiREJTWVNURU1WQUxVRVNfQ09DS1JPQUNIREIiLCAiREJTWVNURU1WQUxVRVNfQ09MREZVU0lPTiIsICJEQlNZU1RFTVZBTFVFU19DT1NNT1NEQiIsICJEQlNZU1RFTVZBTFVFU19DT1VDSEJBU0UiLCAiREJTWVNURU1WQUxVRVNfQ09VQ0hEQiIsICJEQlNZU1RFTVZBTFVFU19EQjIiLCAiREJTWVNURU1WQUxVRVNfREVSQlkiLCAiREJTWVNURU1WQUxVRVNfRFlOQU1PREIiLCAiREJTWVNURU1WQUxVRVNfRURCIiwgIkRCU1lTVEVNVkFMVUVTX0VMQVNUSUNTRUFSQ0giLCAiREJTWVNURU1WQUxVRVNfRklMRU1BS0VSIiwgIkRCU1lTVEVNVkFMVUVTX0ZJUkVCSVJEIiwgIkRCU1lTVEVNVkFMVUVTX0ZJUlNUU1FMIiwgIkRCU1lTVEVNVkFMVUVTX0dFT0RFIiwgIkRCU1lTVEVNVkFMVUVTX0gyIiwgIkRCU1lTVEVNVkFMVUVTX0hBTkFEQiIsICJEQlNZU1RFTVZBTFVFU19IQkFTRSIsICJEQlNZU1RFTVZBTFVFU19ISVZFIiwgIkRCU1lTVEVNVkFMVUVTX0hTUUxEQiIsICJEQlNZU1RFTVZBTFVFU19JTkZPUk1JWCIsICJEQlNZU1RFTVZBTFVFU19JTkdSRVMiLCAiREJTWVNURU1WQUxVRVNfSU5TVEFOVERCIiwgIkRCU1lTVEVNVkFMVUVTX0lOVEVSQkFTRSIsICJEQlNZU1RFTVZBTFVFU19NQVJJQURCIiwgIkRCU1lTVEVNVkFMVUVTX01BWERCIiwgIkRCU1lTVEVNVkFMVUVTX01FTUNBQ0hFRCIsICJEQlNZU1RFTVZBTFVFU19NT05HT0RCIiwgIkRCU1lTVEVNVkFMVUVTX01TU1FMIiwgIkRCU1lTVEVNVkFMVUVTX01ZU1FMIiwgIkRCU1lTVEVNVkFMVUVTX05FTzRKIiwgIkRCU1lTVEVNVkFMVUVTX05FVEVaWkEiLCAiREJTWVNURU1WQUxVRVNfT1JBQ0xFIiwgIkRCU1lTVEVNVkFMVUVTX09USEVSX1NRTCIsICJEQlNZU1RFTVZBTFVFU19QRVJWQVNJVkUiLCAiREJTWVNURU1WQUxVRVNfUE9JTlRCQVNFIiwgIkRCU1lTVEVNVkFMVUVTX1BPU1RHUkVTUUwiLCAiREJTWVNURU1WQUxVRVNfUFJPR1JFU1MiLCAiREJTWVNURU1WQUxVRVNfUkVESVMiLCAiREJTWVNURU1WQUxVRVNfUkVEU0hJRlQiLCAiREJTWVNURU1WQUxVRVNfU1FMSVRFIiwgIkRCU1lTVEVNVkFMVUVTX1NZQkFTRSIsICJEQlNZU1RFTVZBTFVFU19URVJBREFUQSIsICJEQlNZU1RFTVZBTFVFU19WRVJUSUNBIiwgIkRiQ2Fzc2FuZHJhQ29uc2lzdGVuY3lMZXZlbFZhbHVlcyIsICJEYlN5c3RlbVZhbHVlcyIsICJGQUFTRE9DVU1FTlRPUEVSQVRJT05WQUxVRVNfREVMRVRFIiwgIkZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19FRElUIiwgIkZBQVNET0NVTUVOVE9QRVJBVElPTlZBTFVFU19JTlNFUlQiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19BTElCQUJBX0NMT1VEIiwgIkZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQVdTIiwgIkZBQVNJTlZPS0VEUFJPVklERVJWQUxVRVNfQVpVUkUiLCAiRkFBU0lOVk9LRURQUk9WSURFUlZBTFVFU19HQ1AiLCAiRkFBU1RSSUdHRVJWQUxVRVNfREFUQVNPVVJDRSIsICJGQUFTVFJJR0dFUlZBTFVFU19IVFRQIiwgIkZBQVNUUklHR0VSVkFMVUVTX09USEVSIiwgIkZBQVNUUklHR0VSVkFMVUVTX1BVQlNVQiIsICJGQUFTVFJJR0dFUlZBTFVFU19USU1FUiIsICJGYWFzRG9jdW1lbnRPcGVyYXRpb25WYWx1ZXMiLCAiRmFhc0ludm9rZWRQcm92aWRlclZhbHVlcyIsICJGYWFzVHJpZ2dlclZhbHVlcyIsICJIVFRQRkxBVk9SVkFMVUVTX0hUVFBfMV8wIiwgIkhUVFBGTEFWT1JWQUxVRVNfSFRUUF8xXzEiLCAiSFRUUEZMQVZPUlZBTFVFU19IVFRQXzJfMCIsICJIVFRQRkxBVk9SVkFMVUVTX1FVSUMiLCAiSFRUUEZMQVZPUlZBTFVFU19TUERZIiwgIkh0dHBGbGF2b3JWYWx1ZXMiLCAiTUVTU0FHRVRZUEVWQUxVRVNfUkVDRUlWRUQiLCAiTUVTU0FHRVRZUEVWQUxVRVNfU0VOVCIsICJNRVNTQUdJTkdERVNUSU5BVElPTktJTkRWQUxVRVNfUVVFVUUiLCAiTUVTU0FHSU5HREVTVElOQVRJT05LSU5EVkFMVUVTX1RPUElDIiwgIk1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19QUk9DRVNTIiwgIk1FU1NBR0lOR09QRVJBVElPTlZBTFVFU19SRUNFSVZFIiwgIk1lc3NhZ2VUeXBlVmFsdWVzIiwgIk1lc3NhZ2luZ0Rlc3RpbmF0aW9uS2luZFZhbHVlcyIsICJNZXNzYWdpbmdPcGVyYXRpb25WYWx1ZXMiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0NETUEyMDAwXzFYUlRUIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FREdFIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FSFJQRCIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfRVZET18wIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19FVkRPX0EiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0VWRE9fQiIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1BSUyIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfR1NNIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19IU0RQQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfSFNQQVAiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX0hTVVBBIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JREVOIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19JV0xBTiIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfTFRFIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19MVEVfQ0EiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX05SIiwgIk5FVEhPU1RDT05ORUNUSU9OU1VCVFlQRVZBTFVFU19OUk5TQSIsICJORVRIT1NUQ09OTkVDVElPTlNVQlRZUEVWQUxVRVNfVERfU0NETUEiLCAiTkVUSE9TVENPTk5FQ1RJT05TVUJUWVBFVkFMVUVTX1VNVFMiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX0NFTEwiLCAiTkVUSE9TVENPTk5FQ1RJT05UWVBFVkFMVUVTX1VOQVZBSUxBQkxFIiwgIk5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19VTktOT1dOIiwgIk5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSUZJIiwgIk5FVEhPU1RDT05ORUNUSU9OVFlQRVZBTFVFU19XSVJFRCIsICJORVRUUkFOU1BPUlRWQUxVRVNfSU5QUk9DIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JUCIsICJORVRUUkFOU1BPUlRWQUxVRVNfSVBfVENQIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19JUF9VRFAiLCAiTkVUVFJBTlNQT1JUVkFMVUVTX09USEVSIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19QSVBFIiwgIk5FVFRSQU5TUE9SVFZBTFVFU19VTklYIiwgIk5ldEhvc3RDb25uZWN0aW9uU3VidHlwZVZhbHVlcyIsICJOZXRIb3N0Q29ubmVjdGlvblR5cGVWYWx1ZXMiLCAiTmV0VHJhbnNwb3J0VmFsdWVzIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0FCT1JURUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQUxSRUFEWV9FWElTVFMiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfQ0FOQ0VMTEVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0RBVEFfTE9TUyIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19ERUFETElORV9FWENFRURFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19GQUlMRURfUFJFQ09ORElUSU9OIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0lOVEVSTkFMIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX0lOVkFMSURfQVJHVU1FTlQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfTk9UX0ZPVU5EIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX09LIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX09VVF9PRl9SQU5HRSIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19QRVJNSVNTSU9OX0RFTklFRCIsICJSUENHUlBDU1RBVFVTQ09ERVZBTFVFU19SRVNPVVJDRV9FWEhBVVNURUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5BVVRIRU5USUNBVEVEIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOQVZBSUxBQkxFIiwgIlJQQ0dSUENTVEFUVVNDT0RFVkFMVUVTX1VOSU1QTEVNRU5URUQiLCAiUlBDR1JQQ1NUQVRVU0NPREVWQUxVRVNfVU5LTk9XTiIsICJScGNHcnBjU3RhdHVzQ29kZVZhbHVlcyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfQVRUUklCVVRFU19UT19HRVQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0FUVFJJQlVURV9ERUZJTklUSU9OUyIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09OU0lTVEVOVF9SRUFEIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9DT05TVU1FRF9DQVBBQ0lUWSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfQ09VTlQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0VYQ0xVU0lWRV9TVEFSVF9UQUJMRSIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfR0xPQkFMX1NFQ09OREFSWV9JTkRFWEVTIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9HTE9CQUxfU0VDT05EQVJZX0lOREVYX1VQREFURVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0lOREVYX05BTUUiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX0lURU1fQ09MTEVDVElPTl9NRVRSSUNTIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9MSU1JVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfTE9DQUxfU0VDT05EQVJZX0lOREVYRVMiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST0pFQ1RJT04iLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST1ZJU0lPTkVEX1JFQURfQ0FQQUNJVFkiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1BST1ZJU0lPTkVEX1dSSVRFX0NBUEFDSVRZIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9TQ0FOTkVEX0NPVU5UIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9TQ0FOX0ZPUldBUkQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NFR01FTlQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1NFTEVDVCIsICJTRU1BVFRSU19BV1NfRFlOQU1PREJfVEFCTEVfQ09VTlQiLCAiU0VNQVRUUlNfQVdTX0RZTkFNT0RCX1RBQkxFX05BTUVTIiwgIlNFTUFUVFJTX0FXU19EWU5BTU9EQl9UT1RBTF9TRUdNRU5UUyIsICJTRU1BVFRSU19BV1NfTEFNQkRBX0lOVk9LRURfQVJOIiwgIlNFTUFUVFJTX0NPREVfRklMRVBBVEgiLCAiU0VNQVRUUlNfQ09ERV9GVU5DVElPTiIsICJTRU1BVFRSU19DT0RFX0xJTkVOTyIsICJTRU1BVFRSU19DT0RFX05BTUVTUEFDRSIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfQ09OU0lTVEVOQ1lfTEVWRUwiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX0NPT1JESU5BVE9SX0RDIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9DT09SRElOQVRPUl9JRCIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfSURFTVBPVEVOQ0UiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX0tFWVNQQUNFIiwgIlNFTUFUVFJTX0RCX0NBU1NBTkRSQV9QQUdFX1NJWkUiLCAiU0VNQVRUUlNfREJfQ0FTU0FORFJBX1NQRUNVTEFUSVZFX0VYRUNVVElPTl9DT1VOVCIsICJTRU1BVFRSU19EQl9DQVNTQU5EUkFfVEFCTEUiLCAiU0VNQVRUUlNfREJfQ09OTkVDVElPTl9TVFJJTkciLCAiU0VNQVRUUlNfREJfSEJBU0VfTkFNRVNQQUNFIiwgIlNFTUFUVFJTX0RCX0pEQkNfRFJJVkVSX0NMQVNTTkFNRSIsICJTRU1BVFRSU19EQl9NT05HT0RCX0NPTExFQ1RJT04iLCAiU0VNQVRUUlNfREJfTVNTUUxfSU5TVEFOQ0VfTkFNRSIsICJTRU1BVFRSU19EQl9OQU1FIiwgIlNFTUFUVFJTX0RCX09QRVJBVElPTiIsICJTRU1BVFRSU19EQl9SRURJU19EQVRBQkFTRV9JTkRFWCIsICJTRU1BVFRSU19EQl9TUUxfVEFCTEUiLCAiU0VNQVRUUlNfREJfU1RBVEVNRU5UIiwgIlNFTUFUVFJTX0RCX1NZU1RFTSIsICJTRU1BVFRSU19EQl9VU0VSIiwgIlNFTUFUVFJTX0VORFVTRVJfSUQiLCAiU0VNQVRUUlNfRU5EVVNFUl9ST0xFIiwgIlNFTUFUVFJTX0VORFVTRVJfU0NPUEUiLCAiU0VNQVRUUlNfRVhDRVBUSU9OX0VTQ0FQRUQiLCAiU0VNQVRUUlNfRVhDRVBUSU9OX01FU1NBR0UiLCAiU0VNQVRUUlNfRVhDRVBUSU9OX1NUQUNLVFJBQ0UiLCAiU0VNQVRUUlNfRVhDRVBUSU9OX1RZUEUiLCAiU0VNQVRUUlNfRkFBU19DT0xEU1RBUlQiLCAiU0VNQVRUUlNfRkFBU19DUk9OIiwgIlNFTUFUVFJTX0ZBQVNfRE9DVU1FTlRfQ09MTEVDVElPTiIsICJTRU1BVFRSU19GQUFTX0RPQ1VNRU5UX05BTUUiLCAiU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9PUEVSQVRJT04iLCAiU0VNQVRUUlNfRkFBU19ET0NVTUVOVF9USU1FIiwgIlNFTUFUVFJTX0ZBQVNfRVhFQ1VUSU9OIiwgIlNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9OQU1FIiwgIlNFTUFUVFJTX0ZBQVNfSU5WT0tFRF9QUk9WSURFUiIsICJTRU1BVFRSU19GQUFTX0lOVk9LRURfUkVHSU9OIiwgIlNFTUFUVFJTX0ZBQVNfVElNRSIsICJTRU1BVFRSU19GQUFTX1RSSUdHRVIiLCAiU0VNQVRUUlNfSFRUUF9DTElFTlRfSVAiLCAiU0VNQVRUUlNfSFRUUF9GTEFWT1IiLCAiU0VNQVRUUlNfSFRUUF9IT1NUIiwgIlNFTUFUVFJTX0hUVFBfTUVUSE9EIiwgIlNFTUFUVFJTX0hUVFBfUkVRVUVTVF9DT05URU5UX0xFTkdUSCIsICJTRU1BVFRSU19IVFRQX1JFUVVFU1RfQ09OVEVOVF9MRU5HVEhfVU5DT01QUkVTU0VEIiwgIlNFTUFUVFJTX0hUVFBfUkVTUE9OU0VfQ09OVEVOVF9MRU5HVEgiLCAiU0VNQVRUUlNfSFRUUF9SRVNQT05TRV9DT05URU5UX0xFTkdUSF9VTkNPTVBSRVNTRUQiLCAiU0VNQVRUUlNfSFRUUF9ST1VURSIsICJTRU1BVFRSU19IVFRQX1NDSEVNRSIsICJTRU1BVFRSU19IVFRQX1NFUlZFUl9OQU1FIiwgIlNFTUFUVFJTX0hUVFBfU1RBVFVTX0NPREUiLCAiU0VNQVRUUlNfSFRUUF9UQVJHRVQiLCAiU0VNQVRUUlNfSFRUUF9VUkwiLCAiU0VNQVRUUlNfSFRUUF9VU0VSX0FHRU5UIiwgIlNFTUFUVFJTX01FU1NBR0VfQ09NUFJFU1NFRF9TSVpFIiwgIlNFTUFUVFJTX01FU1NBR0VfSUQiLCAiU0VNQVRUUlNfTUVTU0FHRV9UWVBFIiwgIlNFTUFUVFJTX01FU1NBR0VfVU5DT01QUkVTU0VEX1NJWkUiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0NPTlNVTUVSX0lEIiwgIlNFTUFUVFJTX01FU1NBR0lOR19DT05WRVJTQVRJT05fSUQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0RFU1RJTkFUSU9OIiwgIlNFTUFUVFJTX01FU1NBR0lOR19ERVNUSU5BVElPTl9LSU5EIiwgIlNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9DTElFTlRfSUQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX0tBRktBX0NPTlNVTUVSX0dST1VQIiwgIlNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9NRVNTQUdFX0tFWSIsICJTRU1BVFRSU19NRVNTQUdJTkdfS0FGS0FfUEFSVElUSU9OIiwgIlNFTUFUVFJTX01FU1NBR0lOR19LQUZLQV9UT01CU1RPTkUiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfSUQiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfUEFZTE9BRF9DT01QUkVTU0VEX1NJWkVfQllURVMiLCAiU0VNQVRUUlNfTUVTU0FHSU5HX01FU1NBR0VfUEFZTE9BRF9TSVpFX0JZVEVTIiwgIlNFTUFUVFJTX01FU1NBR0lOR19PUEVSQVRJT04iLCAiU0VNQVRUUlNfTUVTU0FHSU5HX1BST1RPQ09MIiwgIlNFTUFUVFJTX01FU1NBR0lOR19QUk9UT0NPTF9WRVJTSU9OIiwgIlNFTUFUVFJTX01FU1NBR0lOR19SQUJCSVRNUV9ST1VUSU5HX0tFWSIsICJTRU1BVFRSU19NRVNTQUdJTkdfU1lTVEVNIiwgIlNFTUFUVFJTX01FU1NBR0lOR19URU1QX0RFU1RJTkFUSU9OIiwgIlNFTUFUVFJTX01FU1NBR0lOR19VUkwiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9JQ0MiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9NQ0MiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9NTkMiLCAiU0VNQVRUUlNfTkVUX0hPU1RfQ0FSUklFUl9OQU1FIiwgIlNFTUFUVFJTX05FVF9IT1NUX0NPTk5FQ1RJT05fU1VCVFlQRSIsICJTRU1BVFRSU19ORVRfSE9TVF9DT05ORUNUSU9OX1RZUEUiLCAiU0VNQVRUUlNfTkVUX0hPU1RfSVAiLCAiU0VNQVRUUlNfTkVUX0hPU1RfTkFNRSIsICJTRU1BVFRSU19ORVRfSE9TVF9QT1JUIiwgIlNFTUFUVFJTX05FVF9QRUVSX0lQIiwgIlNFTUFUVFJTX05FVF9QRUVSX05BTUUiLCAiU0VNQVRUUlNfTkVUX1BFRVJfUE9SVCIsICJTRU1BVFRSU19ORVRfVFJBTlNQT1JUIiwgIlNFTUFUVFJTX1BFRVJfU0VSVklDRSIsICJTRU1BVFRSU19SUENfR1JQQ19TVEFUVVNfQ09ERSIsICJTRU1BVFRSU19SUENfSlNPTlJQQ19FUlJPUl9DT0RFIiwgIlNFTUFUVFJTX1JQQ19KU09OUlBDX0VSUk9SX01FU1NBR0UiLCAiU0VNQVRUUlNfUlBDX0pTT05SUENfUkVRVUVTVF9JRCIsICJTRU1BVFRSU19SUENfSlNPTlJQQ19WRVJTSU9OIiwgIlNFTUFUVFJTX1JQQ19NRVRIT0QiLCAiU0VNQVRUUlNfUlBDX1NFUlZJQ0UiLCAiU0VNQVRUUlNfUlBDX1NZU1RFTSIsICJTRU1BVFRSU19USFJFQURfSUQiLCAiU0VNQVRUUlNfVEhSRUFEX05BTUUiLCAiU2VtYW50aWNBdHRyaWJ1dGVzIiwgImNvbnRleHQiLCAidHJhY2UiLCAiRGlhZ0xvZ0xldmVsIiwgIklOVkFMSURfU1BBTklEIiwgIklOVkFMSURfU1BBTl9DT05URVhUIiwgIklOVkFMSURfVFJBQ0VJRCIsICJQcm94eVRyYWNlciIsICJQcm94eVRyYWNlclByb3ZpZGVyIiwgIlJPT1RfQ09OVEVYVCIsICJTcGFuS2luZCIsICJTcGFuU3RhdHVzQ29kZSIsICJUcmFjZUZsYWdzIiwgImNyZWF0ZUNvbnRleHRLZXkiLCAiaXNTcGFuQ29udGV4dFZhbGlkIiwgImlzVmFsaWRTcGFuSWQiLCAiaXNWYWxpZFRyYWNlSWQiLCAibWV0cmljcyIsICJjcmVhdGVOb29wTWV0ZXIiLCAiU2FtcGxpbmdEZWNpc2lvbiIsICJlc20kMiIsICJkaWFnIiwgIkFXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRUMyIiwgIkFXU0VDU0xBVU5DSFRZUEVWQUxVRVNfRkFSR0FURSIsICJBd3NFY3NMYXVuY2h0eXBlVmFsdWVzIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQUxJQkFCQV9DTE9VRF9FQ1MiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BTElCQUJBX0NMT1VEX0ZDIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VDMiIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FXU19FQ1MiLCAiQ0xPVURQTEFURk9STVZBTFVFU19BV1NfRUtTIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0VMQVNUSUNfQkVBTlNUQUxLIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVdTX0xBTUJEQSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FLUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0FQUF9TRVJWSUNFIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfQVpVUkVfQ09OVEFJTkVSX0lOU1RBTkNFUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX0ZVTkNUSU9OUyIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0FaVVJFX1ZNIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0FQUF9FTkdJTkUiLCAiQ0xPVURQTEFURk9STVZBTFVFU19HQ1BfQ0xPVURfRlVOQ1RJT05TIiwgIkNMT1VEUExBVEZPUk1WQUxVRVNfR0NQX0NMT1VEX1JVTiIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9DT01QVVRFX0VOR0lORSIsICJDTE9VRFBMQVRGT1JNVkFMVUVTX0dDUF9LVUJFUk5FVEVTX0VOR0lORSIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0FMSUJBQkFfQ0xPVUQiLCAiQ0xPVURQUk9WSURFUlZBTFVFU19BV1MiLCAiQ0xPVURQUk9WSURFUlZBTFVFU19BWlVSRSIsICJDTE9VRFBST1ZJREVSVkFMVUVTX0dDUCIsICJDbG91ZFBsYXRmb3JtVmFsdWVzIiwgIkNsb3VkUHJvdmlkZXJWYWx1ZXMiLCAiSE9TVEFSQ0hWQUxVRVNfQU1ENjQiLCAiSE9TVEFSQ0hWQUxVRVNfQVJNMzIiLCAiSE9TVEFSQ0hWQUxVRVNfQVJNNjQiLCAiSE9TVEFSQ0hWQUxVRVNfSUE2NCIsICJIT1NUQVJDSFZBTFVFU19QUEMzMiIsICJIT1NUQVJDSFZBTFVFU19QUEM2NCIsICJIT1NUQVJDSFZBTFVFU19YODYiLCAiSG9zdEFyY2hWYWx1ZXMiLCAiT1NUWVBFVkFMVUVTX0FJWCIsICJPU1RZUEVWQUxVRVNfREFSV0lOIiwgIk9TVFlQRVZBTFVFU19EUkFHT05GTFlCU0QiLCAiT1NUWVBFVkFMVUVTX0ZSRUVCU0QiLCAiT1NUWVBFVkFMVUVTX0hQVVgiLCAiT1NUWVBFVkFMVUVTX0xJTlVYIiwgIk9TVFlQRVZBTFVFU19ORVRCU0QiLCAiT1NUWVBFVkFMVUVTX09QRU5CU0QiLCAiT1NUWVBFVkFMVUVTX1NPTEFSSVMiLCAiT1NUWVBFVkFMVUVTX1dJTkRPV1MiLCAiT1NUWVBFVkFMVUVTX1pfT1MiLCAiT3NUeXBlVmFsdWVzIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfQ0xVU1RFUl9BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19DT05UQUlORVJfQVJOIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfTEFVTkNIVFlQRSIsICJTRU1SRVNBVFRSU19BV1NfRUNTX1RBU0tfQVJOIiwgIlNFTVJFU0FUVFJTX0FXU19FQ1NfVEFTS19GQU1JTFkiLCAiU0VNUkVTQVRUUlNfQVdTX0VDU19UQVNLX1JFVklTSU9OIiwgIlNFTVJFU0FUVFJTX0FXU19FS1NfQ0xVU1RFUl9BUk4iLCAiU0VNUkVTQVRUUlNfQVdTX0xPR19HUk9VUF9BUk5TIiwgIlNFTVJFU0FUVFJTX0FXU19MT0dfR1JPVVBfTkFNRVMiLCAiU0VNUkVTQVRUUlNfQVdTX0xPR19TVFJFQU1fQVJOUyIsICJTRU1SRVNBVFRSU19BV1NfTE9HX1NUUkVBTV9OQU1FUyIsICJTRU1SRVNBVFRSU19DTE9VRF9BQ0NPVU5UX0lEIiwgIlNFTVJFU0FUVFJTX0NMT1VEX0FWQUlMQUJJTElUWV9aT05FIiwgIlNFTVJFU0FUVFJTX0NMT1VEX1BMQVRGT1JNIiwgIlNFTVJFU0FUVFJTX0NMT1VEX1BST1ZJREVSIiwgIlNFTVJFU0FUVFJTX0NMT1VEX1JFR0lPTiIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfSUQiLCAiU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX05BTUUiLCAiU0VNUkVTQVRUUlNfQ09OVEFJTkVSX0lNQUdFX1RBRyIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfTkFNRSIsICJTRU1SRVNBVFRSU19DT05UQUlORVJfUlVOVElNRSIsICJTRU1SRVNBVFRSU19ERVBMT1lNRU5UX0VOVklST05NRU5UIiwgIlNFTVJFU0FUVFJTX0RFVklDRV9JRCIsICJTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfSURFTlRJRklFUiIsICJTRU1SRVNBVFRSU19ERVZJQ0VfTU9ERUxfTkFNRSIsICJTRU1SRVNBVFRSU19GQUFTX0lEIiwgIlNFTVJFU0FUVFJTX0ZBQVNfSU5TVEFOQ0UiLCAiU0VNUkVTQVRUUlNfRkFBU19NQVhfTUVNT1JZIiwgIlNFTVJFU0FUVFJTX0ZBQVNfTkFNRSIsICJTRU1SRVNBVFRSU19GQUFTX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfSE9TVF9BUkNIIiwgIlNFTVJFU0FUVFJTX0hPU1RfSUQiLCAiU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9JRCIsICJTRU1SRVNBVFRSU19IT1NUX0lNQUdFX05BTUUiLCAiU0VNUkVTQVRUUlNfSE9TVF9JTUFHRV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX0hPU1RfTkFNRSIsICJTRU1SRVNBVFRSU19IT1NUX1RZUEUiLCAiU0VNUkVTQVRUUlNfSzhTX0NMVVNURVJfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfQ09OVEFJTkVSX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0NST05KT0JfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfQ1JPTkpPQl9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX0RBRU1PTlNFVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19EQUVNT05TRVRfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19ERVBMT1lNRU5UX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX0RFUExPWU1FTlRfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19KT0JfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfSk9CX1VJRCIsICJTRU1SRVNBVFRSU19LOFNfTkFNRVNQQUNFX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX05PREVfTkFNRSIsICJTRU1SRVNBVFRSU19LOFNfTk9ERV9VSUQiLCAiU0VNUkVTQVRUUlNfSzhTX1BPRF9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19QT0RfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19SRVBMSUNBU0VUX05BTUUiLCAiU0VNUkVTQVRUUlNfSzhTX1JFUExJQ0FTRVRfVUlEIiwgIlNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9OQU1FIiwgIlNFTVJFU0FUVFJTX0s4U19TVEFURUZVTFNFVF9VSUQiLCAiU0VNUkVTQVRUUlNfT1NfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfT1NfTkFNRSIsICJTRU1SRVNBVFRSU19PU19UWVBFIiwgIlNFTVJFU0FUVFJTX09TX1ZFUlNJT04iLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19DT01NQU5EIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9BUkdTIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfQ09NTUFORF9MSU5FIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9OQU1FIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfRVhFQ1VUQUJMRV9QQVRIIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfT1dORVIiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19QSUQiLCAiU0VNUkVTQVRUUlNfUFJPQ0VTU19SVU5USU1FX0RFU0NSSVBUSU9OIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9OQU1FIiwgIlNFTVJFU0FUVFJTX1BST0NFU1NfUlVOVElNRV9WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1NFUlZJQ0VfSU5TVEFOQ0VfSUQiLCAiU0VNUkVTQVRUUlNfU0VSVklDRV9OQU1FIiwgIlNFTVJFU0FUVFJTX1NFUlZJQ0VfTkFNRVNQQUNFIiwgIlNFTVJFU0FUVFJTX1NFUlZJQ0VfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19URUxFTUVUUllfQVVUT19WRVJTSU9OIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfTEFOR1VBR0UiLCAiU0VNUkVTQVRUUlNfVEVMRU1FVFJZX1NES19OQU1FIiwgIlNFTVJFU0FUVFJTX1RFTEVNRVRSWV9TREtfVkVSU0lPTiIsICJTRU1SRVNBVFRSU19XRUJFTkdJTkVfREVTQ1JJUFRJT04iLCAiU0VNUkVTQVRUUlNfV0VCRU5HSU5FX05BTUUiLCAiU0VNUkVTQVRUUlNfV0VCRU5HSU5FX1ZFUlNJT04iLCAiU2VtYW50aWNSZXNvdXJjZUF0dHJpYnV0ZXMiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfQ1BQIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX0RPVE5FVCIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19FUkxBTkciLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfR08iLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfSkFWQSIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19OT0RFSlMiLCAiVEVMRU1FVFJZU0RLTEFOR1VBR0VWQUxVRVNfUEhQIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1BZVEhPTiIsICJURUxFTUVUUllTREtMQU5HVUFHRVZBTFVFU19SVUJZIiwgIlRFTEVNRVRSWVNES0xBTkdVQUdFVkFMVUVTX1dFQkpTIiwgIlRlbGVtZXRyeVNka0xhbmd1YWdlVmFsdWVzIiwgIl9tZXJnZU5hbWVzcGFjZXMiLCAibiIsICJtIiwgImkiLCAiZSIsICJrIiwgImQiLCAiY29uc29sZU1hcCIsICJEaWFnQ29uc29sZUxvZ2dlciIsICJfY29uc29sZUZ1bmMiLCAiZnVuY05hbWUiLCAiYXJncyIsICJfaSIsICJ0aGVGdW5jIiwgIlZhbHVlVHlwZSIsICJWQUxJRF9LRVlfQ0hBUl9SQU5HRSIsICJWQUxJRF9LRVkiLCAiVkFMSURfVkVORE9SX0tFWSIsICJWQUxJRF9LRVlfUkVHRVgiLCAiVkFMSURfVkFMVUVfQkFTRV9SRUdFWCIsICJJTlZBTElEX1ZBTFVFX0NPTU1BX0VRVUFMX1JFR0VYIiwgInZhbGlkYXRlS2V5IiwgImtleSIsICJ2YWxpZGF0ZVZhbHVlIiwgInZhbHVlIiwgIk1BWF9UUkFDRV9TVEFURV9JVEVNUyIsICJNQVhfVFJBQ0VfU1RBVEVfTEVOIiwgIkxJU1RfTUVNQkVSU19TRVBBUkFUT1IiLCAiTElTVF9NRU1CRVJfS0VZX1ZBTFVFX1NQTElUVEVSIiwgIlRyYWNlU3RhdGVJbXBsIiwgInJhd1RyYWNlU3RhdGUiLCAidHJhY2VTdGF0ZSIsICJfdGhpcyIsICJhZ2ciLCAicGFydCIsICJsaXN0TWVtYmVyIiwgImNyZWF0ZVRyYWNlU3RhdGUiLCAiaW5kZXgiLCAiZXNtJDEiLCAiQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVTVUxUIiwgIkFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfQUNRVUlSRUQiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9FTkRQT0lOVF9MSU1JVEVSIiwgIkFTUE5FVENPUkVfUkFURV9MSU1JVElOR19SRVNVTFRfVkFMVUVfR0xPQkFMX0xJTUlURVIiLCAiQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFU1VMVF9WQUxVRV9SRVFVRVNUX0NBTkNFTEVEIiwgIkFUVFJfVEVMRU1FVFJZX1NES19MQU5HVUFHRSIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0NQUCIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0RPVE5FVCIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0VSTEFORyIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX0dPIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfSkFWQSIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX05PREVKUyIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BIUCIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1BZVEhPTiIsICJURUxFTUVUUllfU0RLX0xBTkdVQUdFX1ZBTFVFX1JVQlkiLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9SVVNUIiwgIlRFTEVNRVRSWV9TREtfTEFOR1VBR0VfVkFMVUVfU1dJRlQiLCAiVEVMRU1FVFJZX1NES19MQU5HVUFHRV9WQUxVRV9XRUJKUyIsICJBVFRSX1RFTEVNRVRSWV9TREtfTkFNRSIsICJBVFRSX1RFTEVNRVRSWV9TREtfVkVSU0lPTiIsICJBVFRSX0FTUE5FVENPUkVfRElBR05PU1RJQ1NfSEFORExFUl9UWVBFIiwgIkFUVFJfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05fUkVTVUxUIiwgIkFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9BQk9SVEVEIiwgIkFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9IQU5ETEVEIiwgIkFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9TS0lQUEVEIiwgIkFTUE5FVENPUkVfRElBR05PU1RJQ1NfRVhDRVBUSU9OX1JFU1VMVF9WQUxVRV9VTkhBTkRMRUQiLCAiQVRUUl9BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUE9MSUNZIiwgIkFUVFJfQVNQTkVUQ09SRV9SRVFVRVNUX0lTX1VOSEFORExFRCIsICJBVFRSX0FTUE5FVENPUkVfUk9VVElOR19JU19GQUxMQkFDSyIsICJBVFRSX0FTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVMiLCAiQVNQTkVUQ09SRV9ST1VUSU5HX01BVENIX1NUQVRVU19WQUxVRV9GQUlMVVJFIiwgIkFTUE5FVENPUkVfUk9VVElOR19NQVRDSF9TVEFUVVNfVkFMVUVfU1VDQ0VTUyIsICJBVFRSX0NMSUVOVF9BRERSRVNTIiwgIkFUVFJfQ0xJRU5UX1BPUlQiLCAiQVRUUl9FUlJPUl9UWVBFIiwgIkVSUk9SX1RZUEVfVkFMVUVfT1RIRVIiLCAiQVRUUl9FWENFUFRJT05fRVNDQVBFRCIsICJBVFRSX0VYQ0VQVElPTl9NRVNTQUdFIiwgIkFUVFJfRVhDRVBUSU9OX1NUQUNLVFJBQ0UiLCAiQVRUUl9FWENFUFRJT05fVFlQRSIsICJBVFRSX0hUVFBfUkVRVUVTVF9IRUFERVIiLCAiQVRUUl9IVFRQX1JFUVVFU1RfTUVUSE9EIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfT1RIRVIiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9DT05ORUNUIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfREVMRVRFIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfR0VUIiwgIkhUVFBfUkVRVUVTVF9NRVRIT0RfVkFMVUVfSEVBRCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX09QVElPTlMiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QQVRDSCIsICJIVFRQX1JFUVVFU1RfTUVUSE9EX1ZBTFVFX1BPU1QiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9QVVQiLCAiSFRUUF9SRVFVRVNUX01FVEhPRF9WQUxVRV9UUkFDRSIsICJBVFRSX0hUVFBfUkVRVUVTVF9NRVRIT0RfT1JJR0lOQUwiLCAiQVRUUl9IVFRQX1JFUVVFU1RfUkVTRU5EX0NPVU5UIiwgIkFUVFJfSFRUUF9SRVNQT05TRV9IRUFERVIiLCAiQVRUUl9IVFRQX1JFU1BPTlNFX1NUQVRVU19DT0RFIiwgIkFUVFJfSFRUUF9ST1VURSIsICJBVFRSX0pWTV9HQ19BQ1RJT04iLCAiQVRUUl9KVk1fR0NfTkFNRSIsICJBVFRSX0pWTV9NRU1PUllfUE9PTF9OQU1FIiwgIkFUVFJfSlZNX01FTU9SWV9UWVBFIiwgIkpWTV9NRU1PUllfVFlQRV9WQUxVRV9IRUFQIiwgIkpWTV9NRU1PUllfVFlQRV9WQUxVRV9OT05fSEVBUCIsICJBVFRSX0pWTV9USFJFQURfREFFTU9OIiwgIkFUVFJfSlZNX1RIUkVBRF9TVEFURSIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX0JMT0NLRUQiLCAiSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9ORVciLCAiSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9SVU5OQUJMRSIsICJKVk1fVEhSRUFEX1NUQVRFX1ZBTFVFX1RFUk1JTkFURUQiLCAiSlZNX1RIUkVBRF9TVEFURV9WQUxVRV9USU1FRF9XQUlUSU5HIiwgIkpWTV9USFJFQURfU1RBVEVfVkFMVUVfV0FJVElORyIsICJBVFRSX05FVFdPUktfTE9DQUxfQUREUkVTUyIsICJBVFRSX05FVFdPUktfTE9DQUxfUE9SVCIsICJBVFRSX05FVFdPUktfUEVFUl9BRERSRVNTIiwgIkFUVFJfTkVUV09SS19QRUVSX1BPUlQiLCAiQVRUUl9ORVRXT1JLX1BST1RPQ09MX05BTUUiLCAiQVRUUl9ORVRXT1JLX1BST1RPQ09MX1ZFUlNJT04iLCAiQVRUUl9ORVRXT1JLX1RSQU5TUE9SVCIsICJORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9QSVBFIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1FVSUMiLCAiTkVUV09SS19UUkFOU1BPUlRfVkFMVUVfVENQIiwgIk5FVFdPUktfVFJBTlNQT1JUX1ZBTFVFX1VEUCIsICJORVRXT1JLX1RSQU5TUE9SVF9WQUxVRV9VTklYIiwgIkFUVFJfTkVUV09SS19UWVBFIiwgIk5FVFdPUktfVFlQRV9WQUxVRV9JUFY0IiwgIk5FVFdPUktfVFlQRV9WQUxVRV9JUFY2IiwgIkFUVFJfT1RFTF9TQ09QRV9OQU1FIiwgIkFUVFJfT1RFTF9TQ09QRV9WRVJTSU9OIiwgIkFUVFJfT1RFTF9TVEFUVVNfQ09ERSIsICJPVEVMX1NUQVRVU19DT0RFX1ZBTFVFX0VSUk9SIiwgIk9URUxfU1RBVFVTX0NPREVfVkFMVUVfT0siLCAiQVRUUl9PVEVMX1NUQVRVU19ERVNDUklQVElPTiIsICJBVFRSX1NFUlZFUl9BRERSRVNTIiwgIkFUVFJfU0VSVkVSX1BPUlQiLCAiQVRUUl9TRVJWSUNFX05BTUUiLCAiQVRUUl9TRVJWSUNFX1ZFUlNJT04iLCAiQVRUUl9TSUdOQUxSX0NPTk5FQ1RJT05fU1RBVFVTIiwgIlNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfQVBQX1NIVVRET1dOIiwgIlNJR05BTFJfQ09OTkVDVElPTl9TVEFUVVNfVkFMVUVfTk9STUFMX0NMT1NVUkUiLCAiU0lHTkFMUl9DT05ORUNUSU9OX1NUQVRVU19WQUxVRV9USU1FT1VUIiwgIkFUVFJfU0lHTkFMUl9UUkFOU1BPUlQiLCAiU0lHTkFMUl9UUkFOU1BPUlRfVkFMVUVfTE9OR19QT0xMSU5HIiwgIlNJR05BTFJfVFJBTlNQT1JUX1ZBTFVFX1NFUlZFUl9TRU5UX0VWRU5UUyIsICJTSUdOQUxSX1RSQU5TUE9SVF9WQUxVRV9XRUJfU09DS0VUUyIsICJBVFRSX1VSTF9GUkFHTUVOVCIsICJBVFRSX1VSTF9GVUxMIiwgIkFUVFJfVVJMX1BBVEgiLCAiQVRUUl9VUkxfUVVFUlkiLCAiQVRUUl9VUkxfU0NIRU1FIiwgIkFUVFJfVVNFUl9BR0VOVF9PUklHSU5BTCIsICJNRVRSSUNfQVNQTkVUQ09SRV9ESUFHTk9TVElDU19FWENFUFRJT05TIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfQUNUSVZFX1JFUVVFU1RfTEVBU0VTIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUVVFVUVEX1JFUVVFU1RTIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9USU1FX0lOX1FVRVVFIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JBVEVfTElNSVRJTkdfUkVRVUVTVF9MRUFTRV9EVVJBVElPTiIsICJNRVRSSUNfQVNQTkVUQ09SRV9SQVRFX0xJTUlUSU5HX1JFUVVFU1RTIiwgIk1FVFJJQ19BU1BORVRDT1JFX1JPVVRJTkdfTUFUQ0hfQVRURU1QVFMiLCAiTUVUUklDX0hUVFBfQ0xJRU5UX1JFUVVFU1RfRFVSQVRJT04iLCAiTUVUUklDX0hUVFBfU0VSVkVSX1JFUVVFU1RfRFVSQVRJT04iLCAiTUVUUklDX0pWTV9DTEFTU19DT1VOVCIsICJNRVRSSUNfSlZNX0NMQVNTX0xPQURFRCIsICJNRVRSSUNfSlZNX0NMQVNTX1VOTE9BREVEIiwgIk1FVFJJQ19KVk1fQ1BVX0NPVU5UIiwgIk1FVFJJQ19KVk1fQ1BVX1JFQ0VOVF9VVElMSVpBVElPTiIsICJNRVRSSUNfSlZNX0NQVV9USU1FIiwgIk1FVFJJQ19KVk1fR0NfRFVSQVRJT04iLCAiTUVUUklDX0pWTV9NRU1PUllfQ09NTUlUVEVEIiwgIk1FVFJJQ19KVk1fTUVNT1JZX0xJTUlUIiwgIk1FVFJJQ19KVk1fTUVNT1JZX1VTRUQiLCAiTUVUUklDX0pWTV9NRU1PUllfVVNFRF9BRlRFUl9MQVNUX0dDIiwgIk1FVFJJQ19KVk1fVEhSRUFEX0NPVU5UIiwgIk1FVFJJQ19LRVNUUkVMX0FDVElWRV9DT05ORUNUSU9OUyIsICJNRVRSSUNfS0VTVFJFTF9BQ1RJVkVfVExTX0hBTkRTSEFLRVMiLCAiTUVUUklDX0tFU1RSRUxfQ09OTkVDVElPTl9EVVJBVElPTiIsICJNRVRSSUNfS0VTVFJFTF9RVUVVRURfQ09OTkVDVElPTlMiLCAiTUVUUklDX0tFU1RSRUxfUVVFVUVEX1JFUVVFU1RTIiwgIk1FVFJJQ19LRVNUUkVMX1JFSkVDVEVEX0NPTk5FQ1RJT05TIiwgIk1FVFJJQ19LRVNUUkVMX1RMU19IQU5EU0hBS0VfRFVSQVRJT04iLCAiTUVUUklDX0tFU1RSRUxfVVBHUkFERURfQ09OTkVDVElPTlMiLCAiTUVUUklDX1NJR05BTFJfU0VSVkVSX0FDVElWRV9DT05ORUNUSU9OUyIsICJNRVRSSUNfU0lHTkFMUl9TRVJWRVJfQ09OTkVDVElPTl9EVVJBVElPTiIsICJlc20iLCAiZGV0ZWN0UmVzb3VyY2VzJDIiLCAiUmVzb3VyY2UkMSIsICJyZXF1aXJlJCQxJDEiLCAicmVxdWlyZSQkMSIsICJyZXF1aXJlJCQyIiwgImJyb3dzZXIiLCAiZGVmYXVsdFNlcnZpY2VOYW1lJDEiLCAiZGVmYXVsdFNlcnZpY2VOYW1lIiwgImV4cG9ydHMiLCAiZGVmYXVsdF9zZXJ2aWNlX25hbWVfMSIsICJhcGlfMSQxIiwgInNlbWFudGljX2NvbnZlbnRpb25zXzEiLCAiY29yZV8xIiwgInBsYXRmb3JtXzEiLCAiUmVzb3VyY2UiLCAiYXR0cmlidXRlcyIsICJhc3luY0F0dHJpYnV0ZXNQcm9taXNlIiwgIl9hIiwgImFzeW5jQXR0cmlidXRlcyIsICJlcnIiLCAib3RoZXIiLCAibWVyZ2VkU3luY0F0dHJpYnV0ZXMiLCAibWVyZ2VkQXR0cmlidXRlc1Byb21pc2UiLCAidGhpc0FzeW5jQXR0cmlidXRlcyIsICJvdGhlckFzeW5jQXR0cmlidXRlcyIsICJ1dGlscyIsICJpc1Byb21pc2VMaWtlIiwgInZhbCIsICJkZXRlY3RSZXNvdXJjZXNTeW5jXzEiLCAiZGV0ZWN0UmVzb3VyY2VzXzIiLCAiUmVzb3VyY2VfMSIsICJhcGlfMSIsICJ1dGlsc18xIiwgImRldGVjdFJlc291cmNlcyIsICJjb25maWciLCAicmVzb3VyY2VzIiwgInJlc291cmNlIiwgImxvZ1Jlc291cmNlcyIsICJhY2MiLCAiZGV0ZWN0UmVzb3VyY2VzU3luYyIsICJyZXNvdXJjZU9yUHJvbWlzZSIsICJjcmVhdGVQcm9taXNlIiwgInJlc29sdmVkUmVzb3VyY2UiLCAibWVyZ2VkUmVzb3VyY2VzIiwgInJlc291cmNlRGVidWdTdHJpbmciLCAiZGV0ZWN0UmVzb3VyY2VzJDEiXQp9Cg==