@opengis/gis 0.2.165 → 0.2.167

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,2593 @@
1
+ import { openBlock as C, createElementBlock as M, createElementVNode as v, defineComponent as ee, ref as S, watch as I, createTextVNode as Ti, createVNode as $, createBlock as N, createCommentVNode as H, defineAsyncComponent as Ei, unref as Ee, withCtx as We, withDirectives as He, vModelText as Ke, normalizeClass as ve, Fragment as Un, renderList as Pn, toDisplayString as le, getCurrentInstance as Yn, onBeforeUnmount as Vn, toRef as Ii, computed as ue, onMounted as Oi, resolveDynamicComponent as Li } from "vue";
2
+ import { useRoute as Ni, useRouter as Mi } from "vue-router";
3
+ import { notify as Q } from "@opengis/core";
4
+ import { _ as Re, u as Ie, f as Di, M as Ri, g as $i, h as ji, i as Bi, j as _n, k as Ui, l as Pi, m as Yi, s as kn, n as Vi } from "./index-CdB0VXro.js";
5
+ import { _ as qi, a as Hi, b as Ki, c as zi } from "./HeaderActions.vue_vue_type_script_setup_true_lang-Dp0MjgnU.js";
6
+ import { S as Gi, C as Qi } from "./CardIcon-golqfa-Y.js";
7
+ import { _ as qn } from "./MonacoEditor.vue_vue_type_script_setup_true_lang-D3ZPeXMw.js";
8
+ import { V as $e } from "./vs-datatable-BWItxbtK.js";
9
+ import { _ as ln, m as rn, r as xe } from "./import-utils-F5ErbNz1.js";
10
+ /*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */
11
+ function Hn(e) {
12
+ return typeof e > "u" || e === null;
13
+ }
14
+ function Wi(e) {
15
+ return typeof e == "object" && e !== null;
16
+ }
17
+ function Zi(e) {
18
+ return Array.isArray(e) ? e : Hn(e) ? [] : [e];
19
+ }
20
+ function Ji(e, n) {
21
+ var i, r, l, o;
22
+ if (n)
23
+ for (o = Object.keys(n), i = 0, r = o.length; i < r; i += 1)
24
+ l = o[i], e[l] = n[l];
25
+ return e;
26
+ }
27
+ function Xi(e, n) {
28
+ var i = "", r;
29
+ for (r = 0; r < n; r += 1)
30
+ i += e;
31
+ return i;
32
+ }
33
+ function el(e) {
34
+ return e === 0 && Number.NEGATIVE_INFINITY === 1 / e;
35
+ }
36
+ var nl = Hn, il = Wi, ll = Zi, rl = Xi, tl = el, ol = Ji, O = {
37
+ isNothing: nl,
38
+ isObject: il,
39
+ toArray: ll,
40
+ repeat: rl,
41
+ isNegativeZero: tl,
42
+ extend: ol
43
+ };
44
+ function Kn(e, n) {
45
+ var i = "", r = e.reason || "(unknown reason)";
46
+ return e.mark ? (e.mark.name && (i += 'in "' + e.mark.name + '" '), i += "(" + (e.mark.line + 1) + ":" + (e.mark.column + 1) + ")", !n && e.mark.snippet && (i += `
47
+
48
+ ` + e.mark.snippet), r + " " + i) : r;
49
+ }
50
+ function ye(e, n) {
51
+ Error.call(this), this.name = "YAMLException", this.reason = e, this.mark = n, this.message = Kn(this, !1), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack || "";
52
+ }
53
+ ye.prototype = Object.create(Error.prototype);
54
+ ye.prototype.constructor = ye;
55
+ ye.prototype.toString = function(n) {
56
+ return this.name + ": " + Kn(this, n);
57
+ };
58
+ var j = ye;
59
+ function ze(e, n, i, r, l) {
60
+ var o = "", t = "", u = Math.floor(l / 2) - 1;
61
+ return r - n > u && (o = " ... ", n = r - u + o.length), i - r > u && (t = " ...", i = r + u - t.length), {
62
+ str: o + e.slice(n, i).replace(/\t/g, "→") + t,
63
+ pos: r - n + o.length
64
+ // relative position
65
+ };
66
+ }
67
+ function Ge(e, n) {
68
+ return O.repeat(" ", n - e.length) + e;
69
+ }
70
+ function ul(e, n) {
71
+ if (n = Object.create(n || null), !e.buffer) return null;
72
+ n.maxLength || (n.maxLength = 79), typeof n.indent != "number" && (n.indent = 1), typeof n.linesBefore != "number" && (n.linesBefore = 3), typeof n.linesAfter != "number" && (n.linesAfter = 2);
73
+ for (var i = /\r?\n|\r|\0/g, r = [0], l = [], o, t = -1; o = i.exec(e.buffer); )
74
+ l.push(o.index), r.push(o.index + o[0].length), e.position <= o.index && t < 0 && (t = r.length - 2);
75
+ t < 0 && (t = r.length - 1);
76
+ var u = "", a, s, m = Math.min(e.line + n.linesAfter, l.length).toString().length, d = n.maxLength - (n.indent + m + 3);
77
+ for (a = 1; a <= n.linesBefore && !(t - a < 0); a++)
78
+ s = ze(
79
+ e.buffer,
80
+ r[t - a],
81
+ l[t - a],
82
+ e.position - (r[t] - r[t - a]),
83
+ d
84
+ ), u = O.repeat(" ", n.indent) + Ge((e.line - a + 1).toString(), m) + " | " + s.str + `
85
+ ` + u;
86
+ for (s = ze(e.buffer, r[t], l[t], e.position, d), u += O.repeat(" ", n.indent) + Ge((e.line + 1).toString(), m) + " | " + s.str + `
87
+ `, u += O.repeat("-", n.indent + m + 3 + s.pos) + `^
88
+ `, a = 1; a <= n.linesAfter && !(t + a >= l.length); a++)
89
+ s = ze(
90
+ e.buffer,
91
+ r[t + a],
92
+ l[t + a],
93
+ e.position - (r[t] - r[t + a]),
94
+ d
95
+ ), u += O.repeat(" ", n.indent) + Ge((e.line + a + 1).toString(), m) + " | " + s.str + `
96
+ `;
97
+ return u.replace(/\n$/, "");
98
+ }
99
+ var al = ul, sl = [
100
+ "kind",
101
+ "multi",
102
+ "resolve",
103
+ "construct",
104
+ "instanceOf",
105
+ "predicate",
106
+ "represent",
107
+ "representName",
108
+ "defaultStyle",
109
+ "styleAliases"
110
+ ], cl = [
111
+ "scalar",
112
+ "sequence",
113
+ "mapping"
114
+ ];
115
+ function fl(e) {
116
+ var n = {};
117
+ return e !== null && Object.keys(e).forEach(function(i) {
118
+ e[i].forEach(function(r) {
119
+ n[String(r)] = i;
120
+ });
121
+ }), n;
122
+ }
123
+ function dl(e, n) {
124
+ if (n = n || {}, Object.keys(n).forEach(function(i) {
125
+ if (sl.indexOf(i) === -1)
126
+ throw new j('Unknown option "' + i + '" is met in definition of "' + e + '" YAML type.');
127
+ }), this.options = n, this.tag = e, this.kind = n.kind || null, this.resolve = n.resolve || function() {
128
+ return !0;
129
+ }, this.construct = n.construct || function(i) {
130
+ return i;
131
+ }, this.instanceOf = n.instanceOf || null, this.predicate = n.predicate || null, this.represent = n.represent || null, this.representName = n.representName || null, this.defaultStyle = n.defaultStyle || null, this.multi = n.multi || !1, this.styleAliases = fl(n.styleAliases || null), cl.indexOf(this.kind) === -1)
132
+ throw new j('Unknown kind "' + this.kind + '" is specified for "' + e + '" YAML type.');
133
+ }
134
+ var D = dl;
135
+ function An(e, n) {
136
+ var i = [];
137
+ return e[n].forEach(function(r) {
138
+ var l = i.length;
139
+ i.forEach(function(o, t) {
140
+ o.tag === r.tag && o.kind === r.kind && o.multi === r.multi && (l = t);
141
+ }), i[l] = r;
142
+ }), i;
143
+ }
144
+ function pl() {
145
+ var e = {
146
+ scalar: {},
147
+ sequence: {},
148
+ mapping: {},
149
+ fallback: {},
150
+ multi: {
151
+ scalar: [],
152
+ sequence: [],
153
+ mapping: [],
154
+ fallback: []
155
+ }
156
+ }, n, i;
157
+ function r(l) {
158
+ l.multi ? (e.multi[l.kind].push(l), e.multi.fallback.push(l)) : e[l.kind][l.tag] = e.fallback[l.tag] = l;
159
+ }
160
+ for (n = 0, i = arguments.length; n < i; n += 1)
161
+ arguments[n].forEach(r);
162
+ return e;
163
+ }
164
+ function Ze(e) {
165
+ return this.extend(e);
166
+ }
167
+ Ze.prototype.extend = function(n) {
168
+ var i = [], r = [];
169
+ if (n instanceof D)
170
+ r.push(n);
171
+ else if (Array.isArray(n))
172
+ r = r.concat(n);
173
+ else if (n && (Array.isArray(n.implicit) || Array.isArray(n.explicit)))
174
+ n.implicit && (i = i.concat(n.implicit)), n.explicit && (r = r.concat(n.explicit));
175
+ else
176
+ throw new j("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
177
+ i.forEach(function(o) {
178
+ if (!(o instanceof D))
179
+ throw new j("Specified list of YAML types (or a single Type object) contains a non-Type object.");
180
+ if (o.loadKind && o.loadKind !== "scalar")
181
+ throw new j("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
182
+ if (o.multi)
183
+ throw new j("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
184
+ }), r.forEach(function(o) {
185
+ if (!(o instanceof D))
186
+ throw new j("Specified list of YAML types (or a single Type object) contains a non-Type object.");
187
+ });
188
+ var l = Object.create(Ze.prototype);
189
+ return l.implicit = (this.implicit || []).concat(i), l.explicit = (this.explicit || []).concat(r), l.compiledImplicit = An(l, "implicit"), l.compiledExplicit = An(l, "explicit"), l.compiledTypeMap = pl(l.compiledImplicit, l.compiledExplicit), l;
190
+ };
191
+ var ml = Ze, hl = new D("tag:yaml.org,2002:str", {
192
+ kind: "scalar",
193
+ construct: function(e) {
194
+ return e !== null ? e : "";
195
+ }
196
+ }), vl = new D("tag:yaml.org,2002:seq", {
197
+ kind: "sequence",
198
+ construct: function(e) {
199
+ return e !== null ? e : [];
200
+ }
201
+ }), xl = new D("tag:yaml.org,2002:map", {
202
+ kind: "mapping",
203
+ construct: function(e) {
204
+ return e !== null ? e : {};
205
+ }
206
+ }), yl = new ml({
207
+ explicit: [
208
+ hl,
209
+ vl,
210
+ xl
211
+ ]
212
+ });
213
+ function gl(e) {
214
+ if (e === null) return !0;
215
+ var n = e.length;
216
+ return n === 1 && e === "~" || n === 4 && (e === "null" || e === "Null" || e === "NULL");
217
+ }
218
+ function bl() {
219
+ return null;
220
+ }
221
+ function wl(e) {
222
+ return e === null;
223
+ }
224
+ var _l = new D("tag:yaml.org,2002:null", {
225
+ kind: "scalar",
226
+ resolve: gl,
227
+ construct: bl,
228
+ predicate: wl,
229
+ represent: {
230
+ canonical: function() {
231
+ return "~";
232
+ },
233
+ lowercase: function() {
234
+ return "null";
235
+ },
236
+ uppercase: function() {
237
+ return "NULL";
238
+ },
239
+ camelcase: function() {
240
+ return "Null";
241
+ },
242
+ empty: function() {
243
+ return "";
244
+ }
245
+ },
246
+ defaultStyle: "lowercase"
247
+ });
248
+ function kl(e) {
249
+ if (e === null) return !1;
250
+ var n = e.length;
251
+ return n === 4 && (e === "true" || e === "True" || e === "TRUE") || n === 5 && (e === "false" || e === "False" || e === "FALSE");
252
+ }
253
+ function Al(e) {
254
+ return e === "true" || e === "True" || e === "TRUE";
255
+ }
256
+ function Cl(e) {
257
+ return Object.prototype.toString.call(e) === "[object Boolean]";
258
+ }
259
+ var Sl = new D("tag:yaml.org,2002:bool", {
260
+ kind: "scalar",
261
+ resolve: kl,
262
+ construct: Al,
263
+ predicate: Cl,
264
+ represent: {
265
+ lowercase: function(e) {
266
+ return e ? "true" : "false";
267
+ },
268
+ uppercase: function(e) {
269
+ return e ? "TRUE" : "FALSE";
270
+ },
271
+ camelcase: function(e) {
272
+ return e ? "True" : "False";
273
+ }
274
+ },
275
+ defaultStyle: "lowercase"
276
+ });
277
+ function Fl(e) {
278
+ return 48 <= e && e <= 57 || 65 <= e && e <= 70 || 97 <= e && e <= 102;
279
+ }
280
+ function Tl(e) {
281
+ return 48 <= e && e <= 55;
282
+ }
283
+ function El(e) {
284
+ return 48 <= e && e <= 57;
285
+ }
286
+ function Il(e) {
287
+ if (e === null) return !1;
288
+ var n = e.length, i = 0, r = !1, l;
289
+ if (!n) return !1;
290
+ if (l = e[i], (l === "-" || l === "+") && (l = e[++i]), l === "0") {
291
+ if (i + 1 === n) return !0;
292
+ if (l = e[++i], l === "b") {
293
+ for (i++; i < n; i++)
294
+ if (l = e[i], l !== "_") {
295
+ if (l !== "0" && l !== "1") return !1;
296
+ r = !0;
297
+ }
298
+ return r && l !== "_";
299
+ }
300
+ if (l === "x") {
301
+ for (i++; i < n; i++)
302
+ if (l = e[i], l !== "_") {
303
+ if (!Fl(e.charCodeAt(i))) return !1;
304
+ r = !0;
305
+ }
306
+ return r && l !== "_";
307
+ }
308
+ if (l === "o") {
309
+ for (i++; i < n; i++)
310
+ if (l = e[i], l !== "_") {
311
+ if (!Tl(e.charCodeAt(i))) return !1;
312
+ r = !0;
313
+ }
314
+ return r && l !== "_";
315
+ }
316
+ }
317
+ if (l === "_") return !1;
318
+ for (; i < n; i++)
319
+ if (l = e[i], l !== "_") {
320
+ if (!El(e.charCodeAt(i)))
321
+ return !1;
322
+ r = !0;
323
+ }
324
+ return !(!r || l === "_");
325
+ }
326
+ function Ol(e) {
327
+ var n = e, i = 1, r;
328
+ if (n.indexOf("_") !== -1 && (n = n.replace(/_/g, "")), r = n[0], (r === "-" || r === "+") && (r === "-" && (i = -1), n = n.slice(1), r = n[0]), n === "0") return 0;
329
+ if (r === "0") {
330
+ if (n[1] === "b") return i * parseInt(n.slice(2), 2);
331
+ if (n[1] === "x") return i * parseInt(n.slice(2), 16);
332
+ if (n[1] === "o") return i * parseInt(n.slice(2), 8);
333
+ }
334
+ return i * parseInt(n, 10);
335
+ }
336
+ function Ll(e) {
337
+ return Object.prototype.toString.call(e) === "[object Number]" && e % 1 === 0 && !O.isNegativeZero(e);
338
+ }
339
+ var Nl = new D("tag:yaml.org,2002:int", {
340
+ kind: "scalar",
341
+ resolve: Il,
342
+ construct: Ol,
343
+ predicate: Ll,
344
+ represent: {
345
+ binary: function(e) {
346
+ return e >= 0 ? "0b" + e.toString(2) : "-0b" + e.toString(2).slice(1);
347
+ },
348
+ octal: function(e) {
349
+ return e >= 0 ? "0o" + e.toString(8) : "-0o" + e.toString(8).slice(1);
350
+ },
351
+ decimal: function(e) {
352
+ return e.toString(10);
353
+ },
354
+ /* eslint-disable max-len */
355
+ hexadecimal: function(e) {
356
+ return e >= 0 ? "0x" + e.toString(16).toUpperCase() : "-0x" + e.toString(16).toUpperCase().slice(1);
357
+ }
358
+ },
359
+ defaultStyle: "decimal",
360
+ styleAliases: {
361
+ binary: [2, "bin"],
362
+ octal: [8, "oct"],
363
+ decimal: [10, "dec"],
364
+ hexadecimal: [16, "hex"]
365
+ }
366
+ }), Ml = new RegExp(
367
+ // 2.5e4, 2.5 and integers
368
+ "^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
369
+ );
370
+ function Dl(e) {
371
+ return !(e === null || !Ml.test(e) || // Quick hack to not allow integers end with `_`
372
+ // Probably should update regexp & check speed
373
+ e[e.length - 1] === "_");
374
+ }
375
+ function Rl(e) {
376
+ var n, i;
377
+ return n = e.replace(/_/g, "").toLowerCase(), i = n[0] === "-" ? -1 : 1, "+-".indexOf(n[0]) >= 0 && (n = n.slice(1)), n === ".inf" ? i === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY : n === ".nan" ? NaN : i * parseFloat(n, 10);
378
+ }
379
+ var $l = /^[-+]?[0-9]+e/;
380
+ function jl(e, n) {
381
+ var i;
382
+ if (isNaN(e))
383
+ switch (n) {
384
+ case "lowercase":
385
+ return ".nan";
386
+ case "uppercase":
387
+ return ".NAN";
388
+ case "camelcase":
389
+ return ".NaN";
390
+ }
391
+ else if (Number.POSITIVE_INFINITY === e)
392
+ switch (n) {
393
+ case "lowercase":
394
+ return ".inf";
395
+ case "uppercase":
396
+ return ".INF";
397
+ case "camelcase":
398
+ return ".Inf";
399
+ }
400
+ else if (Number.NEGATIVE_INFINITY === e)
401
+ switch (n) {
402
+ case "lowercase":
403
+ return "-.inf";
404
+ case "uppercase":
405
+ return "-.INF";
406
+ case "camelcase":
407
+ return "-.Inf";
408
+ }
409
+ else if (O.isNegativeZero(e))
410
+ return "-0.0";
411
+ return i = e.toString(10), $l.test(i) ? i.replace("e", ".e") : i;
412
+ }
413
+ function Bl(e) {
414
+ return Object.prototype.toString.call(e) === "[object Number]" && (e % 1 !== 0 || O.isNegativeZero(e));
415
+ }
416
+ var Ul = new D("tag:yaml.org,2002:float", {
417
+ kind: "scalar",
418
+ resolve: Dl,
419
+ construct: Rl,
420
+ predicate: Bl,
421
+ represent: jl,
422
+ defaultStyle: "lowercase"
423
+ }), Pl = yl.extend({
424
+ implicit: [
425
+ _l,
426
+ Sl,
427
+ Nl,
428
+ Ul
429
+ ]
430
+ }), Yl = Pl, zn = new RegExp(
431
+ "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
432
+ ), Gn = new RegExp(
433
+ "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
434
+ );
435
+ function Vl(e) {
436
+ return e === null ? !1 : zn.exec(e) !== null || Gn.exec(e) !== null;
437
+ }
438
+ function ql(e) {
439
+ var n, i, r, l, o, t, u, a = 0, s = null, m, d, y;
440
+ if (n = zn.exec(e), n === null && (n = Gn.exec(e)), n === null) throw new Error("Date resolve error");
441
+ if (i = +n[1], r = +n[2] - 1, l = +n[3], !n[4])
442
+ return new Date(Date.UTC(i, r, l));
443
+ if (o = +n[4], t = +n[5], u = +n[6], n[7]) {
444
+ for (a = n[7].slice(0, 3); a.length < 3; )
445
+ a += "0";
446
+ a = +a;
447
+ }
448
+ return n[9] && (m = +n[10], d = +(n[11] || 0), s = (m * 60 + d) * 6e4, n[9] === "-" && (s = -s)), y = new Date(Date.UTC(i, r, l, o, t, u, a)), s && y.setTime(y.getTime() - s), y;
449
+ }
450
+ function Hl(e) {
451
+ return e.toISOString();
452
+ }
453
+ var Kl = new D("tag:yaml.org,2002:timestamp", {
454
+ kind: "scalar",
455
+ resolve: Vl,
456
+ construct: ql,
457
+ instanceOf: Date,
458
+ represent: Hl
459
+ });
460
+ function zl(e) {
461
+ return e === "<<" || e === null;
462
+ }
463
+ var Gl = new D("tag:yaml.org,2002:merge", {
464
+ kind: "scalar",
465
+ resolve: zl
466
+ }), tn = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
467
+ \r`;
468
+ function Ql(e) {
469
+ if (e === null) return !1;
470
+ var n, i, r = 0, l = e.length, o = tn;
471
+ for (i = 0; i < l; i++)
472
+ if (n = o.indexOf(e.charAt(i)), !(n > 64)) {
473
+ if (n < 0) return !1;
474
+ r += 6;
475
+ }
476
+ return r % 8 === 0;
477
+ }
478
+ function Wl(e) {
479
+ var n, i, r = e.replace(/[\r\n=]/g, ""), l = r.length, o = tn, t = 0, u = [];
480
+ for (n = 0; n < l; n++)
481
+ n % 4 === 0 && n && (u.push(t >> 16 & 255), u.push(t >> 8 & 255), u.push(t & 255)), t = t << 6 | o.indexOf(r.charAt(n));
482
+ return i = l % 4 * 6, i === 0 ? (u.push(t >> 16 & 255), u.push(t >> 8 & 255), u.push(t & 255)) : i === 18 ? (u.push(t >> 10 & 255), u.push(t >> 2 & 255)) : i === 12 && u.push(t >> 4 & 255), new Uint8Array(u);
483
+ }
484
+ function Zl(e) {
485
+ var n = "", i = 0, r, l, o = e.length, t = tn;
486
+ for (r = 0; r < o; r++)
487
+ r % 3 === 0 && r && (n += t[i >> 18 & 63], n += t[i >> 12 & 63], n += t[i >> 6 & 63], n += t[i & 63]), i = (i << 8) + e[r];
488
+ return l = o % 3, l === 0 ? (n += t[i >> 18 & 63], n += t[i >> 12 & 63], n += t[i >> 6 & 63], n += t[i & 63]) : l === 2 ? (n += t[i >> 10 & 63], n += t[i >> 4 & 63], n += t[i << 2 & 63], n += t[64]) : l === 1 && (n += t[i >> 2 & 63], n += t[i << 4 & 63], n += t[64], n += t[64]), n;
489
+ }
490
+ function Jl(e) {
491
+ return Object.prototype.toString.call(e) === "[object Uint8Array]";
492
+ }
493
+ var Xl = new D("tag:yaml.org,2002:binary", {
494
+ kind: "scalar",
495
+ resolve: Ql,
496
+ construct: Wl,
497
+ predicate: Jl,
498
+ represent: Zl
499
+ }), er = Object.prototype.hasOwnProperty, nr = Object.prototype.toString;
500
+ function ir(e) {
501
+ if (e === null) return !0;
502
+ var n = [], i, r, l, o, t, u = e;
503
+ for (i = 0, r = u.length; i < r; i += 1) {
504
+ if (l = u[i], t = !1, nr.call(l) !== "[object Object]") return !1;
505
+ for (o in l)
506
+ if (er.call(l, o))
507
+ if (!t) t = !0;
508
+ else return !1;
509
+ if (!t) return !1;
510
+ if (n.indexOf(o) === -1) n.push(o);
511
+ else return !1;
512
+ }
513
+ return !0;
514
+ }
515
+ function lr(e) {
516
+ return e !== null ? e : [];
517
+ }
518
+ var rr = new D("tag:yaml.org,2002:omap", {
519
+ kind: "sequence",
520
+ resolve: ir,
521
+ construct: lr
522
+ }), tr = Object.prototype.toString;
523
+ function or(e) {
524
+ if (e === null) return !0;
525
+ var n, i, r, l, o, t = e;
526
+ for (o = new Array(t.length), n = 0, i = t.length; n < i; n += 1) {
527
+ if (r = t[n], tr.call(r) !== "[object Object]" || (l = Object.keys(r), l.length !== 1)) return !1;
528
+ o[n] = [l[0], r[l[0]]];
529
+ }
530
+ return !0;
531
+ }
532
+ function ur(e) {
533
+ if (e === null) return [];
534
+ var n, i, r, l, o, t = e;
535
+ for (o = new Array(t.length), n = 0, i = t.length; n < i; n += 1)
536
+ r = t[n], l = Object.keys(r), o[n] = [l[0], r[l[0]]];
537
+ return o;
538
+ }
539
+ var ar = new D("tag:yaml.org,2002:pairs", {
540
+ kind: "sequence",
541
+ resolve: or,
542
+ construct: ur
543
+ }), sr = Object.prototype.hasOwnProperty;
544
+ function cr(e) {
545
+ if (e === null) return !0;
546
+ var n, i = e;
547
+ for (n in i)
548
+ if (sr.call(i, n) && i[n] !== null)
549
+ return !1;
550
+ return !0;
551
+ }
552
+ function fr(e) {
553
+ return e !== null ? e : {};
554
+ }
555
+ var dr = new D("tag:yaml.org,2002:set", {
556
+ kind: "mapping",
557
+ resolve: cr,
558
+ construct: fr
559
+ }), Qn = Yl.extend({
560
+ implicit: [
561
+ Kl,
562
+ Gl
563
+ ],
564
+ explicit: [
565
+ Xl,
566
+ rr,
567
+ ar,
568
+ dr
569
+ ]
570
+ }), X = Object.prototype.hasOwnProperty, Oe = 1, Wn = 2, Zn = 3, Le = 4, Qe = 1, pr = 2, Cn = 3, mr = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, hr = /[\x85\u2028\u2029]/, vr = /[,\[\]\{\}]/, Jn = /^(?:!|!!|![a-z\-]+!)$/i, Xn = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
571
+ function Sn(e) {
572
+ return Object.prototype.toString.call(e);
573
+ }
574
+ function G(e) {
575
+ return e === 10 || e === 13;
576
+ }
577
+ function re(e) {
578
+ return e === 9 || e === 32;
579
+ }
580
+ function B(e) {
581
+ return e === 9 || e === 32 || e === 10 || e === 13;
582
+ }
583
+ function ce(e) {
584
+ return e === 44 || e === 91 || e === 93 || e === 123 || e === 125;
585
+ }
586
+ function xr(e) {
587
+ var n;
588
+ return 48 <= e && e <= 57 ? e - 48 : (n = e | 32, 97 <= n && n <= 102 ? n - 97 + 10 : -1);
589
+ }
590
+ function yr(e) {
591
+ return e === 120 ? 2 : e === 117 ? 4 : e === 85 ? 8 : 0;
592
+ }
593
+ function gr(e) {
594
+ return 48 <= e && e <= 57 ? e - 48 : -1;
595
+ }
596
+ function Fn(e) {
597
+ return e === 48 ? "\0" : e === 97 ? "\x07" : e === 98 ? "\b" : e === 116 || e === 9 ? " " : e === 110 ? `
598
+ ` : e === 118 ? "\v" : e === 102 ? "\f" : e === 114 ? "\r" : e === 101 ? "\x1B" : e === 32 ? " " : e === 34 ? '"' : e === 47 ? "/" : e === 92 ? "\\" : e === 78 ? "…" : e === 95 ? " " : e === 76 ? "\u2028" : e === 80 ? "\u2029" : "";
599
+ }
600
+ function br(e) {
601
+ return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode(
602
+ (e - 65536 >> 10) + 55296,
603
+ (e - 65536 & 1023) + 56320
604
+ );
605
+ }
606
+ function ei(e, n, i) {
607
+ n === "__proto__" ? Object.defineProperty(e, n, {
608
+ configurable: !0,
609
+ enumerable: !0,
610
+ writable: !0,
611
+ value: i
612
+ }) : e[n] = i;
613
+ }
614
+ var ni = new Array(256), ii = new Array(256);
615
+ for (var ae = 0; ae < 256; ae++)
616
+ ni[ae] = Fn(ae) ? 1 : 0, ii[ae] = Fn(ae);
617
+ function wr(e, n) {
618
+ this.input = e, this.filename = n.filename || null, this.schema = n.schema || Qn, this.onWarning = n.onWarning || null, this.legacy = n.legacy || !1, this.json = n.json || !1, this.listener = n.listener || null, this.implicitTypes = this.schema.compiledImplicit, this.typeMap = this.schema.compiledTypeMap, this.length = e.length, this.position = 0, this.line = 0, this.lineStart = 0, this.lineIndent = 0, this.firstTabInLine = -1, this.documents = [];
619
+ }
620
+ function li(e, n) {
621
+ var i = {
622
+ name: e.filename,
623
+ buffer: e.input.slice(0, -1),
624
+ // omit trailing \0
625
+ position: e.position,
626
+ line: e.line,
627
+ column: e.position - e.lineStart
628
+ };
629
+ return i.snippet = al(i), new j(n, i);
630
+ }
631
+ function w(e, n) {
632
+ throw li(e, n);
633
+ }
634
+ function Ne(e, n) {
635
+ e.onWarning && e.onWarning.call(null, li(e, n));
636
+ }
637
+ var Tn = {
638
+ YAML: function(n, i, r) {
639
+ var l, o, t;
640
+ n.version !== null && w(n, "duplication of %YAML directive"), r.length !== 1 && w(n, "YAML directive accepts exactly one argument"), l = /^([0-9]+)\.([0-9]+)$/.exec(r[0]), l === null && w(n, "ill-formed argument of the YAML directive"), o = parseInt(l[1], 10), t = parseInt(l[2], 10), o !== 1 && w(n, "unacceptable YAML version of the document"), n.version = r[0], n.checkLineBreaks = t < 2, t !== 1 && t !== 2 && Ne(n, "unsupported YAML version of the document");
641
+ },
642
+ TAG: function(n, i, r) {
643
+ var l, o;
644
+ r.length !== 2 && w(n, "TAG directive accepts exactly two arguments"), l = r[0], o = r[1], Jn.test(l) || w(n, "ill-formed tag handle (first argument) of the TAG directive"), X.call(n.tagMap, l) && w(n, 'there is a previously declared suffix for "' + l + '" tag handle'), Xn.test(o) || w(n, "ill-formed tag prefix (second argument) of the TAG directive");
645
+ try {
646
+ o = decodeURIComponent(o);
647
+ } catch {
648
+ w(n, "tag prefix is malformed: " + o);
649
+ }
650
+ n.tagMap[l] = o;
651
+ }
652
+ };
653
+ function J(e, n, i, r) {
654
+ var l, o, t, u;
655
+ if (n < i) {
656
+ if (u = e.input.slice(n, i), r)
657
+ for (l = 0, o = u.length; l < o; l += 1)
658
+ t = u.charCodeAt(l), t === 9 || 32 <= t && t <= 1114111 || w(e, "expected valid JSON character");
659
+ else mr.test(u) && w(e, "the stream contains non-printable characters");
660
+ e.result += u;
661
+ }
662
+ }
663
+ function En(e, n, i, r) {
664
+ var l, o, t, u;
665
+ for (O.isObject(i) || w(e, "cannot merge mappings; the provided source object is unacceptable"), l = Object.keys(i), t = 0, u = l.length; t < u; t += 1)
666
+ o = l[t], X.call(n, o) || (ei(n, o, i[o]), r[o] = !0);
667
+ }
668
+ function fe(e, n, i, r, l, o, t, u, a) {
669
+ var s, m;
670
+ if (Array.isArray(l))
671
+ for (l = Array.prototype.slice.call(l), s = 0, m = l.length; s < m; s += 1)
672
+ Array.isArray(l[s]) && w(e, "nested arrays are not supported inside keys"), typeof l == "object" && Sn(l[s]) === "[object Object]" && (l[s] = "[object Object]");
673
+ if (typeof l == "object" && Sn(l) === "[object Object]" && (l = "[object Object]"), l = String(l), n === null && (n = {}), r === "tag:yaml.org,2002:merge")
674
+ if (Array.isArray(o))
675
+ for (s = 0, m = o.length; s < m; s += 1)
676
+ En(e, n, o[s], i);
677
+ else
678
+ En(e, n, o, i);
679
+ else
680
+ !e.json && !X.call(i, l) && X.call(n, l) && (e.line = t || e.line, e.lineStart = u || e.lineStart, e.position = a || e.position, w(e, "duplicated mapping key")), ei(n, l, o), delete i[l];
681
+ return n;
682
+ }
683
+ function on(e) {
684
+ var n;
685
+ n = e.input.charCodeAt(e.position), n === 10 ? e.position++ : n === 13 ? (e.position++, e.input.charCodeAt(e.position) === 10 && e.position++) : w(e, "a line break is expected"), e.line += 1, e.lineStart = e.position, e.firstTabInLine = -1;
686
+ }
687
+ function E(e, n, i) {
688
+ for (var r = 0, l = e.input.charCodeAt(e.position); l !== 0; ) {
689
+ for (; re(l); )
690
+ l === 9 && e.firstTabInLine === -1 && (e.firstTabInLine = e.position), l = e.input.charCodeAt(++e.position);
691
+ if (n && l === 35)
692
+ do
693
+ l = e.input.charCodeAt(++e.position);
694
+ while (l !== 10 && l !== 13 && l !== 0);
695
+ if (G(l))
696
+ for (on(e), l = e.input.charCodeAt(e.position), r++, e.lineIndent = 0; l === 32; )
697
+ e.lineIndent++, l = e.input.charCodeAt(++e.position);
698
+ else
699
+ break;
700
+ }
701
+ return i !== -1 && r !== 0 && e.lineIndent < i && Ne(e, "deficient indentation"), r;
702
+ }
703
+ function je(e) {
704
+ var n = e.position, i;
705
+ return i = e.input.charCodeAt(n), !!((i === 45 || i === 46) && i === e.input.charCodeAt(n + 1) && i === e.input.charCodeAt(n + 2) && (n += 3, i = e.input.charCodeAt(n), i === 0 || B(i)));
706
+ }
707
+ function un(e, n) {
708
+ n === 1 ? e.result += " " : n > 1 && (e.result += O.repeat(`
709
+ `, n - 1));
710
+ }
711
+ function _r(e, n, i) {
712
+ var r, l, o, t, u, a, s, m, d = e.kind, y = e.result, b;
713
+ if (b = e.input.charCodeAt(e.position), B(b) || ce(b) || b === 35 || b === 38 || b === 42 || b === 33 || b === 124 || b === 62 || b === 39 || b === 34 || b === 37 || b === 64 || b === 96 || (b === 63 || b === 45) && (l = e.input.charCodeAt(e.position + 1), B(l) || i && ce(l)))
714
+ return !1;
715
+ for (e.kind = "scalar", e.result = "", o = t = e.position, u = !1; b !== 0; ) {
716
+ if (b === 58) {
717
+ if (l = e.input.charCodeAt(e.position + 1), B(l) || i && ce(l))
718
+ break;
719
+ } else if (b === 35) {
720
+ if (r = e.input.charCodeAt(e.position - 1), B(r))
721
+ break;
722
+ } else {
723
+ if (e.position === e.lineStart && je(e) || i && ce(b))
724
+ break;
725
+ if (G(b))
726
+ if (a = e.line, s = e.lineStart, m = e.lineIndent, E(e, !1, -1), e.lineIndent >= n) {
727
+ u = !0, b = e.input.charCodeAt(e.position);
728
+ continue;
729
+ } else {
730
+ e.position = t, e.line = a, e.lineStart = s, e.lineIndent = m;
731
+ break;
732
+ }
733
+ }
734
+ u && (J(e, o, t, !1), un(e, e.line - a), o = t = e.position, u = !1), re(b) || (t = e.position + 1), b = e.input.charCodeAt(++e.position);
735
+ }
736
+ return J(e, o, t, !1), e.result ? !0 : (e.kind = d, e.result = y, !1);
737
+ }
738
+ function kr(e, n) {
739
+ var i, r, l;
740
+ if (i = e.input.charCodeAt(e.position), i !== 39)
741
+ return !1;
742
+ for (e.kind = "scalar", e.result = "", e.position++, r = l = e.position; (i = e.input.charCodeAt(e.position)) !== 0; )
743
+ if (i === 39)
744
+ if (J(e, r, e.position, !0), i = e.input.charCodeAt(++e.position), i === 39)
745
+ r = e.position, e.position++, l = e.position;
746
+ else
747
+ return !0;
748
+ else G(i) ? (J(e, r, l, !0), un(e, E(e, !1, n)), r = l = e.position) : e.position === e.lineStart && je(e) ? w(e, "unexpected end of the document within a single quoted scalar") : (e.position++, l = e.position);
749
+ w(e, "unexpected end of the stream within a single quoted scalar");
750
+ }
751
+ function Ar(e, n) {
752
+ var i, r, l, o, t, u;
753
+ if (u = e.input.charCodeAt(e.position), u !== 34)
754
+ return !1;
755
+ for (e.kind = "scalar", e.result = "", e.position++, i = r = e.position; (u = e.input.charCodeAt(e.position)) !== 0; ) {
756
+ if (u === 34)
757
+ return J(e, i, e.position, !0), e.position++, !0;
758
+ if (u === 92) {
759
+ if (J(e, i, e.position, !0), u = e.input.charCodeAt(++e.position), G(u))
760
+ E(e, !1, n);
761
+ else if (u < 256 && ni[u])
762
+ e.result += ii[u], e.position++;
763
+ else if ((t = yr(u)) > 0) {
764
+ for (l = t, o = 0; l > 0; l--)
765
+ u = e.input.charCodeAt(++e.position), (t = xr(u)) >= 0 ? o = (o << 4) + t : w(e, "expected hexadecimal character");
766
+ e.result += br(o), e.position++;
767
+ } else
768
+ w(e, "unknown escape sequence");
769
+ i = r = e.position;
770
+ } else G(u) ? (J(e, i, r, !0), un(e, E(e, !1, n)), i = r = e.position) : e.position === e.lineStart && je(e) ? w(e, "unexpected end of the document within a double quoted scalar") : (e.position++, r = e.position);
771
+ }
772
+ w(e, "unexpected end of the stream within a double quoted scalar");
773
+ }
774
+ function Cr(e, n) {
775
+ var i = !0, r, l, o, t = e.tag, u, a = e.anchor, s, m, d, y, b, p = /* @__PURE__ */ Object.create(null), h, x, _, g;
776
+ if (g = e.input.charCodeAt(e.position), g === 91)
777
+ m = 93, b = !1, u = [];
778
+ else if (g === 123)
779
+ m = 125, b = !0, u = {};
780
+ else
781
+ return !1;
782
+ for (e.anchor !== null && (e.anchorMap[e.anchor] = u), g = e.input.charCodeAt(++e.position); g !== 0; ) {
783
+ if (E(e, !0, n), g = e.input.charCodeAt(e.position), g === m)
784
+ return e.position++, e.tag = t, e.anchor = a, e.kind = b ? "mapping" : "sequence", e.result = u, !0;
785
+ i ? g === 44 && w(e, "expected the node content, but found ','") : w(e, "missed comma between flow collection entries"), x = h = _ = null, d = y = !1, g === 63 && (s = e.input.charCodeAt(e.position + 1), B(s) && (d = y = !0, e.position++, E(e, !0, n))), r = e.line, l = e.lineStart, o = e.position, de(e, n, Oe, !1, !0), x = e.tag, h = e.result, E(e, !0, n), g = e.input.charCodeAt(e.position), (y || e.line === r) && g === 58 && (d = !0, g = e.input.charCodeAt(++e.position), E(e, !0, n), de(e, n, Oe, !1, !0), _ = e.result), b ? fe(e, u, p, x, h, _, r, l, o) : d ? u.push(fe(e, null, p, x, h, _, r, l, o)) : u.push(h), E(e, !0, n), g = e.input.charCodeAt(e.position), g === 44 ? (i = !0, g = e.input.charCodeAt(++e.position)) : i = !1;
786
+ }
787
+ w(e, "unexpected end of the stream within a flow collection");
788
+ }
789
+ function Sr(e, n) {
790
+ var i, r, l = Qe, o = !1, t = !1, u = n, a = 0, s = !1, m, d;
791
+ if (d = e.input.charCodeAt(e.position), d === 124)
792
+ r = !1;
793
+ else if (d === 62)
794
+ r = !0;
795
+ else
796
+ return !1;
797
+ for (e.kind = "scalar", e.result = ""; d !== 0; )
798
+ if (d = e.input.charCodeAt(++e.position), d === 43 || d === 45)
799
+ Qe === l ? l = d === 43 ? Cn : pr : w(e, "repeat of a chomping mode identifier");
800
+ else if ((m = gr(d)) >= 0)
801
+ m === 0 ? w(e, "bad explicit indentation width of a block scalar; it cannot be less than one") : t ? w(e, "repeat of an indentation width identifier") : (u = n + m - 1, t = !0);
802
+ else
803
+ break;
804
+ if (re(d)) {
805
+ do
806
+ d = e.input.charCodeAt(++e.position);
807
+ while (re(d));
808
+ if (d === 35)
809
+ do
810
+ d = e.input.charCodeAt(++e.position);
811
+ while (!G(d) && d !== 0);
812
+ }
813
+ for (; d !== 0; ) {
814
+ for (on(e), e.lineIndent = 0, d = e.input.charCodeAt(e.position); (!t || e.lineIndent < u) && d === 32; )
815
+ e.lineIndent++, d = e.input.charCodeAt(++e.position);
816
+ if (!t && e.lineIndent > u && (u = e.lineIndent), G(d)) {
817
+ a++;
818
+ continue;
819
+ }
820
+ if (e.lineIndent < u) {
821
+ l === Cn ? e.result += O.repeat(`
822
+ `, o ? 1 + a : a) : l === Qe && o && (e.result += `
823
+ `);
824
+ break;
825
+ }
826
+ for (r ? re(d) ? (s = !0, e.result += O.repeat(`
827
+ `, o ? 1 + a : a)) : s ? (s = !1, e.result += O.repeat(`
828
+ `, a + 1)) : a === 0 ? o && (e.result += " ") : e.result += O.repeat(`
829
+ `, a) : e.result += O.repeat(`
830
+ `, o ? 1 + a : a), o = !0, t = !0, a = 0, i = e.position; !G(d) && d !== 0; )
831
+ d = e.input.charCodeAt(++e.position);
832
+ J(e, i, e.position, !1);
833
+ }
834
+ return !0;
835
+ }
836
+ function In(e, n) {
837
+ var i, r = e.tag, l = e.anchor, o = [], t, u = !1, a;
838
+ if (e.firstTabInLine !== -1) return !1;
839
+ for (e.anchor !== null && (e.anchorMap[e.anchor] = o), a = e.input.charCodeAt(e.position); a !== 0 && (e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, w(e, "tab characters must not be used in indentation")), !(a !== 45 || (t = e.input.charCodeAt(e.position + 1), !B(t)))); ) {
840
+ if (u = !0, e.position++, E(e, !0, -1) && e.lineIndent <= n) {
841
+ o.push(null), a = e.input.charCodeAt(e.position);
842
+ continue;
843
+ }
844
+ if (i = e.line, de(e, n, Zn, !1, !0), o.push(e.result), E(e, !0, -1), a = e.input.charCodeAt(e.position), (e.line === i || e.lineIndent > n) && a !== 0)
845
+ w(e, "bad indentation of a sequence entry");
846
+ else if (e.lineIndent < n)
847
+ break;
848
+ }
849
+ return u ? (e.tag = r, e.anchor = l, e.kind = "sequence", e.result = o, !0) : !1;
850
+ }
851
+ function Fr(e, n, i) {
852
+ var r, l, o, t, u, a, s = e.tag, m = e.anchor, d = {}, y = /* @__PURE__ */ Object.create(null), b = null, p = null, h = null, x = !1, _ = !1, g;
853
+ if (e.firstTabInLine !== -1) return !1;
854
+ for (e.anchor !== null && (e.anchorMap[e.anchor] = d), g = e.input.charCodeAt(e.position); g !== 0; ) {
855
+ if (!x && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, w(e, "tab characters must not be used in indentation")), r = e.input.charCodeAt(e.position + 1), o = e.line, (g === 63 || g === 58) && B(r))
856
+ g === 63 ? (x && (fe(e, d, y, b, p, null, t, u, a), b = p = h = null), _ = !0, x = !0, l = !0) : x ? (x = !1, l = !0) : w(e, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"), e.position += 1, g = r;
857
+ else {
858
+ if (t = e.line, u = e.lineStart, a = e.position, !de(e, i, Wn, !1, !0))
859
+ break;
860
+ if (e.line === o) {
861
+ for (g = e.input.charCodeAt(e.position); re(g); )
862
+ g = e.input.charCodeAt(++e.position);
863
+ if (g === 58)
864
+ g = e.input.charCodeAt(++e.position), B(g) || w(e, "a whitespace character is expected after the key-value separator within a block mapping"), x && (fe(e, d, y, b, p, null, t, u, a), b = p = h = null), _ = !0, x = !1, l = !1, b = e.tag, p = e.result;
865
+ else if (_)
866
+ w(e, "can not read an implicit mapping pair; a colon is missed");
867
+ else
868
+ return e.tag = s, e.anchor = m, !0;
869
+ } else if (_)
870
+ w(e, "can not read a block mapping entry; a multiline key may not be an implicit key");
871
+ else
872
+ return e.tag = s, e.anchor = m, !0;
873
+ }
874
+ if ((e.line === o || e.lineIndent > n) && (x && (t = e.line, u = e.lineStart, a = e.position), de(e, n, Le, !0, l) && (x ? p = e.result : h = e.result), x || (fe(e, d, y, b, p, h, t, u, a), b = p = h = null), E(e, !0, -1), g = e.input.charCodeAt(e.position)), (e.line === o || e.lineIndent > n) && g !== 0)
875
+ w(e, "bad indentation of a mapping entry");
876
+ else if (e.lineIndent < n)
877
+ break;
878
+ }
879
+ return x && fe(e, d, y, b, p, null, t, u, a), _ && (e.tag = s, e.anchor = m, e.kind = "mapping", e.result = d), _;
880
+ }
881
+ function Tr(e) {
882
+ var n, i = !1, r = !1, l, o, t;
883
+ if (t = e.input.charCodeAt(e.position), t !== 33) return !1;
884
+ if (e.tag !== null && w(e, "duplication of a tag property"), t = e.input.charCodeAt(++e.position), t === 60 ? (i = !0, t = e.input.charCodeAt(++e.position)) : t === 33 ? (r = !0, l = "!!", t = e.input.charCodeAt(++e.position)) : l = "!", n = e.position, i) {
885
+ do
886
+ t = e.input.charCodeAt(++e.position);
887
+ while (t !== 0 && t !== 62);
888
+ e.position < e.length ? (o = e.input.slice(n, e.position), t = e.input.charCodeAt(++e.position)) : w(e, "unexpected end of the stream within a verbatim tag");
889
+ } else {
890
+ for (; t !== 0 && !B(t); )
891
+ t === 33 && (r ? w(e, "tag suffix cannot contain exclamation marks") : (l = e.input.slice(n - 1, e.position + 1), Jn.test(l) || w(e, "named tag handle cannot contain such characters"), r = !0, n = e.position + 1)), t = e.input.charCodeAt(++e.position);
892
+ o = e.input.slice(n, e.position), vr.test(o) && w(e, "tag suffix cannot contain flow indicator characters");
893
+ }
894
+ o && !Xn.test(o) && w(e, "tag name cannot contain such characters: " + o);
895
+ try {
896
+ o = decodeURIComponent(o);
897
+ } catch {
898
+ w(e, "tag name is malformed: " + o);
899
+ }
900
+ return i ? e.tag = o : X.call(e.tagMap, l) ? e.tag = e.tagMap[l] + o : l === "!" ? e.tag = "!" + o : l === "!!" ? e.tag = "tag:yaml.org,2002:" + o : w(e, 'undeclared tag handle "' + l + '"'), !0;
901
+ }
902
+ function Er(e) {
903
+ var n, i;
904
+ if (i = e.input.charCodeAt(e.position), i !== 38) return !1;
905
+ for (e.anchor !== null && w(e, "duplication of an anchor property"), i = e.input.charCodeAt(++e.position), n = e.position; i !== 0 && !B(i) && !ce(i); )
906
+ i = e.input.charCodeAt(++e.position);
907
+ return e.position === n && w(e, "name of an anchor node must contain at least one character"), e.anchor = e.input.slice(n, e.position), !0;
908
+ }
909
+ function Ir(e) {
910
+ var n, i, r;
911
+ if (r = e.input.charCodeAt(e.position), r !== 42) return !1;
912
+ for (r = e.input.charCodeAt(++e.position), n = e.position; r !== 0 && !B(r) && !ce(r); )
913
+ r = e.input.charCodeAt(++e.position);
914
+ return e.position === n && w(e, "name of an alias node must contain at least one character"), i = e.input.slice(n, e.position), X.call(e.anchorMap, i) || w(e, 'unidentified alias "' + i + '"'), e.result = e.anchorMap[i], E(e, !0, -1), !0;
915
+ }
916
+ function de(e, n, i, r, l) {
917
+ var o, t, u, a = 1, s = !1, m = !1, d, y, b, p, h, x;
918
+ if (e.listener !== null && e.listener("open", e), e.tag = null, e.anchor = null, e.kind = null, e.result = null, o = t = u = Le === i || Zn === i, r && E(e, !0, -1) && (s = !0, e.lineIndent > n ? a = 1 : e.lineIndent === n ? a = 0 : e.lineIndent < n && (a = -1)), a === 1)
919
+ for (; Tr(e) || Er(e); )
920
+ E(e, !0, -1) ? (s = !0, u = o, e.lineIndent > n ? a = 1 : e.lineIndent === n ? a = 0 : e.lineIndent < n && (a = -1)) : u = !1;
921
+ if (u && (u = s || l), (a === 1 || Le === i) && (Oe === i || Wn === i ? h = n : h = n + 1, x = e.position - e.lineStart, a === 1 ? u && (In(e, x) || Fr(e, x, h)) || Cr(e, h) ? m = !0 : (t && Sr(e, h) || kr(e, h) || Ar(e, h) ? m = !0 : Ir(e) ? (m = !0, (e.tag !== null || e.anchor !== null) && w(e, "alias node should not have any properties")) : _r(e, h, Oe === i) && (m = !0, e.tag === null && (e.tag = "?")), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : a === 0 && (m = u && In(e, x))), e.tag === null)
922
+ e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
923
+ else if (e.tag === "?") {
924
+ for (e.result !== null && e.kind !== "scalar" && w(e, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + e.kind + '"'), d = 0, y = e.implicitTypes.length; d < y; d += 1)
925
+ if (p = e.implicitTypes[d], p.resolve(e.result)) {
926
+ e.result = p.construct(e.result), e.tag = p.tag, e.anchor !== null && (e.anchorMap[e.anchor] = e.result);
927
+ break;
928
+ }
929
+ } else if (e.tag !== "!") {
930
+ if (X.call(e.typeMap[e.kind || "fallback"], e.tag))
931
+ p = e.typeMap[e.kind || "fallback"][e.tag];
932
+ else
933
+ for (p = null, b = e.typeMap.multi[e.kind || "fallback"], d = 0, y = b.length; d < y; d += 1)
934
+ if (e.tag.slice(0, b[d].tag.length) === b[d].tag) {
935
+ p = b[d];
936
+ break;
937
+ }
938
+ p || w(e, "unknown tag !<" + e.tag + ">"), e.result !== null && p.kind !== e.kind && w(e, "unacceptable node kind for !<" + e.tag + '> tag; it should be "' + p.kind + '", not "' + e.kind + '"'), p.resolve(e.result, e.tag) ? (e.result = p.construct(e.result, e.tag), e.anchor !== null && (e.anchorMap[e.anchor] = e.result)) : w(e, "cannot resolve a node with !<" + e.tag + "> explicit tag");
939
+ }
940
+ return e.listener !== null && e.listener("close", e), e.tag !== null || e.anchor !== null || m;
941
+ }
942
+ function Or(e) {
943
+ var n = e.position, i, r, l, o = !1, t;
944
+ for (e.version = null, e.checkLineBreaks = e.legacy, e.tagMap = /* @__PURE__ */ Object.create(null), e.anchorMap = /* @__PURE__ */ Object.create(null); (t = e.input.charCodeAt(e.position)) !== 0 && (E(e, !0, -1), t = e.input.charCodeAt(e.position), !(e.lineIndent > 0 || t !== 37)); ) {
945
+ for (o = !0, t = e.input.charCodeAt(++e.position), i = e.position; t !== 0 && !B(t); )
946
+ t = e.input.charCodeAt(++e.position);
947
+ for (r = e.input.slice(i, e.position), l = [], r.length < 1 && w(e, "directive name must not be less than one character in length"); t !== 0; ) {
948
+ for (; re(t); )
949
+ t = e.input.charCodeAt(++e.position);
950
+ if (t === 35) {
951
+ do
952
+ t = e.input.charCodeAt(++e.position);
953
+ while (t !== 0 && !G(t));
954
+ break;
955
+ }
956
+ if (G(t)) break;
957
+ for (i = e.position; t !== 0 && !B(t); )
958
+ t = e.input.charCodeAt(++e.position);
959
+ l.push(e.input.slice(i, e.position));
960
+ }
961
+ t !== 0 && on(e), X.call(Tn, r) ? Tn[r](e, r, l) : Ne(e, 'unknown document directive "' + r + '"');
962
+ }
963
+ if (E(e, !0, -1), e.lineIndent === 0 && e.input.charCodeAt(e.position) === 45 && e.input.charCodeAt(e.position + 1) === 45 && e.input.charCodeAt(e.position + 2) === 45 ? (e.position += 3, E(e, !0, -1)) : o && w(e, "directives end mark is expected"), de(e, e.lineIndent - 1, Le, !1, !0), E(e, !0, -1), e.checkLineBreaks && hr.test(e.input.slice(n, e.position)) && Ne(e, "non-ASCII line breaks are interpreted as content"), e.documents.push(e.result), e.position === e.lineStart && je(e)) {
964
+ e.input.charCodeAt(e.position) === 46 && (e.position += 3, E(e, !0, -1));
965
+ return;
966
+ }
967
+ if (e.position < e.length - 1)
968
+ w(e, "end of the stream or a document separator is expected");
969
+ else
970
+ return;
971
+ }
972
+ function ri(e, n) {
973
+ e = String(e), n = n || {}, e.length !== 0 && (e.charCodeAt(e.length - 1) !== 10 && e.charCodeAt(e.length - 1) !== 13 && (e += `
974
+ `), e.charCodeAt(0) === 65279 && (e = e.slice(1)));
975
+ var i = new wr(e, n), r = e.indexOf("\0");
976
+ for (r !== -1 && (i.position = r, w(i, "null byte is not allowed in input")), i.input += "\0"; i.input.charCodeAt(i.position) === 32; )
977
+ i.lineIndent += 1, i.position += 1;
978
+ for (; i.position < i.length - 1; )
979
+ Or(i);
980
+ return i.documents;
981
+ }
982
+ function Lr(e, n, i) {
983
+ n !== null && typeof n == "object" && typeof i > "u" && (i = n, n = null);
984
+ var r = ri(e, i);
985
+ if (typeof n != "function")
986
+ return r;
987
+ for (var l = 0, o = r.length; l < o; l += 1)
988
+ n(r[l]);
989
+ }
990
+ function Nr(e, n) {
991
+ var i = ri(e, n);
992
+ if (i.length !== 0) {
993
+ if (i.length === 1)
994
+ return i[0];
995
+ throw new j("expected a single document in the stream, but found more");
996
+ }
997
+ }
998
+ var Mr = Lr, Dr = Nr, Rr = {
999
+ loadAll: Mr,
1000
+ load: Dr
1001
+ }, ti = Object.prototype.toString, oi = Object.prototype.hasOwnProperty, an = 65279, $r = 9, ge = 10, jr = 13, Br = 32, Ur = 33, Pr = 34, Je = 35, Yr = 37, Vr = 38, qr = 39, Hr = 42, ui = 44, Kr = 45, Me = 58, zr = 61, Gr = 62, Qr = 63, Wr = 64, ai = 91, si = 93, Zr = 96, ci = 123, Jr = 124, fi = 125, R = {};
1002
+ R[0] = "\\0";
1003
+ R[7] = "\\a";
1004
+ R[8] = "\\b";
1005
+ R[9] = "\\t";
1006
+ R[10] = "\\n";
1007
+ R[11] = "\\v";
1008
+ R[12] = "\\f";
1009
+ R[13] = "\\r";
1010
+ R[27] = "\\e";
1011
+ R[34] = '\\"';
1012
+ R[92] = "\\\\";
1013
+ R[133] = "\\N";
1014
+ R[160] = "\\_";
1015
+ R[8232] = "\\L";
1016
+ R[8233] = "\\P";
1017
+ var Xr = [
1018
+ "y",
1019
+ "Y",
1020
+ "yes",
1021
+ "Yes",
1022
+ "YES",
1023
+ "on",
1024
+ "On",
1025
+ "ON",
1026
+ "n",
1027
+ "N",
1028
+ "no",
1029
+ "No",
1030
+ "NO",
1031
+ "off",
1032
+ "Off",
1033
+ "OFF"
1034
+ ], et = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
1035
+ function nt(e, n) {
1036
+ var i, r, l, o, t, u, a;
1037
+ if (n === null) return {};
1038
+ for (i = {}, r = Object.keys(n), l = 0, o = r.length; l < o; l += 1)
1039
+ t = r[l], u = String(n[t]), t.slice(0, 2) === "!!" && (t = "tag:yaml.org,2002:" + t.slice(2)), a = e.compiledTypeMap.fallback[t], a && oi.call(a.styleAliases, u) && (u = a.styleAliases[u]), i[t] = u;
1040
+ return i;
1041
+ }
1042
+ function it(e) {
1043
+ var n, i, r;
1044
+ if (n = e.toString(16).toUpperCase(), e <= 255)
1045
+ i = "x", r = 2;
1046
+ else if (e <= 65535)
1047
+ i = "u", r = 4;
1048
+ else if (e <= 4294967295)
1049
+ i = "U", r = 8;
1050
+ else
1051
+ throw new j("code point within a string may not be greater than 0xFFFFFFFF");
1052
+ return "\\" + i + O.repeat("0", r - n.length) + n;
1053
+ }
1054
+ var lt = 1, be = 2;
1055
+ function rt(e) {
1056
+ this.schema = e.schema || Qn, this.indent = Math.max(1, e.indent || 2), this.noArrayIndent = e.noArrayIndent || !1, this.skipInvalid = e.skipInvalid || !1, this.flowLevel = O.isNothing(e.flowLevel) ? -1 : e.flowLevel, this.styleMap = nt(this.schema, e.styles || null), this.sortKeys = e.sortKeys || !1, this.lineWidth = e.lineWidth || 80, this.noRefs = e.noRefs || !1, this.noCompatMode = e.noCompatMode || !1, this.condenseFlow = e.condenseFlow || !1, this.quotingType = e.quotingType === '"' ? be : lt, this.forceQuotes = e.forceQuotes || !1, this.replacer = typeof e.replacer == "function" ? e.replacer : null, this.implicitTypes = this.schema.compiledImplicit, this.explicitTypes = this.schema.compiledExplicit, this.tag = null, this.result = "", this.duplicates = [], this.usedDuplicates = null;
1057
+ }
1058
+ function On(e, n) {
1059
+ for (var i = O.repeat(" ", n), r = 0, l = -1, o = "", t, u = e.length; r < u; )
1060
+ l = e.indexOf(`
1061
+ `, r), l === -1 ? (t = e.slice(r), r = u) : (t = e.slice(r, l + 1), r = l + 1), t.length && t !== `
1062
+ ` && (o += i), o += t;
1063
+ return o;
1064
+ }
1065
+ function Xe(e, n) {
1066
+ return `
1067
+ ` + O.repeat(" ", e.indent * n);
1068
+ }
1069
+ function tt(e, n) {
1070
+ var i, r, l;
1071
+ for (i = 0, r = e.implicitTypes.length; i < r; i += 1)
1072
+ if (l = e.implicitTypes[i], l.resolve(n))
1073
+ return !0;
1074
+ return !1;
1075
+ }
1076
+ function De(e) {
1077
+ return e === Br || e === $r;
1078
+ }
1079
+ function we(e) {
1080
+ return 32 <= e && e <= 126 || 161 <= e && e <= 55295 && e !== 8232 && e !== 8233 || 57344 <= e && e <= 65533 && e !== an || 65536 <= e && e <= 1114111;
1081
+ }
1082
+ function Ln(e) {
1083
+ return we(e) && e !== an && e !== jr && e !== ge;
1084
+ }
1085
+ function Nn(e, n, i) {
1086
+ var r = Ln(e), l = r && !De(e);
1087
+ return (
1088
+ // ns-plain-safe
1089
+ (i ? (
1090
+ // c = flow-in
1091
+ r
1092
+ ) : r && e !== ui && e !== ai && e !== si && e !== ci && e !== fi) && e !== Je && !(n === Me && !l) || Ln(n) && !De(n) && e === Je || n === Me && l
1093
+ );
1094
+ }
1095
+ function ot(e) {
1096
+ return we(e) && e !== an && !De(e) && e !== Kr && e !== Qr && e !== Me && e !== ui && e !== ai && e !== si && e !== ci && e !== fi && e !== Je && e !== Vr && e !== Hr && e !== Ur && e !== Jr && e !== zr && e !== Gr && e !== qr && e !== Pr && e !== Yr && e !== Wr && e !== Zr;
1097
+ }
1098
+ function ut(e) {
1099
+ return !De(e) && e !== Me;
1100
+ }
1101
+ function he(e, n) {
1102
+ var i = e.charCodeAt(n), r;
1103
+ return i >= 55296 && i <= 56319 && n + 1 < e.length && (r = e.charCodeAt(n + 1), r >= 56320 && r <= 57343) ? (i - 55296) * 1024 + r - 56320 + 65536 : i;
1104
+ }
1105
+ function di(e) {
1106
+ var n = /^\n* /;
1107
+ return n.test(e);
1108
+ }
1109
+ var pi = 1, en = 2, mi = 3, hi = 4, se = 5;
1110
+ function at(e, n, i, r, l, o, t, u) {
1111
+ var a, s = 0, m = null, d = !1, y = !1, b = r !== -1, p = -1, h = ot(he(e, 0)) && ut(he(e, e.length - 1));
1112
+ if (n || t)
1113
+ for (a = 0; a < e.length; s >= 65536 ? a += 2 : a++) {
1114
+ if (s = he(e, a), !we(s))
1115
+ return se;
1116
+ h = h && Nn(s, m, u), m = s;
1117
+ }
1118
+ else {
1119
+ for (a = 0; a < e.length; s >= 65536 ? a += 2 : a++) {
1120
+ if (s = he(e, a), s === ge)
1121
+ d = !0, b && (y = y || // Foldable line = too long, and not more-indented.
1122
+ a - p - 1 > r && e[p + 1] !== " ", p = a);
1123
+ else if (!we(s))
1124
+ return se;
1125
+ h = h && Nn(s, m, u), m = s;
1126
+ }
1127
+ y = y || b && a - p - 1 > r && e[p + 1] !== " ";
1128
+ }
1129
+ return !d && !y ? h && !t && !l(e) ? pi : o === be ? se : en : i > 9 && di(e) ? se : t ? o === be ? se : en : y ? hi : mi;
1130
+ }
1131
+ function st(e, n, i, r, l) {
1132
+ e.dump = (function() {
1133
+ if (n.length === 0)
1134
+ return e.quotingType === be ? '""' : "''";
1135
+ if (!e.noCompatMode && (Xr.indexOf(n) !== -1 || et.test(n)))
1136
+ return e.quotingType === be ? '"' + n + '"' : "'" + n + "'";
1137
+ var o = e.indent * Math.max(1, i), t = e.lineWidth === -1 ? -1 : Math.max(Math.min(e.lineWidth, 40), e.lineWidth - o), u = r || e.flowLevel > -1 && i >= e.flowLevel;
1138
+ function a(s) {
1139
+ return tt(e, s);
1140
+ }
1141
+ switch (at(
1142
+ n,
1143
+ u,
1144
+ e.indent,
1145
+ t,
1146
+ a,
1147
+ e.quotingType,
1148
+ e.forceQuotes && !r,
1149
+ l
1150
+ )) {
1151
+ case pi:
1152
+ return n;
1153
+ case en:
1154
+ return "'" + n.replace(/'/g, "''") + "'";
1155
+ case mi:
1156
+ return "|" + Mn(n, e.indent) + Dn(On(n, o));
1157
+ case hi:
1158
+ return ">" + Mn(n, e.indent) + Dn(On(ct(n, t), o));
1159
+ case se:
1160
+ return '"' + ft(n) + '"';
1161
+ default:
1162
+ throw new j("impossible error: invalid scalar style");
1163
+ }
1164
+ })();
1165
+ }
1166
+ function Mn(e, n) {
1167
+ var i = di(e) ? String(n) : "", r = e[e.length - 1] === `
1168
+ `, l = r && (e[e.length - 2] === `
1169
+ ` || e === `
1170
+ `), o = l ? "+" : r ? "" : "-";
1171
+ return i + o + `
1172
+ `;
1173
+ }
1174
+ function Dn(e) {
1175
+ return e[e.length - 1] === `
1176
+ ` ? e.slice(0, -1) : e;
1177
+ }
1178
+ function ct(e, n) {
1179
+ for (var i = /(\n+)([^\n]*)/g, r = (function() {
1180
+ var s = e.indexOf(`
1181
+ `);
1182
+ return s = s !== -1 ? s : e.length, i.lastIndex = s, Rn(e.slice(0, s), n);
1183
+ })(), l = e[0] === `
1184
+ ` || e[0] === " ", o, t; t = i.exec(e); ) {
1185
+ var u = t[1], a = t[2];
1186
+ o = a[0] === " ", r += u + (!l && !o && a !== "" ? `
1187
+ ` : "") + Rn(a, n), l = o;
1188
+ }
1189
+ return r;
1190
+ }
1191
+ function Rn(e, n) {
1192
+ if (e === "" || e[0] === " ") return e;
1193
+ for (var i = / [^ ]/g, r, l = 0, o, t = 0, u = 0, a = ""; r = i.exec(e); )
1194
+ u = r.index, u - l > n && (o = t > l ? t : u, a += `
1195
+ ` + e.slice(l, o), l = o + 1), t = u;
1196
+ return a += `
1197
+ `, e.length - l > n && t > l ? a += e.slice(l, t) + `
1198
+ ` + e.slice(t + 1) : a += e.slice(l), a.slice(1);
1199
+ }
1200
+ function ft(e) {
1201
+ for (var n = "", i = 0, r, l = 0; l < e.length; i >= 65536 ? l += 2 : l++)
1202
+ i = he(e, l), r = R[i], !r && we(i) ? (n += e[l], i >= 65536 && (n += e[l + 1])) : n += r || it(i);
1203
+ return n;
1204
+ }
1205
+ function dt(e, n, i) {
1206
+ var r = "", l = e.tag, o, t, u;
1207
+ for (o = 0, t = i.length; o < t; o += 1)
1208
+ u = i[o], e.replacer && (u = e.replacer.call(i, String(o), u)), (W(e, n, u, !1, !1) || typeof u > "u" && W(e, n, null, !1, !1)) && (r !== "" && (r += "," + (e.condenseFlow ? "" : " ")), r += e.dump);
1209
+ e.tag = l, e.dump = "[" + r + "]";
1210
+ }
1211
+ function $n(e, n, i, r) {
1212
+ var l = "", o = e.tag, t, u, a;
1213
+ for (t = 0, u = i.length; t < u; t += 1)
1214
+ a = i[t], e.replacer && (a = e.replacer.call(i, String(t), a)), (W(e, n + 1, a, !0, !0, !1, !0) || typeof a > "u" && W(e, n + 1, null, !0, !0, !1, !0)) && ((!r || l !== "") && (l += Xe(e, n)), e.dump && ge === e.dump.charCodeAt(0) ? l += "-" : l += "- ", l += e.dump);
1215
+ e.tag = o, e.dump = l || "[]";
1216
+ }
1217
+ function pt(e, n, i) {
1218
+ var r = "", l = e.tag, o = Object.keys(i), t, u, a, s, m;
1219
+ for (t = 0, u = o.length; t < u; t += 1)
1220
+ m = "", r !== "" && (m += ", "), e.condenseFlow && (m += '"'), a = o[t], s = i[a], e.replacer && (s = e.replacer.call(i, a, s)), W(e, n, a, !1, !1) && (e.dump.length > 1024 && (m += "? "), m += e.dump + (e.condenseFlow ? '"' : "") + ":" + (e.condenseFlow ? "" : " "), W(e, n, s, !1, !1) && (m += e.dump, r += m));
1221
+ e.tag = l, e.dump = "{" + r + "}";
1222
+ }
1223
+ function mt(e, n, i, r) {
1224
+ var l = "", o = e.tag, t = Object.keys(i), u, a, s, m, d, y;
1225
+ if (e.sortKeys === !0)
1226
+ t.sort();
1227
+ else if (typeof e.sortKeys == "function")
1228
+ t.sort(e.sortKeys);
1229
+ else if (e.sortKeys)
1230
+ throw new j("sortKeys must be a boolean or a function");
1231
+ for (u = 0, a = t.length; u < a; u += 1)
1232
+ y = "", (!r || l !== "") && (y += Xe(e, n)), s = t[u], m = i[s], e.replacer && (m = e.replacer.call(i, s, m)), W(e, n + 1, s, !0, !0, !0) && (d = e.tag !== null && e.tag !== "?" || e.dump && e.dump.length > 1024, d && (e.dump && ge === e.dump.charCodeAt(0) ? y += "?" : y += "? "), y += e.dump, d && (y += Xe(e, n)), W(e, n + 1, m, !0, d) && (e.dump && ge === e.dump.charCodeAt(0) ? y += ":" : y += ": ", y += e.dump, l += y));
1233
+ e.tag = o, e.dump = l || "{}";
1234
+ }
1235
+ function jn(e, n, i) {
1236
+ var r, l, o, t, u, a;
1237
+ for (l = i ? e.explicitTypes : e.implicitTypes, o = 0, t = l.length; o < t; o += 1)
1238
+ if (u = l[o], (u.instanceOf || u.predicate) && (!u.instanceOf || typeof n == "object" && n instanceof u.instanceOf) && (!u.predicate || u.predicate(n))) {
1239
+ if (i ? u.multi && u.representName ? e.tag = u.representName(n) : e.tag = u.tag : e.tag = "?", u.represent) {
1240
+ if (a = e.styleMap[u.tag] || u.defaultStyle, ti.call(u.represent) === "[object Function]")
1241
+ r = u.represent(n, a);
1242
+ else if (oi.call(u.represent, a))
1243
+ r = u.represent[a](n, a);
1244
+ else
1245
+ throw new j("!<" + u.tag + '> tag resolver accepts not "' + a + '" style');
1246
+ e.dump = r;
1247
+ }
1248
+ return !0;
1249
+ }
1250
+ return !1;
1251
+ }
1252
+ function W(e, n, i, r, l, o, t) {
1253
+ e.tag = null, e.dump = i, jn(e, i, !1) || jn(e, i, !0);
1254
+ var u = ti.call(e.dump), a = r, s;
1255
+ r && (r = e.flowLevel < 0 || e.flowLevel > n);
1256
+ var m = u === "[object Object]" || u === "[object Array]", d, y;
1257
+ if (m && (d = e.duplicates.indexOf(i), y = d !== -1), (e.tag !== null && e.tag !== "?" || y || e.indent !== 2 && n > 0) && (l = !1), y && e.usedDuplicates[d])
1258
+ e.dump = "*ref_" + d;
1259
+ else {
1260
+ if (m && y && !e.usedDuplicates[d] && (e.usedDuplicates[d] = !0), u === "[object Object]")
1261
+ r && Object.keys(e.dump).length !== 0 ? (mt(e, n, e.dump, l), y && (e.dump = "&ref_" + d + e.dump)) : (pt(e, n, e.dump), y && (e.dump = "&ref_" + d + " " + e.dump));
1262
+ else if (u === "[object Array]")
1263
+ r && e.dump.length !== 0 ? (e.noArrayIndent && !t && n > 0 ? $n(e, n - 1, e.dump, l) : $n(e, n, e.dump, l), y && (e.dump = "&ref_" + d + e.dump)) : (dt(e, n, e.dump), y && (e.dump = "&ref_" + d + " " + e.dump));
1264
+ else if (u === "[object String]")
1265
+ e.tag !== "?" && st(e, e.dump, n, o, a);
1266
+ else {
1267
+ if (u === "[object Undefined]")
1268
+ return !1;
1269
+ if (e.skipInvalid) return !1;
1270
+ throw new j("unacceptable kind of an object to dump " + u);
1271
+ }
1272
+ e.tag !== null && e.tag !== "?" && (s = encodeURI(
1273
+ e.tag[0] === "!" ? e.tag.slice(1) : e.tag
1274
+ ).replace(/!/g, "%21"), e.tag[0] === "!" ? s = "!" + s : s.slice(0, 18) === "tag:yaml.org,2002:" ? s = "!!" + s.slice(18) : s = "!<" + s + ">", e.dump = s + " " + e.dump);
1275
+ }
1276
+ return !0;
1277
+ }
1278
+ function ht(e, n) {
1279
+ var i = [], r = [], l, o;
1280
+ for (nn(e, i, r), l = 0, o = r.length; l < o; l += 1)
1281
+ n.duplicates.push(i[r[l]]);
1282
+ n.usedDuplicates = new Array(o);
1283
+ }
1284
+ function nn(e, n, i) {
1285
+ var r, l, o;
1286
+ if (e !== null && typeof e == "object")
1287
+ if (l = n.indexOf(e), l !== -1)
1288
+ i.indexOf(l) === -1 && i.push(l);
1289
+ else if (n.push(e), Array.isArray(e))
1290
+ for (l = 0, o = e.length; l < o; l += 1)
1291
+ nn(e[l], n, i);
1292
+ else
1293
+ for (r = Object.keys(e), l = 0, o = r.length; l < o; l += 1)
1294
+ nn(e[r[l]], n, i);
1295
+ }
1296
+ function vt(e, n) {
1297
+ n = n || {};
1298
+ var i = new rt(n);
1299
+ i.noRefs || ht(e, i);
1300
+ var r = e;
1301
+ return i.replacer && (r = i.replacer.call({ "": r }, "", r)), W(i, 0, r, !0, !0) ? i.dump + `
1302
+ ` : "";
1303
+ }
1304
+ var xt = vt, yt = {
1305
+ dump: xt
1306
+ }, vi = Rr.load, xi = yt.dump;
1307
+ const gt = {}, bt = {
1308
+ xmlns: "http://www.w3.org/2000/svg",
1309
+ width: "24",
1310
+ height: "24",
1311
+ viewBox: "0 0 24 24",
1312
+ fill: "none",
1313
+ stroke: "currentColor",
1314
+ "stroke-width": "2",
1315
+ "stroke-linecap": "round",
1316
+ "stroke-linejoin": "round",
1317
+ class: "lucide lucide-layers"
1318
+ };
1319
+ function wt(e, n) {
1320
+ return C(), M("svg", bt, [...n[0] || (n[0] = [
1321
+ v("path", { d: "m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" }, null, -1),
1322
+ v("path", { d: "m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65" }, null, -1),
1323
+ v("path", { d: "m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" }, null, -1)
1324
+ ])]);
1325
+ }
1326
+ const _t = /* @__PURE__ */ Re(gt, [["render", wt]]), kt = {}, At = {
1327
+ xmlns: "http://www.w3.org/2000/svg",
1328
+ width: "24",
1329
+ height: "24",
1330
+ viewBox: "0 0 24 24",
1331
+ fill: "none",
1332
+ stroke: "currentColor",
1333
+ "stroke-width": "2",
1334
+ "stroke-linecap": "round",
1335
+ "stroke-linejoin": "round",
1336
+ class: "lucide lucide-map"
1337
+ };
1338
+ function Ct(e, n) {
1339
+ return C(), M("svg", At, [...n[0] || (n[0] = [
1340
+ v("path", { d: "M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z" }, null, -1),
1341
+ v("path", { d: "M15 5.764v15" }, null, -1),
1342
+ v("path", { d: "M9 3.236v15" }, null, -1)
1343
+ ])]);
1344
+ }
1345
+ const St = /* @__PURE__ */ Re(kt, [["render", Ct]]), Ft = {}, Tt = {
1346
+ xmlns: "http://www.w3.org/2000/svg",
1347
+ width: "24",
1348
+ height: "24",
1349
+ viewBox: "0 0 24 24",
1350
+ fill: "none",
1351
+ stroke: "currentColor",
1352
+ "stroke-width": "2",
1353
+ "stroke-linecap": "round",
1354
+ "stroke-linejoin": "round",
1355
+ class: "lucide lucide-filter"
1356
+ };
1357
+ function Et(e, n) {
1358
+ return C(), M("svg", Tt, [...n[0] || (n[0] = [
1359
+ v("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" }, null, -1)
1360
+ ])]);
1361
+ }
1362
+ const It = /* @__PURE__ */ Re(Ft, [["render", Et]]), Ot = { class: "flex flex-col flex-1 overflow-hidden" }, Lt = { class: "flex justify-end gap-2" }, Nt = ["href"], Mt = { class: "flex flex-col flex-1 overflow-hidden" }, Dt = { class: "bg-white rounded-xl border border-gray-200 shadow-sm overflow-hidden mt-3 flex flex-col flex-1" }, Rt = { class: "relative bg-gradient-to-br from-slate-50 to-white flex-1" }, $t = /* @__PURE__ */ ee({
1363
+ __name: "vs-tab-style",
1364
+ props: {
1365
+ token: {},
1366
+ styleYaml: {},
1367
+ styleText: {}
1368
+ },
1369
+ emits: ["update:style-yaml", "update:style-text", "update"],
1370
+ setup(e, { emit: n }) {
1371
+ const i = e, r = n, l = S("");
1372
+ I(
1373
+ () => i.styleText,
1374
+ (a) => {
1375
+ const s = a ?? "";
1376
+ l.value !== s && (l.value = s);
1377
+ },
1378
+ { immediate: !0 }
1379
+ ), I(l, async (a) => {
1380
+ var m, d;
1381
+ const s = a ?? "";
1382
+ i.styleText !== s && r("update:style-text", s);
1383
+ try {
1384
+ const y = a ? vi(a) : null;
1385
+ if ((m = y == null ? void 0 : y.colorAttr) != null && m.length && ((d = i.styleYaml) == null ? void 0 : d.colorAttr) !== y.colorAttr) {
1386
+ const b = await o(y.colorAttr);
1387
+ y.colors = b.reduce(
1388
+ (h, x, _) => ({
1389
+ ...h,
1390
+ [x.id.toString()]: t[_]
1391
+ }),
1392
+ {}
1393
+ );
1394
+ const p = xi(y);
1395
+ p !== l.value && (l.value = p);
1396
+ }
1397
+ JSON.stringify(y) !== JSON.stringify(i.styleYaml) && r(
1398
+ "update:style-yaml",
1399
+ y && typeof y == "object" ? y : null
1400
+ );
1401
+ } catch {
1402
+ i.styleYaml !== null && r("update:style-yaml", null);
1403
+ }
1404
+ });
1405
+ async function o(a) {
1406
+ return (await fetch(`/api/gis-service/${i.token}/${a}`).then(
1407
+ (m) => m.json()
1408
+ )).rows;
1409
+ }
1410
+ const t = [
1411
+ "#8dd3c7",
1412
+ "#ffffb3",
1413
+ "#bebada",
1414
+ "#fb8072",
1415
+ "#80b1d3",
1416
+ "#fdb462",
1417
+ "#b3de69",
1418
+ "#fccde5",
1419
+ "#d9d9d9",
1420
+ "#bc80bd"
1421
+ ], u = async () => {
1422
+ const a = i.styleYaml ? JSON.stringify(i.styleYaml) : i.styleText ? i.styleText : "null";
1423
+ try {
1424
+ await fetch(`/api/gis-service/${i.token}`, {
1425
+ method: "PUT",
1426
+ headers: { "Content-Type": "application/json" },
1427
+ body: JSON.stringify({ style: a })
1428
+ }), r("update"), Q({ type: "success", title: "Успіх", message: "Стилі збережено" });
1429
+ } catch (s) {
1430
+ Q({
1431
+ type: "error",
1432
+ title: "Помилка",
1433
+ message: "Не вдалося зберегти стилі"
1434
+ }), console.log(s);
1435
+ }
1436
+ };
1437
+ return (a, s) => (C(), M("div", Ot, [
1438
+ v("div", Lt, [
1439
+ v("a", {
1440
+ target: "_blank",
1441
+ href: "/api/gis-service/" + i.token + "/col",
1442
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1443
+ }, " Атрибути ", 8, Nt),
1444
+ v("button", {
1445
+ onClick: u,
1446
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1447
+ }, [...s[1] || (s[1] = [
1448
+ v("svg", {
1449
+ xmlns: "http://www.w3.org/2000/svg",
1450
+ width: "24",
1451
+ height: "24",
1452
+ viewBox: "0 0 24 24",
1453
+ fill: "none",
1454
+ stroke: "currentColor",
1455
+ "stroke-width": "2",
1456
+ "stroke-linecap": "round",
1457
+ "stroke-linejoin": "round",
1458
+ class: "lucide lucide-save h-3 w-3 mr-1"
1459
+ }, [
1460
+ v("path", { d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z" }),
1461
+ v("path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7" }),
1462
+ v("path", { d: "M7 3v4a1 1 0 0 0 1 1h7" })
1463
+ ], -1),
1464
+ Ti(" Зберегти стилі ", -1)
1465
+ ])])
1466
+ ]),
1467
+ v("div", Mt, [
1468
+ v("div", Dt, [
1469
+ s[2] || (s[2] = v("div", { class: "bg-gradient-to-r from-gray-50 to-gray-100 px-4 py-2 border-b border-gray-200 flex items-center justify-between" }, [
1470
+ v("div", { class: "text-xs text-gray-400" }, "YAML")
1471
+ ], -1)),
1472
+ v("div", Rt, [
1473
+ $(qn, {
1474
+ modelValue: l.value,
1475
+ "onUpdate:modelValue": s[0] || (s[0] = (m) => l.value = m),
1476
+ language: "yaml",
1477
+ theme: "vs-light"
1478
+ }, null, 8, ["modelValue"])
1479
+ ])
1480
+ ])
1481
+ ])
1482
+ ]));
1483
+ }
1484
+ }), jt = { class: "flex flex-col flex-1 min-h-0" }, Bt = { class: "flex flex-col flex-1 min-h-0" }, Ut = /* @__PURE__ */ ee({
1485
+ __name: "vs-tab-popup",
1486
+ props: {
1487
+ token: {},
1488
+ fields: {},
1489
+ columns: {}
1490
+ },
1491
+ emits: ["update:columns", "save"],
1492
+ setup(e, { emit: n }) {
1493
+ const i = e, r = n, l = S(i.columns || []);
1494
+ I(
1495
+ () => i.columns,
1496
+ (p) => l.value = p || [],
1497
+ { immediate: !0 }
1498
+ ), I(l, (p) => {
1499
+ const h = Ie(i.token);
1500
+ h && (h.popup = p), r("update:columns", p);
1501
+ });
1502
+ const o = S("list"), t = S(!1), u = S([]), a = [
1503
+ { key: "name", label: "Назва", type: "main" }
1504
+ // { key: "ua", label: "UA" },
1505
+ // { key: "format", label: "Format" },
1506
+ // { key: "meta", label: "Meta" },
1507
+ ], s = {
1508
+ name: { type: "text", label: "Назва", disabled: !0, validators: ["required"] },
1509
+ label: { type: "text", label: "Найменування", validators: ["required"] },
1510
+ // format: { type: "text", label: "Format", disabled: true, hidden: true },
1511
+ meta: {
1512
+ type: "radio",
1513
+ label: "Meta",
1514
+ mode: "combo",
1515
+ options: [
1516
+ { text: "Заголовок", id: "title" },
1517
+ { text: "Властивість", id: "feature" },
1518
+ { text: "Бейдж", id: "badge" }
1519
+ ]
1520
+ },
1521
+ data: {
1522
+ type: "autocomplete",
1523
+ label: "Класифікатор",
1524
+ data: "admin.cls.name"
1525
+ // conditions: ["meta", "in", ["badge", "select", "tags"]],
1526
+ }
1527
+ };
1528
+ function m() {
1529
+ u.value = l.value.map((p) => p.name || p.id), t.value = !0;
1530
+ }
1531
+ function d() {
1532
+ var _;
1533
+ const p = [...l.value], h = ((_ = i.fields) == null ? void 0 : _.filter((g) => u.value.includes(g.name))) || [], x = rn(p, h, {
1534
+ selectedKeys: u.value,
1535
+ resolveKey: (g) => xe(g)
1536
+ });
1537
+ l.value = x, t.value = !1, u.value = [];
1538
+ }
1539
+ function y() {
1540
+ t.value = !1, u.value = [];
1541
+ }
1542
+ function b() {
1543
+ let p = [];
1544
+ o.value === "all" ? p = i.fields || [] : o.value === "none" ? p = [] : p = l.value, p.filter((h) => !h.label).forEach((h) => h.label = h.ua), r("save", p);
1545
+ }
1546
+ return (p, h) => (C(), M("div", jt, [
1547
+ v("div", { class: "flex justify-between mb-3 gap-2" }, [
1548
+ v("button", {
1549
+ onClick: m,
1550
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1551
+ }, " Імпорт "),
1552
+ v("button", {
1553
+ onClick: b,
1554
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1555
+ }, " Зберегти попап ")
1556
+ ]),
1557
+ v("div", Bt, [
1558
+ o.value === "list" ? (C(), N($e, {
1559
+ key: 0,
1560
+ modelValue: l.value,
1561
+ "onUpdate:modelValue": h[0] || (h[0] = (x) => l.value = x),
1562
+ "columns-scheme": a,
1563
+ "form-scheme": s,
1564
+ "main-col-width": "250px",
1565
+ "add-button": !1
1566
+ }, null, 8, ["modelValue"])) : H("", !0)
1567
+ ]),
1568
+ $(ln, {
1569
+ visible: t.value,
1570
+ "onUpdate:visible": h[1] || (h[1] = (x) => t.value = x),
1571
+ selection: u.value,
1572
+ "onUpdate:selection": h[2] || (h[2] = (x) => u.value = x),
1573
+ fields: e.fields,
1574
+ title: "Імпорт полів",
1575
+ "id-prefix": "import-popup",
1576
+ onConfirm: d,
1577
+ onCancel: y
1578
+ }, null, 8, ["visible", "selection", "fields"])
1579
+ ]));
1580
+ }
1581
+ }), Pt = { class: "flex flex-col flex-1 min-h-0" }, Yt = { class: "flex justify-between mb-3 gap-2" }, Vt = { class: "p-4 space-y-4 text-sm" }, qt = { class: "space-y-1" }, Ht = { class: "space-y-1" }, Kt = { class: "flex items-center gap-3" }, zt = { class: "flex justify-end gap-2 p-4 border-t" }, Gt = /* @__PURE__ */ ee({
1582
+ __name: "vs-tab-legend",
1583
+ props: {
1584
+ mapInfo: {},
1585
+ token: {},
1586
+ columns: {}
1587
+ },
1588
+ emits: ["update:columns", "save"],
1589
+ setup(e, { emit: n }) {
1590
+ const i = e, r = n, l = S(i.columns || []);
1591
+ I(
1592
+ () => i.columns,
1593
+ (p) => {
1594
+ l.value = p || [];
1595
+ }
1596
+ ), I(l, (p) => {
1597
+ r("update:columns", p);
1598
+ });
1599
+ const o = S(!1), t = S({
1600
+ name: "",
1601
+ color: "#2E86DE"
1602
+ }), u = Ei(
1603
+ () => import("@opengis/core").then((p) => p.VsModal)
1604
+ ), a = [
1605
+ { key: "name", label: "Назва" },
1606
+ { key: "color", label: "Колір", type: "color" }
1607
+ ], s = {
1608
+ name: { type: "text", label: "Назва", validators: ["required"] },
1609
+ color: { type: "color", label: "Колір", validators: ["required"] }
1610
+ };
1611
+ function m(p) {
1612
+ p && d(), o.value = p;
1613
+ }
1614
+ function d() {
1615
+ t.value = { name: "", color: "#2E86DE" };
1616
+ }
1617
+ function y() {
1618
+ var _, g;
1619
+ const p = (_ = t.value.name) == null ? void 0 : _.trim();
1620
+ if (!p) {
1621
+ Q({
1622
+ type: "warning",
1623
+ title: "Перевірка",
1624
+ message: "Вкажіть назву елементу легенди"
1625
+ });
1626
+ return;
1627
+ }
1628
+ const h = ((g = t.value.color) == null ? void 0 : g.trim()) || "#2E86DE";
1629
+ if (l.value.some(
1630
+ (K) => xe(K) === xe({ name: p })
1631
+ )) {
1632
+ Q({
1633
+ type: "warning",
1634
+ title: "Дубль",
1635
+ message: "Такий елемент легенди вже існує"
1636
+ });
1637
+ return;
1638
+ }
1639
+ l.value = [...l.value, { name: p, color: h }], d(), o.value = !1;
1640
+ }
1641
+ function b() {
1642
+ r("save", l.value);
1643
+ }
1644
+ return (p, h) => (C(), M("div", Pt, [
1645
+ v("div", Yt, [
1646
+ v("button", {
1647
+ onClick: h[0] || (h[0] = (x) => o.value = !0),
1648
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1649
+ }, " Додати "),
1650
+ v("button", {
1651
+ onClick: b,
1652
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1653
+ }, " Зберегти легенду ")
1654
+ ]),
1655
+ $($e, {
1656
+ modelValue: l.value,
1657
+ "onUpdate:modelValue": h[1] || (h[1] = (x) => l.value = x),
1658
+ "columns-scheme": a,
1659
+ "form-scheme": s,
1660
+ "main-col-width": "250px",
1661
+ "add-button": !1
1662
+ }, null, 8, ["modelValue"]),
1663
+ $(Ee(u), {
1664
+ teleport: "#modal",
1665
+ visible: o.value,
1666
+ title: "Новий елемент легенди",
1667
+ "onUpdate:visible": m
1668
+ }, {
1669
+ footer: We(() => [
1670
+ v("div", zt, [
1671
+ v("button", {
1672
+ type: "button",
1673
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed",
1674
+ onClick: h[5] || (h[5] = (x) => m(!1))
1675
+ }, " Скасувати "),
1676
+ v("button", {
1677
+ type: "button",
1678
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed",
1679
+ onClick: y
1680
+ }, " Додати ")
1681
+ ])
1682
+ ]),
1683
+ default: We(() => [
1684
+ v("div", Vt, [
1685
+ v("div", qt, [
1686
+ h[6] || (h[6] = v("label", { class: "block text-xs font-medium text-gray-500 uppercase tracking-wide" }, " Назва ", -1)),
1687
+ He(v("input", {
1688
+ "onUpdate:modelValue": h[2] || (h[2] = (x) => t.value.name = x),
1689
+ type: "text",
1690
+ class: "w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200",
1691
+ placeholder: "Наприклад, Житлова зона"
1692
+ }, null, 512), [
1693
+ [Ke, t.value.name]
1694
+ ])
1695
+ ]),
1696
+ v("div", Ht, [
1697
+ h[7] || (h[7] = v("label", { class: "block text-xs font-medium text-gray-500 uppercase tracking-wide" }, " Колір ", -1)),
1698
+ v("div", Kt, [
1699
+ He(v("input", {
1700
+ "onUpdate:modelValue": h[3] || (h[3] = (x) => t.value.color = x),
1701
+ type: "color",
1702
+ class: "h-10 w-16 rounded border border-gray-300"
1703
+ }, null, 512), [
1704
+ [Ke, t.value.color]
1705
+ ]),
1706
+ He(v("input", {
1707
+ "onUpdate:modelValue": h[4] || (h[4] = (x) => t.value.color = x),
1708
+ type: "text",
1709
+ class: "flex-1 rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200",
1710
+ placeholder: "#FFFFFF"
1711
+ }, null, 512), [
1712
+ [Ke, t.value.color]
1713
+ ])
1714
+ ])
1715
+ ])
1716
+ ])
1717
+ ]),
1718
+ _: 1
1719
+ }, 8, ["visible"])
1720
+ ]));
1721
+ }
1722
+ }), Qt = { class: "space-y-3 bg-gradient-to-br from-sky-50 to-blue-50 p-4 rounded-xl border border-sky-100 shadow-sm" }, Wt = ["onClick"], Zt = ["aria-checked", "value"], Jt = { key: 0 }, Xt = /* @__PURE__ */ ee({
1723
+ __name: "view-mode-toggle",
1724
+ props: {
1725
+ modelValue: {},
1726
+ options: {},
1727
+ showHtml: { type: Boolean }
1728
+ },
1729
+ emits: ["update:modelValue"],
1730
+ setup(e, { emit: n }) {
1731
+ const i = e, r = n, l = (t) => r("update:modelValue", t), o = i.options || [
1732
+ { value: "all", label: "All" },
1733
+ { value: "list", label: "List" },
1734
+ { value: "none", label: "None" }
1735
+ ];
1736
+ return (t, u) => (C(), M("div", Qt, [
1737
+ u[1] || (u[1] = v("label", { class: "text-sm font-medium text-gray-600" }, "Режим відображення", -1)),
1738
+ v("div", {
1739
+ role: "radiogroup",
1740
+ class: ve(["grid gap-2", `grid-cols-${Ee(o).length}`])
1741
+ }, [
1742
+ (C(!0), M(Un, null, Pn(Ee(o), (a) => (C(), M("div", {
1743
+ key: a.value,
1744
+ onClick: (s) => l(a.value),
1745
+ class: ve(["flex items-center justify-center space-x-2 rounded-lg p-2 border transition-all duration-300 cursor-pointer", [
1746
+ e.modelValue === a.value ? "bg-gradient-to-r from-sky-200 to-blue-200 border-transparent shadow-sm" : "bg-white border-gray-100 hover:border-sky-200 hover:shadow-sm"
1747
+ ]])
1748
+ }, [
1749
+ v("button", {
1750
+ type: "button",
1751
+ role: "radio",
1752
+ "aria-checked": e.modelValue === a.value,
1753
+ value: a.value,
1754
+ class: "aspect-square rounded-full border border-primary h-4 w-4 flex items-center justify-center text-sky-500"
1755
+ }, [
1756
+ e.modelValue === a.value ? (C(), M("span", Jt, [...u[0] || (u[0] = [
1757
+ v("svg", {
1758
+ xmlns: "http://www.w3.org/2000/svg",
1759
+ viewBox: "0 0 24 24",
1760
+ fill: "none",
1761
+ stroke: "currentColor",
1762
+ "stroke-width": "2",
1763
+ "stroke-linecap": "round",
1764
+ "stroke-linejoin": "round",
1765
+ class: "lucide lucide-circle h-2.5 w-2.5 fill-current text-current"
1766
+ }, [
1767
+ v("circle", {
1768
+ cx: "12",
1769
+ cy: "12",
1770
+ r: "10"
1771
+ })
1772
+ ], -1)
1773
+ ])])) : H("", !0)
1774
+ ], 8, Zt),
1775
+ v("label", {
1776
+ class: ve(["text-xs font-medium cursor-pointer", e.modelValue === a.value ? "text-gray-700" : "text-gray-600"])
1777
+ }, le(a.label), 3)
1778
+ ], 10, Wt))), 128))
1779
+ ], 2)
1780
+ ]));
1781
+ }
1782
+ }), eo = { class: "flex flex-col flex-1 min-h-0" }, no = { class: "flex flex-col flex-1 min-h-0" }, io = /* @__PURE__ */ ee({
1783
+ __name: "vs-tab-card",
1784
+ props: {
1785
+ fields: {},
1786
+ columns: {},
1787
+ viewMode: {},
1788
+ html: {}
1789
+ },
1790
+ emits: ["update:columns", "save"],
1791
+ setup(e, { emit: n }) {
1792
+ const i = e, r = n, l = S(i.columns || []);
1793
+ I(
1794
+ () => i.columns,
1795
+ (x) => l.value = x || [],
1796
+ { immediate: !0 }
1797
+ ), I(l, (x) => r("update:columns", x));
1798
+ const o = S(i.viewMode ?? "list");
1799
+ I(
1800
+ () => i.viewMode,
1801
+ (x) => {
1802
+ x && x !== o.value && (o.value = x);
1803
+ }
1804
+ );
1805
+ const t = S(i.html ?? "");
1806
+ I(
1807
+ () => i.html,
1808
+ (x) => {
1809
+ typeof x == "string" && x !== t.value && (t.value = x);
1810
+ },
1811
+ { immediate: !0 }
1812
+ );
1813
+ const u = S(!1), a = S([]), s = [
1814
+ { key: "name", label: "Name", type: "main" }
1815
+ // { key: "ua", label: "UA" },
1816
+ // { key: 'format', label: 'Format' },
1817
+ //{ key: 'is_admin', label: 'Admin', options: [{ text: "Так", id: true }, { text: "Ні", id: false }]},
1818
+ /* { key: "meta", label: "Мета" }, */
1819
+ ], m = {
1820
+ name: {
1821
+ type: "text",
1822
+ label: "Name",
1823
+ validators: ["required"],
1824
+ disabled: !0
1825
+ },
1826
+ label: { type: "text", label: "Label", validators: ["required"] },
1827
+ format: {
1828
+ type: "radio",
1829
+ label: "Format",
1830
+ mode: "inline",
1831
+ validators: ["required"],
1832
+ options: [
1833
+ { text: "Text", id: "text" },
1834
+ { text: "Number", id: "number" },
1835
+ { text: "Date", id: "date" },
1836
+ { text: "File", id: "file" },
1837
+ { text: "Select", id: "select" },
1838
+ { text: "Tags", id: "tags" }
1839
+ ]
1840
+ },
1841
+ is_admin: { type: "Switcher", label: "Тільки для адміністративної частини" },
1842
+ data: {
1843
+ type: "select",
1844
+ label: "Класифікатор",
1845
+ data: "admin.cls.name"
1846
+ // conditions: ['format', 'in', ['select', 'badge', 'tags']],
1847
+ }
1848
+ /* meta: {
1849
+ type: "combobox",
1850
+ label: "Мета",
1851
+ validators: ["required"],
1852
+ mode: "combo",
1853
+ options: [
1854
+ { text: "Title", id: "title" },
1855
+ { text: "Features", id: "features" },
1856
+ { text: "Status", id: "status" },
1857
+ { text: "Tags", id: "tags" },
1858
+ { text: "Category", id: "category" },
1859
+ ],
1860
+ }, */
1861
+ };
1862
+ function d() {
1863
+ a.value = o.value === "html" ? [] : l.value.map((x) => x.name || x.id), u.value = !0;
1864
+ }
1865
+ function y() {
1866
+ var K;
1867
+ const x = [...l.value], _ = ((K = i.fields) == null ? void 0 : K.filter((q) => a.value.includes(q.name)).map((q) => {
1868
+ const { type: pe, format: te, ...U } = q;
1869
+ return {
1870
+ ...U,
1871
+ format: te ?? pe ?? "text"
1872
+ };
1873
+ })) || [], g = rn(x, _, {
1874
+ selectedKeys: a.value,
1875
+ resolveKey: (q) => xe(q)
1876
+ });
1877
+ if (l.value = g, o.value === "html" && _.length) {
1878
+ const q = _.map((U) => {
1879
+ const me = U.label ?? "", oe = U.name ?? U.id ?? "";
1880
+ return `<dd>${me}</dd>
1881
+ <dt>{{ ${oe} }}</dt>`;
1882
+ }).join(`
1883
+ `), te = (t.value ?? "").trimEnd();
1884
+ t.value = te ? `${te}
1885
+ ${q}` : q;
1886
+ }
1887
+ u.value = !1, a.value = [];
1888
+ }
1889
+ function b() {
1890
+ u.value = !1, a.value = [];
1891
+ }
1892
+ function p() {
1893
+ const x = o.value === "html" ? "html" : "list", _ = {
1894
+ card_mode: x
1895
+ };
1896
+ x === "html" ? _.html = t.value : x === "list" && (_.list = l.value), r("save", "card", _);
1897
+ }
1898
+ const h = [
1899
+ { value: "all", label: "Всі" },
1900
+ { value: "list", label: "Список" },
1901
+ { value: "none", label: "Жодне" },
1902
+ { value: "html", label: "HTML" }
1903
+ ];
1904
+ return (x, _) => (C(), M("div", eo, [
1905
+ v("div", { class: "flex justify-between mb-3 gap-2" }, [
1906
+ v("button", {
1907
+ onClick: d,
1908
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1909
+ }, " Імпорт "),
1910
+ v("button", {
1911
+ onClick: p,
1912
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
1913
+ }, " Зберегти ")
1914
+ ]),
1915
+ $(Xt, {
1916
+ modelValue: o.value,
1917
+ "onUpdate:modelValue": _[0] || (_[0] = (g) => o.value = g),
1918
+ options: h
1919
+ }, null, 8, ["modelValue"]),
1920
+ v("div", no, [
1921
+ o.value === "list" ? (C(), N($e, {
1922
+ key: 0,
1923
+ modelValue: l.value,
1924
+ "onUpdate:modelValue": _[1] || (_[1] = (g) => l.value = g),
1925
+ "columns-scheme": s,
1926
+ "form-scheme": m,
1927
+ "main-col-width": "250px",
1928
+ "add-button": !1
1929
+ }, null, 8, ["modelValue"])) : o.value === "html" ? (C(), N(qn, {
1930
+ key: 1,
1931
+ modelValue: t.value,
1932
+ "onUpdate:modelValue": _[2] || (_[2] = (g) => t.value = g),
1933
+ language: "html",
1934
+ theme: "vs-light",
1935
+ class: "flex-1 min-h-0"
1936
+ }, null, 8, ["modelValue"])) : H("", !0)
1937
+ ]),
1938
+ $(ln, {
1939
+ visible: u.value,
1940
+ "onUpdate:visible": _[3] || (_[3] = (g) => u.value = g),
1941
+ selection: a.value,
1942
+ "onUpdate:selection": _[4] || (_[4] = (g) => a.value = g),
1943
+ fields: e.fields,
1944
+ title: "Імпорт полів для картки",
1945
+ "id-prefix": "import-card",
1946
+ onConfirm: y,
1947
+ onCancel: b
1948
+ }, null, 8, ["visible", "selection", "fields"])
1949
+ ]));
1950
+ }
1951
+ }), lo = { class: "flex flex-col flex-1 min-h-0" }, ro = /* @__PURE__ */ ee({
1952
+ __name: "vs-tab-filter",
1953
+ props: {
1954
+ fields: {},
1955
+ columns: {}
1956
+ },
1957
+ emits: ["update:columns", "save"],
1958
+ setup(e, { emit: n }) {
1959
+ const i = e, r = n;
1960
+ console.log(i.columns);
1961
+ const l = S(i.columns || []);
1962
+ I(
1963
+ () => i.columns,
1964
+ (p) => l.value = p || [],
1965
+ { immediate: !0 }
1966
+ ), I(l, (p) => r("update:columns", p), { deep: !0, immediate: !0 });
1967
+ const o = S("list"), t = S(!1), u = S([]), a = [
1968
+ { key: "id", label: "Name" },
1969
+ { key: "label", label: "UA" }
1970
+ // { key: "type", label: "Тип" },
1971
+ ], s = {
1972
+ name: { type: "text", label: "Name", disabled: !0, validators: ["required"] },
1973
+ label: { type: "text", label: "UA", validators: ["required"] },
1974
+ type: {
1975
+ type: "radio",
1976
+ label: "Тип",
1977
+ position: "horizontal",
1978
+ validators: ["required"],
1979
+ options: [
1980
+ { text: "Check", id: "check" },
1981
+ { text: "Range", id: "range" },
1982
+ { text: "Date", id: "date" },
1983
+ { text: "Text", id: "text" },
1984
+ { text: "Select", id: "autocomplete" }
1985
+ ]
1986
+ },
1987
+ hidden: {
1988
+ label: "Приховати",
1989
+ type: "Switcher"
1990
+ },
1991
+ data: {
1992
+ type: "select",
1993
+ label: "Класифікатор",
1994
+ data: "admin.cls.name",
1995
+ conditions: ["type", "in", ["autocomplete", "select", "check"]],
1996
+ validators: ["required"]
1997
+ }
1998
+ };
1999
+ function m() {
2000
+ u.value = l.value.map((p) => p.name || p.id), t.value = !0;
2001
+ }
2002
+ function d() {
2003
+ var _;
2004
+ const p = [...l.value], h = ((_ = i.fields) == null ? void 0 : _.filter((g) => u.value.includes(g.name))) || [], x = rn(p, h, {
2005
+ selectedKeys: u.value,
2006
+ resolveKey: (g) => xe(g)
2007
+ });
2008
+ l.value = x, t.value = !1, u.value = [];
2009
+ }
2010
+ function y() {
2011
+ t.value = !1, u.value = [];
2012
+ }
2013
+ function b() {
2014
+ let p = [];
2015
+ o.value === "all" ? p = i.fields || [] : o.value === "none" ? p = [] : p = l.value, r("save", p);
2016
+ }
2017
+ return (p, h) => (C(), M("div", lo, [
2018
+ v("div", { class: "flex justify-between mb-3 gap-2" }, [
2019
+ v("button", {
2020
+ onClick: m,
2021
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
2022
+ }, " Імпорт "),
2023
+ v("button", {
2024
+ onClick: b,
2025
+ class: "inline-flex items-center justify-center gap-1 px-3 py-1.5 rounded-md bg-sky-100 hover:bg-sky-200 text-sky-700 font-medium text-sm transition disabled:opacity-70 disabled:cursor-not-allowed"
2026
+ }, " Зберегти фільтр ")
2027
+ ]),
2028
+ o.value === "list" ? (C(), N($e, {
2029
+ key: 0,
2030
+ modelValue: l.value,
2031
+ "onUpdate:modelValue": h[0] || (h[0] = (x) => l.value = x),
2032
+ "columns-scheme": a,
2033
+ "form-scheme": s,
2034
+ "main-col-width": "250px",
2035
+ "add-button": !1
2036
+ }, null, 8, ["modelValue"])) : H("", !0),
2037
+ $(ln, {
2038
+ visible: t.value,
2039
+ "onUpdate:visible": h[1] || (h[1] = (x) => t.value = x),
2040
+ selection: u.value,
2041
+ "onUpdate:selection": h[2] || (h[2] = (x) => u.value = x),
2042
+ fields: e.fields,
2043
+ title: "Імпорт полів",
2044
+ "id-prefix": "import-filter",
2045
+ onConfirm: d,
2046
+ onCancel: y
2047
+ }, null, 8, ["visible", "selection", "fields"])
2048
+ ]));
2049
+ }
2050
+ }), to = /* @__PURE__ */ ee({
2051
+ __name: "MapDataLayer",
2052
+ props: {
2053
+ id: {},
2054
+ layer: {},
2055
+ styleSpec: {},
2056
+ autoCenter: { type: [Boolean, null] }
2057
+ },
2058
+ setup(e, { expose: n }) {
2059
+ var p, h, x, _;
2060
+ const { map: i, flyTo: r, setZoom: l } = Di(), o = ((h = (p = Yn()) == null ? void 0 : p.appContext.config.globalProperties) == null ? void 0 : h.$settings) || null, t = e, u = t.id;
2061
+ String(t.id);
2062
+ const a = `${location.origin}/api/vtile/${t.id}/ua/{z}/{x}/{y}.vmt?all=1`, s = Ie(u, {
2063
+ source: {
2064
+ type: "vector",
2065
+ tiles: [a],
2066
+ minzoom: 0,
2067
+ maxzoom: 14
2068
+ },
2069
+ popup: t.layer.popup,
2070
+ layer: {
2071
+ // id: layerId,
2072
+ // source: sourceId,
2073
+ // 'source-layer': props.id,
2074
+ style: (x = t.layer) == null ? void 0 : x.style
2075
+ /* paint: {
2076
+ 'circle-radius': 6,
2077
+ 'circle-color': 'red',
2078
+ } */
2079
+ }
2080
+ });
2081
+ n({ layerHandle: s }), (t.autoCenter ?? !0) && r({ center: t.layer.center || ((_ = o == null ? void 0 : o.map) == null ? void 0 : _.center) || [30, 50], animate: !1 });
2082
+ let m = null;
2083
+ function d() {
2084
+ if (!(s != null && s.setTiles)) return;
2085
+ const g = a.includes("?") ? "&" : "?", K = `${a}${g}_=${Date.now()}`;
2086
+ s.setTiles([K]);
2087
+ }
2088
+ function y() {
2089
+ m && clearTimeout(m), m = setTimeout(() => {
2090
+ m = null, b().catch((g) => console.error("Failed to update map layer", g));
2091
+ }, 300);
2092
+ }
2093
+ async function b() {
2094
+ i.value && (d(), s.setStyle(t.styleSpec ?? null));
2095
+ }
2096
+ return I(() => t.styleSpec, y, { deep: !0 }), Vn(() => {
2097
+ s.remove();
2098
+ }), (g, K) => null;
2099
+ }
2100
+ }), oo = { class: "flex h-full bg-gradient-to-br from-slate-50 to-white" }, uo = { class: "flex-1 relative overflow-hidden" }, ao = { class: "absolute top-0 left-0 w-full z-20" }, so = { class: "px-4 sm:px-6 py-4 border-b border-gray-200 bg-white shadow-sm" }, co = { class: "flex items-start justify-between gap-4" }, fo = { class: "flex-1 min-w-0" }, po = { class: "flex items-center text-sm text-gray-500 mb-3" }, mo = { class: "text-gray-900 font-medium truncate max-w-xs" }, ho = { class: "flex items-center justify-between gap-4" }, vo = { class: "flex-1 min-w-0" }, xo = { class: "flex items-center gap-3 mb-1" }, yo = { class: "text-base font-semibold text-gray-900 truncate" }, go = {
2101
+ key: 0,
2102
+ class: "px-2 py-0.5 bg-green-50 border border-green-200 rounded flex-shrink-0"
2103
+ }, bo = { class: "text-xs font-medium text-green-700" }, wo = ["title"], _o = { class: "w-full h-full bg-gradient-to-br from-sky-50 via-white to-blue-50 flex items-center justify-center relative pt-[115px]" }, ko = { class: "relative w-full h-full" }, Ao = { style: { top: "17px", left: "230px", position: "absolute", "z-index": "1" } }, Co = { class: "absolute top-4 left-4 z-20" }, So = { class: "absolute top-[6.5rem] right-2 space-y-1 z-20" }, Fo = { class: "absolute bottom-4 left-4 z-20" }, To = { class: "flex-1 flex flex-col h-full" }, Eo = { class: "px-3 pt-3 pb-2 border-b border-gray-100" }, Io = { class: "items-center justify-center text-muted-foreground grid w-full grid-cols-6 h-12 p-1 bg-gray-50 rounded-xl shadow-sm" }, Oo = ["aria-selected", "onClick"], Lo = { class: "leading-none" }, No = { class: "flex flex-col flex-1 overflow-y-hidden p-3" }, Mo = "OpenGIS", Bn = 2, Te = 5, Do = 1e3, Ro = /* @__PURE__ */ ee({
2104
+ __name: "service",
2105
+ props: {
2106
+ hideServiceKey: { type: Boolean, default: !1 }
2107
+ },
2108
+ setup(e) {
2109
+ var mn, hn;
2110
+ const i = Ii(e, "hideServiceKey"), r = Ni(), l = Mi(), { id: o } = r.params, t = S(null), u = S(null), a = S({}), s = S(null), m = ((hn = (mn = Yn()) == null ? void 0 : mn.appContext.config.globalProperties) == null ? void 0 : hn.$settings) || null;
2111
+ function d(c) {
2112
+ typeof document > "u" || (document.title = c ? `${c} — Сервіс` : Mo);
2113
+ }
2114
+ let y = null;
2115
+ const b = S(!1);
2116
+ function p() {
2117
+ var c;
2118
+ return (c = t.value) == null ? void 0 : c.ctx;
2119
+ }
2120
+ function h(c) {
2121
+ typeof window > "u" || window.dispatchEvent(
2122
+ new CustomEvent(Vi, {
2123
+ detail: c
2124
+ })
2125
+ );
2126
+ }
2127
+ function x(c) {
2128
+ var L, A, z;
2129
+ const f = (A = (L = p()) == null ? void 0 : L.map) == null ? void 0 : A.value;
2130
+ if (!f || !c) return [];
2131
+ const k = (z = s.value) != null && z.service_id ? String(s.value.service_id) : null;
2132
+ return (f.queryRenderedFeatures(c) || []).filter((T) => {
2133
+ var vn, xn, yn, gn, bn, wn;
2134
+ const Z = ((vn = T == null ? void 0 : T.properties) == null ? void 0 : vn.id) ?? (T == null ? void 0 : T.id);
2135
+ if (Z == null || !(T != null && T.source) || k && String(T.source) !== k) return !1;
2136
+ const V = Ie(T.source) || Ie((xn = T.layer) == null ? void 0 : xn.id);
2137
+ if (!V) return !1;
2138
+ const ie = (gn = (yn = V == null ? void 0 : V.opts) == null ? void 0 : yn.source) == null ? void 0 : gn.type, Fe = (wn = (bn = V == null ? void 0 : V.opts) == null ? void 0 : bn.layer) == null ? void 0 : wn.type;
2139
+ return ie !== "raster" && Fe !== "raster";
2140
+ });
2141
+ }
2142
+ function _(c) {
2143
+ const f = x(c == null ? void 0 : c.point);
2144
+ h({
2145
+ features: f,
2146
+ externalItems: []
2147
+ });
2148
+ }
2149
+ function g(c) {
2150
+ if (Array.isArray(c)) return g(c[0]);
2151
+ if (typeof c != "string" && typeof c != "number") return null;
2152
+ const f = typeof c == "number" ? c : Number(c.trim());
2153
+ return Number.isFinite(f) ? f : null;
2154
+ }
2155
+ function K(c, f) {
2156
+ return c.toFixed(f);
2157
+ }
2158
+ function q(c, f, k) {
2159
+ const F = 0.5 * 10 ** -k;
2160
+ return Math.abs(c - f) > F;
2161
+ }
2162
+ function pe() {
2163
+ var T, Z, V, ie;
2164
+ const c = (Z = (T = p()) == null ? void 0 : T.map) == null ? void 0 : Z.value;
2165
+ if (!c) return;
2166
+ const f = g(r.query.z), k = g(r.query.x), F = g(r.query.y);
2167
+ if (f == null || k == null || F == null) return;
2168
+ const L = (V = c.getCenter) == null ? void 0 : V.call(c), A = (ie = c.getZoom) == null ? void 0 : ie.call(c);
2169
+ (!L || q(L.lng, k, Te) || q(L.lat, F, Te) || q(A ?? 0, f, Bn)) && (b.value = !0, c.jumpTo({ center: [k, F], zoom: f }), b.value = !1);
2170
+ }
2171
+ function te() {
2172
+ var L, A, z, T;
2173
+ if (b.value) return;
2174
+ const c = (A = (L = p()) == null ? void 0 : L.map) == null ? void 0 : A.value;
2175
+ if (!c) return;
2176
+ const f = (z = c.getCenter) == null ? void 0 : z.call(c), k = (T = c.getZoom) == null ? void 0 : T.call(c);
2177
+ if (!f || k == null) return;
2178
+ const F = {
2179
+ ...r.query,
2180
+ z: K(k, Bn),
2181
+ x: K(f.lng, Te),
2182
+ y: K(f.lat, Te)
2183
+ };
2184
+ r.query.z === F.z && r.query.x === F.x && r.query.y === F.y || l.replace({ query: F });
2185
+ }
2186
+ const U = S(null), me = S(""), oe = S([]), Be = S([]), _e = S([]), Ue = S("list"), Pe = S(""), ke = S([]), Ae = S(!0);
2187
+ let ne = null;
2188
+ const P = ue(
2189
+ () => {
2190
+ var c, f;
2191
+ return ((c = s.value) == null ? void 0 : c.id) ?? ((f = s.value) == null ? void 0 : f.service_id) ?? null;
2192
+ }
2193
+ ), sn = ue(() => {
2194
+ const c = (m == null ? void 0 : m.map) || null, f = (c == null ? void 0 : c.boundary) ?? null, k = (c == null ? void 0 : c.katottg) ?? null;
2195
+ return !f && !k ? null : { boundary: f, katottg: k };
2196
+ }), Ye = ue(() => {
2197
+ const c = s.value;
2198
+ if (!c) return "";
2199
+ const f = [];
2200
+ !i.value && c.service_key && f.push(`Сервіс: ${c.service_key}`), c.description && f.push(c.description);
2201
+ const k = c.group_name || c.group_id;
2202
+ return k && f.push(`Група: ${k}`), typeof c.is_public < "u" && f.push(c.is_public ? "Публічний" : "Не публічний"), typeof c.is_active < "u" && f.push(c.is_active ? "Активний" : "Неактивний"), f.join(", ");
2203
+ }), cn = ue(() => {
2204
+ const c = s.value, f = (c == null ? void 0 : c.group_name) || (c == null ? void 0 : c.group_id);
2205
+ return f ? String(f).toUpperCase() : "";
2206
+ }), yi = ue(() => {
2207
+ var k;
2208
+ const c = (k = r.matched[r.matched.length - 1]) == null ? void 0 : k.path;
2209
+ return (typeof c == "string" && c ? c : r.path).replace(/\/:id\??$/, "") || "/";
2210
+ }), gi = ue(() => {
2211
+ var f;
2212
+ const c = (f = r.meta) == null ? void 0 : f.title;
2213
+ return typeof c == "string" && c.trim() ? c : "Datasets";
2214
+ });
2215
+ function bi() {
2216
+ l.push(yi.value);
2217
+ }
2218
+ const fn = [
2219
+ { key: "style", label: "Стиль", icon: Gi },
2220
+ { key: "popup", label: "Попап", icon: St },
2221
+ { key: "filter", label: "Фільтр", icon: It },
2222
+ { key: "legend", label: "Легенда", icon: _t },
2223
+ { key: "card", label: "Картка", icon: Qi },
2224
+ { key: "metadata", label: "Метадані", icon: zi }
2225
+ ], dn = fn.map((c) => c.key), Y = S("style");
2226
+ Oi(async () => {
2227
+ const c = r.query.tab;
2228
+ c && dn.includes(c) && (Y.value = c), await Ce(), wi();
2229
+ });
2230
+ async function wi() {
2231
+ var F;
2232
+ const c = p();
2233
+ if (!(c != null && c.ready)) return;
2234
+ await c.ready(), pe();
2235
+ const f = (F = c.map) == null ? void 0 : F.value;
2236
+ if (!f) return;
2237
+ const k = () => te();
2238
+ f.on("moveend", k), f.on("zoomend", k), f.on("click", _), y = () => {
2239
+ f.off("moveend", k), f.off("zoomend", k), f.off("click", _);
2240
+ };
2241
+ }
2242
+ I(
2243
+ () => [r.query.z, r.query.x, r.query.y],
2244
+ () => {
2245
+ pe();
2246
+ }
2247
+ ), I(Y, (c) => {
2248
+ r.query.tab !== c && l.replace({ query: { ...r.query, tab: c } });
2249
+ }), I(
2250
+ () => r.query.tab,
2251
+ (c) => {
2252
+ c && dn.includes(c) && Y.value !== c && (Y.value = c);
2253
+ }
2254
+ ), I(
2255
+ () => {
2256
+ var c;
2257
+ return (c = s.value) == null ? void 0 : c.name;
2258
+ },
2259
+ (c) => d(c),
2260
+ { immediate: !0 }
2261
+ );
2262
+ function Ve(c) {
2263
+ if (!c) return null;
2264
+ try {
2265
+ return JSON.parse(JSON.stringify(c));
2266
+ } catch (f) {
2267
+ return console.warn("Failed to clone style", f), null;
2268
+ }
2269
+ }
2270
+ function qe(c) {
2271
+ if (!c) return null;
2272
+ if (typeof c == "string")
2273
+ try {
2274
+ return kn(vi(c) || null);
2275
+ } catch (f) {
2276
+ return console.warn("Failed to parse style yaml", f), null;
2277
+ }
2278
+ return kn(Ve(c));
2279
+ }
2280
+ function _i(c, f) {
2281
+ try {
2282
+ return JSON.stringify(c) === JSON.stringify(f);
2283
+ } catch {
2284
+ return !1;
2285
+ }
2286
+ }
2287
+ function ki() {
2288
+ var f;
2289
+ if (!s.value) return;
2290
+ const c = qe(U.value);
2291
+ _i(c, ((f = s.value) == null ? void 0 : f.style) ?? null) || (s.value = {
2292
+ ...s.value,
2293
+ style: c
2294
+ });
2295
+ }
2296
+ function Ai() {
2297
+ ne && clearTimeout(ne), ne = setTimeout(() => {
2298
+ ne = null, ki();
2299
+ }, Do);
2300
+ }
2301
+ const Ce = async () => {
2302
+ try {
2303
+ const c = await fetch(`/api/gis-service/${o}`);
2304
+ if (!c.ok) throw new Error(`${c.status}`);
2305
+ const f = await c.json();
2306
+ a.value = f || {}, u.value = o;
2307
+ const k = qe(f.style);
2308
+ s.value = f ? { ...f, style: Ve(k) } : null, U.value = k, me.value = typeof (f == null ? void 0 : f.style) == "string" ? f.style : k ? xi(k) : "", Be.value = (f == null ? void 0 : f.popup) || [], Ue.value = f.card_mode === "html" ? "html" : "list", _e.value = f.card, Pe.value = f.html, oe.value = (f == null ? void 0 : f.legend) || [], ke.value = (f == null ? void 0 : f.filters) || [];
2309
+ } catch (c) {
2310
+ console.error("Failed to fetch map info", c);
2311
+ }
2312
+ };
2313
+ I(
2314
+ () => {
2315
+ var c;
2316
+ return (c = s.value) == null ? void 0 : c.style;
2317
+ },
2318
+ (c) => {
2319
+ U.value = qe(c);
2320
+ },
2321
+ { deep: !0 }
2322
+ ), I(
2323
+ () => U.value,
2324
+ () => {
2325
+ Ai();
2326
+ },
2327
+ { deep: !0 }
2328
+ ), Vn(() => {
2329
+ ne && (clearTimeout(ne), ne = null), y == null || y(), y = null;
2330
+ });
2331
+ async function Ci(c) {
2332
+ try {
2333
+ const f = await fetch(`/api/gis-clear-vtile/${c}`), { message: k, error: F, code: L } = await f.json();
2334
+ if (L === 200)
2335
+ return Q({ type: "success", title: "Успіх", message: k });
2336
+ Q({ type: "error", title: "Помилка", message: F });
2337
+ } catch (f) {
2338
+ Q({
2339
+ type: "error",
2340
+ title: "Помилка",
2341
+ message: "Не вдалося очистити тайли"
2342
+ }), console.error(f);
2343
+ }
2344
+ }
2345
+ async function Se(c, f) {
2346
+ await pn({ [c]: f }, c);
2347
+ }
2348
+ function Si() {
2349
+ const c = Ve(U.value);
2350
+ s.value = s.value ? { ...s.value, style: c } : s.value;
2351
+ }
2352
+ async function pn(c, f) {
2353
+ if (s.value = {
2354
+ ...s.value || {},
2355
+ ...c
2356
+ }, typeof c.html < "u" && (a.value = {
2357
+ ...a.value || {},
2358
+ html: c.html
2359
+ }), !!P.value)
2360
+ try {
2361
+ if (!(await fetch(`/api/gis-service/${P.value}`, {
2362
+ method: "PUT",
2363
+ headers: { "Content-Type": "application/json" },
2364
+ body: JSON.stringify(c)
2365
+ })).ok) throw new Error("Save failed");
2366
+ Q({
2367
+ type: "success",
2368
+ title: "Успіх",
2369
+ message: `${f} saved`
2370
+ }), await Ce();
2371
+ } catch (k) {
2372
+ Q({
2373
+ type: "error",
2374
+ title: "Помилка",
2375
+ message: `Failed to save ${f}`
2376
+ }), console.error(k);
2377
+ }
2378
+ }
2379
+ async function Fi(c, f) {
2380
+ if (c !== "card") {
2381
+ await Se(c, f);
2382
+ return;
2383
+ }
2384
+ const k = (f == null ? void 0 : f.card_mode) === "html" ? "html" : "list", F = k === "html" && typeof (f == null ? void 0 : f.html) == "string" ? f.html : "", L = (k === "html" ? [] : null) || (Array.isArray(f == null ? void 0 : f.list) ? f.list : []);
2385
+ _e.value = L, Ue.value = k, Pe.value = F;
2386
+ const A = {
2387
+ card_mode: k
2388
+ };
2389
+ k === "html" && (A.html = F), k === "list" && (A.card = L), await pn(A, "card");
2390
+ }
2391
+ return (c, f) => {
2392
+ var k, F, L;
2393
+ return C(), M("div", oo, [
2394
+ v("div", uo, [
2395
+ v("div", ao, [
2396
+ v("div", so, [
2397
+ v("div", co, [
2398
+ v("div", fo, [
2399
+ v("div", po, [
2400
+ v("button", {
2401
+ type: "button",
2402
+ class: "hover:text-gray-700 cursor-pointer transition-colors",
2403
+ onClick: bi
2404
+ }, le(gi.value), 1),
2405
+ f[10] || (f[10] = v("svg", {
2406
+ xmlns: "http://www.w3.org/2000/svg",
2407
+ width: "24",
2408
+ height: "24",
2409
+ viewBox: "0 0 24 24",
2410
+ fill: "none",
2411
+ stroke: "currentColor",
2412
+ "stroke-width": "2",
2413
+ "stroke-linecap": "round",
2414
+ "stroke-linejoin": "round",
2415
+ class: "lucide lucide-chevron-right w-4 h-4 mx-1"
2416
+ }, [
2417
+ v("path", { d: "m9 18 6-6-6-6" })
2418
+ ], -1)),
2419
+ v("span", mo, le(((k = s.value) == null ? void 0 : k.name) || "Dataset"), 1)
2420
+ ]),
2421
+ v("div", ho, [
2422
+ v("div", vo, [
2423
+ v("div", xo, [
2424
+ v("h1", yo, le(((F = s.value) == null ? void 0 : F.name) || "Dataset"), 1),
2425
+ cn.value ? (C(), M("div", go, [
2426
+ v("span", bo, le(cn.value), 1)
2427
+ ])) : H("", !0)
2428
+ ]),
2429
+ Ye.value ? (C(), M("p", {
2430
+ key: 0,
2431
+ class: "text-xs text-gray-500 truncate",
2432
+ title: Ye.value
2433
+ }, le(Ye.value), 9, wo)) : H("", !0)
2434
+ ])
2435
+ ])
2436
+ ]),
2437
+ P.value ? (C(), N(qi, {
2438
+ key: 0,
2439
+ class: "flex-shrink-0",
2440
+ "entity-id": P.value,
2441
+ "entity-info": { name: (L = s.value) == null ? void 0 : L.name },
2442
+ table: "gis.services.table",
2443
+ "entity-label": "Сервіс",
2444
+ "save-method": "put",
2445
+ "show-xml-item": !1,
2446
+ "clear-tiles-handler": Ci,
2447
+ onSaved: Ce
2448
+ }, null, 8, ["entity-id", "entity-info"])) : H("", !0)
2449
+ ])
2450
+ ])
2451
+ ]),
2452
+ v("div", _o, [
2453
+ v("div", ko, [
2454
+ $(Ri, {
2455
+ ref_key: "mapViewRef",
2456
+ ref: t
2457
+ }, {
2458
+ default: We(() => {
2459
+ var A, z, T, Z, V, ie, Fe;
2460
+ return [
2461
+ (A = s.value) != null && A.service_id ? (C(), N(to, {
2462
+ key: 0,
2463
+ id: (z = s.value) == null ? void 0 : z.service_id,
2464
+ layer: s.value,
2465
+ "style-spec": ((T = s.value) == null ? void 0 : T.style) || null,
2466
+ autoCenter: !1
2467
+ }, null, 8, ["id", "layer", "style-spec"])) : H("", !0),
2468
+ P.value ? (C(), N($i, {
2469
+ key: 1,
2470
+ "layer-id": P.value,
2471
+ boundary: ((Z = s.value) == null ? void 0 : Z.boundary) || ((V = sn.value) == null ? void 0 : V.boundary) || null,
2472
+ katottg: ((ie = s.value) == null ? void 0 : ie.katottg) || ((Fe = sn.value) == null ? void 0 : Fe.katottg) || null
2473
+ }, null, 8, ["layer-id", "boundary", "katottg"])) : H("", !0),
2474
+ v("div", Ao, [
2475
+ P.value ? (C(), N(ji, {
2476
+ key: 0,
2477
+ "layer-id": P.value,
2478
+ filters: ke.value
2479
+ }, null, 8, ["layer-id", "filters"])) : H("", !0)
2480
+ ]),
2481
+ f[11] || (f[11] = v("div", {
2482
+ id: "map-filter-popover-host",
2483
+ class: "map-widget__filter-host"
2484
+ }, null, -1)),
2485
+ v("div", Co, [
2486
+ $(Bi)
2487
+ ]),
2488
+ v("div", So, [
2489
+ $(_n),
2490
+ a.value.center ? (C(), N(_n, {
2491
+ key: 0,
2492
+ targetCenter: a.value.center,
2493
+ targetLabel: "Ценр даних"
2494
+ }, null, 8, ["targetCenter"])) : H("", !0)
2495
+ ]),
2496
+ v("div", Fo, [
2497
+ $(Ui, {
2498
+ items: oe.value || null
2499
+ }, null, 8, ["items"])
2500
+ ]),
2501
+ $(Pi),
2502
+ $(Yi, {
2503
+ html: a.value.html
2504
+ }, null, 8, ["html"])
2505
+ ];
2506
+ }),
2507
+ _: 1
2508
+ }, 512)
2509
+ ])
2510
+ ]),
2511
+ $(Hi, {
2512
+ open: Ae.value,
2513
+ onToggle: f[0] || (f[0] = (A) => Ae.value = !Ae.value),
2514
+ "top-class": "top-4"
2515
+ }, null, 8, ["open"])
2516
+ ]),
2517
+ v("div", {
2518
+ class: ve(["bg-white border-l border-gray-100 flex flex-col overflow-hidden shadow-lg flex-shrink-0 transition-[width] duration-100 ease-in-out", Ae.value ? "w-[650px]" : "w-0"])
2519
+ }, [
2520
+ v("div", To, [
2521
+ v("div", Eo, [
2522
+ v("div", Io, [
2523
+ (C(), M(Un, null, Pn(fn, (A) => v("button", {
2524
+ key: A.key,
2525
+ type: "button",
2526
+ role: "tab",
2527
+ "aria-selected": Y.value === A.key,
2528
+ class: ve([
2529
+ "whitespace-nowrap flex flex-col items-center justify-center gap-0.5 py-1 px-1 text-[9px] font-medium transition-all duration-300 hover:bg-white/70 rounded-lg group",
2530
+ Y.value === A.key ? "bg-white shadow-sm text-gray-700" : ""
2531
+ ]),
2532
+ onClick: (z) => Y.value = A.key
2533
+ }, [
2534
+ (C(), N(Li(A.icon), { class: "h-3.5 w-3.5 mb-0.5" })),
2535
+ v("span", Lo, le(A.label), 1)
2536
+ ], 10, Oo)), 64))
2537
+ ])
2538
+ ]),
2539
+ v("div", No, [
2540
+ Y.value === "style" ? (C(), N($t, {
2541
+ key: 0,
2542
+ token: P.value,
2543
+ "style-text": me.value,
2544
+ "style-yaml": U.value,
2545
+ "onUpdate:styleYaml": f[1] || (f[1] = (A) => U.value = A),
2546
+ "onUpdate:styleText": f[2] || (f[2] = (A) => me.value = A),
2547
+ onUpdate: Si
2548
+ }, null, 8, ["token", "style-text", "style-yaml"])) : Y.value === "legend" ? (C(), N(Gt, {
2549
+ key: 1,
2550
+ token: P.value,
2551
+ columns: oe.value,
2552
+ "onUpdate:columns": f[3] || (f[3] = (A) => oe.value = A),
2553
+ onSave: f[4] || (f[4] = (A) => Se("legend", A))
2554
+ }, null, 8, ["token", "columns"])) : Y.value === "popup" ? (C(), N(Ut, {
2555
+ key: 2,
2556
+ token: P.value,
2557
+ columns: Be.value,
2558
+ fields: a.value.fields,
2559
+ "onUpdate:columns": f[5] || (f[5] = (A) => Be.value = A),
2560
+ onSave: f[6] || (f[6] = (A) => Se("popup", A))
2561
+ }, null, 8, ["token", "columns", "fields"])) : Y.value === "card" ? (C(), N(io, {
2562
+ key: 3,
2563
+ token: P.value,
2564
+ columns: _e.value,
2565
+ fields: a.value.fields,
2566
+ "view-mode": Ue.value,
2567
+ html: Pe.value,
2568
+ "onUpdate:columns": f[7] || (f[7] = (A) => _e.value = A),
2569
+ onSave: Fi
2570
+ }, null, 8, ["token", "columns", "fields", "view-mode", "html"])) : Y.value === "filter" ? (C(), N(ro, {
2571
+ key: 4,
2572
+ token: P.value,
2573
+ fields: a.value.fields,
2574
+ columns: ke.value,
2575
+ "onUpdate:columns": f[8] || (f[8] = (A) => ke.value = A),
2576
+ onSave: f[9] || (f[9] = (A) => Se("filters", A))
2577
+ }, null, 8, ["token", "fields", "columns"])) : Y.value === "metadata" ? (C(), N(Ki, {
2578
+ key: 5,
2579
+ data: s.value,
2580
+ "entity-id": String(Ee(o)),
2581
+ "entity-type": "service",
2582
+ onSaved: Ce
2583
+ }, null, 8, ["data", "entity-id"])) : H("", !0)
2584
+ ])
2585
+ ])
2586
+ ], 2)
2587
+ ]);
2588
+ };
2589
+ }
2590
+ }), Ko = /* @__PURE__ */ Re(Ro, [["__scopeId", "data-v-ae471f34"]]);
2591
+ export {
2592
+ Ko as default
2593
+ };