@incodetech/web 0.0.0-dev-20260313-486e658 → 0.0.0-dev-20260313-bc2dab4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AsYouType-BtKe6-rC.js → AsYouType-CpH-Rmtj.js} +1 -1
- package/dist/{Trans-C2X8WLEu.js → Trans-CA9a3vKp.js} +1 -1
- package/dist/authentication/authentication.es.js +25 -20
- package/dist/base.css +9 -4
- package/dist/{browser-ponyfill-CLXJUgvu.js → browser-ponyfill-B6W6hHVY.js} +49 -46
- package/dist/{incodeModule-DLGHhn9E.js → button-Ca1tRSTI.js} +153 -239
- package/dist/{captureFooter-C2Yrou50.js → captureFooter-X2qN1773.js} +72 -70
- package/dist/{chevronDown-D5uHEaU-.js → chevronDown-BUaOuf9J.js} +1 -1
- package/dist/{closeIcon-BMPoRQCd.js → closeIcon-BM7WLbKp.js} +1 -1
- package/dist/{countries-3p5tkqcx.js → countries-C9bhJe4u.js} +3 -3
- package/dist/curp-validation/curp-validation.es.js +26 -25
- package/dist/{dateInputComposed-CqHIiKPV.js → dateInputComposed-CvFmQpJ0.js} +11 -10
- package/dist/document-capture/styles.css +1 -0
- package/dist/{documentCapture-CzGmGxzA.js → documentCapture-PdKA2frR.js} +113 -157
- package/dist/{dropdownComposed-BgGKKaXv.js → dropdownComposed-DBm7cotT.js} +8 -6
- package/dist/{ekybModule-Bttpjr3j.js → ekybModule-DiFpO2sE.js} +16 -14
- package/dist/ekycModule-DdD1iChB.js +370 -0
- package/dist/email/email.es.js +86 -63
- package/dist/{errorContent-6xl4ArMV.js → errorContent-yUAdbZ5o.js} +5 -5
- package/dist/{errorIcon-Cxcv4ISP.js → errorIcon-BL647nVh.js} +1 -1
- package/dist/extensibility.es.js +290 -0
- package/dist/face-match/styles.css +8 -0
- package/dist/{faceMatch-DKqzUCml.js → faceMatch-BjdNG_e0.js} +12 -11
- package/dist/fileIcon-DOyMcRWU.js +52 -0
- package/dist/flipAnimation-DoMQoFPb.js +1355 -0
- package/dist/flow/flow.es.js +157 -157
- package/dist/flow/styles.css +15 -3
- package/dist/formField-C91ckby4.js +94 -0
- package/dist/geolocation/geolocation.es.js +15 -14
- package/dist/governmentValidation/governmentValidation.es.js +19 -18
- package/dist/id/id.es.js +30 -1354
- package/dist/id/styles.css +2 -0
- package/dist/incodeModule-aE-LkKwM.js +96 -0
- package/dist/index.es.js +7 -7
- package/dist/{otpInput-BT0ZXrAt.js → otpInput-cazUY73p.js} +1 -1
- package/dist/{page-BJDfLRpO.js → page-BVHG3h0V.js} +1 -1
- package/dist/permissions-DwF2Ez1N.js +754 -0
- package/dist/phone/phone.es.js +53 -30
- package/dist/{phoneInput-d3sq4X5R.js → phoneInput-Duuochsh.js} +4 -4
- package/dist/phoneInputComposed-B1gXoSzr.js +107 -0
- package/dist/{processing-CGb_3dSE.js → processing-CDgOueI3.js} +3 -3
- package/dist/selfie/selfie.es.js +29 -18
- package/dist/selfie/styles.css +12 -3
- package/dist/{spinner--i134wYq.js → spinner-Cx3FPUCD.js} +13 -11
- package/dist/{successIcon-1BcPFhum.js → successIcon-BybULRRU.js} +1 -1
- package/dist/{tutorial-DXgOS41l.js → tutorial-Dagmccxh.js} +21 -21
- package/dist/types/authentication.d.ts +10 -3
- package/dist/types/curp-validation.d.ts +5 -1
- package/dist/types/email.d.ts +8 -3
- package/dist/types/extensibility.d.ts +671 -0
- package/dist/types/flow.d.ts +5 -1
- package/dist/types/geolocation.d.ts +5 -1
- package/dist/types/governmentValidation.d.ts +5 -1
- package/dist/types/id.d.ts +8 -3
- package/dist/types/phone.d.ts +8 -3
- package/dist/types/selfie.d.ts +8 -3
- package/dist/{uiConfig-DisZ_yFB.js → uiConfig-Z6RT23Sl.js} +3 -3
- package/dist/useFormScrollable-3O3GeT4m.js +15 -0
- package/dist/{warningIcon-WqI5X7cK.js → warningIcon-DyoKeqDd.js} +1 -1
- package/package.json +6 -2
- package/dist/_commonjsHelpers-DaMA6jEr.js +0 -8
- package/dist/baseTutorial-hbezn8sT.js +0 -755
- package/dist/ekycModule-DfwZMKdL.js +0 -467
- package/dist/verificationResult-CKZqPXb9.js +0 -106
|
@@ -1,45 +1,50 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createAuthenticationManager as
|
|
1
|
+
import { u as e, I as o, a as m } from "../button-Ca1tRSTI.js";
|
|
2
|
+
import { createAuthenticationManager as l } from "@incodetech/core/authentication";
|
|
3
3
|
import "../vendor-preact-BXf0bkEs.js";
|
|
4
4
|
import "@incodetech/core";
|
|
5
|
-
import { P as
|
|
6
|
-
import {
|
|
7
|
-
|
|
5
|
+
import { P as c } from "../permissions-DwF2Ez1N.js";
|
|
6
|
+
import { r as p } from "../incodeModule-aE-LkKwM.js";
|
|
7
|
+
import { T as f, C as d } from "../tutorial-Dagmccxh.js";
|
|
8
|
+
const h = ({
|
|
8
9
|
config: r,
|
|
9
|
-
authHint:
|
|
10
|
-
|
|
10
|
+
authHint: s,
|
|
11
|
+
manager: n,
|
|
12
|
+
onFinish: i,
|
|
11
13
|
onError: u
|
|
12
14
|
}) => {
|
|
13
|
-
const [t,
|
|
14
|
-
() =>
|
|
15
|
+
const [t, a] = m(
|
|
16
|
+
() => n ?? l({ config: r, authHint: s }),
|
|
17
|
+
{ manageLifecycle: !n }
|
|
15
18
|
);
|
|
16
|
-
return t.status === "idle" || t.status === "loading" ? null : t.status === "tutorial" ? /* @__PURE__ */ e(
|
|
17
|
-
|
|
19
|
+
return t.status === "idle" || t.status === "loading" ? null : t.status === "tutorial" ? /* @__PURE__ */ e(f, { manager: a }) : t.status === "permissions" ? /* @__PURE__ */ e(
|
|
20
|
+
c,
|
|
18
21
|
{
|
|
19
|
-
manager:
|
|
22
|
+
manager: a,
|
|
20
23
|
permissionStatus: t.permissionStatus
|
|
21
24
|
}
|
|
22
25
|
) : t.status === "capture" ? /* @__PURE__ */ e(
|
|
23
26
|
d,
|
|
24
27
|
{
|
|
25
|
-
manager:
|
|
28
|
+
manager: a,
|
|
26
29
|
state: t
|
|
27
30
|
}
|
|
28
|
-
) : t.status === "finished" ? (
|
|
29
|
-
},
|
|
31
|
+
) : t.status === "finished" ? (i?.(), null) : t.status === "closed" ? (u?.(void 0), null) : (t.status === "error" && u?.(t.error), null);
|
|
32
|
+
}, g = ({
|
|
30
33
|
config: r,
|
|
34
|
+
manager: s,
|
|
31
35
|
onFinish: n,
|
|
32
|
-
onError:
|
|
36
|
+
onError: i
|
|
33
37
|
}) => /* @__PURE__ */ e(o, { children: r ? /* @__PURE__ */ e(
|
|
34
|
-
|
|
38
|
+
h,
|
|
35
39
|
{
|
|
36
40
|
config: r,
|
|
37
41
|
authHint: r.authHint,
|
|
42
|
+
manager: s,
|
|
38
43
|
onFinish: n,
|
|
39
|
-
onError:
|
|
44
|
+
onError: i
|
|
40
45
|
}
|
|
41
46
|
) : null });
|
|
42
|
-
|
|
47
|
+
p(g, "incode-authentication");
|
|
43
48
|
export {
|
|
44
|
-
|
|
49
|
+
g as Authentication
|
|
45
50
|
};
|
package/dist/base.css
CHANGED
|
@@ -149,6 +149,10 @@
|
|
|
149
149
|
display: flex;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
+
.grid {
|
|
153
|
+
display: grid;
|
|
154
|
+
}
|
|
155
|
+
|
|
152
156
|
.hidden {
|
|
153
157
|
display: none;
|
|
154
158
|
}
|
|
@@ -157,6 +161,10 @@
|
|
|
157
161
|
display: inline-flex;
|
|
158
162
|
}
|
|
159
163
|
|
|
164
|
+
.flex-shrink {
|
|
165
|
+
flex-shrink: 1;
|
|
166
|
+
}
|
|
167
|
+
|
|
160
168
|
.transform {
|
|
161
169
|
transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
|
|
162
170
|
}
|
|
@@ -344,12 +352,9 @@
|
|
|
344
352
|
fill: var(--button-secondary-border-disabled);
|
|
345
353
|
}
|
|
346
354
|
.IncodeButton.IncodeButtonLink {
|
|
347
|
-
align-items: center;
|
|
348
|
-
gap: var(--spacing-4, var(--spacing-4, 4px));
|
|
349
355
|
border-style: var(--tw-border-style);
|
|
350
356
|
border-width: var(--border-width-none, var(--primitive-border-width-0));
|
|
351
357
|
--tw-border-style: none;
|
|
352
|
-
padding: var(--spacing-0, var(--spacing-none, 0px));
|
|
353
358
|
font-family: var(--typography-button-family);
|
|
354
359
|
font-size: var(--typography-button-m-underlined-size);
|
|
355
360
|
font-weight: var(--typography-button-m-underlined-weight);
|
|
@@ -363,7 +368,6 @@
|
|
|
363
368
|
text-decoration-line: underline;
|
|
364
369
|
text-decoration-style: solid;
|
|
365
370
|
text-decoration-thickness: auto;
|
|
366
|
-
display: inline-flex;
|
|
367
371
|
}
|
|
368
372
|
.IncodeButton.IncodeButtonLink:active {
|
|
369
373
|
background-color: #0000;
|
|
@@ -2551,6 +2555,7 @@
|
|
|
2551
2555
|
.IncodeCaptureFooter .IncodeCaptureFooterHelp .IncodeCaptureFooterHelpButton {
|
|
2552
2556
|
height: 100%;
|
|
2553
2557
|
padding: var(--spacing-0, var(--spacing-none, 0px));
|
|
2558
|
+
color: var(--color-text-body-0-static, var(--text-body-0-static));
|
|
2554
2559
|
justify-content: center;
|
|
2555
2560
|
align-items: center;
|
|
2556
2561
|
display: flex;
|
|
@@ -1,32 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
p && Object.defineProperty(w, h, p.get ? p : {
|
|
1
|
+
function z(c, y) {
|
|
2
|
+
for (var w = 0; w < y.length; w++) {
|
|
3
|
+
const p = y[w];
|
|
4
|
+
if (typeof p != "string" && !Array.isArray(p)) {
|
|
5
|
+
for (const l in p)
|
|
6
|
+
if (l !== "default" && !(l in c)) {
|
|
7
|
+
const b = Object.getOwnPropertyDescriptor(p, l);
|
|
8
|
+
b && Object.defineProperty(c, l, b.get ? b : {
|
|
10
9
|
enumerable: !0,
|
|
11
|
-
get: () =>
|
|
10
|
+
get: () => p[l]
|
|
12
11
|
});
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
|
-
return Object.freeze(Object.defineProperty(
|
|
15
|
+
return Object.freeze(Object.defineProperty(c, Symbol.toStringTag, { value: "Module" }));
|
|
16
|
+
}
|
|
17
|
+
var R = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
18
|
+
function X(c) {
|
|
19
|
+
return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c;
|
|
17
20
|
}
|
|
18
21
|
var A = { exports: {} }, U;
|
|
19
22
|
function J() {
|
|
20
|
-
return U || (U = 1, (function(
|
|
21
|
-
var
|
|
22
|
-
function
|
|
23
|
-
this.fetch = !1, this.DOMException =
|
|
23
|
+
return U || (U = 1, (function(c, y) {
|
|
24
|
+
var w = typeof globalThis < "u" && globalThis || typeof self < "u" && self || typeof R < "u" && R, p = (function() {
|
|
25
|
+
function b() {
|
|
26
|
+
this.fetch = !1, this.DOMException = w.DOMException;
|
|
24
27
|
}
|
|
25
|
-
return
|
|
28
|
+
return b.prototype = w, new b();
|
|
26
29
|
})();
|
|
27
|
-
(function(
|
|
30
|
+
(function(b) {
|
|
28
31
|
(function(u) {
|
|
29
|
-
var a = typeof
|
|
32
|
+
var a = typeof b < "u" && b || typeof self < "u" && self || typeof a < "u" && a, f = {
|
|
30
33
|
searchParams: "URLSearchParams" in a,
|
|
31
34
|
iterable: "Symbol" in a && "iterator" in Symbol,
|
|
32
35
|
blob: "FileReader" in a && "Blob" in a && (function() {
|
|
@@ -53,7 +56,7 @@ function J() {
|
|
|
53
56
|
"[object Uint32Array]",
|
|
54
57
|
"[object Float32Array]",
|
|
55
58
|
"[object Float64Array]"
|
|
56
|
-
],
|
|
59
|
+
], M = ArrayBuffer.isView || function(e) {
|
|
57
60
|
return e && F.indexOf(Object.prototype.toString.call(e)) > -1;
|
|
58
61
|
};
|
|
59
62
|
function v(e) {
|
|
@@ -129,7 +132,7 @@ function J() {
|
|
|
129
132
|
};
|
|
130
133
|
});
|
|
131
134
|
}
|
|
132
|
-
function
|
|
135
|
+
function I(e) {
|
|
133
136
|
var t = new FileReader(), r = P(t);
|
|
134
137
|
return t.readAsArrayBuffer(e), r;
|
|
135
138
|
}
|
|
@@ -150,7 +153,7 @@ function J() {
|
|
|
150
153
|
}
|
|
151
154
|
function x() {
|
|
152
155
|
return this.bodyUsed = !1, this._initBody = function(e) {
|
|
153
|
-
this.bodyUsed = this.bodyUsed, this._bodyInit = e, e ? typeof e == "string" ? this._bodyText = e : f.blob && Blob.prototype.isPrototypeOf(e) ? this._bodyBlob = e : f.formData && FormData.prototype.isPrototypeOf(e) ? this._bodyFormData = e : f.searchParams && URLSearchParams.prototype.isPrototypeOf(e) ? this._bodyText = e.toString() : f.arrayBuffer && f.blob && S(e) ? (this._bodyArrayBuffer = D(e.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : f.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) ||
|
|
156
|
+
this.bodyUsed = this.bodyUsed, this._bodyInit = e, e ? typeof e == "string" ? this._bodyText = e : f.blob && Blob.prototype.isPrototypeOf(e) ? this._bodyBlob = e : f.formData && FormData.prototype.isPrototypeOf(e) ? this._bodyFormData = e : f.searchParams && URLSearchParams.prototype.isPrototypeOf(e) ? this._bodyText = e.toString() : f.arrayBuffer && f.blob && S(e) ? (this._bodyArrayBuffer = D(e.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : f.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) || M(e)) ? this._bodyArrayBuffer = D(e) : this._bodyText = e = Object.prototype.toString.call(e) : this._bodyText = "", this.headers.get("content-type") || (typeof e == "string" ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : f.searchParams && URLSearchParams.prototype.isPrototypeOf(e) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
|
|
154
157
|
}, f.blob && (this.blob = function() {
|
|
155
158
|
var e = B(this);
|
|
156
159
|
if (e)
|
|
@@ -172,7 +175,7 @@ function J() {
|
|
|
172
175
|
)
|
|
173
176
|
) : Promise.resolve(this._bodyArrayBuffer));
|
|
174
177
|
} else
|
|
175
|
-
return this.blob().then(
|
|
178
|
+
return this.blob().then(I);
|
|
176
179
|
}), this.text = function() {
|
|
177
180
|
var e = B(this);
|
|
178
181
|
if (e)
|
|
@@ -244,27 +247,27 @@ function J() {
|
|
|
244
247
|
}), t;
|
|
245
248
|
}
|
|
246
249
|
x.call(m.prototype);
|
|
247
|
-
function
|
|
248
|
-
if (!(this instanceof
|
|
250
|
+
function d(e, t) {
|
|
251
|
+
if (!(this instanceof d))
|
|
249
252
|
throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
|
|
250
253
|
t || (t = {}), this.type = "default", this.status = t.status === void 0 ? 200 : t.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = t.statusText === void 0 ? "" : "" + t.statusText, this.headers = new s(t.headers), this.url = t.url || "", this._initBody(e);
|
|
251
254
|
}
|
|
252
|
-
x.call(
|
|
253
|
-
return new
|
|
255
|
+
x.call(d.prototype), d.prototype.clone = function() {
|
|
256
|
+
return new d(this._bodyInit, {
|
|
254
257
|
status: this.status,
|
|
255
258
|
statusText: this.statusText,
|
|
256
259
|
headers: new s(this.headers),
|
|
257
260
|
url: this.url
|
|
258
261
|
});
|
|
259
|
-
},
|
|
260
|
-
var e = new
|
|
262
|
+
}, d.error = function() {
|
|
263
|
+
var e = new d(null, { status: 0, statusText: "" });
|
|
261
264
|
return e.type = "error", e;
|
|
262
265
|
};
|
|
263
266
|
var G = [301, 302, 303, 307, 308];
|
|
264
|
-
|
|
267
|
+
d.redirect = function(e, t) {
|
|
265
268
|
if (G.indexOf(t) === -1)
|
|
266
269
|
throw new RangeError("Invalid status code");
|
|
267
|
-
return new
|
|
270
|
+
return new d(null, { status: t, headers: { location: e } });
|
|
268
271
|
}, u.DOMException = a.DOMException;
|
|
269
272
|
try {
|
|
270
273
|
new u.DOMException();
|
|
@@ -285,15 +288,15 @@ function J() {
|
|
|
285
288
|
o.abort();
|
|
286
289
|
}
|
|
287
290
|
o.onload = function() {
|
|
288
|
-
var
|
|
291
|
+
var h = {
|
|
289
292
|
status: o.status,
|
|
290
293
|
statusText: o.statusText,
|
|
291
294
|
headers: N(o.getAllResponseHeaders() || "")
|
|
292
295
|
};
|
|
293
|
-
|
|
296
|
+
h.url = "responseURL" in o ? o.responseURL : h.headers.get("X-Request-URL");
|
|
294
297
|
var g = "response" in o ? o.response : o.responseText;
|
|
295
298
|
setTimeout(function() {
|
|
296
|
-
r(new
|
|
299
|
+
r(new d(g, h));
|
|
297
300
|
}, 0);
|
|
298
301
|
}, o.onerror = function() {
|
|
299
302
|
setTimeout(function() {
|
|
@@ -308,34 +311,34 @@ function J() {
|
|
|
308
311
|
n(new u.DOMException("Aborted", "AbortError"));
|
|
309
312
|
}, 0);
|
|
310
313
|
};
|
|
311
|
-
function V(
|
|
314
|
+
function V(h) {
|
|
312
315
|
try {
|
|
313
|
-
return
|
|
316
|
+
return h === "" && a.location.href ? a.location.href : h;
|
|
314
317
|
} catch {
|
|
315
|
-
return
|
|
318
|
+
return h;
|
|
316
319
|
}
|
|
317
320
|
}
|
|
318
|
-
o.open(i.method, V(i.url), !0), i.credentials === "include" ? o.withCredentials = !0 : i.credentials === "omit" && (o.withCredentials = !1), "responseType" in o && (f.blob ? o.responseType = "blob" : f.arrayBuffer && i.headers.get("Content-Type") && i.headers.get("Content-Type").indexOf("application/octet-stream") !== -1 && (o.responseType = "arraybuffer")), t && typeof t.headers == "object" && !(t.headers instanceof s) ? Object.getOwnPropertyNames(t.headers).forEach(function(
|
|
319
|
-
o.setRequestHeader(
|
|
320
|
-
}) : i.headers.forEach(function(
|
|
321
|
-
o.setRequestHeader(g,
|
|
321
|
+
o.open(i.method, V(i.url), !0), i.credentials === "include" ? o.withCredentials = !0 : i.credentials === "omit" && (o.withCredentials = !1), "responseType" in o && (f.blob ? o.responseType = "blob" : f.arrayBuffer && i.headers.get("Content-Type") && i.headers.get("Content-Type").indexOf("application/octet-stream") !== -1 && (o.responseType = "arraybuffer")), t && typeof t.headers == "object" && !(t.headers instanceof s) ? Object.getOwnPropertyNames(t.headers).forEach(function(h) {
|
|
322
|
+
o.setRequestHeader(h, E(t.headers[h]));
|
|
323
|
+
}) : i.headers.forEach(function(h, g) {
|
|
324
|
+
o.setRequestHeader(g, h);
|
|
322
325
|
}), i.signal && (i.signal.addEventListener("abort", _), o.onreadystatechange = function() {
|
|
323
326
|
o.readyState === 4 && i.signal.removeEventListener("abort", _);
|
|
324
327
|
}), o.send(typeof i._bodyInit > "u" ? null : i._bodyInit);
|
|
325
328
|
});
|
|
326
329
|
}
|
|
327
|
-
return O.polyfill = !0, a.fetch || (a.fetch = O, a.Headers = s, a.Request = m, a.Response =
|
|
330
|
+
return O.polyfill = !0, a.fetch || (a.fetch = O, a.Headers = s, a.Request = m, a.Response = d), u.Headers = s, u.Request = m, u.Response = d, u.fetch = O, u;
|
|
328
331
|
})({});
|
|
329
|
-
})(
|
|
330
|
-
var
|
|
331
|
-
|
|
332
|
+
})(p), p.fetch.ponyfill = !0, delete p.fetch.polyfill;
|
|
333
|
+
var l = w.fetch ? w : p;
|
|
334
|
+
y = l.fetch, y.default = l.fetch, y.fetch = l.fetch, y.Headers = l.Headers, y.Request = l.Request, y.Response = l.Response, c.exports = y;
|
|
332
335
|
})(A, A.exports)), A.exports;
|
|
333
336
|
}
|
|
334
337
|
var j = J();
|
|
335
|
-
const K = /* @__PURE__ */
|
|
338
|
+
const K = /* @__PURE__ */ X(j), Q = /* @__PURE__ */ z({
|
|
336
339
|
__proto__: null,
|
|
337
340
|
default: K
|
|
338
341
|
}, [j]);
|
|
339
342
|
export {
|
|
340
|
-
|
|
343
|
+
Q as b
|
|
341
344
|
};
|