bry-biometric-collector 2.0.6 → 2.1.0-RC16

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,394 @@
1
+ import { as as T, S as j, r as z, t as F, w as K, x as u, y as N, B as M, D as G, G as J, a8 as Y, b1 as O, b2 as Z, aC as E, aG as B, aH as d, aI as v, aR as f, aY as k, aD as C, b3 as A, aJ as S, aV as D, b4 as L } from "./main_282e49c1_2.1.0-RC16.js";
2
+ var y = /* @__PURE__ */ ((o) => (o.OK = "OK", o.DEVICE_NOT_FOUND_ERROR = "DEVICE_NOT_FOUND_ERROR", o.CAMERA_DENIED_ERROR = "CAMERA_DENIED_ERROR", o.CAMERA_IN_USE_ERROR = "CAMERA_IN_USE_ERROR", o.CAMERA_CLOSED_ERROR = "CAMERA_CLOSED_ERROR", o.CAMERA_UNSUPPORTED = "CAMERA_UNSUPPORTED", o))(y || {});
3
+ const g = T(
4
+ "OK"
5
+ /* OK */
6
+ ), b = "src/lib/faceTab/cameraStatus/CameraStatus.svelte";
7
+ function U(o) {
8
+ let t, c, _, s, p, l, m, n, x, w, R = [
9
+ { class: "text-[8em] mx-auto" },
10
+ { xmlns: "http://www.w3.org/2000/svg" },
11
+ { width: "1em" },
12
+ { height: "1em" },
13
+ { viewBox: "0 0 256 256" },
14
+ /*$$props*/
15
+ o[2]
16
+ ], r = {};
17
+ for (let i = 0; i < R.length; i += 1)
18
+ r = O(r, R[i]);
19
+ const h = {
20
+ c: function() {
21
+ t = k("svg"), c = k("path"), _ = C(), s = E("span"), s.textContent = "A câmera não atende os requisitos necessários.", p = C(), l = E("span"), l.textContent = "Por favor, conecte outra câmera e tente novamente.", m = C(), n = E("button"), n.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "d", "M249.45 69.31a12 12 0 0 0-12.51 1L212 88.43V72a20 20 0 0 0-20-20h-68.12a12 12 0 0 0 0 24H188v68a12 12 0 0 0 4.46 9.33c.15.13.31.25.48.38l44 32A12 12 0 0 0 256 176V80a12 12 0 0 0-6.55-10.69M232 152.43l-20-14.54v-19.78l20-14.54ZM56.88 31.93a12 12 0 1 0-17.76 16.14L42.69 52H32a20 20 0 0 0-20 20v112a20 20 0 0 0 20 20h148.87l18.25 20.07a12 12 0 0 0 17.76-16.14ZM36 180V76h28.51l94.55 104Z"), v(c, b, 126, 6, 5896), A(t, r), v(t, b, 118, 4, 5721), d(s, "class", "text-xl font-bold text-center"), v(s, b, 131, 4, 6352), d(l, "class", "m-auto text-base block text-center"), v(l, b, 132, 4, 6454), d(n, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), v(n, b, 133, 4, 6565);
22
+ },
23
+ m: function(e, a) {
24
+ u(e, t, a), S(t, c), u(e, _, a), u(e, s, a), u(e, p, a), u(e, l, a), u(e, m, a), u(e, n, a), x || (w = D(
25
+ n,
26
+ "click",
27
+ /*click_handler_4*/
28
+ o[7],
29
+ !1,
30
+ !1,
31
+ !1,
32
+ !1
33
+ ), x = !0);
34
+ },
35
+ p: function(e, a) {
36
+ A(t, r = L(R, [
37
+ { class: "text-[8em] mx-auto" },
38
+ { xmlns: "http://www.w3.org/2000/svg" },
39
+ { width: "1em" },
40
+ { height: "1em" },
41
+ { viewBox: "0 0 256 256" },
42
+ a & /*$$props*/
43
+ 4 && /*$$props*/
44
+ e[2]
45
+ ]));
46
+ },
47
+ d: function(e) {
48
+ e && f(t), e && f(_), e && f(s), e && f(p), e && f(l), e && f(m), e && f(n), x = !1, w();
49
+ }
50
+ };
51
+ return M("SvelteRegisterBlock", {
52
+ block: h,
53
+ id: U.name,
54
+ type: "if",
55
+ source: "(117:71) ",
56
+ ctx: o
57
+ }), h;
58
+ }
59
+ function V(o) {
60
+ let t, c, _, s, p, l, m, n, x, w, R = [
61
+ { class: "text-[8em] mx-auto" },
62
+ { xmlns: "http://www.w3.org/2000/svg" },
63
+ { width: "1em" },
64
+ { height: "1em" },
65
+ { viewBox: "0 0 256 256" },
66
+ /*$$props*/
67
+ o[2]
68
+ ], r = {};
69
+ for (let i = 0; i < R.length; i += 1)
70
+ r = O(r, R[i]);
71
+ const h = {
72
+ c: function() {
73
+ t = k("svg"), c = k("path"), _ = C(), s = E("span"), s.textContent = "Por favor, permaneça na mesma aba durante a coleta biométrica.", p = C(), l = E("span"), l.textContent = "Clique no botão Reiniciar para capturar novamente.", m = C(), n = E("button"), n.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "d", "M236.8 188.09L149.35 36.22a24.76 24.76 0 0 0-42.7 0L19.2 188.09a23.51 23.51 0 0 0 0 23.72A24.35 24.35 0 0 0 40.55 224h174.9a24.35 24.35 0 0 0 21.33-12.19a23.51 23.51 0 0 0 .02-23.72m-13.87 15.71a8.5 8.5 0 0 1-7.48 4.2H40.55a8.5 8.5 0 0 1-7.48-4.2a7.59 7.59 0 0 1 0-7.72l87.45-151.87a8.75 8.75 0 0 1 15 0l87.45 151.87a7.59 7.59 0 0 1-.04 7.72M120 144v-40a8 8 0 0 1 16 0v40a8 8 0 0 1-16 0m20 36a12 12 0 1 1-12-12a12 12 0 0 1 12 12"), v(c, b, 103, 6, 4710), A(t, r), v(t, b, 95, 4, 4535), d(s, "class", "text-xl font-bold text-center"), v(s, b, 108, 4, 5209), d(l, "class", "m-auto text-base block text-center"), v(l, b, 109, 4, 5327), d(n, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), v(n, b, 110, 4, 5438);
74
+ },
75
+ m: function(e, a) {
76
+ u(e, t, a), S(t, c), u(e, _, a), u(e, s, a), u(e, p, a), u(e, l, a), u(e, m, a), u(e, n, a), x || (w = D(
77
+ n,
78
+ "click",
79
+ /*click_handler_3*/
80
+ o[6],
81
+ !1,
82
+ !1,
83
+ !1,
84
+ !1
85
+ ), x = !0);
86
+ },
87
+ p: function(e, a) {
88
+ A(t, r = L(R, [
89
+ { class: "text-[8em] mx-auto" },
90
+ { xmlns: "http://www.w3.org/2000/svg" },
91
+ { width: "1em" },
92
+ { height: "1em" },
93
+ { viewBox: "0 0 256 256" },
94
+ a & /*$$props*/
95
+ 4 && /*$$props*/
96
+ e[2]
97
+ ]));
98
+ },
99
+ d: function(e) {
100
+ e && f(t), e && f(_), e && f(s), e && f(p), e && f(l), e && f(m), e && f(n), x = !1, w();
101
+ }
102
+ };
103
+ return M("SvelteRegisterBlock", {
104
+ block: h,
105
+ id: V.name,
106
+ type: "if",
107
+ source: "(94:72) ",
108
+ ctx: o
109
+ }), h;
110
+ }
111
+ function I(o) {
112
+ let t, c, _, s, p, l, m, n, x, w, R = [
113
+ { class: "text-[8em] mx-auto" },
114
+ { xmlns: "http://www.w3.org/2000/svg" },
115
+ { width: "1em" },
116
+ { height: "1em" },
117
+ { viewBox: "0 0 256 256" },
118
+ /*$$props*/
119
+ o[2]
120
+ ], r = {};
121
+ for (let i = 0; i < R.length; i += 1)
122
+ r = O(r, R[i]);
123
+ const h = {
124
+ c: function() {
125
+ t = k("svg"), c = k("path"), _ = C(), s = E("span"), s.textContent = "A câmera está em uso.", p = C(), l = E("span"), l.textContent = "Certifique-se de que a câmera não está sendo utilizada por nenhuma outra aplicação e clique no botão abaixo.", m = C(), n = E("button"), n.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "d", "M56.88 31.93a12 12 0 1 0-17.76 16.14l4 4.37A28 28 0 0 0 20 80v112a28 28 0 0 0 28 28h147.42l3.7 4.07a12 12 0 0 0 17.76-16.14Zm49.35 90L136 154.64a24 24 0 0 1-29.77-32.75ZM48 196a4 4 0 0 1-4-4V80a4 4 0 0 1 4-4h16.51l24.92 27.41a48 48 0 0 0 63.34 69.67L173.6 196ZM236 80v94.14a12 12 0 0 1-24 0V80a4 4 0 0 0-4-4h-32a12 12 0 0 1-10-5.34L153.57 52h-51.51a12 12 0 0 1 0-24H160a12 12 0 0 1 10 5.34L182.42 52H208a28 28 0 0 1 28 28"), v(c, b, 75, 6, 3422), A(t, r), v(t, b, 67, 4, 3247), d(s, "class", "text-xl font-bold text-center"), v(s, b, 80, 4, 3914), d(l, "class", "m-auto text-base block text-center"), v(l, b, 81, 4, 3991), d(n, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), v(n, b, 84, 4, 4172);
126
+ },
127
+ m: function(e, a) {
128
+ u(e, t, a), S(t, c), u(e, _, a), u(e, s, a), u(e, p, a), u(e, l, a), u(e, m, a), u(e, n, a), x || (w = D(
129
+ n,
130
+ "click",
131
+ /*click_handler_2*/
132
+ o[5],
133
+ !1,
134
+ !1,
135
+ !1,
136
+ !1
137
+ ), x = !0);
138
+ },
139
+ p: function(e, a) {
140
+ A(t, r = L(R, [
141
+ { class: "text-[8em] mx-auto" },
142
+ { xmlns: "http://www.w3.org/2000/svg" },
143
+ { width: "1em" },
144
+ { height: "1em" },
145
+ { viewBox: "0 0 256 256" },
146
+ a & /*$$props*/
147
+ 4 && /*$$props*/
148
+ e[2]
149
+ ]));
150
+ },
151
+ d: function(e) {
152
+ e && f(t), e && f(_), e && f(s), e && f(p), e && f(l), e && f(m), e && f(n), x = !1, w();
153
+ }
154
+ };
155
+ return M("SvelteRegisterBlock", {
156
+ block: h,
157
+ id: I.name,
158
+ type: "if",
159
+ source: "(66:72) ",
160
+ ctx: o
161
+ }), h;
162
+ }
163
+ function P(o) {
164
+ let t, c, _, s, p, l, m, n, x, w, R = [
165
+ { class: "text-[8em] mx-auto" },
166
+ { xmlns: "http://www.w3.org/2000/svg" },
167
+ { width: "1em" },
168
+ { height: "1em" },
169
+ { viewBox: "0 0 256 256" },
170
+ /*$$props*/
171
+ o[2]
172
+ ], r = {};
173
+ for (let i = 0; i < R.length; i += 1)
174
+ r = O(r, R[i]);
175
+ const h = {
176
+ c: function() {
177
+ t = k("svg"), c = k("path"), _ = C(), s = E("span"), s.textContent = "A câmera não foi detectada.", p = C(), l = E("span"), l.textContent = "Por favor, conecte a sua câmera, espere alguns instantes e clique no botão Reiniciar.", m = C(), n = E("button"), n.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "d", "m137 168l11.52-11.51a12 12 0 0 0-17-17L120 151l-15-15l11.52-11.51a12 12 0 0 0-17-17L88 119l-15.51-15.49a12 12 0 0 0-17 17L59 124l-20.46 20.49a36 36 0 0 0 0 50.91l2.55 2.54l-25.58 25.57a12 12 0 0 0 17 17l25.57-25.58l2.54 2.55a36.06 36.06 0 0 0 50.91 0L132 197l3.51 3.52a12 12 0 0 0 17-17Zm-42.46 32.49a12 12 0 0 1-17 0l-22.03-22.06a12 12 0 0 1 0-17L76 141l39 39Zm146-185a12 12 0 0 0-17 0l-25.6 25.6l-2.54-2.55a36.05 36.05 0 0 0-50.91 0L124 59l-3.51-3.52a12 12 0 0 0-17 17l80 80a12 12 0 0 0 17-17L197 132l20.49-20.49a36 36 0 0 0 0-50.91l-2.55-2.54l25.58-25.57a12 12 0 0 0-.03-16.98Zm-40 79L180 115l-39-39l20.49-20.49a12 12 0 0 1 17 0l22.06 22.06a12 12 0 0 1 0 17Z"), v(c, b, 46, 6, 1876), A(t, r), v(t, b, 38, 4, 1701), d(s, "class", "text-xl font-bold text-center"), v(s, b, 51, 4, 2608), d(l, "class", "m-auto text-base block text-center"), v(l, b, 52, 4, 2691), d(n, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), v(n, b, 55, 4, 2849);
178
+ },
179
+ m: function(e, a) {
180
+ u(e, t, a), S(t, c), u(e, _, a), u(e, s, a), u(e, p, a), u(e, l, a), u(e, m, a), u(e, n, a), x || (w = D(
181
+ n,
182
+ "click",
183
+ /*click_handler_1*/
184
+ o[4],
185
+ !1,
186
+ !1,
187
+ !1,
188
+ !1
189
+ ), x = !0);
190
+ },
191
+ p: function(e, a) {
192
+ A(t, r = L(R, [
193
+ { class: "text-[8em] mx-auto" },
194
+ { xmlns: "http://www.w3.org/2000/svg" },
195
+ { width: "1em" },
196
+ { height: "1em" },
197
+ { viewBox: "0 0 256 256" },
198
+ a & /*$$props*/
199
+ 4 && /*$$props*/
200
+ e[2]
201
+ ]));
202
+ },
203
+ d: function(e) {
204
+ e && f(t), e && f(_), e && f(s), e && f(p), e && f(l), e && f(m), e && f(n), x = !1, w();
205
+ }
206
+ };
207
+ return M("SvelteRegisterBlock", {
208
+ block: h,
209
+ id: P.name,
210
+ type: "if",
211
+ source: "(37:75) ",
212
+ ctx: o
213
+ }), h;
214
+ }
215
+ function q(o) {
216
+ let t, c, _, s, p, l, m, n, x, w, R = [
217
+ { class: "text-[8em] mx-auto" },
218
+ { xmlns: "http://www.w3.org/2000/svg" },
219
+ { width: "1em" },
220
+ { height: "1em" },
221
+ { viewBox: "0 0 256 256" },
222
+ /*$$props*/
223
+ o[2]
224
+ ], r = {};
225
+ for (let i = 0; i < R.length; i += 1)
226
+ r = O(r, R[i]);
227
+ const h = {
228
+ c: function() {
229
+ t = k("svg"), c = k("path"), _ = C(), s = E("span"), s.textContent = "Por favor, conceda permissão de acesso à câmera.", p = C(), l = E("span"), l.textContent = "Após conceder a permissão, clique no botão Reiniciar.", m = C(), n = E("button"), n.textContent = "Reiniciar", d(c, "fill", "currentColor"), d(c, "d", "M249.45 69.31a12 12 0 0 0-12.51 1L212 88.43V72a20 20 0 0 0-20-20h-68.12a12 12 0 0 0 0 24H188v68a12 12 0 0 0 4.46 9.33c.15.13.31.25.48.38l44 32A12 12 0 0 0 256 176V80a12 12 0 0 0-6.55-10.69M232 152.43l-20-14.54v-19.78l20-14.54ZM56.88 31.93a12 12 0 1 0-17.76 16.14L42.69 52H32a20 20 0 0 0-20 20v112a20 20 0 0 0 20 20h148.87l18.25 20.07a12 12 0 0 0 17.76-16.14ZM36 180V76h28.51l94.55 104Z"), v(c, b, 19, 6, 612), A(t, r), v(t, b, 11, 4, 437), d(s, "class", "text-xl font-bold text-center"), v(s, b, 24, 4, 1068), d(l, "class", "m-auto text-base block text-center"), v(l, b, 25, 4, 1172), d(n, "class", "z-20 ce-dui-btn ce-dui-btn-outline ce-dui-btn-primary m-auto"), v(n, b, 26, 4, 1286);
230
+ },
231
+ m: function(e, a) {
232
+ u(e, t, a), S(t, c), u(e, _, a), u(e, s, a), u(e, p, a), u(e, l, a), u(e, m, a), u(e, n, a), x || (w = D(
233
+ n,
234
+ "click",
235
+ /*click_handler*/
236
+ o[3],
237
+ !1,
238
+ !1,
239
+ !1,
240
+ !1
241
+ ), x = !0);
242
+ },
243
+ p: function(e, a) {
244
+ A(t, r = L(R, [
245
+ { class: "text-[8em] mx-auto" },
246
+ { xmlns: "http://www.w3.org/2000/svg" },
247
+ { width: "1em" },
248
+ { height: "1em" },
249
+ { viewBox: "0 0 256 256" },
250
+ a & /*$$props*/
251
+ 4 && /*$$props*/
252
+ e[2]
253
+ ]));
254
+ },
255
+ d: function(e) {
256
+ e && f(t), e && f(_), e && f(s), e && f(p), e && f(l), e && f(m), e && f(n), x = !1, w();
257
+ }
258
+ };
259
+ return M("SvelteRegisterBlock", {
260
+ block: h,
261
+ id: q.name,
262
+ type: "if",
263
+ source: "(10:2) {#if $cameraStatusStore === CameraStatusEnum.CAMERA_DENIED_ERROR}",
264
+ ctx: o
265
+ }), h;
266
+ }
267
+ function H(o) {
268
+ let t;
269
+ function c(l, m) {
270
+ if (
271
+ /*$cameraStatusStore*/
272
+ l[1] === y.CAMERA_DENIED_ERROR
273
+ )
274
+ return q;
275
+ if (
276
+ /*$cameraStatusStore*/
277
+ l[1] === y.DEVICE_NOT_FOUND_ERROR
278
+ )
279
+ return P;
280
+ if (
281
+ /*$cameraStatusStore*/
282
+ l[1] === y.CAMERA_IN_USE_ERROR
283
+ )
284
+ return I;
285
+ if (
286
+ /*$cameraStatusStore*/
287
+ l[1] === y.CAMERA_CLOSED_ERROR
288
+ )
289
+ return V;
290
+ if (
291
+ /*$cameraStatusStore*/
292
+ l[1] === y.CAMERA_UNSUPPORTED
293
+ )
294
+ return U;
295
+ }
296
+ let _ = c(o), s = _ && _(o);
297
+ const p = {
298
+ c: function() {
299
+ t = E("div"), s && s.c(), this.c = B, d(t, "class", "flex flex-col gap-4 justify-center absolute -translate-y-1/2 -translate-x-1/2 top-1/2 left-1/2 overflow-visible text-nowrap"), v(t, b, 6, 0, 176);
300
+ },
301
+ l: function(m) {
302
+ throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option");
303
+ },
304
+ m: function(m, n) {
305
+ u(m, t, n), s && s.m(t, null);
306
+ },
307
+ p: function(m, [n]) {
308
+ _ === (_ = c(m)) && s ? s.p(m, n) : (s && s.d(1), s = _ && _(m), s && (s.c(), s.m(t, null)));
309
+ },
310
+ i: B,
311
+ o: B,
312
+ d: function(m) {
313
+ m && f(t), s && s.d();
314
+ }
315
+ };
316
+ return M("SvelteRegisterBlock", {
317
+ block: p,
318
+ id: H.name,
319
+ type: "component",
320
+ source: "",
321
+ ctx: o
322
+ }), p;
323
+ }
324
+ function Q(o, t, c) {
325
+ let _;
326
+ G(g, "cameraStatusStore"), J(o, g, (r) => c(1, _ = r));
327
+ let { $$slots: s = {}, $$scope: p } = t;
328
+ Y("camera-status", s, []);
329
+ let { handler: l = () => {
330
+ } } = t;
331
+ const m = () => {
332
+ l(), console.log("canicna", l);
333
+ }, n = () => {
334
+ l(), console.log("canicna", l);
335
+ }, x = () => {
336
+ l(), console.log("canicna", l);
337
+ }, w = () => {
338
+ l();
339
+ }, R = () => {
340
+ l();
341
+ };
342
+ return o.$$set = (r) => {
343
+ c(2, t = O(O({}, t), Z(r))), "handler" in r && c(0, l = r.handler);
344
+ }, o.$capture_state = () => ({
345
+ handler: l,
346
+ CameraStatusEnum: y,
347
+ cameraStatusStore: g,
348
+ $cameraStatusStore: _
349
+ }), o.$inject_state = (r) => {
350
+ c(2, t = O(O({}, t), r)), "handler" in t && c(0, l = r.handler);
351
+ }, t && "$$inject" in t && o.$inject_state(t.$$inject), t = Z(t), [
352
+ l,
353
+ _,
354
+ t,
355
+ m,
356
+ n,
357
+ x,
358
+ w,
359
+ R
360
+ ];
361
+ }
362
+ class W extends j {
363
+ constructor(t) {
364
+ super(), z(
365
+ this,
366
+ {
367
+ target: this.shadowRoot,
368
+ props: K(this.attributes),
369
+ customElement: !0
370
+ },
371
+ Q,
372
+ H,
373
+ F,
374
+ { handler: 0 },
375
+ null
376
+ ), t && (t.target && u(t.target, this, t.anchor), t.props && (this.$set(t.props), N()));
377
+ }
378
+ static get observedAttributes() {
379
+ return ["handler"];
380
+ }
381
+ get handler() {
382
+ return this.$$.ctx[0];
383
+ }
384
+ set handler(t) {
385
+ this.$$set({ handler: t }), N();
386
+ }
387
+ }
388
+ customElements.define("camera-status", W);
389
+ export {
390
+ y as C,
391
+ W as a,
392
+ g as c
393
+ };
394
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FtZXJhU3RhdHVzX2MxYWY3N2NjXzIuMS4wLVJDMTYuanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9saWIvZmFjZVRhYi9jYW1lcmFTdGF0dXMvY2FtZXJhU3RhdHVzU3RvcmUudHMiLCIuLi9zcmMvbGliL2ZhY2VUYWIvY2FtZXJhU3RhdHVzL0NhbWVyYVN0YXR1cy5zdmVsdGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd3JpdGFibGUgfSBmcm9tICdzdmVsdGUvc3RvcmUnO1xuXG5leHBvcnQgY29uc3QgZW51bSBDYW1lcmFTdGF0dXNFbnVtIHtcbiAgT0sgPSAnT0snLFxuICBERVZJQ0VfTk9UX0ZPVU5EX0VSUk9SID0gJ0RFVklDRV9OT1RfRk9VTkRfRVJST1InLFxuICBDQU1FUkFfREVOSUVEX0VSUk9SID0gJ0NBTUVSQV9ERU5JRURfRVJST1InLCAvLyBvciBkaXNtaXNzZWRcbiAgQ0FNRVJBX0lOX1VTRV9FUlJPUiA9ICdDQU1FUkFfSU5fVVNFX0VSUk9SJyxcbiAgQ0FNRVJBX0NMT1NFRF9FUlJPUiA9ICdDQU1FUkFfQ0xPU0VEX0VSUk9SJyxcbiAgQ0FNRVJBX1VOU1VQUE9SVEVEID0gJ0NBTUVSQV9VTlNVUFBPUlRFRCcsXG59XG5cbmV4cG9ydCBjb25zdCBjYW1lcmFTdGF0dXNTdG9yZSA9IHdyaXRhYmxlPENhbWVyYVN0YXR1c0VudW0+KENhbWVyYVN0YXR1c0VudW0uT0spO1xuIiwiPHN2ZWx0ZTpvcHRpb25zIHRhZz1cImNhbWVyYS1zdGF0dXNcIiAvPlxuXG48c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBleHBvcnQgbGV0IGhhbmRsZXI6IEZ1bmN0aW9uID0gKCkgPT4ge307XG4gIGltcG9ydCB7IENhbWVyYVN0YXR1c0VudW0sIGNhbWVyYVN0YXR1c1N0b3JlIH0gZnJvbSAnLi9jYW1lcmFTdGF0dXNTdG9yZSc7XG48L3NjcmlwdD5cblxuPGRpdlxuICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTQganVzdGlmeS1jZW50ZXIgYWJzb2x1dGUgLXRyYW5zbGF0ZS15LTEvMiAtdHJhbnNsYXRlLXgtMS8yIHRvcC0xLzIgbGVmdC0xLzIgb3ZlcmZsb3ctdmlzaWJsZSB0ZXh0LW5vd3JhcFwiXG4+XG4gIHsjaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9ERU5JRURfRVJST1J9XG4gICAgPCEtLSBpY29uaWZ5IHBoOnZpZGVvLWNhbWVyYS1zbGFzaC1ib2xkIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yNDkuNDUgNjkuMzFhMTIgMTIgMCAwIDAtMTIuNTEgMUwyMTIgODguNDNWNzJhMjAgMjAgMCAwIDAtMjAtMjBoLTY4LjEyYTEyIDEyIDAgMCAwIDAgMjRIMTg4djY4YTEyIDEyIDAgMCAwIDQuNDYgOS4zM2MuMTUuMTMuMzEuMjUuNDguMzhsNDQgMzJBMTIgMTIgMCAwIDAgMjU2IDE3NlY4MGExMiAxMiAwIDAgMC02LjU1LTEwLjY5TTIzMiAxNTIuNDNsLTIwLTE0LjU0di0xOS43OGwyMC0xNC41NFpNNTYuODggMzEuOTNhMTIgMTIgMCAxIDAtMTcuNzYgMTYuMTRMNDIuNjkgNTJIMzJhMjAgMjAgMCAwIDAtMjAgMjB2MTEyYTIwIDIwIDAgMCAwIDIwIDIwaDE0OC44N2wxOC4yNSAyMC4wN2ExMiAxMiAwIDAgMCAxNy43Ni0xNi4xNFpNMzYgMTgwVjc2aDI4LjUxbDk0LjU1IDEwNFpcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+UG9yIGZhdm9yLCBjb25jZWRhIHBlcm1pc3PDo28gZGUgYWNlc3NvIMOgIGPDom1lcmEuPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiPkFww7NzIGNvbmNlZGVyIGEgcGVybWlzc8OjbywgY2xpcXVlIG5vIGJvdMOjbyBSZWluaWNpYXIuPC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiei0yMCBjZS1kdWktYnRuIGNlLWR1aS1idG4tb3V0bGluZSBjZS1kdWktYnRuLXByaW1hcnkgbS1hdXRvXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGhhbmRsZXIoKTtcbiAgICAgICAgY29uc29sZS5sb2coJ2NhbmljbmEnLCBoYW5kbGVyKTtcbiAgICAgICAgLy8gY2FwdHVyaW5nID0gdHJ1ZTtcbiAgICAgICAgLy8gY2FtZXJhRGVuaWVkID0gZmFsc2U7XG4gICAgICAgIC8vIG9wZW5DYW1lcmEoKTtcbiAgICAgIH19PlJlaW5pY2lhcjwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkRFVklDRV9OT1RfRk9VTkRfRVJST1J9XG4gICAgPCEtLSBpY29uaWZ5IHBoOnZpZGVvLWNhbWVyYS1zbGFzaC1ib2xkIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIm0xMzcgMTY4bDExLjUyLTExLjUxYTEyIDEyIDAgMCAwLTE3LTE3TDEyMCAxNTFsLTE1LTE1bDExLjUyLTExLjUxYTEyIDEyIDAgMCAwLTE3LTE3TDg4IDExOWwtMTUuNTEtMTUuNDlhMTIgMTIgMCAwIDAtMTcgMTdMNTkgMTI0bC0yMC40NiAyMC40OWEzNiAzNiAwIDAgMCAwIDUwLjkxbDIuNTUgMi41NGwtMjUuNTggMjUuNTdhMTIgMTIgMCAwIDAgMTcgMTdsMjUuNTctMjUuNThsMi41NCAyLjU1YTM2LjA2IDM2LjA2IDAgMCAwIDUwLjkxIDBMMTMyIDE5N2wzLjUxIDMuNTJhMTIgMTIgMCAwIDAgMTctMTdabS00Mi40NiAzMi40OWExMiAxMiAwIDAgMS0xNyAwbC0yMi4wMy0yMi4wNmExMiAxMiAwIDAgMSAwLTE3TDc2IDE0MWwzOSAzOVptMTQ2LTE4NWExMiAxMiAwIDAgMC0xNyAwbC0yNS42IDI1LjZsLTIuNTQtMi41NWEzNi4wNSAzNi4wNSAwIDAgMC01MC45MSAwTDEyNCA1OWwtMy41MS0zLjUyYTEyIDEyIDAgMCAwLTE3IDE3bDgwIDgwYTEyIDEyIDAgMCAwIDE3LTE3TDE5NyAxMzJsMjAuNDktMjAuNDlhMzYgMzYgMCAwIDAgMC01MC45MWwtMi41NS0yLjU0bDI1LjU4LTI1LjU3YTEyIDEyIDAgMCAwLS4wMy0xNi45OFptLTQwIDc5TDE4MCAxMTVsLTM5LTM5bDIwLjQ5LTIwLjQ5YTEyIDEyIDAgMCAxIDE3IDBsMjIuMDYgMjIuMDZhMTIgMTIgMCAwIDEgMCAxN1pcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+QSBjw6JtZXJhIG7Do28gZm9pIGRldGVjdGFkYS48L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCJcbiAgICAgID5Qb3IgZmF2b3IsIGNvbmVjdGUgYSBzdWEgY8OibWVyYSwgZXNwZXJlIGFsZ3VucyBpbnN0YW50ZXMgZSBjbGlxdWUgbm8gYm90w6NvIFJlaW5pY2lhci48L3NwYW5cbiAgICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgaGFuZGxlcigpO1xuICAgICAgICBjb25zb2xlLmxvZygnY2FuaWNuYScsIGhhbmRsZXIpO1xuICAgICAgICAvLyBjYXB0dXJpbmcgPSB0cnVlO1xuICAgICAgICAvLyBkZXZpY2VOb3RGb3VuZCA9IGZhbHNlO1xuICAgICAgICAvLyBvcGVuQ2FtZXJhKCk7XG4gICAgICB9fT5SZWluaWNpYXI8L2J1dHRvblxuICAgID5cbiAgezplbHNlIGlmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5DQU1FUkFfSU5fVVNFX0VSUk9SfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp3YXJuaW5nIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk01Ni44OCAzMS45M2ExMiAxMiAwIDEgMC0xNy43NiAxNi4xNGw0IDQuMzdBMjggMjggMCAwIDAgMjAgODB2MTEyYTI4IDI4IDAgMCAwIDI4IDI4aDE0Ny40MmwzLjcgNC4wN2ExMiAxMiAwIDAgMCAxNy43Ni0xNi4xNFptNDkuMzUgOTBMMTM2IDE1NC42NGEyNCAyNCAwIDAgMS0yOS43Ny0zMi43NVpNNDggMTk2YTQgNCAwIDAgMS00LTRWODBhNCA0IDAgMCAxIDQtNGgxNi41MWwyNC45MiAyNy40MWE0OCA0OCAwIDAgMCA2My4zNCA2OS42N0wxNzMuNiAxOTZaTTIzNiA4MHY5NC4xNGExMiAxMiAwIDAgMS0yNCAwVjgwYTQgNCAwIDAgMC00LTRoLTMyYTEyIDEyIDAgMCAxLTEwLTUuMzRMMTUzLjU3IDUyaC01MS41MWExMiAxMiAwIDAgMSAwLTI0SDE2MGExMiAxMiAwIDAgMSAxMCA1LjM0TDE4Mi40MiA1MkgyMDhhMjggMjggMCAwIDEgMjggMjhcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1ib2xkIHRleHQtY2VudGVyXCI+QSBjw6JtZXJhIGVzdMOhIGVtIHVzby48L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCJcbiAgICAgID5DZXJ0aWZpcXVlLXNlIGRlIHF1ZSBhIGPDom1lcmEgbsOjbyBlc3TDoSBzZW5kbyB1dGlsaXphZGEgcG9yIG5lbmh1bWEgb3V0cmEgYXBsaWNhw6fDo28gZSBjbGlxdWUgbm8gYm90w6NvIGFiYWl4by48L3NwYW5cbiAgICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ6LTIwIGNlLWR1aS1idG4gY2UtZHVpLWJ0bi1vdXRsaW5lIGNlLWR1aS1idG4tcHJpbWFyeSBtLWF1dG9cIlxuICAgICAgb246Y2xpY2s9eygpID0+IHtcbiAgICAgICAgaGFuZGxlcigpO1xuICAgICAgICBjb25zb2xlLmxvZygnY2FuaWNuYScsIGhhbmRsZXIpO1xuICAgICAgICAvLyBjYXB0dXJpbmcgPSB0cnVlO1xuICAgICAgICAvLyBvcGVuQ2FtZXJhKCk7XG4gICAgICB9fT5SZWluaWNpYXI8L2J1dHRvblxuICAgID5cbiAgezplbHNlIGlmICRjYW1lcmFTdGF0dXNTdG9yZSA9PT0gQ2FtZXJhU3RhdHVzRW51bS5DQU1FUkFfQ0xPU0VEX0VSUk9SfVxuICAgIDwhLS0gaWNvbmlmeSBwaDp3YXJuaW5nIC0tPlxuICAgIDxzdmdcbiAgICAgIGNsYXNzPVwidGV4dC1bOGVtXSBteC1hdXRvXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgd2lkdGg9XCIxZW1cIlxuICAgICAgaGVpZ2h0PVwiMWVtXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMjU2IDI1NlwiXG4gICAgICB7Li4uJCRwcm9wc31cbiAgICA+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgZD1cIk0yMzYuOCAxODguMDlMMTQ5LjM1IDM2LjIyYTI0Ljc2IDI0Ljc2IDAgMCAwLTQyLjcgMEwxOS4yIDE4OC4wOWEyMy41MSAyMy41MSAwIDAgMCAwIDIzLjcyQTI0LjM1IDI0LjM1IDAgMCAwIDQwLjU1IDIyNGgxNzQuOWEyNC4zNSAyNC4zNSAwIDAgMCAyMS4zMy0xMi4xOWEyMy41MSAyMy41MSAwIDAgMCAuMDItMjMuNzJtLTEzLjg3IDE1LjcxYTguNSA4LjUgMCAwIDEtNy40OCA0LjJINDAuNTVhOC41IDguNSAwIDAgMS03LjQ4LTQuMmE3LjU5IDcuNTkgMCAwIDEgMC03LjcybDg3LjQ1LTE1MS44N2E4Ljc1IDguNzUgMCAwIDEgMTUgMGw4Ny40NSAxNTEuODdhNy41OSA3LjU5IDAgMCAxLS4wNCA3LjcyTTEyMCAxNDR2LTQwYTggOCAwIDAgMSAxNiAwdjQwYTggOCAwIDAgMS0xNiAwbTIwIDM2YTEyIDEyIDAgMSAxLTEyLTEyYTEyIDEyIDAgMCAxIDEyIDEyXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LWNlbnRlclwiPlBvciBmYXZvciwgcGVybWFuZcOnYSBuYSBtZXNtYSBhYmEgZHVyYW50ZSBhIGNvbGV0YSBiaW9tw6l0cmljYS48L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWF1dG8gdGV4dC1iYXNlIGJsb2NrIHRleHQtY2VudGVyXCI+Q2xpcXVlIG5vIGJvdMOjbyBSZWluaWNpYXIgcGFyYSBjYXB0dXJhciBub3ZhbWVudGUuPC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiei0yMCBjZS1kdWktYnRuIGNlLWR1aS1idG4tb3V0bGluZSBjZS1kdWktYnRuLXByaW1hcnkgbS1hdXRvXCJcbiAgICAgIG9uOmNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGhhbmRsZXIoKTtcbiAgICAgIH19PlJlaW5pY2lhcjwvYnV0dG9uXG4gICAgPlxuICB7OmVsc2UgaWYgJGNhbWVyYVN0YXR1c1N0b3JlID09PSBDYW1lcmFTdGF0dXNFbnVtLkNBTUVSQV9VTlNVUFBPUlRFRH1cbiAgICA8IS0tIGljb25pZnkgcGg6dmlkZW8tY2FtZXJhLXNsYXNoLWJvbGQgLS0+XG4gICAgPHN2Z1xuICAgICAgY2xhc3M9XCJ0ZXh0LVs4ZW1dIG14LWF1dG9cIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICB3aWR0aD1cIjFlbVwiXG4gICAgICBoZWlnaHQ9XCIxZW1cIlxuICAgICAgdmlld0JveD1cIjAgMCAyNTYgMjU2XCJcbiAgICAgIHsuLi4kJHByb3BzfVxuICAgID5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBkPVwiTTI0OS40NSA2OS4zMWExMiAxMiAwIDAgMC0xMi41MSAxTDIxMiA4OC40M1Y3MmEyMCAyMCAwIDAgMC0yMC0yMGgtNjguMTJhMTIgMTIgMCAwIDAgMCAyNEgxODh2NjhhMTIgMTIgMCAwIDAgNC40NiA5LjMzYy4xNS4xMy4zMS4yNS40OC4zOGw0NCAzMkExMiAxMiAwIDAgMCAyNTYgMTc2VjgwYTEyIDEyIDAgMCAwLTYuNTUtMTAuNjlNMjMyIDE1Mi40M2wtMjAtMTQuNTR2LTE5Ljc4bDIwLTE0LjU0Wk01Ni44OCAzMS45M2ExMiAxMiAwIDEgMC0xNy43NiAxNi4xNEw0Mi42OSA1MkgzMmEyMCAyMCAwIDAgMC0yMCAyMHYxMTJhMjAgMjAgMCAwIDAgMjAgMjBoMTQ4Ljg3bDE4LjI1IDIwLjA3YTEyIDEyIDAgMCAwIDE3Ljc2LTE2LjE0Wk0zNiAxODBWNzZoMjguNTFsOTQuNTUgMTA0WlwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC14bCBmb250LWJvbGQgdGV4dC1jZW50ZXJcIj5BIGPDom1lcmEgbsOjbyBhdGVuZGUgb3MgcmVxdWlzaXRvcyBuZWNlc3PDoXJpb3MuPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwibS1hdXRvIHRleHQtYmFzZSBibG9jayB0ZXh0LWNlbnRlclwiPlBvciBmYXZvciwgY29uZWN0ZSBvdXRyYSBjw6JtZXJhIGUgdGVudGUgbm92YW1lbnRlLjwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInotMjAgY2UtZHVpLWJ0biBjZS1kdWktYnRuLW91dGxpbmUgY2UtZHVpLWJ0bi1wcmltYXJ5IG0tYXV0b1wiXG4gICAgICBvbjpjbGljaz17KCkgPT4ge1xuICAgICAgICBoYW5kbGVyKCk7XG4gICAgICB9fT5SZWluaWNpYXI8L2J1dHRvblxuICAgID5cbiAgey9pZn1cbjwvZGl2PlxuIl0sIm5hbWVzIjpbIkNhbWVyYVN0YXR1c0VudW0iLCJjYW1lcmFTdGF0dXNTdG9yZSIsIndyaXRhYmxlIiwiY3R4IiwiaW5zZXJ0X2RldiIsInRhcmdldCIsInN2ZyIsImFuY2hvciIsImFwcGVuZF9kZXYiLCJwYXRoIiwic3BhbjAiLCJzcGFuMSIsImJ1dHRvbiIsImNyZWF0ZV9pZl9ibG9jayIsImNyZWF0ZV9pZl9ibG9ja18xIiwiY3JlYXRlX2lmX2Jsb2NrXzIiLCJjcmVhdGVfaWZfYmxvY2tfMyIsImNyZWF0ZV9pZl9ibG9ja180IiwiZGl2IiwiaGFuZGxlciJdLCJtYXBwaW5ncyI6IjtBQUVrQixJQUFBQSxzQkFBQUEsT0FDaEJBLEVBQUEsS0FBSyxNQUNMQSxFQUFBLHlCQUF5QiwwQkFDekJBLEVBQUEsc0JBQXNCLHVCQUN0QkEsRUFBQSxzQkFBc0IsdUJBQ3RCQSxFQUFBLHNCQUFzQix1QkFDdEJBLEVBQUEscUJBQXFCLHNCQU5MQSxJQUFBQSxLQUFB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